Subversion Repositories Applications.papyrus

Rev

Rev 1453 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1453 Rev 1481
1
<?php
1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */ 
3
// +------------------------------------------------------------------------------------------------------+
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 5.1                                                                                      |
4
// | PHP version 5.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org)                                         |
6
// | Copyright (C) 2006 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
7
// +------------------------------------------------------------------------------------------------------+
8
// | Ce logiciel est un programme informatique servant à gérer du contenu et des applications web.        |                                                                           |
8
// | Ce logiciel est un programme informatique servant à gérer du contenu et des applications web.        |                                                                           |
9
// |                                                                                                      |
9
// |                                                                                                      |
10
// | Ce logiciel est régi par la licence CeCILL soumise au droit français et respectant les principes de  | 
10
// | Ce logiciel est régi par la licence CeCILL soumise au droit français et respectant les principes de  | 
11
// | diffusion des logiciels libres. Vous pouvez utiliser, modifier et/ou redistribuer ce programme sous  |
11
// | diffusion des logiciels libres. Vous pouvez utiliser, modifier et/ou redistribuer ce programme sous  |
12
// | les conditions de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA sur le site    |
12
// | les conditions de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA sur le site    |
13
// | "http://www.cecill.info".                                                                            |
13
// | "http://www.cecill.info".                                                                            |
14
// |                                                                                                      |
14
// |                                                                                                      |
15
// | En contrepartie de l'accessibilité au code source et des droits de copie, de modification et de      |
15
// | En contrepartie de l'accessibilité au code source et des droits de copie, de modification et de      |
16
// | redistribution accordés par cette licence, il n'est offert aux utilisateurs qu'une garantie limitée. |
16
// | redistribution accordés par cette licence, il n'est offert aux utilisateurs qu'une garantie limitée. |
17
// | Pour les mêmes raisons, seule une responsabilité restreinte pèse sur l'auteur du programme, le       |
17
// | Pour les mêmes raisons, seule une responsabilité restreinte pèse sur l'auteur du programme, le       |
18
// | titulaire des droits patrimoniaux et les concédants successifs.                                      |
18
// | titulaire des droits patrimoniaux et les concédants successifs.                                      |
19
// |                                                                                                      |
19
// |                                                                                                      |
20
// | A cet égard l'attention de l'utilisateur est attirée sur les risques associés au chargement, à       |
20
// | A cet égard l'attention de l'utilisateur est attirée sur les risques associés au chargement, à       |
21
// | l'utilisation,  à la modification et/ou au développement et à la reproduction du logiciel par        |
21
// | l'utilisation,  à la modification et/ou au développement et à la reproduction du logiciel par        |
22
// | l'utilisateur étant donné sa spécificité de logiciel libre, qui peut le rendre complexe à manipuler  |
22
// | l'utilisateur étant donné sa spécificité de logiciel libre, qui peut le rendre complexe à manipuler  |
23
// | et qui le réserve donc à des développeurs et des professionnels avertis possédant des connaissances  |
23
// | et qui le réserve donc à des développeurs et des professionnels avertis possédant des connaissances  |
24
// | informatiques approfondies. Les utilisateurs sont donc invités à charger  et  tester  l'adéquation   |
24
// | informatiques approfondies. Les utilisateurs sont donc invités à charger  et  tester  l'adéquation   |
25
// | du logiciel à leurs besoins dans des conditions permettant d'assurer la sécurité de leurs systèmes   | 
25
// | du logiciel à leurs besoins dans des conditions permettant d'assurer la sécurité de leurs systèmes   | 
26
// | et ou de leurs données et, plus généralement, à l'utiliser et l'exploiter dans les mêmes conditions  |
26
// | et ou de leurs données et, plus généralement, à l'utiliser et l'exploiter dans les mêmes conditions  |
27
// | de sécurité.                                                                                         |
27
// | de sécurité.                                                                                         |
28
// |                                                                                                      |
28
// |                                                                                                      |
29
// | Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris connaissance de la       |
29
// | Le fait que vous puissiez accéder à cet en-tête signifie que vous avez pris connaissance de la       |
30
// | licence CeCILL, et que vous en avez accepté les termes.                                              |
30
// | licence CeCILL, et que vous en avez accepté les termes.                                              |
31
// +------------------------------------------------------------------------------------------------------+
31
// +------------------------------------------------------------------------------------------------------+
32
// CVS : $Id: pap_rendu.class.php,v 1.7.2.3 2007-06-06 15:25:14 jp_milcent Exp $
32
// CVS : $Id: pap_rendu.class.php,v 1.7.2.4 2007-06-25 14:06:19 jp_milcent Exp $
33
/**
33
/**
34
* Classe : pap_rendu
34
* Classe : pap_rendu
35
*
35
*
36
* Fournit des méthodes pour le rendu.
36
* Fournit des méthodes pour le rendu.
37
*
37
*
38
*@package Papyrus
38
*@package Papyrus
39
*@subpackage Classes
39
*@subpackage Classes
40
//Auteur original :
40
//Auteur original :
41
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
41
*@author        Jean-Pascal MILCENT <jpm@tela-botanica.org>
42
//Autres auteurs :
42
//Autres auteurs :
43
*@author        Aucun
43
*@author        Aucun
44
*@copyright     Tela-Botanica 2000-2006
44
*@copyright     Tela-Botanica 2000-2006
45
*@version       $Revision: 1.7.2.3 $ $Date: 2007-06-06 15:25:14 $
45
*@version       $Revision: 1.7.2.4 $ $Date: 2007-06-25 14:06:19 $
46
// +------------------------------------------------------------------------------------------------------+
46
// +------------------------------------------------------------------------------------------------------+
47
*/
47
*/
48
 
