3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2011 *
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 include_spip('inc/presentation');
17 // http://doc.spip.org/@exec_brouteur_dist
18 function exec_brouteur_dist()
20 global $spip_ecran, $spip_lang_left;
22 $id_rubrique = intval(_request('id_rubrique'));
24 if ($spip_ecran == "large") {
33 $largeur_col = floor($largeur_table/$nb_col);
34 $profile = ($GLOBALS['var_profile']) ?
"&var_profile=1" : '';
36 $commencer_page = charger_fonction('commencer_page', 'inc');
37 echo $commencer_page(_T('titre_page_articles_tous'), "accueil", "tout-site", " hauteurFrame($nb_col);");
39 echo "\n<div> </div>";
41 echo debut_grand_cadre(true);
45 while ($id_rubrique > 0) {
46 $row = sql_fetsel("id_parent", "spip_rubriques", "id_rubrique=$id_rubrique");
49 $dest[$j] = $id_rubrique;
50 $id_rubrique =$row['id_parent'];
56 for ($i = 0; $i < $nb_col; $i++
) {
57 $dest[$i] = $dest[$i+
1];
61 if ($dest[0] > 0 AND $dest[$nb_col-2]) {
63 $la_rubrique = intval($dest[0]);
65 $row = sql_fetsel("id_parent", "spip_rubriques", "id_rubrique=$la_rubrique");
66 if ($row) $la_rubrique = $row['id_parent'];
69 while ($la_rubrique > 0) {
70 $row = sql_fetsel("titre, id_parent", "spip_rubriques", "id_rubrique ='$la_rubrique'");
73 $titre = typo($row['titre']);
74 $lien = $dest[$nb_col-$compteur-1];
75 if (!$la_rubrique=$row['id_parent'])
76 $class = "brouteur_icone_secteur";
77 else $class = "brouteur_icone_rubrique";
78 $ret = "\n<div class='$class'><a href='" . generer_url_ecrire("brouteur","id_rubrique=$lien$profile") . "'>$titre</a></div>\n<div style='margin-$spip_lang_left: 28px;'>$ret</div>";
81 $lien = $dest[$nb_col-$compteur-2];
83 // Afficher la hierarchie pour "remonter"
84 echo "<div style='text-align: $spip_lang_left;'>";
86 echo "<div id='brouteur_hierarchie'>"; // pour calculer hauteur de iframe
87 echo "<div class='brouteur_icone_racine'><a href='",
88 generer_url_ecrire("brouteur","id_rubrique=$lien$profile"),
90 _T('info_racine_site'),
92 "\n<div style='margin-$spip_lang_left: 28px;'>$ret</div>",
100 for ($i=0; $i < $nb_col; $i++
) {
101 echo "<iframe width='{$largeur_col}px' style='float:$spip_lang_left' id='iframe$i' name='iframe$i'",
102 (" src='" . generer_url_ecrire('brouteur_frame',"frame=$i$profile&rubrique=".$dest[$i])),
103 "' class='iframe-brouteur' height='",
107 echo fin_grand_cadre(true);
109 // fixer la hauteur du brouteur de maniere a remplir l'ecran
110 // nota: code tire du plugin dimensions.js
111 echo http_script("jQuery('iframe.iframe-brouteur').height(
112 Math.max((window.innerHeight || jQuery.boxModel && document.documentElement.clientHeight || document.body.clientHeight || 0)-195,300)