Subversion Repositories Sites.tela-botanica.org

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4 david 1
<?php
2
 
3
/***************************************************************************\
4
 *  SPIP, Systeme de publication pour l'internet                           *
5
 *                                                                         *
6
 *  Copyright (c) 2001-2005                                                *
7
 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
8
 *                                                                         *
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
\***************************************************************************/
12
 
13
 
14
// Ce fichier ne sera execute qu'une fois
15
if (defined("_INC_CHERCHER")) return;
16
define("_INC_CHERCHER", "1");
17
 
18
// Ce fichier doit imperativement contenir la fonction chercher-squelette
19
// (cf commentaires dans inc-calcul)
20
 
21
function chercher_squelette($fond, $id_rubrique, $lang) {
22
	$ext = $GLOBALS['extension_squelette'];
23
 
24
	// Accrocher un squelette de base dans le chemin
25
	if (!$base = find_in_path("$fond.$ext")) {
26
		// erreur webmaster : $fond ne correspond a rien
27
		erreur_squelette(_T('info_erreur_squelette2',
28
			 array('fichier'=>$fond)),
29
			 $dossier);
30
		return '';
31
	}
32
 
33
	// supprimer le ".html" pour pouvoir affiner par id_rubrique ou par langue
34
	$squelette = substr($base, 0, - strlen(".$ext"));
35
 
36
	// On selectionne, dans l'ordre :
37
	// fond=10
38
	$f = "$squelette=$id_rubrique";
39
	if (($id_rubrique > 0) AND (@file_exists("$f.$ext")))
40
		$squelette = $f;
41
	else {
42
		// fond-10 fond-<rubriques parentes>
43
		while ($id_rubrique > 0) {
44
			$f = "$squelette-$id_rubrique";
45
			if (@file_exists("$f.$ext")) {
46
				$squelette = $f;
47
				break;
48
			}
49
			else
50
				$id_rubrique = sql_parent($id_rubrique);
51
		}
52
	}
53
 
54
	// Affiner par lang
55
	if ($lang) {
56
		lang_select($lang);
57
		$f = "$squelette.$lang";
58
		if (@file_exists("$f.$ext"))
59
			$squelette = $f;
60
	}
61
 
62
	return $squelette;
63
}
64
 
65
?>