48
 
49
// +------------------------------------------------------------------------------------------------------+
49
// +------------------------------------------------------------------------------------------------------+
50
// |                                            ENTÊTE du PROGRAMME                                       |
50
// |                                            ENTÊTE du PROGRAMME                                       |
51
// +------------------------------------------------------------------------------------------------------+
51
// +------------------------------------------------------------------------------------------------------+
52
 
52
 
53
class Pap_Rendu {
53
class Pap_Rendu {
54
	
54
	
55
	var $bool_balise_appli = false;
55
	var $bool_balise_appli = false;
56
	
56
	
57
    function pap_rendu()
57
    function pap_rendu()
58
    {
58
    {
59
    	
59
    	
60
    }
60
    }
61
    
61
    
62
	function getBoolBaliseAppli()
62
	function getBoolBaliseAppli()
63
	{
63
	{
64
		return $this->bool_balise_appli;
64
		return $this->bool_balise_appli;
65
	}
65
	}
66
	
66
	
67
	function parserBaliseApplette($contenu, $bool_appli = false)
67
	function parserBaliseApplette($contenu, $bool_appli = false)
68
	{
68
	{
69
		$noms_applettes = 'IDENTIFICATION|MENU|MOTEUR_RECHERCHE|SELECTEUR_SITES|VOUS_ETES_ICI|BAZAR_CALENDRIER';// Compatibilite ancienne syntaxe
69
		$noms_applettes = 'IDENTIFICATION|MENU|MOTEUR_RECHERCHE|SELECTEUR_SITES|VOUS_ETES_ICI|BAZAR_CALENDRIER';// Compatibilite ancienne syntaxe
70
		$GLOBALS['_PAPYRUS_']['applette']['nbr_balise'] = preg_match_all(
70
		$GLOBALS['_PAPYRUS_']['applette']['nbr_balise'] = preg_match_all(
71
				'/\{\{(\w+) ?.*?\}\}|<!-- (?:'.$GLOBALS['_GEN_commun']['balise_prefixe'].'|'.$GLOBALS['_GEN_commun']['balise_prefixe_client'].')('.$noms_applettes.')[^ ]* -->/',
71
				'/\{\{(\w+) ?.*?\}\}|<!-- (?:'.$GLOBALS['_GEN_commun']['balise_prefixe'].'|'.$GLOBALS['_GEN_commun']['balise_prefixe_client'].')('.$noms_applettes.')[^ ]* -->/',
72
				$contenu,
72
				$contenu,
73
				$tab_decoupage,
73
				$tab_decoupage,
74
				PREG_SET_ORDER);
74
				PREG_SET_ORDER);
75
		if ($bool_appli && $GLOBALS['_PAPYRUS_']['applette']['nbr_balise'] > 0) {
75
		if ($bool_appli && $GLOBALS['_PAPYRUS_']['applette']['nbr_balise'] > 0) {
76
			$this->bool_balise_appli = true;
76
			$this->bool_balise_appli = true;
77
		}
77
		}
78
		for ($i = 0; $i < $GLOBALS['_PAPYRUS_']['applette']['nbr_balise']; $i++) {
78
		for ($i = 0; $i < $GLOBALS['_PAPYRUS_']['applette']['nbr_balise']; $i++) {
79
			// Creation du nom de l'applette.
79
			// Creation du nom de l'applette.
80
			$applette_nom = '';
80
			$applette_nom = '';
81
			if (!empty($tab_decoupage[$i][1])) {
81
			if (!empty($tab_decoupage[$i][1])) {
82
				$applette_nom = $tab_decoupage[$i][1];
82
				$applette_nom = $tab_decoupage[$i][1];
83
			} else if (!empty($tab_decoupage[$i][2])) {
83
			} else if (!empty($tab_decoupage[$i][2])) {
84
				$applette_nom = $tab_decoupage[$i][2];
84
				$applette_nom = $tab_decoupage[$i][2];
85
			}
85
			}
86
			// Ajout d'underscore devant les majuscules composant un nom d'applette puis mise en minuscule.
86
			// Ajout d'underscore devant les majuscules composant un nom d'applette puis mise en minuscule.
87
			// Ex : MotCles devient mot_cles
87
			// Ex : MotCles devient mot_cles
88
			$applette_nom = strtolower(preg_replace('/([a-z0-9])([A-Z])/', '$1_$2', $applette_nom));
88
			$applette_nom = strtolower(preg_replace('/([a-z0-9])([A-Z])/', '$1_$2', $applette_nom));
89
			if (!isset($GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom])) {
89
			if (!isset($GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom])) {
90
				$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['nom'] = $applette_nom;
90
				$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['nom'] = $applette_nom;
91
				
91
				
92
				// Recherche du fichier de l'applette
92
				// Recherche du fichier de l'applette
93
				$repertoire = '';
93
				$repertoire = '';
94
				$applette_nom_fichier = '';
94
				$applette_nom_fichier = '';
95
				// Spécial Bazar Calendrier!
95
				// Spécial Bazar Calendrier!
96
				if (preg_match('/_/', $applette_nom)) {
96
				if (preg_match('/_/', $applette_nom)) {
97
					$e = explode ('_', $applette_nom);
97
					$e = explode ('_', $applette_nom);
98
					$repertoire = $e[0];
98
					$repertoire = $e[0];
99
					$applette_nom_fichier = $e[1];
99
					$applette_nom_fichier = $e[1];
100
					//trigger_error('<pre>'.$applette_nom_fichier.'-'.$repertoire.'</pre>', E_USER_ERROR);
100
					//trigger_error('<pre>'.$applette_nom_fichier.'-'.$repertoire.'</pre>', E_USER_ERROR);
101
				}
101
				}
102
				if (file_exists(GEN_CHEMIN_APPLETTE.$applette_nom.GEN_SEP.$applette_nom.'.php')) {
102
				if (file_exists(GEN_CHEMIN_APPLETTE.$applette_nom.GEN_SEP.$applette_nom.'.php')) {
103
					$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['chemin'] = GEN_CHEMIN_APPLETTE.$applette_nom.GEN_SEP.$applette_nom.'.php';	
103
					$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['chemin'] = GEN_CHEMIN_APPLETTE.$applette_nom.GEN_SEP.$applette_nom.'.php';	
104
				} else if (file_exists(GEN_CHEMIN_CLIENT.$applette_nom.GEN_SEP.$applette_nom.'.php')) {
104
				} else if (file_exists(GEN_CHEMIN_CLIENT.$applette_nom.GEN_SEP.$applette_nom.'.php')) {
105
					$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['chemin'] = GEN_CHEMIN_CLIENT.$applette_nom.GEN_SEP.$applette_nom.'.php';						
105
					$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['chemin'] = GEN_CHEMIN_CLIENT.$applette_nom.GEN_SEP.$applette_nom.'.php';						
106
				} else if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'_'.$applette_nom_fichier.'.applette.php')) {
106
				} else if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'_'.$applette_nom_fichier.'.applette.php')) {
107
					// Syntaxe à privilièger en cas d'intégration d'une applette dans une application
107
					// Syntaxe à privilégier en cas d'intégration d'une applette dans une application
108
					$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['chemin'] = GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'_'.$applette_nom_fichier.'.applette.php';
108
					$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['chemin'] = GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'_'.$applette_nom_fichier.'.applette.php';
109
				} else if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.'.$applette_nom_fichier.'.applette.php')) {
109
				} else if (file_exists(GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.'.$applette_nom_fichier.'.applette.php')) {
110
					// Syntaxe obsolete
110
					// Syntaxe obsolete
111
					$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['chemin'] = GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.'.$applette_nom_fichier.'.applette.php';
111
					$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['chemin'] = GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'.'.$applette_nom_fichier.'.applette.php';
112
					$message = 	'MESSAGE Papyrus : le nom du fichier de l\'applette a une syntaxe obsolete'.'<br />'.
112
					$message = 	'MESSAGE Papyrus : le nom du fichier de l\'applette a une syntaxe obsolete'.'<br />'.
113
								'Nom applette : '.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['nom'].'<br />'.
113
								'Nom applette : '.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['nom'].'<br />'.
114
								'Chemin fichier applette : '.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['chemin'].'<br />'.
114
								'Chemin fichier applette : '.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['chemin'].'<br />'.
115
								'Chemin fichier correct : '.GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'_'.$applette_nom_fichier.'.applette.php'.'<br />';
115
								'Chemin fichier correct : '.GEN_CHEMIN_CLIENT.$repertoire.GEN_SEP.$repertoire.'_'.$applette_nom_fichier.'.applette.php'.'<br />';
116
								
116
								
117
					trigger_error($message, E_USER_WARNING);						
117
					trigger_error($message, E_USER_WARNING);						
118
				} else {
118
				} else {
119
					// On supprime l'applette de la liste
119
					// On supprime l'applette de la liste
120
					unset($GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]);
120
					unset($GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]);
121
			        // Ne devrait pas arreter le programme! Mais instancier le gestionnaire de deboguage.
121
			        // Ne devrait pas arreter le programme! Mais instancier le gestionnaire de deboguage.
122
			        $message = 	'ERREUR Papyrus : Impossible de trouver le fichier de l\'applette. <br />'.
122
			        $message = 	'ERREUR Papyrus : Impossible de trouver le fichier de l\'applette. <br />'.
123
			            		'Nom applette : '.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['nom'].' <br />'.
123
			            		'Nom applette : '.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['nom'].' <br />'.
124
			            		'Chemin fichier applette : '.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['chemin'].' <br />'.
124
			            		'Chemin fichier applette : '.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['chemin'].' <br />'.
125
			            		'Ligne n&deg; : '. __LINE__ .'<br />'.
125
			            		'Ligne n&deg; : '. __LINE__ .'<br />'.
126
			            		'Fichier : '. __FILE__ ;
126
			            		'Fichier : '. __FILE__ ;
127
					trigger_error($message, E_USER_ERROR);
127
					trigger_error($message, E_USER_ERROR);
128
			    }
128
			    }
