* * * 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 SystemMessage.php * * Ce fichier contient la classe SystemMessage * * @author Rooty * @link www.rooty.me * @since 2004/07/05 * @version 0.3 * @package system_message * @copyright Copyright © 2009-2018, Rooty */ ##################################################################################################### ################################# Parametrage ##################################################################################################### /** * declaration du system... si cette variable n'est pas définie, les fichier inclus ne marche pas... * cette variable est déclarée sur la page d'execution du script. *

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

*/ if ( !defined('SYSTEM_IN') ) { die("Hacking attempt"); } /** * Classe SystemMessage * * classe de gestion d'un objet chaine traduit.... * @package system_message */ class SystemMessage { /**#@+ * @var tableau * @access private * @desc tableau tableau des messages */ var $messages = array(); /**#@-*/ // // Constructor // /** * Constructeur de la classe SystemMessage ... parse par défaut le fichier main.ini dans /data/lang/ (PHP5) * *

Initialise SystemMessage

* @access private */ function __construct() { } /** * addFile permet d'ajouter un fichier source de SystemMessages * *

inclusion des fichier sous-forme(fichier-nid-oid.mxt)
* ou inclusion des fichier sous-forme(fichier-oid.mxt)
* ou fichier.mxt dans la langue courante,
* sinon, on inclus du fichier par défaut
*

* @access public * @return chaine chaine au format XML */ function addFile($fileName, $path="") { global $CONF_DATA_PATH; /* Chemin pour les données */ $currentPathDirectory=(isset($path) && $path!="")?$path:$CONF_DATA_PATH."data/message/".$GLOBALS["SYSTEM_USER_SESSION"]->langue->getCode()."/"; // var_dump($currentPathDirectory); //Vérification de l'existence de la page sous-forme(page-nid-oid.mxt) //$fileName=strtolower(str_replace(".ini", "", $fileName)); // if (file_exists($currentPathDirectory.$fileName."-".nid()."-".oid().".ini")) // var_dump($currentPathDirectory.$fileName); if (file_exists($currentPathDirectory.$fileName)) { // var_dump($currentPathDirectory.$fileName); //Affectation du template nid-oid // $this->messages=array_merge($this->messages, parse_ini_file($currentPathDirectory.$fileName."-".nid()."-".oid().".ini",false)); $this->messages=array_merge($this->messages, parse_ini_file($currentPathDirectory.$fileName,false)); return true; } else { if (file_exists($currentPathDirectory.$fileName."-".oid().".ini")) { //Affectation du template oid $this->messages=array_merge($this->messages, parse_ini_file($currentPathDirectory.$fileName."-".oid().".ini",false)); return true; } } /* Gestion des chemins par défaut */ $defaultPathDirectory=(isset($path) && $path!="")?$path:$CONF_DATA_PATH."data/message/".$GLOBALS["SYSTEM_DEFAULT_LANGUAGE_CODE"]."/"; /* Vérification de l'existance du fichier */ if (file_exists($defaultPathDirectory.$fileName.".ini")) { /* inclusion du fichier */ $this->messages=array_merge($this->messages, parse_ini_file($defaultPathDirectory.strtolower($fileName.".ini"),false)); return true; }else{ //addError(1, "SystemMessage", "Impossible de trouver le fichier".$defaultPathDirectory.$fileName."", __line__, __file__); return false; } } /** * getMessage : recupére un SystemMessage en fonction de son identifiant * * @param chaine nom/chemin de la variable au format "SystemMessage" * @access public * @return chaine valeur de la donn?e */ function getMessage($name) { if(array_key_exists($name, $this->messages)) { // var_dump($this->messages); return $this->messages[$name]; }else{ return ""; } } /** * getMessage : recupére un SystemMessage en fonction de son identifiant * * @param chaine nom/chemin de la variable au format "SystemMessage" * @access public * @return chaine valeur de la donn?e */ function getMessageCode($name) { if(array_search($name, $this->messages)) { return array_search($name, $this->messages); }else{ return ""; } } /** * execPrinting : appel tous les printing leur methode __print() * * @param object objet template (/defaut $GLOBALS["SYSTEM_TEMPLATE"]) * @access public * @return booleen */ function execPrinting($Tpl="") { if ($Tpl=="") $Tpl=&$GLOBALS["SYSTEM_TEMPLATE"]; $Tpl->WithMxPath(""); reset($this->messages); /* on récupére les index. (préformatage du tableau) */ $tabBloc=array_keys($Tpl->templateContent); for ($i=0; $imessages)) // PHP8.0 foreach ($this->messages as $key => $val) { /* Gére en fonction de la template si le flag existe */ for ($i=0; $i sinon erreur) */ if ($Tpl->IsMxFlag($tabBloc[$i].$key, "text")!=false) { $Tpl->MxText($tabBloc[$i].$key, htmlentitiesconv($val)); } if ($Tpl->IsMxAttribut($tabBloc[$i].$key)!=false) { $Tpl->MxAttribut($tabBloc[$i].$key, htmlentitiesconv($val)); } } } return true; } } ?>