<?php

/**-----------------------------------------------
*
* Rooty, 2018 <rooty@rooty.me>
*
*
* This software is protected by copyright, please
* read the file COPYRIGHT.
* This program is distributed in the hope that it
* will be useful, but without any warranty; without
* even the implied warranty of merchantability or
* fitness for a particular purpose. Please
* read the file LICENCE.
*
* Fichier Wyzi.php
* Ce fichier contient la classe Wyzi
*
* @author Rooty <www.rooty.me|rooty@rooty.me>
* @since 2005/03/09
* @link www.rooty.me
* @version 0.3
* @package package
* @subpackage wysi
* @copyright Copyright &copy; 2009-2018, Rooty
*/

if ( !defined('SYSTEM_IN') )
{
 die("Hacking attempt");
}

/**
* Classe Wyzi
*
* Permet la gestion de Wyzis
* @package package
* @subpackage wysi
*/
class Wysi
{
/**#@+
* @access private
*/

/**
* @var chaine
* @desc nom de l'élément du formulaire
*/
var $name  = null;

/**
* @var chaine
* @desc nom du formulaire (sans le document.)
*/
var $form  = null;

/**
* @var chaine
* @desc nom du formulaire (sans le document.)
*/
var $lang  = null;

/**
* @var chaine
* @desc contient la donnée d'origine Wyziwig
*/
var $src  = null;

/**
* @var chaine
* @desc contient la donnée d'origine Wyziwig
*/
var $editeur  = null;

/**#@-*/
	//
	// Constructor
	//
/**
*Constructeur de la classe Wyzi
*
*<p>Initialise la donnée</p>
*
* @param chaine nom de l'élément
* @param chaine nom du formulaire
* @param chaine valeur de l'element
* @param pref nom du sous objet a utiliser (BB/KEDIT)
* @param smile oui/non
*/
    function __construct($name, $form, $lang, $src="", $pref="summernote", $width="100%", $height="650", $option="")
	{
		global $CONF_LIB_PATH;
		$SYSTEM_LIB_PATH=$CONF_LIB_PATH;
		$this->src=$src;
		$this->form=$form;
		$this->lang=$lang;
		$this->name=$name;
		$this->width=$width;
		$this->height=$height;
		$this->option=$option;

		if (file_exists($SYSTEM_LIB_PATH."lib/package/wysi/".$pref.".php"))
		{
			include_once($SYSTEM_LIB_PATH."lib/package/wysi/".$pref.".php");
		}

		switch ($pref)
		{
			case "bb":
				$this->editeur=new bb($this->name, "document.".$this->form, $this->src);
				break;
			case "summernote":
				$this->editeur=new summernote($this->name, "document.".$this->form, $this->lang, $this->src, $this->width, $this->height, $this->option);
				break;
			case "fck":
				$this->editeur=new fck($this->name, "document.".$this->form, $this->src,"", $this->width, $this->height, $this->option);
				break;
			# En test ... ne marche qu'avec un seul editeur
			case "midgas":
				$this->editeur=new midgas($this->name, "document.".$this->form, $this->src);
				break;
			default:
				$this->editeur=new summernote($this->name, "document.".$this->form, $this->src, "", $this->width, $this->height, $this->option);
				break;
		}

	}

/**
* Display: Affichage du Wyziwig
* @return chaine chaine permettant d'afficher l'éditeur Wyziwig
*/
	function SetContent($src)
	{
		return $this->editeur->SetContent($src);
	}
	
/**
* Display: Affichage du Wyziwig
* @return chaine chaine permettant d'afficher l'éditeur Wyziwig
*/
	function Display()
	{
		return $this->editeur->Display();
	}
	
/**
* Display: Inclus les dépendances
* @return chaine chaine permettant d'afficher l'éditeur Wyziwig
*/
	function includeDependancy()
	{
		return $this->editeur->includeDependancy();
	}

/**
* Display: Inclus les dépendances
* @return chaine chaine permettant d'afficher l'éditeur Wyziwig
*/
	function includeRawJs()
	{
		return $this->editeur->includeRawJs();
	}

/**
* Javascript:retourne la chaine de verification de vide du Wyziwig
* <p>Ce script vas permettre de retourner à votre javascript, si l'éditeur est vide ou non</p>
* @return chaine chaine appelant le javascript de verification
*/
	function IsVideJs()
	{
		return $this->editeur->IsVideJs();
	}

/**
* ReturnData: Recupération et formatage de la donnée
* @return chaine donnée traitée par l'editeur et postée
*/
	function ReturnContent()
	{
		return $this->editeur->ReturnContent();
	}

/**
* ReturnDependency: Retourne la chaine javascript...
* @return chaine donnée traitée par l'editeur et postée
*/
	function ReturnDependency()
	{
		return $this->editeur->ReturnDependency();
	}
}
?>