129
				// Nous incluons l'applette
129
				// Nous incluons l'applette
130
			    if (file_exists($GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['chemin'])) {
130
			    if (file_exists($GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['chemin'])) {
131
			        include_once($GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['chemin']);
131
			        include_once($GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['chemin']);
132
			        // Nous recuperons l'expression reguliere de la balise pour l'utiliser lors de l'appel
132
			        // Nous recuperons l'expression reguliere de la balise pour l'utiliser lors de l'appel
133
			        // de la fonction de l'applette. L'appel des fonctions des applettes a lieu apres l'appel
133
			        // de la fonction de l'applette. L'appel des fonctions des applettes a lieu apres l'appel
134
			        // de l'application pour permettre a l'appli de modifier certains parametres (identification, ordre des menus).
134
			        // de l'application pour permettre a l'appli de modifier certains parametres (identification, ordre des menus).
135
			        $GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['applette_balise'] = $GLOBALS['_GEN_commun']['info_applette_balise'];
135
			        $GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['applette_balise'] = $GLOBALS['_GEN_commun']['info_applette_balise'];
136
			        $GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['applette_fonction'] = $GLOBALS['_GEN_commun']['info_applette_nom_fonction'];
136
			        $GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['applette_fonction'] = $GLOBALS['_GEN_commun']['info_applette_nom_fonction'];
137
			    }
137
			    }
