Subversion Repositories Applications.framework

Rev

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

Rev 241 Rev 440
Line 8... Line 8...
8
 * @package	Framework
8
 * @package	Framework
9
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
9
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
10
 * @copyright	Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)
10
 * @copyright	Copyright (c) 2010, Tela Botanica (accueil@tela-botanica.org)
11
 * @license	http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
11
 * @license	http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
12
 * @license	http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
12
 * @license	http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
13
 * @version	$Id: SquelettePhp.php 241 2010-12-06 15:19:07Z jpm $
13
 * @version	$Id: SquelettePhp.php 440 2013-10-16 12:57:03Z raphael $
14
 * @link		/doc/framework/
14
 * @link		/doc/framework/
15
 */
15
 */
16
class SquelettePhp {
16
class SquelettePhp {
Line 17... Line 17...
17
 
17
 
Line 28... Line 28...
28
		if (file_exists($fichier)) {
28
		if (file_exists($fichier)) {
29
			// Extraction des variables du tableau de données
29
			// Extraction des variables du tableau de données
30
			extract($donnees);
30
			extract($donnees);
Line 31... Line 31...
31
 
31
 
32
			// Démarage de la bufferisation de sortie
32
			// Démarage de la bufferisation de sortie
33
			ob_start();
33
			 ob_start();
34
			// Si les tags courts sont activés
34
			// Si les tags courts sont activés
35
			if ((bool) @ini_get('short_open_tag') === true) {
35
			if ((bool) @ini_get('short_open_tag') === true) {
36
				// Simple inclusion du squelette
36
				// Simple inclusion du squelette
37
				include $fichier;
37
				include $fichier;
Line 46... Line 46...
46
			// Récupèration du contenu du buffer
46
			// Récupèration du contenu du buffer
47
			$sortie = ob_get_contents();
47
			$sortie = ob_get_contents();
48
			// Suppression du buffer
48
			// Suppression du buffer
49
			@ob_end_clean();
49
			@ob_end_clean();
50
		} else {
50
		} else {
51
			$msg = "Le fichier du squelette '$fichier' n'existe pas.";
51
		  trigger_error("Le fichier du squelette '$fichier' n'existe pas." . print_r(debug_backtrace(), TRUE) . "</pre>",
52
			trigger_error($msg, E_USER_WARNING);
52
						E_USER_WARNING);
53
		}
53
		}
54
		// Retourne le contenu
54
		// Retourne le contenu
55
		return $sortie;
55
		return $sortie;
56
	}
56
	}
Line 63... Line 63...
63
	 */
63
	 */
64
	private static function traiterTagsCourts($chemin_squelette) {
64
	private static function traiterTagsCourts($chemin_squelette) {
65
		$contenu = file_get_contents($chemin_squelette);
65
		$contenu = file_get_contents($chemin_squelette);
66
		// Remplacement de tags courts par un tag long avec echo
66
		// Remplacement de tags courts par un tag long avec echo
67
		$contenu = str_replace('<?=', '<?php echo ',  $contenu);
67
		$contenu = str_replace('<?=', '<?php echo ',  $contenu);
-
 
68
		$contenu = str_replace('<? ', '<?php ',  $contenu);
68
		// Ajout systématique d'un point virgule avant la fermeture php
69
		// Ajout systématique d'un point virgule avant la fermeture php
69
		$contenu = preg_replace("/;*\s*\?>/", "; ?>", $contenu);
70
		$contenu = preg_replace("/;*\s*\?>/", "; ?>", $contenu);
70
		return $contenu;
71
		return $contenu;
71
	}
72
	}
72
}
73
}