258 lines
7.2 KiB
PHP
Executable File
258 lines
7.2 KiB
PHP
Executable File
<?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 fck.php
|
|
*
|
|
*Ce fichier contient la classe fck
|
|
*
|
|
* @author Initiance <www.initiance.com|olivier@initiance.com|martial@initiance.com>
|
|
* @since 2005/03/09
|
|
* @link www.rooty.me
|
|
* @version 0.3
|
|
* @package package
|
|
* @subpackage FCK
|
|
* @copyright Copyright © 2004-2005, Initiance
|
|
*/
|
|
if ( !defined('SYSTEM_IN') )
|
|
{
|
|
die("Hacking attempt");
|
|
}
|
|
|
|
/**
|
|
* Classe FCK
|
|
*
|
|
* Permet la gestion du wyziwig FCKeditor.
|
|
* @package package
|
|
* @subpackage fck
|
|
*/
|
|
class fck
|
|
{
|
|
/**#@+
|
|
* @access private
|
|
*/
|
|
|
|
/**
|
|
* @var chaine
|
|
* @desc nom de l'élément du formulaire
|
|
*/
|
|
var $name = null;
|
|
|
|
/**
|
|
* @var chaine
|
|
* @desc nom du formulaire
|
|
*/
|
|
var $form = null;
|
|
|
|
/**
|
|
* @var chaine
|
|
* @desc valeur de la chaine html
|
|
*/
|
|
var $string = null;
|
|
|
|
/**
|
|
* @var booleen
|
|
|
|
* @desc affichage des smiles oui/non
|
|
|
|
*/
|
|
var $smile = null;
|
|
|
|
/**#@-*/
|
|
|
|
//
|
|
// Constructor
|
|
//
|
|
/**
|
|
* Constructeur de la classe fck
|
|
*
|
|
* @param chaine nom du champ
|
|
* @param chaine nom du formulaire
|
|
* @param chaine valeur de la chaine à afficher
|
|
* @param chaine vrai ou faux pour l'utilisation des icones
|
|
*/
|
|
function fck($name, $form, $string, $smile=true, $width, $height, $toolbar)
|
|
{
|
|
global $CONF_LIB_PATH;
|
|
require_once($CONF_LIB_PATH."lib/package/wysi/fck/fckeditor.php");
|
|
|
|
if (strtolower($toolbar)=="default")
|
|
$toolbar="Default";
|
|
|
|
if (strtolower($toolbar)=="basic")
|
|
$toolbar="Basic";
|
|
|
|
// if ( $toolbar!="Default" && $toolbar!="Basic")
|
|
// $toolbar="Default";
|
|
|
|
$this->name =$name;
|
|
$this->form =$form;
|
|
$this->string =$string;
|
|
$this->smile =$smile;
|
|
$this->width =$width;
|
|
$this->height =$height;
|
|
$this->toolbar =$toolbar;
|
|
}
|
|
|
|
/**
|
|
* Display retourne la chaine d'affichage du wizi wig
|
|
*/
|
|
function Display()
|
|
{
|
|
global $SYSTEM_LIB_PATH;
|
|
$fckeditor=new FCKeditor($this->name);
|
|
$fckeditor->Value=$this->string;
|
|
$fckeditor->ToolbarSet=$this->toolbar;
|
|
$fckeditor->BasePath=$SYSTEM_LIB_PATH."lib/package/wysi/fck/";
|
|
$fckeditor->InstanceName = $this->name;
|
|
$fckeditor->Width = $this->width;
|
|
$fckeditor->Height = $this->height;
|
|
|
|
/**
|
|
* @author Initiance <www.initiance.com|martial@initiance.com>
|
|
* Modification d'août 2005 du script d'origine
|
|
* teste l'adresse du serveur afin de reconstituer l'arbo pour les liens des styles et css
|
|
*/
|
|
// if (function_exists("checkdnsrr") && checkdnsrr($_SERVER['HTTP_HOST']))
|
|
// {
|
|
// $name_server = "http://".$_SERVER['SERVER_NAME'];
|
|
// }
|
|
// else
|
|
// {
|
|
// $name_server = "http://".$_SERVER['HTTP_HOST'];
|
|
// }
|
|
|
|
/**
|
|
* @author NH Systeme <www.nh-systeme.fr|t.champomier@nh-systeme.fr>
|
|
* Les lignes commentées ci dessus ne peut pas fonctionner lorsque l'hôte local
|
|
* ne peut pas interroger un serveur DNS (checkdnsrr()). De plus ces lignes ne
|
|
* prennent pas en compte la cas où l'hôte héberge des espaces de publications
|
|
* basés sur des hôtes virtuels nommés (à contrario des hôtes virtuels par IP)
|
|
* @ TODO Implémenter la construction de l'url absolue en tenat compte du pro-
|
|
* tocole utilisé (http/https).
|
|
*/
|
|
|
|
|
|
//var_dump($_SERVER["SCRIPT_URI"]);
|
|
// if( is_null($_SERVER["SCRIPT_URI"]) ){
|
|
// $protocolHTTP = "http";
|
|
// } else {
|
|
// if (strpos($_SERVER["SCRIPT_URI"],'https://')===False) {
|
|
// $protocolHTTP = "http";
|
|
// } else {
|
|
// $protocolHTTP = "https";
|
|
// }
|
|
// }
|
|
|
|
// $name_server = $protocolHTTP."://".$_SERVER['SERVER_NAME'];
|
|
$name_server = "http://".$_SERVER['SERVER_NAME'];
|
|
|
|
$tabParseUrl = parse_url($name_server.$_SERVER["SCRIPT_NAME"]);
|
|
$urlServer = $name_server . substr( $tabParseUrl["path"], 0, (strrpos($tabParseUrl["path"],"/")));
|
|
|
|
/*
|
|
* @author Initiance <www.initiance.com|martial@initiance.com>
|
|
* Modification d'août 2005 du script d'origine
|
|
*
|
|
* Redéfinition et dynamisation de la configuration de FCKeditor ("fckconfig.js")
|
|
* -> définition des styles pour la template courante
|
|
* -> définition de la feuille de style associée
|
|
* -> définition du manager d'image avec passage en paramètre du noeud d'entrée de l'utilisateur
|
|
* -> définition du fichier de configuration FCK personnalisé (hors dossier du package = facilite l'évolution et la mise à jour FCKeditor)
|
|
*/
|
|
|
|
/*Tests sur la présence des fichiers*/
|
|
$boolCss = false;
|
|
#Fichier css des styles de la template Granilim
|
|
if (file_exists( $GLOBALS['SYSTEM_TEMPLATE_PATH'] . $GLOBALS['SYSTEM_USER_SESSION']->getCurrentTemplate()."/css/fck.css"))
|
|
{
|
|
$cssFCK = $GLOBALS['SYSTEM_TEMPLATE_PATH'] . $GLOBALS['SYSTEM_USER_SESSION']->getCurrentTemplate()."/css/fck.css";
|
|
$cssFCK = $urlServer . substr($cssFCK, 1, strlen($cssFCK));
|
|
$boolCss = true;
|
|
}
|
|
else
|
|
{
|
|
$cssFCK = $GLOBALS['SYSTEM_TEMPLATE_PATH'] . $GLOBALS['SYSTEM_TEMPLATE_DEFAULT_DIR']."/style.css";
|
|
$cssFCK = $urlServer . substr($cssFCK, 1, strlen($cssFCK));
|
|
}
|
|
|
|
#Fichier xml FCK des styles
|
|
if (file_exists( $GLOBALS['SYSTEM_TEMPLATE_PATH'] . $GLOBALS['SYSTEM_USER_SESSION']->getCurrentTemplate()."/css/fckstyles.xml") && $boolCss == true)
|
|
{
|
|
$stylesFCK = $GLOBALS['SYSTEM_TEMPLATE_PATH'] . $GLOBALS['SYSTEM_USER_SESSION']->getCurrentTemplate()."/css/fckstyles.xml";
|
|
$stylesFCK = $urlServer . substr($stylesFCK, 1, strlen($stylesFCK));
|
|
}
|
|
else
|
|
{
|
|
$stylesFCK = $GLOBALS['SYSTEM_TEMPLATE_PATH'] .$GLOBALS['SYSTEM_TEMPLATE_DEFAULT_DIR']."/css/fckstyles.xml";
|
|
$stylesFCK = $urlServer . substr($stylesFCK, 1, strlen($stylesFCK));
|
|
}
|
|
|
|
/*Configurations définies*/
|
|
$fckeditor->Config["EditorAreaCSS"] = $cssFCK;
|
|
$fckeditor->Config["StylesXmlPath"] = $stylesFCK;
|
|
$fckeditor->Config["LinkBrowser"] = "true" ; //Désactive l'option des liens
|
|
$fckeditor->Config["ImageUpload"] = "true"; //Désactive l'option d'upload FCK
|
|
$fckeditor->Config["ImageBrowser"] = "true";
|
|
//$fckeditor->Config["ImageBrowserURL"] = $SYSTEM_LIB_PATH . '../../browser/manager.php?imgDirectory='.$GLOBALS["SYSTEM_USER_SESSION"]->entryNodeId;
|
|
//$fckeditor->Config["ImageBrowserURL"] = '../filemanager/browser/manager.php?imgDirectory='.$GLOBALS["SYSTEM_USER_SESSION"]->entryNodeId;
|
|
$fckeditor->Config['CustomConfigurationsPath'] = $SYSTEM_LIB_PATH."../../" .'configgranilimfck.js' ;
|
|
|
|
/*
|
|
* FIN DES MODIFICATIONS
|
|
*/
|
|
|
|
$html=$fckeditor->CreateHtml();
|
|
return $html;
|
|
}
|
|
|
|
/**
|
|
* ReturnData : retourne les données à partir de la chaine postée
|
|
* @return chaine au format html
|
|
*/
|
|
function ReturnData()
|
|
{
|
|
global $_POST;
|
|
|
|
$message=$_POST[$this->name];
|
|
|
|
return $message;
|
|
}
|
|
|
|
/**
|
|
* ReturnDependancy : retourne la chaine d'appel aux javascript indispenssable
|
|
*
|
|
*<p>Retourne la chaine Javascript Avec le bon chemin (en fonction de SYSTEM_PATH)</p>
|
|
*
|
|
* @return chaine chaine d'appel javascript
|
|
*/
|
|
function ReturnDependency()
|
|
{
|
|
return '';
|
|
}
|
|
|
|
/**
|
|
* IsVideJs :permet de savoir en javascript si le champ est vide
|
|
*
|
|
*<p>donne le nom de la fonction ou l'appel permettant de determiner si vide en js</p>
|
|
*
|
|
* @return chaine chaine d'appel javascript
|
|
*/
|
|
function IsVideJs()
|
|
{
|
|
return '(document.'.$this->form.'.'.$this->name.'.value=="")?true:false;';
|
|
}
|
|
}
|
|
?>
|