138
			}
138
			}
139
			// Recuperation des infos sur la balise courrante.
139
			// Recuperation des infos sur la balise courrante.
140
			if (preg_match(	'/'.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['applette_balise'].'/', $tab_decoupage[$i][0], $applet_arguments)) {
140
			if (preg_match(	'/'.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['applette_balise'].'/', $tab_decoupage[$i][0], $applet_arguments)) {
141
				$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['balises'][] = $applet_arguments;
141
				$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['balises'][] = $applet_arguments;
142
			} else {
142
			} else {
143
				$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['balises'][] = array();
143
				$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['balises'][] = array();
144
				$message = 	'ERREUR Papyrus : Impossible de r&eacute;cup&eacute;rer les arguments de l\'applette. <br />'.
144
				$message = 	'ERREUR Papyrus : Impossible de r&eacute;cup&eacute;rer les arguments de l\'applette. <br />'.
145
							'Nom applette : '.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['nom'].' <br />'.
145
							'Nom applette : '.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['nom'].' <br />'.
146
							'Chemin fichier applette : '.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['chemin'].' <br />'.
146
							'Chemin fichier applette : '.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['chemin'].' <br />'.
147
							'Ligne n&deg; : '. __LINE__ .'<br />'.
147
							'Ligne n&deg; : '. __LINE__ .'<br />'.
148
							'Fichier : '. __FILE__ .'<br />'.
148
							'Fichier : '. __FILE__ .'<br />'.
149
							'<pre>'.print_r($tab_decoupage[$i][0], true).'</pre>'.
149
							'<pre>'.print_r($tab_decoupage[$i][0], true).'</pre>'.
150
							'<pre>'.print_r('/'.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['applette_balise'].'/', true).'</pre>';
150
							'<pre>'.print_r('/'.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['applette_balise'].'/', true).'</pre>';
151
				trigger_error($message, E_USER_ERROR);
151
				trigger_error($message, E_USER_ERROR);
152
			}
152
			}
