Subversion Repositories Applications.papyrus

Rev

Rev 2007 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2007 Rev 2011
Line 1... Line 1...
1
<?php
1
<?php
-
 
2
/**
-
 
3
 * 
-
 
4
 * Fichier contenant les fonctions d'initialisation de code igniter
-
 
5
 * permettant de l'utiliser en combinaison avec Papyrus.
-
 
6
 * 
-
 
7
 */
Line -... Line 8...
-
 
8
 
2
 
9
/**
-
 
10
 * Initialise la configuration de code igniter pour une application
-
 
11
 * donnée. Normalement, cette fonction ne doit pas être appelée directement
3
function lancerCodeIgniter($nom_appli) {
12
 * @param string le nom de l'application à initialiser
4
 	 	
13
 */
5
 	$_GET['c'] = $nom_appli ;
-
 
6
 	$GLOBALS['retour'] = '' ;
14
function initialiserCodeIgniter($nom_appli) {
7
 	
15
 	 	 	
Line 8... Line 16...
8
 	error_reporting(E_ALL);
16
 	error_reporting(E_ALL);
Line 9... Line 17...
9
	
17
	
Line 32... Line 40...
32
			$application_folder = 'application';
40
			$application_folder = 'application';
33
		}
41
		}
34
		define('APPPATH', BASEPATH.$application_folder.'/');
42
		define('APPPATH', BASEPATH.$application_folder.'/');
35
	}
43
	}
Line 36... Line 44...
36
	
44
	
37
	require_once BASEPATH.'codeigniter/CodeIgniter'.EXT;
-
 
38
	
-
 
39
	return $GLOBALS['retour'] ;
45
	$GLOBALS[$nom_appli] = array('ci' => true) ;
-
 
46
 }
-
 
47
 
-
 
48
/**
-
 
49
 * Fonction intermédiaire entre Papyrus et code igniter,
-
 
50
 * appelant une application et une fonction donnée
-
 
51
 * @param string le nom de l'application à éxécuter
-
 
52
 * @param string le nom de la fonction à éxécuter (optionnel)
-
 
53
 * @return string le code html à afficher généré par l'application
-
 
54
 */ 
-
 
55
function executerCodeIgniter($nom_appli,$nom_fonction = '') {
-
 
56
	
-
 
57
	// si l'application n'a pas encore été initialisée 
-
 
58
	if(!isset($GLOBALS[$nom_appli]['ci']) || $GLOBALS[$nom_appli]['ci'] != true) {
-
 
59
		// on appelle la fonction d'initialisation de code igniter
-
 
60
		initialiserCodeIgniter($nom_appli) ;
-
 
61
	} 
-
 
62
 	
-
 
63
 	// code igniter fonctionnant grâce à l'url, faute de mieux, on ajoute les bons
-
 
64
 	// paramètres au tableau superglobal GET	
-
 
65
 	$_GET['c'] = $nom_appli ;
-
 
66
 	if($nom_fonction != '') {
-
 
67
 		$_GET['m'] = $nom_fonction ;
-
 
68
 	}
-
 
69
 	
-
 
70
 	// N'ayant aucun moyen de récupérer directement le html généré par code igniter
-
 
71
 	// on le stockera dans une globale qui sera remplie par le controleur appelé.
-
 
72
 	$GLOBALS['retour'] = '' ;
-
 
73
 	
-
 
74
 	// enfin on appelle le fichier principal de code igniter
-
 
75
 	// TODO: trouver comment faire pour l'appeller plusieurs fois dans une page
-
 
76
 	// sans que ça pose de problèmes
-
 
77
 	require_once BASEPATH.'codeigniter/CodeIgniter'.EXT;
-
 
78
 	
-
 
79
 	// on renvoie la variable globale remplie par le code
-
 
80
 	return $GLOBALS['retour'] ;
Line 40... Line 81...
40
 }
81
}
41
 
82