File "brouteur.php"
Full path: /home/meharicl/www/ecrire/exec/brouteur.php
File
size: 3.77 B
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Editor Back
<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2016 *
* 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. *
\***************************************************************************/
if (!defined('_ECRIRE_INC_VERSION')) return;
include_spip('inc/presentation');
// http://doc.spip.org/@exec_brouteur_dist
function exec_brouteur_dist()
{
global $spip_ecran, $spip_lang_left;
$id_rubrique = intval(_request('id_rubrique'));
if ($spip_ecran == "large") {
$largeur_table = 974;
$hauteur_table = 400;
$nb_col = 4;
} else {
$largeur_table = 750;
$hauteur_table = 300;
$nb_col = 3;
}
$largeur_col = floor($largeur_table/$nb_col);
$profile = ($GLOBALS['var_profile']) ? "&var_profile=1" : '';
$commencer_page = charger_fonction('commencer_page', 'inc');
echo $commencer_page(_T('titre_page_articles_tous'), "accueil", "tout-site", " hauteurFrame($nb_col);");
echo "\n<div> </div>";
echo debut_grand_cadre(true);
$dest = array();
if ($id_rubrique) {
$j = $nb_col;
while ($id_rubrique > 0) {
$row = sql_fetsel("id_parent", "spip_rubriques", "id_rubrique=$id_rubrique");
if ($row){
$j--;
$dest[$j] = $id_rubrique;
$id_rubrique =$row['id_parent'];
}
}
$dest[$j-1] = 0;
while (!$dest[1]) {
for ($i = 0; $i < $nb_col; $i++) {
$dest[$i] = $dest[$i+1];
}
}
if ($dest[0] > 0 AND $dest[$nb_col-2]) {
$la_rubrique = intval($dest[0]);
$row = sql_fetsel("id_parent", "spip_rubriques", "id_rubrique=$la_rubrique");
if ($row) $la_rubrique = $row['id_parent'];
$compteur = 0;
$ret = '';
while ($la_rubrique > 0) {
$row = sql_fetsel("titre, id_parent", "spip_rubriques", "id_rubrique ='$la_rubrique'");
if ($row) {
$compteur++;
$titre = typo($row['titre']);
$lien = $dest[$nb_col-$compteur-1];
if (!$la_rubrique=$row['id_parent'])
$class = "brouteur_icone_secteur";
else $class = "brouteur_icone_rubrique";
$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>";
}
}
$lien = $dest[$nb_col-$compteur-2];
// Afficher la hierarchie pour "remonter"
echo "<div style='text-align: $spip_lang_left;'>";
echo "<div id='brouteur_hierarchie'>"; // pour calculer hauteur de iframe
echo "<div class='brouteur_icone_racine'><a href='",
generer_url_ecrire("brouteur","id_rubrique=$lien$profile"),
"'>",
_T('info_racine_site'),
"</a></div>",
"\n<div style='margin-$spip_lang_left: 28px;'>$ret</div>",
"</div>";
echo "</div>";
}
} else {
$dest[0] = '0';
}
for ($i=0; $i < $nb_col; $i++) {
echo "<iframe width='{$largeur_col}px' style='float:$spip_lang_left' id='iframe$i' name='iframe$i'",
(" src='" . generer_url_ecrire('brouteur_frame',"frame=$i$profile&rubrique=".$dest[$i])),
"' class='iframe-brouteur' height='",
$hauteur_table,
"'></iframe>";
}
echo fin_grand_cadre(true);
// fixer la hauteur du brouteur de maniere a remplir l'ecran
// nota: code tire du plugin dimensions.js
echo http_script("jQuery('iframe.iframe-brouteur').height(
Math.max((window.innerHeight || jQuery.boxModel && document.documentElement.clientHeight || document.body.clientHeight || 0)-195,300)
);\n");
echo fin_page();
}
?>