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'] ; |
} |
|
?> |