* * * 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 XLangueChaine.php * * Ce fichier contient la classe XLangueChaine * @author Rooty * @link www.rooty.me * @since 2004/04/14 * @version 0.3 * @package system_utils * @copyright Copyright © 2004-2005, ARD Limousin */ if ( !defined('SYSTEM_IN') ) { die("Hacking attempt"); } /** * Classe XLangueChaine * * classe de gestion d'un objet chaine traduit.... * @package system_utils */ class XLangueChaine { /**#@+ * @var chaine * @access private */ /** * @desc contenu de l'objet */ var $contentData = null; /** * @desc tableau des valeurs */ var $tab = null; /**#@-*/ // // Constructor // /** * Constructeur de la classe DataObjetc * *

Initialise XLangueChaine

* @access private */ function __construct($Sql) { $this->tab=array(); $this->setXMLContentData($Sql); # Initialise la structure de données } /** * getXMLContentData: retourne la source de données propre à l'objet (XML) * * @access public * @return chaine chaine au format XML */ function getXMLContentData() { # retourne la chaine XML $src = "\n"; $src.="\n"; $src.="\t"; foreach($this->tab as $key => $value){ $src.="<".$key.">".htmlspecialchars(strip_tags($value))."\n"; } $src.="\n"; $src.=""; return $src; } /** * setXMLContentData: affecte la source de données propre à l'objet (XML) * * @param chaine chaine au format XML * @access public * @return booleen */ function setXMLContentData($src) { $src=str_replace(array("\n", "\n", "\t", "\n", '', "\r" ), "", $src); // $tabLine=split("\n", $src); $tabLine=explode("\n", $src); reset($tabLine); foreach($tabLine as $Line){ if($Line!=""){ $findKey=explode(">", $Line); if(isset($findKey[0])){ $key=substr($findKey[0], 1); $value=str_replace("<".$key.">", "", $Line); $value=str_replace("", "", $value); if($value!="") $this->tab["$key"]=unhtmlspecialchars($value); } } } return true; } /** * getData: retourne la source de données propre à l'objet (XML) * * @param chaine nom/chemin de la variable au format "XLangueChaine" * @access public * @return chaine valeur de la donnée */ function getLanguage($langue) { if(isset($this->tab[$langue])){ return $this->tab[$langue]; }else{ return ""; } } /** * setData : affecte la source de données propre à l'objet (XML) * * @param chaine nom de la langue * @param chaine valeur de l'element * @access public * @return booleen */ function setLanguage($langue,$value) { $this->tab[$langue]=$value; } /** * LoadSql: Charge un data object à partir de ses éléments * * @param source de donnée (chaine formatée XML) * @access public * @return booleen */ function setSql($SqlData) { return $this->setXMLContentData($SqlData); } /** * Recupere la chaine Final a enregistrer formatée(SQL) * * @param source de donnée (chaine formatée XML) * @access public * @return chaine chaine a enregistrer sous sql */ function getSql() { return $this->getXMLContentData(); } } ?>