182 lines
3.6 KiB
PHP
Executable File
182 lines
3.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.
|
|
*
|
|
* Fichier XLangueChaine.php
|
|
*
|
|
* Ce fichier contient la classe XLangueChaine
|
|
* @author Rooty <www.rooty.me|rooty@rooty.me>
|
|
* @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
|
|
*
|
|
*<p>Initialise XLangueChaine</p>
|
|
* @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 = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n";
|
|
$src.="<XML XLANGUECHAINEVERSION=\"1.0\">\n";
|
|
$src.="\t";
|
|
foreach($this->tab as $key => $value){
|
|
$src.="<".$key.">".htmlspecialchars(strip_tags($value))."</".$key.">\n";
|
|
}
|
|
$src.="</XML>\n";
|
|
$src.="</xml>";
|
|
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("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n",
|
|
"<XML XLANGUECHAINEVERSION=\"1.0\">\n",
|
|
"\t",
|
|
"</XML>\n",
|
|
'</xml>',
|
|
"\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("</".$key.">", "", $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[strtoupper($langue)])){
|
|
return $this->tab[strtoupper($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[strtoupper($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();
|
|
}
|
|
}
|
|
?>
|