500)
* @param int $limite
* Le pas de pagination si paginé (> 500)
* @return array $res
* Un tableau des sous rubriques
*/
function enfant_rub($collection,$debut=0,$limite=500){
$voir_logo = (isset($GLOBALS['meta']['image_process']) AND $GLOBALS['meta']['image_process'] != "non");
$logo = "";
if ($voir_logo) {
$chercher_logo = charger_fonction('chercher_logo', 'inc');
include_spip('inc/filtres_images_mini');
}
$res = array();
$result = sql_select("id_rubrique, id_parent, titre, descriptif, lang ", "spip_rubriques", "id_parent=$collection",'', '0+titre,titre',"$debut,$limite");
while($row=sql_fetch($result)){
$id_rubrique=$row['id_rubrique'];
$id_parent=$row['id_parent'];
$titre=generer_info_entite($id_rubrique,'rubrique','titre'); // pour etre sur de passer par tous les traitements
if ('' !== ($rang = recuperer_numero($row['titre'])))
$rang = "$rang. ";
if (autoriser('voir','rubrique',$id_rubrique)){
$les_sous_enfants = sous_enfant_rub($id_rubrique);
changer_typo($row['lang']);
$lang_dir = lang_dir($row['lang']);
$descriptif=propre($row['descriptif']);
if ($voir_logo) {
if ($logo = $chercher_logo($id_rubrique, 'id_rubrique', 'on')) {
list($fid, $dir, $nom, $format) = $logo;
$logo = image_reduire("", 48, 36);
if ($logo)
$logo = inserer_attribut($logo,'class','logo');
}
}
$lib_bouton = (!acces_restreint_rubrique($id_rubrique) ? "" :
http_img_pack('auteur-0minirezo-16.png', '', " width='16' height='16'", _T('image_administrer_rubrique'))) .
" ".
$rang . $titre .
"";
$titre = (is_string($logo) ? $logo : '') .
bouton_block_depliable($lib_bouton,$les_sous_enfants ?false:-1,"enfants$id_rubrique");
$res[] =
debut_cadre_sous_rub(($id_parent ? "rubrique-24.png" : "secteur-24.png"), true, "", $titre) .
(!$descriptif ? '' : "\n
'.$pagination($nb, '_rubrique'.$collection2, $debut, $limite, true, 'prive').'
'; $limite = $debut + $limite; } $result = sql_select("id_rubrique, id_parent, titre, lang", "spip_rubriques", "id_parent=$collection2",'', '0+titre,titre',"$debut,$limite"); while($row=sql_fetch($result)){ $id_rubrique2=$row['id_rubrique']; $id_parent2=$row['id_parent']; $titre2=generer_info_entite($id_rubrique2,'rubrique','titre'); // pour etre sur de passer par tous les traitements if ('' !== ($rang2 = recuperer_numero($row['titre']))) $rang2 = "$rang2. "; changer_typo($row['lang']); $lang_dir = lang_dir($row['lang']); if (autoriser('voir','rubrique',$id_rubrique2)) $retour.="\n'.$pagination($nb, '_rubrique'.$collection2, $debut, $limite, true, 'prive').'
'; } $les_enfants = enfant_rub($id_rubrique,$debut,$limite); if (!$n = count($les_enfants)) return ""; if ($n==1) { $les_enfants=reset($les_enfants); $les_enfants2=""; } else{ $n = ceil($n/2); $les_enfants2 = implode('',array_slice($les_enfants,$n)); $les_enfants = implode('',array_slice($les_enfants,0,$n)); } $res = $pagination . "