/** * Crée l'affichage des listes de rubriques dans le privé * * @param int $collection * L'identifiant numérique de la rubrique à lister * @param int $debut * Le numéro de la pagination si paginé (> 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("<img src='{$fid}' alt='' />", 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'))) . " <a dir='{$lang_dir}'" . ($row['lang'] !== $GLOBALS['spip_lang'] ? " hreflang='" . $row['lang'] . "'" : '') . " href='" . generer_url_entite($id_rubrique, 'rubrique') . "'>" . $rang . $titre . "</a>"; $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<div class='descriptif'>{$descriptif}</div>") . $les_sous_enfants . fin_cadre_sous_rub(true); } } changer_typo($GLOBALS['spip_lang']); # remettre la typo de l'interface pour la suite return $res; }
function afficher_articles_trad_boucle($row, $own='') { global $spip_lang_right, $spip_display; $id_article = $row['id_article']; if (!autoriser('voir','article',$id_article)) return ''; $titre = $row['titre']; $id_rubrique = $row['id_rubrique']; $statut = $row['statut']; $id_trad = $row['id_trad']; $lang = $row['lang']; $lang_dir = lang_dir($GLOBALS['lang_objet']); $dates_art = $langues_art = array(); $ligne = ""; $res_trad = sql_select("id_article, lang, date_modif", "spip_articles", "id_trad = $id_trad AND id_trad > 0"); while ($row_trad = sql_fetch($res_trad)) { $id_article_trad = $row_trad["id_article"]; $lang_trad = $row_trad["lang"]; $date = $row_trad['date_modif']; $dates_art[$lang_trad] = $date; $langues_art[$lang_trad] = $id_article_trad; if ($id_article_trad == $id_trad) $date_ref = $date; } // faudrait sortir ces invariants de boucle if (($GLOBALS['meta']['multi_rubriques'] == 'oui' AND (!isset($GLOBALS['id_rubrique']))) OR $GLOBALS['meta']['multi_articles'] == 'oui') { $langue_defaut = isset($GLOBALS['langue_rubrique']) ? $GLOBALS['meta']['langue_site'] : $GLOBALS['langue_rubrique']; if ($lang != $langue_defaut) $afficher_langue = " <span class='spip_xx-small' style='color: #666666' dir='$lang_dir'>(".traduire_nom_langue($lang).")</span>"; } else $afficher_langue = ''; foreach(explode(',', $GLOBALS['meta']['langues_multilingue']) as $k){ if (isset($langues_art[$k]) AND $langues_art[$k]<> $id_trad){ $h = generer_url_ecrire("articles", "id_article=".$langues_art[$k]); $style = strtotime($dates_art[$k]) < strtotime($date_ref); $style = $style ? 'claire' : 'foncee'; $ligne .= "<a href='$h' class='$style'>$k</a>"; } } if (acces_restreint_rubrique($id_rubrique)) $img = http_img_pack("admin-12.gif", _T('titre_image_administrateur'), "width='12' height='12'", _T('titre_image_admin_article')); else $img = ''; if (!$titre) $titre = _T('ecrire:info_sans_titre'); if ($id_article == $id_trad) $titre = "<b>$titre</b>"; $h = generer_url_ecrire("articles", "id_article=$id_article"); $titre = "\n<div>" . $img . "<a href='$h' dir='$lang_dir' style=\"display:block;\">" . typo(supprime_img($titre,'')) . "</a></div>"; if ($spip_display == 4) return array($ligne); $ligne .= "<a href='$h'><span class='lang_base'>$lang</span></a>"; // La petite puce de changement de statut $puce_statut = charger_fonction('puce_statut', 'inc'); $puce = $puce_statut($id_article, $statut, $id_rubrique,'article'); return array($puce, $titre, $afficher_langue, "<div style='float: $spip_lang_right; margin-right: -10px;'>" . $ligne . "</div>"); }
function afficher_hierarchie($id_parent, $message='',$id_objet=0,$type='',$id_secteur=0,$restreint='') { global $spip_lang_left,$spip_lang_right; $out = ""; $nav = ""; if ($id_objet) { # desactiver le selecteur de rubrique sur le chemin # $nav = chercher_rubrique($message,$id_objet, $id_parent, $type, $id_secteur, $restreint,true); $nav = $nav ?"<div class='none'>$nav</div>":""; } $parents = ''; $style1 = "$spip_lang_left center no-repeat; padding-$spip_lang_left: 15px"; $style2 = "margin-$spip_lang_left: 15px;"; $tag = "a"; $on = ' on'; $id_rubrique = $id_parent; while ($id_rubrique) { $res = sql_fetsel("id_parent, titre, lang", "spip_rubriques", "id_rubrique=".intval($id_rubrique)); if (!$res){ // rubrique inexistante $id_rubrique = 0; break; } $id_parent = $res['id_parent']; changer_typo($res['lang']); $class = (!$id_parent) ? "secteur" : (acces_restreint_rubrique($id_rubrique) ? "admin" : "rubrique"); $parents = "<ul><li><span class='bloc'><em> > </em><$tag class='$class$on'" . ($tag=='a'?" href='". generer_url_ecrire("naviguer","id_rubrique=$id_rubrique")."'":"") . ">" . supprimer_numero(typo(sinon($res['titre'], _T('ecrire:info_sans_titre')))) . "</$tag></span>" . $parents . "</li></ul>"; $id_rubrique = $id_parent; $tag = 'a'; $on = ''; } $out .= $nav . "\n<ul id='chemin' class='verdana3' dir='".lang_dir()."'" //. http_style_background("racine-site-12.gif", $style1) . "><li><span class='bloc'><$tag class='racine$on'" . ($tag=='a'?" href='". generer_url_ecrire("naviguer","id_rubrique=$id_rubrique")."'":"") . ">"._T('info_racine_site')."</$tag>" . "</span>" . $parents . aide ("rubhier") . "</li></ul>" . ($nav? " <a href='#' onclick=\"$(this).prev().prev().toggle('fast');return false;\" class='verdana2'>" . _T('bouton_changer') ."</a>" :""); $out = pipeline('affiche_hierarchie',array('args'=>array( 'id_parent'=>$id_parent, 'message'=>$message, 'id_objet'=>$id_objet, 'objet'=>$type, 'id_secteur'=>$id_secteur, 'restreint'=>$restreint), 'data'=>$out)); return $out; }
function inc_formater_article_dist($row, $own='') { global $spip_lang_right, $spip_display; static $pret = false; static $chercher_logo, $img_admin, $formater_auteur, $nb, $langue_defaut, $afficher_langue, $puce_statut; $id_article = $row['id_article']; if (!autoriser('voir','article',$id_article)) return ''; if (!$pret) { $chercher_logo = ($spip_display != 1 AND $spip_display != 4 AND $GLOBALS['meta']['image_process'] != "non"); if ($chercher_logo) $chercher_logo = charger_fonction('chercher_logo', 'inc'); $formater_auteur = charger_fonction('formater_auteur', 'inc'); $img_admin = http_img_pack("admin-12.gif", "", " width='12' height='12'", _T('titre_image_admin_article')); if (($GLOBALS['meta']['multi_rubriques'] == 'oui' AND (!isset($GLOBALS['id_rubrique']))) OR $GLOBALS['meta']['multi_articles'] == 'oui') { $afficher_langue = true; $langue_defaut = !isset($GLOBALS['langue_rubrique']) ? $GLOBALS['meta']['langue_site'] : $GLOBALS['langue_rubrique']; } $puce_statut = charger_fonction('puce_statut', 'inc'); $pret = true; } if ($chercher_logo) { if ($logo = $chercher_logo($id_article, 'id_article', 'on')) { list($fid, $dir, $nom, $format) = $logo; include_spip('inc/filtres_images_mini'); $logo = "<span style='float: $spip_lang_right; margin-top: -2px; margin-bottom: -2px;'>" . image_reduire("<img src='$fid' alt='' />", 26, 20) . "</span>"; } else $logo = ''; } else $logo =''; $titre = supprime_img($row['titre'],''); $id_rubrique = $row['id_rubrique']; $date = $row['date']; $statut = $row['statut']; $descriptif = $row['descriptif']; $lang = $row['lang']; $dir = "dir='" . lang_dir($lang ? changer_typo($lang) : '') . "'"; if ($lang AND $afficher_langue AND $lang != $GLOBALS['meta']['langue_site']) $lang = " <span class='spip_xx-small' style='color: #666666' " . $dir . '>(' . traduire_nom_langue($lang) . ')</span>'; else $lang = ''; $arg = "id_article=$id_article"; $url_a = generer_url_ecrire("articles", $arg); if (!$row['petition']) $petition = ''; else $petition = " <a href='" . generer_url_ecrire('controle_petition', $arg) . "' class='spip_xx-small' style='color: red'>"._T('lien_petitions') . "</a>"; $lien = "<div>" . $logo . (acces_restreint_rubrique($id_rubrique) ? $img_admin : '') . "<a href='" . $url_a . "'" . (!$descriptif ? '': (' title="'.attribut_html(typo($descriptif)).'"')) . " $dir>" . typo(strlen($titre) ? $titre : _T('ecrire:info_sans_titre')) . "</a>" . $lang . $petition . "</div>"; if ($spip_display == 4) return array($lien); $puce = $puce_statut($id_article, $statut, $id_rubrique,'article'); $auteurs = auteurs_article($id_article); foreach ($auteurs as $k => $r) { list(, $mail, $nom,,) = $formater_auteur($r['id_auteur']); $auteurs[$k]= "$mail $nom"; } $date = affdate_jourcourt($date); if (!$date) $date = ' '; $num = afficher_numero_edit($id_article, 'id_article', 'article'); // Afficher le numero (JMB) return array($puce, $lien, join('<br />', $auteurs), $date, $num); }
function enfant_rub($collection){ global $spip_display, $spip_lang_left, $spip_lang_right, $spip_lang; $voir_logo = ($spip_display != 1 AND $spip_display != 4 AND isset($GLOBALS['meta']['image_process']) AND $GLOBALS['meta']['image_process'] != "non"); if ($voir_logo) { $voir_logo = "float: $spip_lang_right; margin-$spip_lang_right: 0px; margin-top: 0px;"; $chercher_logo = charger_fonction('chercher_logo', 'inc'); } else $logo =''; $res = ""; $result = sql_select("id_rubrique, id_parent, titre, descriptif, lang ", "spip_rubriques", "id_parent=$collection",'', '0+titre,titre'); while($row=sql_fetch($result)){ $id_rubrique=$row['id_rubrique']; $id_parent=$row['id_parent']; $titre=$row['titre']; 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; include_spip('inc/filtres_images_mini'); $logo = image_reduire("<img src='$fid' alt='' />", 48, 36); if ($logo) $logo = "\n<div style='$voir_logo'>$logo</div>"; } } $lib_bouton = (!acces_restreint_rubrique($id_rubrique) ? "" : http_img_pack("admin-12.gif", '', " width='12' height='12'", _T('image_administrer_rubrique'))) . " <span dir='$lang_dir'><a href='" . generer_url_ecrire("naviguer","id_rubrique=$id_rubrique") . "'>". typo($titre) . "</a></span>"; $titre = (is_string($logo) ? $logo : '') . bouton_block_depliable($lib_bouton,$les_sous_enfants ?false:-1,"enfants$id_rubrique"); $les_enfants = "\n<div class='enfants'>" . debut_cadre_sous_rub(($id_parent ? "rubrique-24.gif" : "secteur-24.gif"), true, "", $titre) . (!$descriptif ? '' : "\n<div class='verdana1'>$descriptif</div>") . (($spip_display == 4) ? '' : $les_sous_enfants) . "\n<div style='clear:both;'></div>" . fin_cadre_sous_rub(true) . "</div>"; $res .= ($spip_display != 4) ? $les_enfants : "\n<li>$les_enfants</li>"; } } changer_typo($spip_lang); # remettre la typo de l'interface pour la suite return (($spip_display == 4) ? "\n<ul>$res</ul>\n" : $res); }
function montre_naviguer($id_rubrique, $titre, $id_parent, $ze_logo, $flag_editable) { global $spip_lang_right; if ($flag_editable AND $id_rubrique > 0) { $actions = icone_inline(_T('icone_modifier_rubrique'), generer_url_ecrire("rubriques_edit", "id_rubrique=$id_rubrique&retour=nav"), $ze_logo, "edit.gif", $spip_lang_right); // Supprimer cette rubrique (si vide) if (tester_rubrique_vide($id_rubrique)) $actions .= icone_inline(_T('icone_supprimer_rubrique'), redirige_action_auteur('supprimer', "rubrique-$id_rubrique", "naviguer","id_rubrique=$id_parent"), $ze_logo, "supprimer.gif", $spip_lang_right); } else $actions = ''; // rubrique non editable return "<div class='bandeau_actions'>$actions</div>" . gros_titre((!acces_restreint_rubrique($id_rubrique) ? '' : http_img_pack("admin-12.gif",'', "width='12' height='12'", _T('info_administrer_rubrique'))) . $titre,'', false) . "<div class='nettoyeur'></div>\n"; }