diff --git a/ecrire/base/upgrade.php b/ecrire/base/upgrade.php index 05a9e8da03495cc5e003286121c32073276e0ecb..0869c1f048952632998e00650d276a8795cb61c3 100644 --- a/ecrire/base/upgrade.php +++ b/ecrire/base/upgrade.php @@ -231,7 +231,8 @@ function maj_base($version_cible = 0) { spip_query("ALTER TABLE spip_rubriques ADD INDEX id_parent (id_parent)"); spip_query("ALTER TABLE spip_rubriques ADD statut VARCHAR(10) NOT NULL"); // Declencher le calcul des rubriques publiques - spip_query("REPLACE spip_meta (nom, valeur) VALUES ('calculer_rubriques', 'oui')"); + include_spip('inc/rubriques'); + calculer_rubriques(); maj_version (1.207); } diff --git a/ecrire/exec/accueil.php b/ecrire/exec/accueil.php index 1489de65c4a80f7b27ff908b23e9a5bf13edb9eb..8505e6b088f1a1159c0bdf1f92ffd356d5068ffe 100644 --- a/ecrire/exec/accueil.php +++ b/ecrire/exec/accueil.php @@ -326,37 +326,35 @@ if ($spip_display != 4) { if(strlen(propre($GLOBALS['meta']["descriptif_site"]))) echo "<div>".propre($GLOBALS['meta']["descriptif_site"])."</div><br />"; - $res = spip_query("SELECT COUNT(*) AS cnt, statut FROM spip_articles GROUP BY statut"); + $res = spip_query("SELECT COUNT(*) AS cnt, statut FROM spip_articles GROUP BY statut HAVING cnt <>0"); - while($row = spip_fetch_array($res)) { - $var = 'nb_art_'.$row['statut']; - $$var = $row['cnt']; - } + while($row = spip_fetch_array($res)) { + $cpt[$row['statut']] = $row['cnt']; + } - if ($nb_art_prepa OR $nb_art_prop OR $nb_art_publie) { + if ($cpt) { echo afficher_plus(generer_url_ecrire("articles_page",""))."<b>"._T('info_articles')."</b>"; echo "<ul style='margin:0px; padding-$spip_lang_left: 20px; margin-bottom: 5px;'>"; - if ($nb_art_prepa) echo "<li>"._T("texte_statut_en_cours_redaction").": ".$nb_art_prepa; - if ($nb_art_prop) echo "<li>"._T("texte_statut_attente_validation").": ".$nb_art_prop; - if ($nb_art_publie) echo "<li><b>"._T("texte_statut_publies").": ".$nb_art_publie."</b>"; + if (isset($cpt['prepa'])) echo "<li>"._T("texte_statut_en_cours_redaction").": ".$cpt['prepa'], '</li>'; + if (isset($cpt['prop'])) echo "<li>"._T("texte_statut_attente_validation").": ".$cpt['prop'], '</li>'; + if (isset($cpt['publie'])) echo "<li><b>"._T("texte_statut_publies").": ".$cpt['publie']."</b>", '</li>'; echo "</ul>"; } - $res = spip_query("SELECT COUNT(*) AS cnt, statut FROM spip_breves GROUP BY statut"); - + $res = spip_query("SELECT COUNT(*) AS cnt, statut FROM spip_breves GROUP BY statut HAVING cnt <>0"); + $cpt = array(); while($row = spip_fetch_array($res)) { - $var = 'nb_bre_'.$row['statut']; - $$var = $row['cnt']; + $cpt[$row['statut']] = $row['cnt']; } - if ($nb_bre_prop OR $nb_bre_publie) { + if ($cpt) { echo afficher_plus(generer_url_ecrire("breves",""))."<b>"._T('info_breves_02')."</b>"; echo "<ul style='margin:0px; padding-$spip_lang_left: 20px; margin-bottom: 5px;'>"; - if ($nb_bre_prop) echo "<li>"._T("texte_statut_attente_validation").": ".$nb_bre_prop; - if ($nb_bre_publie) echo "<li><b>"._T("texte_statut_publies").": ".$nb_bre_publie."</b>"; + if (isset($cpt['prop'])) echo "<li>"._T("texte_statut_attente_validation").": ".$cpt['prop'], '</li>'; + if (isset($cpt['publie'])) echo "<li><b>"._T("texte_statut_publies").": ".$cpt['publie'], "</b>",'</li>'; echo "</ul>"; } @@ -370,19 +368,17 @@ if ($spip_display != 4) { echo "</ul>"; } - $res = spip_query("SELECT COUNT(*) AS cnt, statut FROM spip_auteurs GROUP BY statut"); + $res = spip_query("SELECT COUNT(*) AS cnt, statut FROM spip_auteurs GROUP BY statut HAVING cnt <>0"); - while($row = spip_fetch_array($res)) { - $var = 'nb_aut_'.$row['statut']; - $$var = $row['cnt']; - } + $cpt = array(); + while($row=spip_fetch_array($res)) $cpt[$row['statut']] = $row['cnt']; - if ($nb_aut_0minirezo OR $nb_aut_1comite OR $nb_aut_6forum) { + if ($cpt) { echo afficher_plus(generer_url_ecrire("auteurs",""))."<b>"._T('icone_auteurs')."</b>"; echo "<ul style='margin:0px; padding-$spip_lang_left: 20px; margin-bottom: 5px;'>"; - if ($nb_aut_0minirezo) echo "<li>"._T("info_administrateurs").": ".$nb_aut_0minirezo; - if ($nb_aut_1comite) echo "<li>"._T("info_redacteurs").": ".$nb_aut_1comite; - if ($nb_aut_6forum) echo "<li>"._T("info_visiteurs").": ".$nb_aut_6forum; + if (isset($cpt['0minirezo'])) echo "<li>",_T("info_administrateurs"),": ",$cpt['0minirezo'], '</li>'; + if (isset($cpt['1comite'])) echo "<li>",_T("info_redacteurs"),": ",$cpt['1comite'], '</li>'; + if (isset($cpt['6forum'])) echo "<li>",_T("info_visiteurs"),": ",$cpt['6forum'], '</li>'; echo "</ul>"; } @@ -491,17 +487,5 @@ echo "<p>"; fin_page("jimmac"); - - -// -// Symetrique du debut: apres restauration ou MAJ, recalculer les rubriques -// - - if (isset($GLOBALS['meta']['calculer_rubriques'])) { - calculer_rubriques(); - effacer_meta('calculer_rubriques'); - ecrire_metas(); - } - } ?> diff --git a/ecrire/exec/import_all.php b/ecrire/exec/import_all.php index 391aeda0ec2d53e50189fb6ec7851d1a22716c48..a53c96e3a105ab75993aa5dea1936aca465d3d37 100644 --- a/ecrire/exec/import_all.php +++ b/ecrire/exec/import_all.php @@ -109,5 +109,7 @@ function exec_import_all_dist() // au rappel, on commence (voire on continue) include_spip('inc/import'); import_all_continue(); + include_spip('inc/rubriques'); + calculer_rubriques(); } ?> diff --git a/ecrire/inc/import.php b/ecrire/inc/import.php index 9261426adee1f3f2ee0f57ca814010bba26b5ce8..687795118e9b566e8629d771a1226ed21d6d6740 100644 --- a/ecrire/inc/import.php +++ b/ecrire/inc/import.php @@ -132,7 +132,6 @@ function import_fin() { effacer_meta('fichier_restauration'); effacer_meta('version_archive_restauration'); effacer_meta('tag_archive_restauration'); - ecrire_meta('calculer_rubriques', 'oui'); ecrire_metas(); } @@ -428,7 +427,7 @@ function import_all_continue() spip_log("Erreur: $r"); import_abandon(); } - else import_fin(); + else import_fin(); } ?>