Subversion Repositories Applications.papyrus

Compare Revisions

Ignore whitespace Rev 2010 → Rev 2011

/trunk/papyrus/bibliotheque/fonctions/ci_initialisation.fonct.php
1,10 → 1,18
<?php
/**
*
* Fichier contenant les fonctions d'initialisation de code igniter
* permettant de l'utiliser en combinaison avec Papyrus.
*
*/
 
function lancerCodeIgniter($nom_appli) {
$_GET['c'] = $nom_appli ;
$GLOBALS['retour'] = '' ;
/**
* Initialise la configuration de code igniter pour une application
* donnée. Normalement, cette fonction ne doit pas être appelée directement
* @param string le nom de l'application à initialiser
*/
function initialiserCodeIgniter($nom_appli) {
error_reporting(E_ALL);
$system_folder = PAP_CHEMIN_RACINE.'papyrus/bibliotheque/system';
34,9 → 42,42
define('APPPATH', BASEPATH.$application_folder.'/');
}
require_once BASEPATH.'codeigniter/CodeIgniter'.EXT;
$GLOBALS[$nom_appli] = array('ci' => true) ;
}
 
/**
* Fonction intermédiaire entre Papyrus et code igniter,
* appelant une application et une fonction donnée
* @param string le nom de l'application à éxécuter
* @param string le nom de la fonction à éxécuter (optionnel)
* @return string le code html à afficher généré par l'application
*/
function executerCodeIgniter($nom_appli,$nom_fonction = '') {
return $GLOBALS['retour'] ;
}
// si l'application n'a pas encore été initialisée
if(!isset($GLOBALS[$nom_appli]['ci']) || $GLOBALS[$nom_appli]['ci'] != true) {
// on appelle la fonction d'initialisation de code igniter
initialiserCodeIgniter($nom_appli) ;
}
// code igniter fonctionnant grâce à l'url, faute de mieux, on ajoute les bons
// paramètres au tableau superglobal GET
$_GET['c'] = $nom_appli ;
if($nom_fonction != '') {
$_GET['m'] = $nom_fonction ;
}
// N'ayant aucun moyen de récupérer directement le html généré par code igniter
// on le stockera dans une globale qui sera remplie par le controleur appelé.
$GLOBALS['retour'] = '' ;
// enfin on appelle le fichier principal de code igniter
// TODO: trouver comment faire pour l'appeller plusieurs fois dans une page
// sans que ça pose de problèmes
require_once BASEPATH.'codeigniter/CodeIgniter'.EXT;
// on renvoie la variable globale remplie par le code
return $GLOBALS['retour'] ;
}
?>