191 lines
4.6 KiB
PHP
Executable File
191 lines
4.6 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.
|
|
*
|
|
* @author Initiance <www.initiance.com|loic@initiance.com|martial@initiance.com>
|
|
* @copyright Copyright © 2009-2018, Rooty
|
|
* @since 2004/06/07
|
|
* @version 0.3
|
|
* @link www.rooty.me
|
|
* @package object_printing
|
|
* @subpackage HelpPrint
|
|
*/
|
|
if ( !defined('SYSTEM_IN') )
|
|
{
|
|
die("Hacking attempt");
|
|
}
|
|
|
|
/**
|
|
* Classe HelpPrint
|
|
*<p>cette classe permet la recuperation et l'affichage de l'aide contextuelle</p>
|
|
* @package object_printing
|
|
* @subpackage HelpPrint
|
|
*/
|
|
class HelpPrint extends Printing
|
|
{
|
|
/**
|
|
* @access private
|
|
* @var booleen
|
|
* @desc Booleen indiquant si le plugin doit ou non afficher l'aide.
|
|
*/
|
|
var $activationState = true;
|
|
|
|
/**
|
|
* @access private
|
|
* @var chaine
|
|
* @desc Url correspondant a l'aide pour l'objet et la methode courante
|
|
*/
|
|
var $helpUrl = null;
|
|
|
|
//
|
|
// Constructor
|
|
//
|
|
/**
|
|
* Constructeur de la classe ObjectPrint
|
|
* @access public
|
|
*/
|
|
function HelpPrint()
|
|
{
|
|
$this->__construct();
|
|
}
|
|
|
|
function __construct()
|
|
{
|
|
parent::__construct("1.0", "Loic Vignard", "Affichage de l'aide!!!");
|
|
}
|
|
|
|
/**
|
|
* Permet de modifier la valeur de Activate
|
|
* @var boolean
|
|
*desc Valeur de activate
|
|
* @access public
|
|
*/
|
|
function setActivate($state){
|
|
if(is_bool($state)) $this->activationState = $state;
|
|
}
|
|
|
|
/**
|
|
* Active l'affichage de l'aide
|
|
* @access public
|
|
*/
|
|
function activate(){
|
|
$this->activationState = true;
|
|
}
|
|
|
|
/**
|
|
* Désactive l'affichage de l'aide
|
|
* @access public
|
|
*/
|
|
function desactivate(){
|
|
$this->activationState = false;
|
|
}
|
|
|
|
/**
|
|
* Permet de récupérer la valeur de Activate
|
|
* @access public
|
|
*/
|
|
function getActivate(){
|
|
return $this->activationState;
|
|
}
|
|
|
|
/**
|
|
* Remplace dans la template principale
|
|
* @access public
|
|
*/
|
|
function __print()
|
|
{
|
|
if($this->getActivate()){
|
|
# recuperation de la template
|
|
$MaTemplate = new ModeliXeQware($GLOBALS['SYSTEM_TEMPLATE_PATH'].$GLOBALS['SYSTEM_TEMPLATE_DIR']."object_printing/helpprint/helpprint.mxt");
|
|
$MaTemplate->SetModeliXe(true);
|
|
$classe=strtolower(className());
|
|
$methode=strtolower(methodName());
|
|
|
|
if (!$this->helpUrl=$this->getLocalHelp($classe,$methode))
|
|
{
|
|
$this->helpUrl=$this->getRemoteHelp($classe,$methode);
|
|
}
|
|
|
|
if ($this->helpUrl)
|
|
{
|
|
$MaTemplate->MxAttribut("helpurllink", htmlentitiesconv(strtolower($this->helpUrl)));
|
|
$MaTemplate->MxAttribut("helpurl", htmlentitiesconv(strtolower($this->helpUrl)));
|
|
$MaTemplate->MxText("helplink", getMessage("TxtHelp"));
|
|
$MaTemplate->MxAttribut("helplink", getMessage("TxtHelp"));
|
|
}
|
|
$MaTemplate->MxText("TxtClose", getMessage("TxtClose"));
|
|
$MaTemplate->MxAttribut("TxtClose", getMessage("TxtClose"));
|
|
$data=$MaTemplate->MxWrite();
|
|
if (!isset($_GLOBALS["SYSTEM_TEMPLATE"]["searchPrint"]))
|
|
{
|
|
$GLOBALS["SYSTEM_TEMPLATE"]->MxText("helpprint", $data);
|
|
}
|
|
}
|
|
return true;
|
|
}
|
|
|
|
/**
|
|
* Recupére le fichier d'aide correspondant à l'objet courant et la methode courante en local
|
|
* si le fichier d'aide n'existe pas renvoie False, sinon renvoie l'url correspondant au fichier
|
|
* L'aide locale est recupérée dans doc/nomclasse-nommethode.htm
|
|
* @access public
|
|
* @param chaine chaine correspondant a la classe de l'objet
|
|
* @param chaine chaine correspondant a la methode en cours
|
|
* @param chaine retourne le path vers le fichier d'aide ou False
|
|
*/
|
|
function getLocalHelp($classe,$method)
|
|
{
|
|
//Vérification d'existence du fichier d'aide
|
|
$path=$GLOBALS["CONF_DATA_PATH"]."data/doc/".$classe."-".$method.".html";
|
|
if (file_exists($path))
|
|
{
|
|
return $path;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Recupére le fichier d'aide correspondant à l'objet courant et la methode courante sur granilim.org
|
|
* si le fichier d'aide n'existe pas renvoie False, sinon renvoie l'url correspondant au fichier
|
|
* @access public
|
|
* @param chaine chaine correspondant a la classe de l'objet
|
|
* @param chaine chaine correspondant a la methode en cours
|
|
* @return chaine retourne le path vers le fichier d'aide ou False
|
|
*/
|
|
function getRemoteHelp($classe,$method)
|
|
{
|
|
$path=REMOTE_HELP_PATH.HELP_FILENAME."?class=".$classe."&method=".$method;
|
|
return $path;
|
|
}
|
|
|
|
/**
|
|
* remoteFileExists-function
|
|
* Fonction permettant de vérfier l'existence d'un fichier distant renvoie True ou False
|
|
* @param chaine chaine url du fichier distant
|
|
* @return booleen renvoie vrai ou faux
|
|
*/
|
|
function remoteFileExists ($url)
|
|
{
|
|
if (@fclose(fopen($url, "r")))
|
|
{
|
|
return true;
|
|
}else{
|
|
return false;
|
|
}
|
|
}
|
|
}
|
|
?>
|