Skip to content
Extraits de code Groupes Projets
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) . ") .'\'";
				}