Bifurcation depuis
spip / spip
19666 validations de retard le dépôt en amont.
inc-compilo.php3 19,87 Kio
<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2005 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
//
// Fichier principal du compilateur de squelettes
//
// Ce fichier ne sera execute qu'une fois
if (defined("_INC_COMPILO")) return;
define("_INC_COMPILO", "1");
// Definition de la structure $p, et fonctions de recherche et de reservation
// dans l'arborescence des boucles
include_local("inc-compilo-index.php3"); # index ? structure ? pile ?
// definition des boucles
include_local("inc-boucles.php3");
// definition des criteres
include_local("inc-criteres.php3");
// definition des balises
include_local("inc-balises.php3");
// definition de l'API
include_local("inc-compilo-api.php3");
# definition des tables
include_ecrire('inc_serialbase.php3');
// outils pour debugguer le compilateur
#include_local("inc-compilo-debug.php3"); # desactive
//
// Calculer un <INCLURE()>
//
function calculer_inclure($fichier, $params, $id_boucle, &$boucles) {
global $dossier_squelettes;
$l = array();
if ($params) {
foreach($params as $var => $val) {
if ($val) {
$val = trim($val);
$val = ereg_replace('^["\'](.*)["\']$', "\\1",$val);
$l[] = "\'$var\' => \'" .
addslashes(calculer_param_dynamique($val,
$boucles,
$idb)) .
"\'";
}
else {
// Cas de la langue : passer $spip_lang
// et non table.lang (car depend de {lang_select})
if ($var =='lang')
$l[] = "\'lang\' => \''.\$GLOBALS[\"spip_lang\"].'\'";
else
$l[] = "\'$var\' => \'' . addslashes(" . index_pile($id_boucle, $var, $boucles) . ") .'\'";
}