Subversion Repositories Applications.papyrus

Rev

Rev 1134 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1134 Rev 1152
Line 27... Line 27...
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.5 2006-12-11 10:58:41 jp_milcent Exp $
32
// CVS : $Id: pap_rendu.class.php,v 1.6 2006-12-12 17:18:06 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
*
Line 40... Line 40...
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.5 $ $Date: 2006-12-11 10:58:41 $
45
*@version       $Revision: 1.6 $ $Date: 2006-12-12 17:18:06 $
46
// +------------------------------------------------------------------------------------------------------+
46
// +------------------------------------------------------------------------------------------------------+
47
*/
47
*/
Line 48... Line 48...
48
 
48
 
49
// +------------------------------------------------------------------------------------------------------+
49
// +------------------------------------------------------------------------------------------------------+
50
// |                                            ENTÊTE du PROGRAMME                                       |
50
// |                                            ENTÊTE du PROGRAMME                                       |
Line 51... Line 51...
51
// +------------------------------------------------------------------------------------------------------+
51
// +------------------------------------------------------------------------------------------------------+
52
 
52
 
-
 
53
class Pap_Rendu {
-
 
54
	
53
class Pap_Rendu {
55
	var $bool_balise_appli = false;
54
 
56
	
Line 55... Line 57...
55
    function pap_rendu()
57
    function pap_rendu()
-
 
58
    {
-
 
59
    	
-
 
60
    }
-
 
61
    
-
 
62
	function getBoolBaliseAppli()
Line 56... Line 63...
56
    {
63
	{
57
    	
64
		return $this->bool_balise_appli;
58
    }
65
	}
59
	
66
	
60
	function parserBaliseApplette($contenu)
67
	function parserBaliseApplette($contenu, $bool_appli = false)
61
	{
68
	{
62
		$noms_applettes = 'IDENTIFICATION|MENU|MOTEUR_RECHERCHE|SELECTEUR_SITES|VOUS_ETES_ICI';// Compatibilité ancienne syntaxe
69
		$noms_applettes = 'IDENTIFICATION|MENU|MOTEUR_RECHERCHE|SELECTEUR_SITES|VOUS_ETES_ICI';// Compatibilité ancienne syntaxe
63
		$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.')[^ ]* -->/',
-
 
72
				$contenu,
-
 
73
				$tab_decoupage,
64
				'/\{\{(\w+) ?[^}]*\}\}|<!-- (?:'.$GLOBALS['_GEN_commun']['balise_prefixe'].'|'.$GLOBALS['_GEN_commun']['balise_prefixe_client'].')('.$noms_applettes.')[^ ]* -->/',
74
				PREG_SET_ORDER);
65
				$contenu,
75
		if ($bool_appli && $GLOBALS['_PAPYRUS_']['applette']['nbr_balise'] > 0) {
66
				$tab_decoupage,
76
			$this->bool_balise_appli = true;
67
				PREG_SET_ORDER);
77
		}
68
		for ($i = 0; $i < $GLOBALS['_PAPYRUS_']['applette']['nbr_balise']; $i++) {
78
		for ($i = 0; $i < $GLOBALS['_PAPYRUS_']['applette']['nbr_balise']; $i++) {
Line 120... Line 130...
120
							'<pre>'.print_r('/'.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['applette_balise'].'/', true).'</pre>';
130
							'<pre>'.print_r('/'.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_nom]['applette_balise'].'/', true).'</pre>';
121
				trigger_error($message, E_USER_ERROR);
131
				trigger_error($message, E_USER_ERROR);
122
			}
132
			}
123
		}
133
		}
124
	}
134
	}
-
 
135
	
-
 
136
	function remplacerBaliseApplette()
-
 
137
	{
-
 
138
		foreach ($GLOBALS['_PAPYRUS_']['info_applette'] as $applette_id => $applette_val) {
-
 
139
		    // Si on trouve au moins une balise, on lance la boucle pour les remplacer
-
 
140
		    if (!isset($GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['balises'])) {
-
 
141
		    	echo 'oc:'.$applette_id;
-
 
142
		    }
-
 
143
		    for ($j = 0; $j < count($GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['balises']); $j++) {
-
 
144
		        // TODO : supprimer cette particularité et utiliser la variable $GLOBALS['_PAPYRUS_']['info_applette'] 
-
 
145
		        // Nous comptabilisons le nombre d'utilisation des applettes dans un squelette pour l'applette Menu:
-
 
146
		        if (!isset($GLOBALS['_PAPYRUS_']['applette']['comptage'][$applette_val['applette_fonction']])) {
-
 
147
		            $GLOBALS['_PAPYRUS_']['applette']['comptage'][$applette_val['applette_fonction']] = 1;
-
 
148
		        } else {
-
 
149
		            $GLOBALS['_PAPYRUS_']['applette']['comptage'][$applette_val['applette_fonction']]++;
-
 
150
		        }
-
 
151
		        // Nous vérifions que le nom de la fonction principale de l'applette existe.
-
 
152
		        if (function_exists($GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['applette_fonction'])) {
-
 
153
		            $GLOBALS['_PAPYRUS_']['applette']['contenu_applette'] = 
-
 
154
		                call_user_func( $GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['applette_fonction'], 
-
 
155
		                                    $GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['balises'][$j], 
-
 
156
		                                    $GLOBALS['_GEN_commun']);
-
 
157
		        } else {
-
 
158
		            $GLOBALS['_PAPYRUS_']['applette']['contenu_applette'] = 
-
 
159
		                '<!-- '."\n".
-
 
160
		                $GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['balises'][$j][0].' : '.
-
 
161
		                'fonction de l\'applette "'.$applette_id.'" introuvable! '."\n".
-
 
162
		                'Fonction : '.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['applette_fonction']."\n".
-
 
163
		                ' -->';
-
 
164
		        }
-
 
165
		        // Remplacement des balises d'applette de Papyrus dans le squelette
-
 
166
		        $GLOBALS['_PAPYRUS_']['general']['contenu_squelette'] = 
-
 
167
		            preg_replace(	'/'.$GLOBALS['_PAPYRUS_']['info_applette'][$applette_id]['balises'][$j][0].'/', 
-
 
168
		                			$GLOBALS['_PAPYRUS_']['applette']['contenu_applette'], 
-
 
169
		                			$GLOBALS['_PAPYRUS_']['general']['contenu_squelette']);
-
 
170
			}
-
 
171
		}
-
 
172
	}
125
}
173
}
126
?>
174
?>
127
175