Subversion Repositories Applications.framework

Compare Revisions

Ignore whitespace Rev 165 → Rev 166

/trunk/framework/Controleur.php
35,6 → 35,7
$this->registre->set('base_chemin_squelette', Config::get('chemin_squelettes'));
$this->registre->set('base_chemin_controleur', Config::get('chemin_controleurs'));
$this->registre->set('base_url_application', new Url(Config::get('url_base')));
$this->verifierEtReencoderTableauRequete();
}
 
/**
85,6 → 86,7
*/
final protected function getVue($nom_squelette, $donnees = array()) {
$chemin_squelette = ($this->registre->get('base_chemin_squelette')).$nom_squelette.'.tpl.html';
 
$sortie = SquelettePhp::analyser($chemin_squelette, $donnees);
 
if (Config::get('sortie_encodage') != Config::get('appli_encodage')) {
117,7 → 119,7
}
 
/**
* Fonction prenant en paramètre un talbeau de données et effectuant un traitement dessus.
* Fonction prenant en paramètre un tableau de données et effectuant un traitement dessus.
* Cette fonction est à surcharger dans les classes filles pour automatiser un traitement
* avant chaque chargement de vue.
*
128,5 → 130,43
protected function preTraiterDonnees($donnees) {
return $donnees;
}
 
/**
* Procédure vérifiant l'encodage des tableaux $_GET et $_POST et les transcodant dans l'encodage de l'application
*/
protected function verifierEtReencoderTableauRequete() {
if(Config::get('sortie_encodage') != Config::get('appli_encodage')) {
 
$_POST = $this->encoderTableau($_POST, Config::get('appli_encodage'),Config::get('sortie_encodage'));
$_GET = $this->encoderTableau($_GET, Config::get('appli_encodage'),Config::get('sortie_encodage'));
 
}
}
 
/**
* Fonction récursive transcodant toutes les valeurs d'un tableau de leur encodage d'entrée vers un encodage de sortie donné
* @param $tableau Array Un tableau de données à encoder
* @param $encodage_sortie String l'encodage vers lequel on doit transcoder
* @param $encodage_entree String l'encodage original des chaines du tableau (optionnel)
* @return Array Le tableau encodé dans l'encodage de sortie
*
*/
final protected function encoderTableau($tableau,$encodage_sortie,$encodage_entree = null) {
 
if (is_array($tableau)) {
 
foreach ($tableau as $cle => $valeur) {
 
if (is_array($valeur)) {
$tableau[$cle] = $this->encoderTableau($tableau[$cle]);
}
else {
$tableau[$cle] = mb_convert_encoding($valeur,$encodage_sortie,$encodage_entree);
}
}
}
 
return $tableau;
}
}
?>