3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2014 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
13 if (!defined("_ECRIRE_INC_VERSION")) return;
15 if (!isset($GLOBALS['spip_pipeline']['styliser']))
16 $GLOBALS['spip_pipeline']['styliser'] = '';
17 $GLOBALS['spip_pipeline']['styliser'] .= '||squelettes_par_rubrique_styliser_par_rubrique|squelettes_par_rubrique_styliser_par_langue';
20 * Options de recherche de squelette par le styliseur, appele par le pipeline 'styliser' :
21 * Squelette par rubrique squelette-XX.html ou squelette=XX.html
26 function squelettes_par_rubrique_styliser_par_rubrique($flux) {
28 // uniquement si un squelette a ete trouve
29 if ($squelette = $flux['data']) {
30 $ext = $flux['args']['ext'];
32 // On selectionne, dans l'ordre :
34 if ($id_rubrique = $flux['args']['id_rubrique']) {
35 $f = "$squelette=$id_rubrique";
36 if (@file_exists
("$f.$ext"))
39 $maxiter = 10000; // on ne remonte pas au dela en profondeur
40 // fond-10 fond-<rubriques parentes>
42 $f = "$squelette-$id_rubrique";
43 if (@file_exists
("$f.$ext")) {
49 AND $id_rubrique = quete_parent($id_rubrique)
50 // se proteger des references circulaires
51 AND $id_rubrique != $flux['args']['id_rubrique']
54 // sauver le squelette
55 $flux['data'] = $squelette;
63 * Options de recherche de squelette par le styliseur, appele par le pipeline 'styliser' :
64 * Squelette par langue squelette.en.html
69 function squelettes_par_rubrique_styliser_par_langue($flux) {
71 // uniquement si un squelette a ete trouve
72 if ($squelette = $flux['data']) {
73 $ext = $flux['args']['ext'];
76 if ($lang = $flux['args']['lang']) {
77 $l = lang_select($lang);
78 $f = "$squelette.".$GLOBALS['spip_lang'];
79 if ($l) lang_select();
80 if (@file_exists
("$f.$ext")) {
81 // sauver le squelette