* * * 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 * @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 *

cette classe permet la recuperation et l'affichage de l'aide contextuelle

* @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; } } } ?>