diff --git a/.gitattributes b/.gitattributes index 4cf43d0438c2fbc87acf173c8b2481ac790f9ae0..fb3d7ddf6b84495e11a9d1016c0d769d73871891 100644 --- a/.gitattributes +++ b/.gitattributes @@ -247,8 +247,11 @@ ecrire/img_pack/warning-24.gif -text ecrire/img_pack/warning.gif -text ecrire/img_pack/xml.gif -text ecrire/inc_ajax.php3 -text +ecrire/inc_articles.php -text ecrire/inc_barre.php3 -text +ecrire/inc_breves.php -text ecrire/inc_mini_nav.php -text +ecrire/inc_naviguer.php -text ecrire/lang/ecrire_ru.php3 -text ecrire/lang/public_ru.php3 -text ecrire/lang/spip_ru.php3 -text diff --git a/ecrire/articles.php3 b/ecrire/articles.php3 index e552d799d29eb6eb2167d215bc0a64d0df939c29..06dfc196c0f7f1ca80d3c69248cd9897af1e0bfc 100644 --- a/ecrire/articles.php3 +++ b/ecrire/articles.php3 @@ -18,6 +18,8 @@ include_ecrire ("inc_date.php3"); include_ecrire ("inc_documents.php3"); include_ecrire ("inc_forum.php3"); include_ecrire ("inc_abstract_sql.php3"); +$f = find_in_path("inc_articles.php"); +include($f ? $f : (_DIR_INCLUDE . "inc_articles.php")); $articles_surtitre = lire_meta("articles_surtitre"); $articles_soustitre = lire_meta("articles_soustitre"); @@ -120,11 +122,6 @@ if ($statut_nouv) { } } -// 'publie' => reindexer -if ($ok_nouveau_statut AND $statut_nouv == 'publie' AND $statut_nouv != $statut_ancien AND (lire_meta('activer_moteur') == 'oui')) { - include_ecrire ("inc_index.php3"); - marquer_indexer('article', $id_article); -} // 'dŽpublie' => invalider les caches if ($ok_nouveau_statut AND $statut_ancien == 'publie' AND $statut_nouv != $statut_ancien AND $invalider_caches) { @@ -259,18 +256,6 @@ if ($titre && !$ajout_forum && $flag_editable) { $result = spip_query($query); calculer_rubriques(); - // invalider et reindexer - if ($statut_article == 'publie') { - if ($invalider_caches) { - include_ecrire ("inc_invalideur.php3"); - suivre_invalideur("id='id_article/$id_article'"); - } - if (lire_meta('activer_moteur') == 'oui') { - include_ecrire ("inc_index.php3"); - marquer_indexer('article', $id_article); - } - } - // Stockage des versions if ($articles_versions) { ajouter_version($id_article, $champs_versions, '', $connect_id_auteur); @@ -295,7 +280,7 @@ if ($titre && !$ajout_forum && $flag_editable) { // marquer l'article (important pour les articles nouvellement crees) spip_query("UPDATE spip_articles SET date_modif=NOW(), auteur_modif=$connect_id_auteur WHERE id_article=$id_article"); $id_article_bloque = $id_article; // message pour inc_presentation -} + } @@ -1613,17 +1598,10 @@ echo "</div>\n"; fin_page(); // Taches lentes -if ($ok_nouveau_statut) { - @flush(); - calculer_rubriques(); - if ($statut_nouv == 'publie' AND $statut_ancien != $statut_nouv) { - include_ecrire("inc_mail.php3"); - envoyer_mail_publication($id_article); - } - if ($statut_nouv == "prop" AND $statut_ancien != $statut_nouv AND $statut_ancien != 'publie') { - include_ecrire("inc_mail.php3"); - envoyer_mail_proposition($id_article); - } + + +if ($ok_nouveau_statut AND $statut_ancien != $statut_nouv) { + cron_articles($id_article, $statut_nouv, $statut_ancien); } ?> diff --git a/ecrire/breves.php3 b/ecrire/breves.php3 index 40915ac9f8b5ceb9933b88a6683ff0b1bd1a7c09..39db60cf90a70409afe609cbdde4a311e2e71f52 100644 --- a/ecrire/breves.php3 +++ b/ecrire/breves.php3 @@ -12,60 +12,18 @@ include ("inc.php3"); +$f = find_in_path("inc_breves.php"); +include($f ? $f : (_DIR_INCLUDE . "inc_breves.php")); if ($statut AND $connect_statut == "0minirezo") { - $query="UPDATE spip_breves SET date_heure=NOW(), statut='$statut' WHERE id_breve=$id_breve"; - $result=spip_query($query); - calculer_rubriques(); - redirige_par_entete("breves.php3"); + changer_statut_breves($id_breve, $statut); + redirige_par_entete("breves.php3"); } - - debut_page(_T('titre_page_breves'), "documents", "breves"); debut_gauche(); - -echo "<P align=left>"; - debut_droite(); - - - -function enfant($leparent){ - global $spip_lang_left, $spip_lang_right; - - $query="SELECT * FROM spip_rubriques WHERE id_parent='$leparent' ORDER BY 0+titre, titre"; - $result=spip_query($query); - - while($row=spip_fetch_array($result)){ - $id_rubrique=$row['id_rubrique']; - $id_parent=$row['id_parent']; - $titre=typo($row['titre']); - $descriptif=$row['descriptif']; - $texte=$row['texte']; - - debut_cadre_enfonce("secteur-24.gif", false, '', $titre.aide ("breves")); - - if ($GLOBALS['connect_statut'] == "0minirezo") $statuts = "'prop', 'refuse', 'publie'"; - else $statuts = "'prop', 'publie'"; - - $query = "SELECT id_breve, date_heure, titre, statut FROM spip_breves ". - "WHERE id_rubrique='$id_rubrique' AND statut IN ($statuts) ORDER BY date_heure DESC"; - afficher_breves('', $query); - echo "<div align='$spip_lang_right'>"; - icone(_T('icone_nouvelle_breve'), "breves_edit.php3?new=oui&id_rubrique=$id_rubrique", "breve-24.gif", "creer.gif"); - echo "</div>"; - - fin_cadre_enfonce(); - - } -} - - - enfant(0); - - fin_page(); ?> diff --git a/ecrire/iframe_action.php3 b/ecrire/iframe_action.php3 index b3bfd7b569b5cb6160227158cefb03a65a98cc88..3129e262fb8b4660e3a769ed92a9157d041da100 100644 --- a/ecrire/iframe_action.php3 +++ b/ecrire/iframe_action.php3 @@ -10,69 +10,22 @@ * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ -include ("inc.php3"); +include ("inc_version.php3"); +include_ecrire("inc_auth.php3"); + @header("Cache-Control: no-store, no-cache, must-revalidate"); echo ""; -if (($id > 0) && ($connect_statut == "0minirezo")) { - - - #### OUH LA, il faudrait passer ca et les modifs des articles.php3 etc - #### dans un seul fichier, sinon toute modif faite ici doit etre reportee - #### la, et inversement : l'enfer - - if ($action == 'statut_article') { - - $id_article = $id; - $query = "SELECT statut FROM spip_articles WHERE id_article=$id_article"; - $result = spip_query($query); - if ($row = spip_fetch_array($result)) { - $statut_ancien = $row['statut']; - } - - - if ($statut != $statut_ancien) { - $query = "UPDATE spip_articles SET statut='$statut' WHERE id_article=$id_article"; - $result = spip_query($query); - - include_ecrire("inc_rubriques.php3"); - - if ($statut == 'publie') { - spip_query("UPDATE spip_articles SET date=NOW() WHERE id_article=$id_article"); - include_ecrire ("inc_index.php3"); - marquer_indexer('article', $id_article); - calculer_rubriques(); - include_ecrire("inc_mail.php3"); - envoyer_mail_publication($id_article); - } - if ($statut_ancien == 'publie' AND $invalider_caches) { - include_ecrire ("inc_invalideur.php3"); - suivre_invalideur("id='id_article/$id_article'"); - calculer_rubriques(); - } - if ($statut == "prop" AND $statut_ancien != 'publie') { - include_ecrire("inc_mail.php3"); - envoyer_mail_proposition($id_article); - } - } - } - - elseif ($action == 'statut_breve') { - - $id_breve = $id; - $query = "SELECT statut FROM spip_breves WHERE id_breve=$id_breve"; - $result = spip_query($query); - if ($row = spip_fetch_array($result)) { - $statut_ancien = $row['statut']; - } - - if ($statut != $statut_ancien) { - $query = "UPDATE spip_breves SET date_heure=NOW(), statut='$statut' WHERE id_breve=$id_breve"; - $result = spip_query($query); - - include_ecrire("inc_rubriques.php3"); - calculer_rubriques(); - } - } +if ($id && ($connect_statut == "0minirezo")) { + + $nom = "inc_" . $action . ".php"; + $f = find_in_path($nom); + if ($f) + include($f); + elseif (file_exists($f = (_DIR_INCLUDE . $nom))) + include($f); + $nom = 'changer_statut_' . $action; + if (function_exists($nom)) + $nom($id, $statut); } ?> diff --git a/ecrire/inc_articles.php b/ecrire/inc_articles.php new file mode 100644 index 0000000000000000000000000000000000000000..2eee6cf52c6c3dfcb74c5e83e79e2aa90072a02b --- /dev/null +++ b/ecrire/inc_articles.php @@ -0,0 +1,60 @@ +<? + +/***************************************************************************\ + * SPIP, Systeme de publication pour l'internet * + * * + * Copyright (c) 2001-2005 * + * 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. * +\***************************************************************************/ + +function changer_statut_articles($id_article, $statut) +{ + spip_log("arti $id_article, $statut"); + $result = spip_query("SELECT statut FROM spip_articles WHERE id_article=$id_article"); + + if ($row = spip_fetch_array($result)) { + $statut_ancien = $row['statut']; + } + + if ($statut != $statut_ancien) { + spip_query("UPDATE spip_articles SET statut='$statut', date=NOW() WHERE id_article=$id_article"); + include_ecrire("inc_rubriques.php3"); + include_ecrire('inc_lang.php3'); + include_ecrire('inc_filtres.php3'); + include_ecrire('inc_texte.php3'); + calculer_rubriques(); + + cron_articles($id_article, $statut, $statut_ancien); + } +} + +function cron_articles($id_article, $statut, $statut_ancien) +{ + global $invalider_caches; + + calculer_rubriques(); + + if ($statut == 'publie') { + if (lire_meta('activer_moteur') == 'oui') { + include_ecrire ("inc_index.php3"); + marquer_indexer('article', $id_article); + } + include_ecrire("inc_mail.php3"); + envoyer_mail_publication($id_article); + } + + if ($statut_ancien == 'publie' AND $invalider_caches) { + include_ecrire ("inc_invalideur.php3"); + suivre_invalideur("id='id_article/$id_article'"); + } + + if ($statut == "prop" AND $statut_ancien != 'publie') { + include_ecrire("inc_mail.php3"); + envoyer_mail_proposition($id_article); + } +} + +?> \ No newline at end of file diff --git a/ecrire/inc_breves.php b/ecrire/inc_breves.php new file mode 100644 index 0000000000000000000000000000000000000000..b3a02f506a60777708f22305b85d8e360da3595c --- /dev/null +++ b/ecrire/inc_breves.php @@ -0,0 +1,57 @@ +<? + +/***************************************************************************\ + * SPIP, Systeme de publication pour l'internet * + * * + * Copyright (c) 2001-2005 * + * 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. * +\***************************************************************************/ + +function enfant($leparent){ + global $spip_lang_left, $spip_lang_right; + + $query="SELECT * FROM spip_rubriques WHERE id_parent='$leparent' ORDER BY 0+titre, titre"; + $result=spip_query($query); + + while($row=spip_fetch_array($result)){ + $id_rubrique=$row['id_rubrique']; + $id_parent=$row['id_parent']; + $titre=typo($row['titre']); + $descriptif=$row['descriptif']; + $texte=$row['texte']; + + debut_cadre_enfonce("secteur-24.gif", false, '', $titre.aide ("breves")); + + if ($GLOBALS['connect_statut'] == "0minirezo") $statuts = "'prop', 'refuse', 'publie'"; + else $statuts = "'prop', 'publie'"; + + $query = "SELECT id_breve, date_heure, titre, statut FROM spip_breves ". + "WHERE id_rubrique='$id_rubrique' AND statut IN ($statuts) ORDER BY date_heure DESC"; + afficher_breves('', $query); + echo "<div align='$spip_lang_right'>"; + icone(_T('icone_nouvelle_breve'), "breves_edit.php3?new=oui&id_rubrique=$id_rubrique", "breve-24.gif", "creer.gif"); + echo "</div>"; + + fin_cadre_enfonce(); + + } +} + + +function changer_statut_breves($id_breve, $statut) +{ + $cond = "WHERE id_breve=" . intval($id_breve); + list($statut_ancien) = spip_fetch_array(spip_query("SELECT statut FROM spip_breves $cond")); + + spip_log("$statut != $statut_ancien"); + if ($statut != $statut_ancien) { + spip_query("UPDATE spip_breves SET date_heure=NOW(), statut='$statut'" . $cond); + include_ecrire("inc_rubriques.php3"); + calculer_rubriques(); + } +} + +?> diff --git a/ecrire/inc_naviguer.php b/ecrire/inc_naviguer.php new file mode 100644 index 0000000000000000000000000000000000000000..8b7e59894c4b7fc97034bfd48b54cbfa69680ee9 --- /dev/null +++ b/ecrire/inc_naviguer.php @@ -0,0 +1,243 @@ +<?php + +function infos_naviguer($id_rubrique, $statut) +{ + + if ($id_rubrique > 0) { + debut_boite_info(); + echo "<CENTER>"; + echo "<FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=1><B>"._T('titre_numero_rubrique')."</B></FONT>"; + echo "<BR><FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=6><B>$id_rubrique</B></FONT>"; + echo "</CENTER>"; + + voir_en_ligne ('rubrique', $id_rubrique, $statut); + + fin_boite_info(); + } +} + +function logo_naviguer($id_rubrique) +{ + global $connect_statut; + if ($connect_statut == '0minirezo' AND acces_rubrique($id_rubrique)) { + if ($id_rubrique) + afficher_boite_logo('rub', 'id_rubrique', $id_rubrique, + _T('logo_rubrique')." ".aide ("rublogo"), _T('logo_survol')); + else + afficher_boite_logo('rub', 'id_rubrique', 0, + _T('logo_standard_rubrique')." ".aide ("rublogo"), + _T('logo_survol')); + } + +} + +function raccourcis_naviguer($id_rubrique, $id_parent) +{ + global $connect_statut; + + debut_raccourcis(); + + icone_horizontale(_T('icone_tous_articles'), "articles_page.php3", "article-24.gif"); + + if (spip_num_rows(spip_query("SELECT id_rubrique FROM spip_rubriques LIMIT 1 OFFSET 0")) > 0) { + if ($id_rubrique > 0) + icone_horizontale(_T('icone_ecrire_article'), "articles_edit.php3?id_rubrique=$id_rubrique&new=oui", "article-24.gif","creer.gif"); + + $activer_breves = lire_meta("activer_breves"); + if ($activer_breves != "non" AND $id_parent == "0" AND $id_rubrique != "0") { + icone_horizontale(_T('icone_nouvelle_breve'), "breves_edit.php3?id_rubrique=$id_rubrique&new=oui", "breve-24.gif","creer.gif"); + } + } + else { + if ($connect_statut == '0minirezo') { + echo "<p>"._T('info_creation_rubrique'); + } + } + + fin_raccourcis(); +} + +function langue_naviguer($id_rubrique, $id_parent, $flag_editable) +{ + +if ($id_rubrique>0 AND lire_meta('multi_rubriques') == 'oui' AND (lire_meta('multi_secteurs') == 'non' OR $id_parent == 0) AND $flag_editable) { + + $row = spip_fetch_array(spip_query("SELECT lang, langue_choisie FROM spip_rubriques WHERE id_rubrique=$id_rubrique")); + $langue_rubrique = $row['lang']; + $langue_choisie_rubrique = $row['langue_choisie']; + if ($id_parent) { + $row = spip_fetch_array(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_parent")); + $langue_parent = $row[0]; + } + else $langue_parent = lire_meta('langue_site'); + + debut_cadre_enfonce('langues-24.gif'); + echo "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=3 WIDTH=100% BACKGROUND=''><TR><TD BGCOLOR='#EEEECC' class='serif2'>"; + echo bouton_block_invisible('languesrubrique'); + echo "<B>"; + echo _T('titre_langue_rubrique'); + echo " (".traduire_nom_langue($langue_rubrique).")"; + echo "</B>"; + echo "</TD></TR></TABLE>"; + + echo debut_block_invisible('languesrubrique'); + echo "<div class='verdana2' align='center'>"; + echo menu_langues('changer_lang', $langue_rubrique, '', $langue_parent); + echo "</div>\n"; + echo fin_block(); + + fin_cadre_enfonce(); + } +} + +function contenu_naviguer($id_rubrique, $id_parent, $ze_logo,$flag_editable) { + +global $clean_link, $connect_statut, $connect_toutes_rubriques, $options, $spip_lang_left, $spip_lang_right; + +///// Afficher les rubriques +afficher_enfant_rub($id_rubrique, $flag_editable); + + +//echo "<div align='$spip_lang_left'>"; + + +////////// Vos articles en cours de redaction +///////////////////////// + +echo "<P>"; + + +// +// Verifier les boucles a mettre en relief +// + +$relief = false; + +if (!$relief) { + $query = "SELECT id_article FROM spip_articles AS articles WHERE id_rubrique='$id_rubrique' AND statut='prop' LIMIT 1 OFFSET 0"; + $result = spip_query($query); + $relief = (spip_num_rows($result) > 0); +} + +if (!$relief) { + $query = "SELECT id_breve FROM spip_breves WHERE id_rubrique='$id_rubrique' AND (statut='prepa' OR statut='prop') LIMIT 1 OFFSET 0"; + $result = spip_query($query); + $relief = (spip_num_rows($result) > 0); +} + +if (!$relief AND lire_meta('activer_syndic') != 'non') { + $query = "SELECT id_syndic FROM spip_syndic WHERE id_rubrique='$id_rubrique' AND statut='prop' LIMIT 1 OFFSET 0"; + $result = spip_query($query); + $relief = (spip_num_rows($result) > 0); +} + +if (!$relief AND lire_meta('activer_syndic') != 'non' AND $connect_statut == '0minirezo' AND $connect_toutes_rubriques) { + $query = "SELECT id_syndic FROM spip_syndic WHERE id_rubrique='$id_rubrique' AND (syndication='off' OR syndication='sus') LIMIT 1 OFFSET 0"; + $result = spip_query($query); + $relief = (spip_num_rows($result) > 0); +} + + +if ($relief) { + echo "<p>"; + debut_cadre_couleur(); + echo "<div class='verdana2' style='color: black;'><b>"._T('texte_en_cours_validation')."</b></div><p>"; + + // + // Les articles a valider + // + afficher_articles(_T('info_articles_proposes'), + "WHERE id_rubrique='$id_rubrique' AND statut='prop' ORDER BY date DESC"); + + // + // Les breves a valider + // + $query = "SELECT * FROM spip_breves WHERE id_rubrique='$id_rubrique' AND (statut='prepa' OR statut='prop') ORDER BY date_heure DESC"; + afficher_breves(_T('info_breves_valider'), $query, true); + + // + // Les sites references a valider + // + if (lire_meta('activer_syndic') != 'non') { + include_ecrire("inc_sites.php3"); + afficher_sites(_T('info_site_valider'), "SELECT * FROM spip_syndic WHERE id_rubrique='$id_rubrique' AND statut='prop' ORDER BY nom_site"); + } + + // + // Les sites a probleme + // + if (lire_meta('activer_syndic') != 'non' AND $connect_statut == '0minirezo' AND $connect_toutes_rubriques) { + include_ecrire("inc_sites.php3"); + afficher_sites(_T('avis_sites_syndiques_probleme'), + "SELECT * FROM spip_syndic WHERE id_rubrique='$id_rubrique' AND (syndication='off' OR syndication='sus') AND statut='publie' ORDER BY nom_site"); + } + + // Les articles syndiques en attente de validation + if ($id_rubrique == 0 AND $connect_statut == '0minirezo' AND $connect_toutes_rubriques) { + $result = spip_query ("SELECT COUNT(*) AS compte FROM spip_syndic_articles AND statut='dispo'"); + if (($row = spip_fetch_array($result)) AND $row['compte']) + echo "<br><small><a href='sites_tous.php3'>".$row['compte']." "._T('info_liens_syndiques_1')."</a> "._T('info_liens_syndiques_2')."</small>"; + } + + fin_cadre_couleur(); +} + + +////////// Les articles en cours de redaction +///////////////////////// + +if ($connect_statut == "0minirezo" AND $options == 'avancees') { + afficher_articles(_T('info_tous_articles_en_redaction'), + "WHERE statut='prepa' AND id_rubrique='$id_rubrique' ORDER BY date DESC"); +} + + +////////// Les articles publies +///////////////////////// + +afficher_articles(_T('info_tous_articles_presents'), + "WHERE statut='publie' AND id_rubrique='$id_rubrique' ORDER BY date DESC", true); + + + +if ($id_rubrique > 0){ + echo "<div align='$spip_lang_right'>"; + icone(_T('icone_ecrire_article'), "articles_edit.php3?id_rubrique=$id_rubrique&new=oui", "article-24.gif", "creer.gif"); + echo "</div><p>"; +} + +//// Les breves + +afficher_breves(_T('icone_ecrire_nouvel_article'), "SELECT * FROM spip_breves WHERE id_rubrique='$id_rubrique' AND statut != 'prop' AND statut != 'prepa' ORDER BY date_heure DESC"); + +$activer_breves=lire_meta("activer_breves"); + +if ($id_parent == "0" AND $id_rubrique != "0" AND $activer_breves!="non"){ + echo "<div align='$spip_lang_right'>"; + icone(_T('icone_nouvelle_breve'), "breves_edit.php3?id_rubrique=$id_rubrique&new=oui", "breve-24.gif", "creer.gif"); + echo "</div><p>"; +} + + + +//// Les sites references + +if (lire_meta("activer_sites") == 'oui') { + include_ecrire("inc_sites.php3"); + afficher_sites(_T('titre_sites_references_rubrique'), "SELECT * FROM spip_syndic WHERE id_rubrique='$id_rubrique' AND statut!='refuse' AND statut != 'prop' AND syndication NOT IN ('off','sus') ORDER BY nom_site"); + + $proposer_sites=lire_meta("proposer_sites"); + if ($id_rubrique > 0 AND ($flag_editable OR $proposer_sites > 0)) { + $link = new Link('sites_edit.php3'); + $link->addVar('id_rubrique', $id_rubrique); + $link->addVar('target', 'sites.php3'); + $link->addVar('redirect', $clean_link->getUrl()); + + echo "<div align='$spip_lang_right'>"; + icone(_T('info_sites_referencer'), $link->getUrl(), "site-24.gif", "creer.gif"); + echo "</div><p>"; + } + } +} + +?> diff --git a/ecrire/inc_presentation.php3 b/ecrire/inc_presentation.php3 index 7947c906e3009312e8b226740cf469e59654a094..fdc94d3c22e9f917989fb4ba6f276f73376dec25 100644 --- a/ecrire/inc_presentation.php3 +++ b/ecrire/inc_presentation.php3 @@ -706,17 +706,17 @@ function puce_statut_breve($id, $statut, $type, $droit) { . $inser_puce . "</div>" . "<div class='puce_breve_popup' id='$type2' onmouseout=\"cacher('$type2');\" style=' margin-left: -".((9*$clip)+1)."px;'>" - . http_href_img("javascript:selec_statut($id, '$type', -1, '" . _DIR_IMG_PACK . $puces[0] . "', 'prop');", + . http_href_img("javascript:selec_statut('$id', '$type', -1, '" . _DIR_IMG_PACK . $puces[0] . "', 'prop');", $puces[0], "title=\""._T('texte_statut_propose_evaluation')."\"", '','','', $action) - . http_href_img("javascript:selec_statut($id, '$type', -10, '" . _DIR_IMG_PACK .$puces[1] . "', 'publie');", + . http_href_img("javascript:selec_statut('$id', '$type', -10, '" . _DIR_IMG_PACK .$puces[1] . "', 'publie');", $puces[1], "title=\""._T('texte_statut_publie')."\"", '','','', $action) - . http_href_img("javascript:selec_statut($id, '$type', -19, '" . _DIR_IMG_PACK .$puces[2] . "', 'refuse');", + . http_href_img("javascript:selec_statut('$id', '$type', -19, '" . _DIR_IMG_PACK .$puces[2] . "', 'refuse');", $puces[2], "title=\""._T('texte_statut_refuse')."\"", '','','', diff --git a/ecrire/naviguer.php3 b/ecrire/naviguer.php3 index 20f0c3d0790e5569834386844014741b10a2348d..e31cbe882ddff0b60f4a02972f8a7e20995b3b56 100644 --- a/ecrire/naviguer.php3 +++ b/ecrire/naviguer.php3 @@ -18,9 +18,10 @@ include_ecrire ("inc_mots.php3"); include_ecrire ("inc_documents.php3"); include_ecrire ("inc_abstract_sql.php3"); -// -// Gerer les modifications... -// +$f = find_in_path("inc_naviguer.php"); +include($f ? $f : (_DIR_INCLUDE . "inc_naviguer.php")); + +////// debut du script $id_parent = intval($id_parent); $id_rubrique = intval($id_rubrique); @@ -100,11 +101,10 @@ if ($changer_lang AND $id_rubrique>0 AND lire_meta('multi_rubriques') == 'oui' A } // -// infos sur cette rubrique +// recuperer les infos sur cette rubrique // if ($row=spip_fetch_array(spip_query("SELECT * FROM spip_rubriques WHERE id_rubrique='$id_rubrique'"))){ - $id_rubrique=$row['id_rubrique']; $id_parent=$row['id_parent']; $titre=$row['titre']; $descriptif=$row['descriptif']; @@ -120,13 +120,23 @@ else $titre_page = _T('titre_naviguer_dans_le_site'); +if ($id_rubrique == 0) { + $nom_site = lire_meta("nom_site"); + $titre = _T('info_racine_site').": ".$nom_site; +} + +if ($id_rubrique == 0) $ze_logo = "racine-site-24.gif"; +else if ($id_parent == 0) $ze_logo = "secteur-24.gif"; +else $ze_logo = "rubrique-24.gif"; + + + ///// debut de la page debut_page($titre_page, "documents", "rubriques"); //////// parents - debut_grand_cadre(); if ($id_rubrique > 0) { @@ -137,76 +147,26 @@ fin_grand_cadre(); changer_typo('', 'rubrique'.$id_rubrique); - debut_gauche(); if ($spip_display != 4) { - if ($id_rubrique > 0) { - debut_boite_info(); - echo "<CENTER>"; - echo "<FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=1><B>"._T('titre_numero_rubrique')."</B></FONT>"; - echo "<BR><FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=6><B>$id_rubrique</B></FONT>"; - echo "</CENTER>"; - - voir_en_ligne ('rubrique', $id_rubrique, $statut); - - fin_boite_info(); - } - - // - // Logos de la rubrique - // - - if ($connect_statut == '0minirezo' AND acces_rubrique($id_rubrique)) { - if ($id_rubrique) - afficher_boite_logo('rub', 'id_rubrique', $id_rubrique, - _T('logo_rubrique')." ".aide ("rublogo"), _T('logo_survol')); - else - afficher_boite_logo('rub', 'id_rubrique', 0, - _T('logo_standard_rubrique')." ".aide ("rublogo"), - _T('logo_survol')); - } - - - // - // Afficher les boutons de creation d'article et de breve - // - debut_raccourcis(); - - - icone_horizontale(_T('icone_tous_articles'), "articles_page.php3", "article-24.gif"); - - if (spip_num_rows(spip_query("SELECT id_rubrique FROM spip_rubriques LIMIT 1 OFFSET 0")) > 0) { - if ($id_rubrique > 0) - icone_horizontale(_T('icone_ecrire_article'), "articles_edit.php3?id_rubrique=$id_rubrique&new=oui", "article-24.gif","creer.gif"); - - $activer_breves = lire_meta("activer_breves"); - if ($activer_breves != "non" AND $id_parent == "0" AND $id_rubrique != "0") { - icone_horizontale(_T('icone_nouvelle_breve'), "breves_edit.php3?id_rubrique=$id_rubrique&new=oui", "breve-24.gif","creer.gif"); - } - } - else { - if ($connect_statut == '0minirezo') { - echo "<p>"._T('info_creation_rubrique'); - } - } - - fin_raccourcis(); -} + infos_naviguer($id_rubrique, $statut); -debut_droite(); +// +// Logos de la rubrique +// + logo_naviguer($id_rubrique); + +// +// Afficher les boutons de creation d'article et de breve +// -if ($id_rubrique == 0) { - $nom_site = lire_meta("nom_site"); - $titre = _T('info_racine_site').": ".$nom_site; + raccourcis_naviguer($id_rubrique, $id_parent); } -if ($id_rubrique == 0) $ze_logo = "racine-site-24.gif"; -else if ($id_parent == 0) $ze_logo = "secteur-24.gif"; -else $ze_logo = "rubrique-24.gif"; - +debut_droite(); debut_cadre_relief($ze_logo); @@ -246,7 +206,7 @@ echo "</table>\n"; /// Mots-cles if ($flag_mots!= 'non' AND $id_rubrique > 0) { echo "\n<p>"; - formulaire_mots('rubriques', $id_rubrique, $nouv_mot, $supp_mot, $cherche_mot, $flag_editable); + formulaire_mots('rubriques', $id_rubrique, $nouv_mot, $supp_mot, $cherche_mot, $flag_editable); } @@ -260,186 +220,17 @@ if (strlen($texte) > 1) { // // Langue de la rubrique // -if ($id_rubrique>0 AND lire_meta('multi_rubriques') == 'oui' AND (lire_meta('multi_secteurs') == 'non' OR $id_parent == 0) AND $flag_editable) { - - $row = spip_fetch_array(spip_query("SELECT lang, langue_choisie FROM spip_rubriques WHERE id_rubrique=$id_rubrique")); - $langue_rubrique = $row['lang']; - $langue_choisie_rubrique = $row['langue_choisie']; - if ($id_parent) { - $row = spip_fetch_array(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_parent")); - $langue_parent = $row[0]; - } - else $langue_parent = lire_meta('langue_site'); - - debut_cadre_enfonce('langues-24.gif'); - echo "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=3 WIDTH=100% BACKGROUND=''><TR><TD BGCOLOR='#EEEECC' class='serif2'>"; - echo bouton_block_invisible('languesrubrique'); - echo "<B>"; - echo _T('titre_langue_rubrique'); - echo " (".traduire_nom_langue($langue_rubrique).")"; - echo "</B>"; - echo "</TD></TR></TABLE>"; - - echo debut_block_invisible('languesrubrique'); - echo "<div class='verdana2' align='center'>"; - echo menu_langues('changer_lang', $langue_rubrique, '', $langue_parent); - echo "</div>\n"; - echo fin_block(); - - fin_cadre_enfonce(); -} +langue_naviguer($id_rubrique, $id_parent, $flag_editable); fin_cadre_relief(); -///// Afficher les rubriques -afficher_enfant_rub($id_rubrique, $flag_editable); - - - -//echo "<div align='$spip_lang_left'>"; - - -////////// Vos articles en cours de redaction -///////////////////////// - -echo "<P>"; - - // -// Verifier les boucles a mettre en relief +// Gerer les modifications... // -$relief = false; - -if (!$relief) { - $query = "SELECT id_article FROM spip_articles AS articles WHERE id_rubrique='$id_rubrique' AND statut='prop'$vos_articles LIMIT 1 OFFSET 0"; - $result = spip_query($query); - $relief = (spip_num_rows($result) > 0); -} - -if (!$relief) { - $query = "SELECT id_breve FROM spip_breves WHERE id_rubrique='$id_rubrique' AND (statut='prepa' OR statut='prop') LIMIT 1 OFFSET 0"; - $result = spip_query($query); - $relief = (spip_num_rows($result) > 0); -} - -if (!$relief AND lire_meta('activer_syndic') != 'non') { - $query = "SELECT id_syndic FROM spip_syndic WHERE id_rubrique='$id_rubrique' AND statut='prop' LIMIT 1 OFFSET 0"; - $result = spip_query($query); - $relief = (spip_num_rows($result) > 0); -} - -if (!$relief AND lire_meta('activer_syndic') != 'non' AND $connect_statut == '0minirezo' AND $connect_toutes_rubriques) { - $query = "SELECT id_syndic FROM spip_syndic WHERE id_rubrique='$id_rubrique' AND (syndication='off' OR syndication='sus') LIMIT 1 OFFSET 0"; - $result = spip_query($query); - $relief = (spip_num_rows($result) > 0); -} - - -if ($relief) { - echo "<p>"; - debut_cadre_couleur(); - echo "<div class='verdana2' style='color: black;'><b>"._T('texte_en_cours_validation')."</b></div><p>"; - - // - // Les articles a valider - // - afficher_articles(_T('info_articles_proposes'), - "WHERE id_rubrique='$id_rubrique' AND statut='prop'$vos_articles ORDER BY date DESC"); - - // - // Les breves a valider - // - $query = "SELECT * FROM spip_breves WHERE id_rubrique='$id_rubrique' AND (statut='prepa' OR statut='prop') ORDER BY date_heure DESC"; - afficher_breves(_T('info_breves_valider'), $query, true); - - // - // Les sites references a valider - // - if (lire_meta('activer_syndic') != 'non') { - include_ecrire("inc_sites.php3"); - afficher_sites(_T('info_site_valider'), "SELECT * FROM spip_syndic WHERE id_rubrique='$id_rubrique' AND statut='prop' ORDER BY nom_site"); - } - - // - // Les sites a probleme - // - if (lire_meta('activer_syndic') != 'non' AND $connect_statut == '0minirezo' AND $connect_toutes_rubriques) { - include_ecrire("inc_sites.php3"); - afficher_sites(_T('avis_sites_syndiques_probleme'), - "SELECT * FROM spip_syndic WHERE id_rubrique='$id_rubrique' AND (syndication='off' OR syndication='sus') AND statut='publie' ORDER BY nom_site"); - } - - // Les articles syndiques en attente de validation - if ($id_rubrique == 0 AND $connect_statut == '0minirezo' AND $connect_toutes_rubriques) { - $result = spip_query ("SELECT COUNT(*) AS compte FROM spip_syndic_articles AND statut='dispo'"); - if (($row = spip_fetch_array($result)) AND $row['compte']) - echo "<br><small><a href='sites_tous.php3'>".$row['compte']." "._T('info_liens_syndiques_1')."</a> "._T('info_liens_syndiques_2')."</small>"; - } - - fin_cadre_couleur(); -} - - - - -////////// Les articles en cours de redaction -///////////////////////// - -if ($connect_statut == "0minirezo" AND $options == 'avancees') { - afficher_articles(_T('info_tous_articles_en_redaction'), - "WHERE statut='prepa' AND id_rubrique='$id_rubrique' ORDER BY date DESC"); -} - - -////////// Les articles publies -///////////////////////// - -afficher_articles(_T('info_tous_articles_presents'), - "WHERE statut='publie' AND id_rubrique='$id_rubrique' ORDER BY date DESC", true); - - - -if ($id_rubrique > 0){ - echo "<div align='$spip_lang_right'>"; - icone(_T('icone_ecrire_article'), "articles_edit.php3?id_rubrique=$id_rubrique&new=oui", "article-24.gif", "creer.gif"); - echo "</div><p>"; -} - -//// Les breves - -afficher_breves(_T('icone_ecrire_nouvel_article'), "SELECT * FROM spip_breves WHERE id_rubrique='$id_rubrique' AND statut != 'prop' AND statut != 'prepa' ORDER BY date_heure DESC"); - -$activer_breves=lire_meta("activer_breves"); - -if ($id_parent == "0" AND $id_rubrique != "0" AND $activer_breves!="non"){ - echo "<div align='$spip_lang_right'>"; - icone(_T('icone_nouvelle_breve'), "breves_edit.php3?id_rubrique=$id_rubrique&new=oui", "breve-24.gif", "creer.gif"); - echo "</div><p>"; -} - - - -//// Les sites references - -if (lire_meta("activer_sites") == 'oui') { - include_ecrire("inc_sites.php3"); - afficher_sites(_T('titre_sites_references_rubrique'), "SELECT * FROM spip_syndic WHERE id_rubrique='$id_rubrique' AND statut!='refuse' AND statut != 'prop' AND syndication NOT IN ('off','sus') ORDER BY nom_site"); - - $proposer_sites=lire_meta("proposer_sites"); - if ($id_rubrique > 0 AND ($flag_editable OR $proposer_sites > 0)) { - $link = new Link('sites_edit.php3'); - $link->addVar('id_rubrique', $id_rubrique); - $link->addVar('target', 'sites.php3'); - $link->addVar('redirect', $clean_link->getUrl()); - - echo "<div align='$spip_lang_right'>"; - icone(_T('info_sites_referencer'), $link->getUrl(), "site-24.gif", "creer.gif"); - echo "</div><p>"; - } -} +contenu_naviguer($id_rubrique, $id_parent, $ze_logo,$flag_editable); /// Documents associes a la rubrique @@ -449,8 +240,6 @@ if ($id_rubrique>0) { afficher_documents_non_inclus($id_rubrique, "rubrique", $flag_editable); } - - ////// Supprimer cette rubrique (si vide) if (($id_rubrique>0) AND tester_rubrique_vide($id_rubrique) AND $flag_editable) { @@ -465,8 +254,6 @@ if (($id_rubrique>0) AND tester_rubrique_vide($id_rubrique) AND $flag_editable) } - - fin_page(); ?> diff --git a/ecrire/presentation.js b/ecrire/presentation.js index bad8da3dfd79329f3c3572c60c06f37561f4c17c..2597145150383645d1a40a43ec3bd7c0f2c9a003 100644 --- a/ecrire/presentation.js +++ b/ecrire/presentation.js @@ -70,8 +70,7 @@ function selec_statut(id, type, decal, puce, statut) { findObj('imgstatut'+type+id).src = puce; frames['iframe_action'].location.href = - 'iframe_action.php3?action=statut_'+ type +'&id='+id+'&statut='+statut; - + 'iframe_action.php3?action='+ type + 's' + '&id='+id+'&statut='+statut; } }