153
		}
153
		}
154
		//echo '<pre>'.print_r($GLOBALS['_PAPYRUS_']['info_applette'], true).'</pre>';
154
		//echo '<pre>'.print_r($GLOBALS['_PAPYRUS_']['info_applette'], true).'</pre>';
155
	}
155
	}
156
	
156
	
157
	function remplacerBaliseApplette()
157
	function remplacerBaliseApplette()
158
	{
158
	{
159
		foreach ($GLOBALS['_PAPYRUS_']['info_applette'] as $applette_id => $applette_val) {
159
		foreach ($GLOBALS['_PAPYRUS_']['info_applette'] as $applette_id => $applette_val) {
160
		    // Si on trouve au moins une balise, on lance la boucle pour les remplacer
160
		    // Si on trouve au moins une balise, on lance la boucle pour les remplacer
161
		    if (!isset($GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['balises'])) {
161
		    if (!isset($GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['balises'])) {
162
		    	echo 'oc:'.$applette_id;
162
		    	echo 'oc:'.$applette_id;
163
		    }
163
		    }
164
		    for ($j = 0; $j < count($GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['balises']); $j++) {
164
		    for ($j = 0; $j < count($GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['balises']); $j++) {
165
		        // TODO : supprimer cette particularité et utiliser la variable $GLOBALS['_PAPYRUS_']['info_applette'] 
165
		        // TODO : supprimer cette particularité et utiliser la variable $GLOBALS['_PAPYRUS_']['info_applette'] 
166
		        // Nous comptabilisons le nombre d'utilisation des applettes dans un squelette pour l'applette Menu:
166
		        // Nous comptabilisons le nombre d'utilisation des applettes dans un squelette pour l'applette Menu:
167
		        if (!isset($GLOBALS['_PAPYRUS_']['applette']['comptage'][$applette_val['applette_fonction']])) {
167
		        if (!isset($GLOBALS['_PAPYRUS_']['applette']['comptage'][$applette_val['applette_fonction']])) {
168
		            $GLOBALS['_PAPYRUS_']['applette']['comptage'][$applette_val['applette_fonction']] = 1;
168
		            $GLOBALS['_PAPYRUS_']['applette']['comptage'][$applette_val['applette_fonction']] = 1;
169
		        } else {
169
		        } else {
170
		            $GLOBALS['_PAPYRUS_']['applette']['comptage'][$applette_val['applette_fonction']]++;
170
		            $GLOBALS['_PAPYRUS_']['applette']['comptage'][$applette_val['applette_fonction']]++;
171
		        }
171
		        }
172
		        // Nous vérifions que le nom de la fonction principale de l'applette existe.
172
		        // Nous vérifions que le nom de la fonction principale de l'applette existe.
173
		        if (function_exists($GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['applette_fonction'])) {
173
		        if (function_exists($GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['applette_fonction'])) {
174
		            $GLOBALS['_PAPYRUS_']['applette']['contenu_applette'] = 
174
		            $GLOBALS['_PAPYRUS_']['applette']['contenu_applette'] = 
175
		                call_user_func( $GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['applette_fonction'], 
175
		                call_user_func( $GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['applette_fonction'], 
176
		                                    $GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['balises'][$j], 
176
		                                    $GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['balises'][$j], 
177
		                                    $GLOBALS['_GEN_commun']);
177
		                                    $GLOBALS['_GEN_commun']);
178
		        } else {
178
		        } else {
179
		            $GLOBALS['_PAPYRUS_']['applette']['contenu_applette'] = 
179
		            $GLOBALS['_PAPYRUS_']['applette']['contenu_applette'] = 
180
		                '<!-- '."\n".
180
		                '<!-- '."\n".
181
		                $GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['balises'][$j][0].' : '.
181
		                $GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['balises'][$j][0].' : '.
182
		                'fonction de l\'applette "'.$applette_id.'" introuvable! '."\n".
182
		                'fonction de l\'applette "'.$applette_id.'" introuvable! '."\n".
183
		                'Fonction : '.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['applette_fonction']."\n".
183
		                'Fonction : '.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['applette_fonction']."\n".
184
		                ' -->';
184
		                ' -->';
185
		        }
185
		        }
186
		        // Remplacement des balises d'applette de Papyrus dans le squelette
186
		        // Remplacement des balises d'applette de Papyrus dans le squelette
187
		        $GLOBALS['_PAPYRUS_']['general']['contenu_squelette'] = 
187
		        $GLOBALS['_PAPYRUS_']['general']['contenu_squelette'] = 
188
		            str_replace(	$GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['balises'][$j][0], 
188
		            str_replace(	$GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['balises'][$j][0], 
189
		                			$GLOBALS['_PAPYRUS_']['applette']['contenu_applette'], 
189
		                			$GLOBALS['_PAPYRUS_']['applette']['contenu_applette'], 
190
		                			$GLOBALS['_PAPYRUS_']['general']['contenu_squelette']);
190
		                			$GLOBALS['_PAPYRUS_']['general']['contenu_squelette']);
191
			}
191
			}
192
		}
192
		}
193
	}
193
	}
194
}
194
}
195
?>
195
?>