diff --git a/.gitattributes b/.gitattributes index 7108b2c43a0d010d973bfde43e893d9752a14935..526606f8aabc12913de62d3ed9281c220ad7fe90 100644 --- a/.gitattributes +++ b/.gitattributes @@ -455,6 +455,7 @@ ecrire/inc/install_ldap3.php -text ecrire/inc/install_ldap4.php -text ecrire/inc/install_ldap5.php -text ecrire/inc/install_unpack.php -text +ecrire/inc/instituer_article.php -text ecrire/inc/instituer_auteur.php -text ecrire/inc/joindre.php -text ecrire/inc/lang_liste.php -text diff --git a/ecrire/exec/articles.php b/ecrire/exec/articles.php index 982efdabf14ea008e1f6083b2fd4160e54501c46..8f408db0ced0ca63b1c7eed8686f62485ed5cdff 100644 --- a/ecrire/exec/articles.php +++ b/ecrire/exec/articles.php @@ -30,7 +30,6 @@ function exec_articles_dist() $row = spip_fetch_array(spip_query("SELECT * FROM spip_articles WHERE id_article=$id_article")); if (!$row) { - // cas du numero hors table $titre = _T('public:aucun_article'); debut_page("« $titre »", "naviguer", "articles"); debut_grand_cadre(); @@ -67,130 +66,114 @@ function exec_articles_dist() $flag_editable = ($statut_rubrique OR ($flag_auteur AND ($statut_article == 'prepa' OR $statut_article == 'prop' OR $statut_article == 'poubelle'))); - debut_page("« $titre »", "naviguer", "articles", "", "", $id_rubrique); - - echo debut_grand_cadre(true), - afficher_hierarchie($id_rubrique), - fin_grand_cadre(true); - -// -// Affichage de la colonne de gauche -// + // Est-ce que quelqu'un a deja ouvert l'article en edition ? + $modif = array(); + if ($GLOBALS['meta']['articles_modif'] != 'non') { + include_spip('inc/drapeau_edition'); + $modif = qui_edite($id_article, 'article'); + if ($modif['id_auteur_modif'] == $connect_id_auteur) + $modif = array(); + } -debut_gauche(); -echo boite_info_articles($id_article, $statut_article, $visites, $id_version); + // chargement prealable des fonctions produisant des formulaires -// -// Logos de l'article -// + $dater = charger_fonction('dater', 'inc'); + $editer_auteurs = charger_fonction('editer_auteurs', 'inc'); + $discuter = charger_fonction('discuter', 'inc'); - if ($flag_editable AND ($spip_display != 4)) { - $iconifier = charger_fonction('iconifier', 'inc'); - echo $iconifier('id_article', $id_article,'articles'); - } + if ($flag_editable AND ($spip_display != 4)) + $iconifier = charger_fonction('iconifier', 'inc'); + else $iconifier = ''; + if ($statut_rubrique) + $instituer_article = charger_fonction('instituer_article', 'inc'); + else $instituer_article =''; -// Boites de configuration avancee + if ($options == 'avancees' AND $GLOBALS['meta']["articles_mots"] != 'non') + $editer_mot = charger_fonction('editer_mot', 'inc'); + else $editer_mot = ''; -if ($options == "avancees" && $connect_statut=='0minirezo' && $flag_editable) - { - echo boites_de_config_articles($id_article), - boite_article_virtuel($id_article, $virtuel); - } + if (($GLOBALS['meta']['multi_articles'] == 'oui') + OR (($GLOBALS['meta']['multi_rubriques'] == 'oui') + AND ($GLOBALS['meta']['gerer_trad'] == 'oui'))) + $traduction = charger_fonction('referencer_traduction', 'inc'); + else $traduction =''; -// -// Articles dans la meme rubrique -// + debut_page("« $titre »", "naviguer", "articles", "", "", $id_rubrique); - echo meme_rubrique_articles($id_rubrique, $id_article, $options), - pipeline('affiche_gauche',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>'')); + $res = debut_grand_cadre(true) + . afficher_hierarchie($id_rubrique) + . fin_grand_cadre(true) + . debut_gauche('accueil',true) -// -// Affichage de la colonne de droite -// + . boite_info_articles($id_article, $statut_article, $visites, $id_version) -creer_colonne_droite(); - echo pipeline('affiche_droite',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>'')); + . (!$iconifier ? '' : $iconifier('id_article', $id_article,'articles')) -debut_droite(); + . (!($options == "avancees" && $connect_statut=='0minirezo' && $flag_editable) ? '' : ( boites_de_config_articles($id_article) . boite_article_virtuel($id_article, $virtuel))) -// Est-ce que quelqu'un a deja ouvert l'article en edition ? - $modif = array(); - if ($GLOBALS['meta']['articles_modif'] != 'non') { - include_spip('inc/drapeau_edition'); - $modif = qui_edite($id_article, 'article'); - if ($modif['id_auteur_modif'] == $connect_id_auteur) - $modif = array(); - } + . meme_rubrique($id_rubrique, $id_article, 'article') - // chargement prealable des fonctions produisant des formulaires + . pipeline('affiche_gauche',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>'')) - $dater = charger_fonction('dater', 'inc'); - $auteurs = charger_fonction('editer_auteurs', 'inc'); + . creer_colonne_droite('', true) - if ($options == 'avancees' AND $GLOBALS['meta']["articles_mots"] != 'non') - $mots = charger_fonction('editer_mot', 'inc'); - else $mots = ''; + . pipeline('affiche_droite',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>'')) - if (($GLOBALS['meta']['multi_articles'] == 'oui') - OR (($GLOBALS['meta']['multi_rubriques'] == 'oui') AND ($GLOBALS['meta']['gerer_trad'] == 'oui'))) - $traduction = charger_fonction('referencer_traduction', 'inc'); - else $traduction =''; + . debut_droite('',true); - $discuter = charger_fonction('discuter', 'inc'); - // affecter les globales dictant les regles de typographie de la langue - changer_typo('','article'.$id_article); +// affecter les globales dictant les regles de typographie de la langue + changer_typo('','article'.$id_article); - // Envoi de tout le reste de la page + // Envoi de tout le reste de la page - echo debut_cadre_relief('', true), - titres_articles($titre, $statut_article,$surtitre, $soustitre, $descriptif, $url_site, $nom_site, $flag_editable, $id_article, $id_rubrique, $modif), + echo $res, + debut_cadre_relief('', true), + titres_articles($titre, $statut_article,$surtitre, $soustitre, $descriptif, $url_site, $nom_site, $flag_editable, $id_article, $id_rubrique, $modif), - "<div> </div>", - "<div class='serif' align='$spip_lang_left'>", + "<div> </div>", + "<div class='serif' align='$spip_lang_left'>", - $dater($id_article, $flag_editable, $statut_article, $date, $date_redac), + $dater($id_article, $flag_editable, $statut_article, $date, $date_redac), - $auteurs($id_article, $flag_editable, $cherche_auteur, $ids), + $editer_auteurs($id_article, $flag_editable, $cherche_auteur, $ids), - (!$mots ? '' : $mots('article', $id_article, $cherche_mot, $select_groupe, $flag_editable)), + (!$editer_mot ? '' : $editer_mot('article', $id_article, $cherche_mot, $select_groupe, $flag_editable)), - (!$traduction ? '' : $traduction($id_article, $flag_editable, $id_rubrique, $id_trad, $trad_err)), + (!$traduction ? '' : $traduction($id_article, $flag_editable, $id_rubrique, $id_trad, $trad_err)), - pipeline('affiche_milieu',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>'')), + pipeline('affiche_milieu',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>'')), - (!$statut_rubrique ? '' - : (debut_cadre_relief('', true) - . "\n<div id='instituer_article-$id_article'>" - . formulaire_instituer_article($id_article, $statut_article, 'articles', "id_article=$id_article") - . '</div>' - . fin_cadre_relief(true))), + (!$statut_rubrique ? '' + : (debut_cadre_relief('', true) + . $instituer_article($id_article, $statut_article) + . fin_cadre_relief(true))), - "\n\n<div align='justify' style='padding: 10px;'>", - afficher_corps_articles($virtuel, $chapo, $texte, $ps, $extra), + "\n\n<div align='justify' style='padding: 10px;'>", + afficher_corps_articles($virtuel, $chapo, $texte, $ps, $extra), - (!$flag_editable ? '' - : ("\n<div align='$spip_lang_right'><br />" + (!$flag_editable ? '' + : ("\n<div align='$spip_lang_right'><br />" . bouton_modifier_articles($id_article, $id_rubrique, $modif,_T('texte_travail_article', $modif), "warning-24.gif", "") - . "</div>")), - (($spip_display == 4) ? '' - : articles_documents($flag_editable, 'article', $id_article)), + . "</div>")), + (($spip_display == 4) ? '' + : articles_documents($flag_editable, 'article', $id_article)), - (($flag_auteur AND $statut_article == 'prepa' AND !$statut_rubrique) - ? demande_publication($id_article) - : ''), - "</div></div>", + (($flag_auteur AND $statut_article == 'prepa' AND !$statut_rubrique) + ? demande_publication($id_article) + : ''), + "</div></div>", - fin_cadre_relief(true), + fin_cadre_relief(true), - "<br /><br />\n<div align='center'>", - icone(_T('icone_poster_message'), generer_url_ecrire("forum_envoi","statut=prive&id_article=$id_article&titre_message=" .rawurlencode($titre) . "&url=" . generer_url_retour("articles","id_article=$id_article")), "forum-interne-24.gif", "creer.gif", '', false), + "<br /><br />\n<div align='center'>", + icone(_T('icone_poster_message'), generer_url_ecrire("forum_envoi","statut=prive&id_article=$id_article&titre_message=" .rawurlencode($titre) . "&url=" . generer_url_retour("articles","id_article=$id_article")), "forum-interne-24.gif", "creer.gif", '', false), "</div><br />", $discuter($id_article, false, $debut); - fin_page(); + fin_page(); } function articles_documents($flag_editable, $type, $id) @@ -244,8 +227,7 @@ function boite_info_articles($id_article, $statut_article, $visites, $id_version { global $connect_statut, $options, $flag_revisions; - $res = debut_boite_info(true) - . "<div align='center'>\n" + $res ="<div align='center'>\n" . "<font face='Verdana,Arial,Sans,sans-serif' size='1'><b>" . _T('info_numero_article')."</b></font>\n" . "<br /><font face='Verdana,Arial,Sans,sans-serif' size='6'><b>$id_article</b></font>\n" @@ -266,11 +248,9 @@ function boite_info_articles($id_article, $statut_article, $visites, $id_version $res .= icone_horizontale(_T('ortho_verifier'), generer_url_ecrire("articles_ortho", "id_article=$id_article"), "ortho-24.gif", "rien.gif", false, $js_ortho); } - $res .= fin_boite_info(true); - return $res; + return debut_boite_info(true). $res . fin_boite_info(true); } - // // Boites de configuration avancee // @@ -328,37 +308,6 @@ function boite_article_virtuel($id_article, $virtuel) return debut_cadre_relief("site-24.gif", true) . $f . fin_cadre_relief(true); } -// http://doc.spip.org/@meme_rubrique_articles -function meme_rubrique_articles($id_rubrique, $id_article, $options, $order='date', $limit=30) -{ - global $spip_lang_right, $spip_lang_left; - - $vos_articles = spip_query("SELECT id_article, titre, statut FROM spip_articles WHERE id_rubrique=$id_rubrique AND (statut = 'publie' OR statut = 'prop') AND id_article != $id_article ORDER BY $order DESC LIMIT $limit"); - if (!spip_num_rows($vos_articles)) return ''; - - $retour = "<div> </div>" - . "<div class='bandeau_rubriques' style='z-index: 1;'>" - . bandeau_titre_boite2(_T('info_meme_rubrique'), "article-24.gif",'','',false) - . "<div class='plan-articles'>"; - - $numero = ($options != "avancees") ?'':_T('info_numero_abbreviation'); - - while($row = spip_fetch_array($vos_articles)) { - $ze_article = $row['id_article']; - $retour .= "<a class='" - . $row['statut'] - . "' style='font-size: 10px;' href='" - . generer_url_ecrire("articles","id_article=$ze_article") - . "'>" - . (($options !== "avancees") ? '' : - "<div class='arial1' style='float: $spip_lang_right; color: black; padding-$spip_lang_left: 4px;'><b>$numero$ze_article</b></div>") - . typo($row['titre']) - . "</a>"; - } - $retour .= "</div></div>"; - return $retour; -} - // http://doc.spip.org/@bouton_modifier_articles function bouton_modifier_articles($id_article, $id_rubrique, $flag_modif, $mode, $ip, $im) { @@ -375,8 +324,7 @@ function titres_articles($titre, $statut_article,$surtitre, $soustitre, $descrip { global $dir_lang, $spip_lang_left, $spip_lang_right; - $res .= "\n<table cellpadding=0 cellspacing=0 border=0 width='100%'>" - . "<tr width='100%'><td valign='top'>"; + $res = ''; if ($surtitre) { $res .= "<span $dir_lang><font face='arial,helvetica' size='3'><b>"; @@ -393,23 +341,22 @@ function titres_articles($titre, $statut_article,$surtitre, $soustitre, $descrip } if ($descriptif OR $url_site OR $nom_site) { - $res .= "<p><div align='$spip_lang_left' style='padding: 5px; border: 1px dashed #aaaaaa; background-color: #e4e4e4;' $dir_lang>" - . "<font size=2 face='Verdana,Arial,Sans,sans-serif'>"; $texte_case = ($descriptif) ? "{{"._T('info_descriptif')."}} $descriptif\n\n" : ''; $texte_case .= ($nom_site.$url_site) ? "{{"._T('info_urlref')."}} [".$nom_site."->".$url_site."]" : ''; - $res .= propre($texte_case) + $res .= "<p><div align='$spip_lang_left' style='padding: 5px; border: 1px dashed #aaaaaa; background-color: #e4e4e4;' $dir_lang>" + . "<font size='2' face='Verdana,Arial,Sans,sans-serif'>" + . propre($texte_case) . "</font>" . "</div>"; } - if ($statut_article == 'prop') { + if ($statut_article == 'prop') $res .= "<P><FONT FACE='Verdana,Arial,Sans,sans-serif' SIZE=2 COLOR='red'><B>"._T('text_article_propose_publication')."</B></FONT></P>"; - } - $res .= "</td>"; + $res = "<td valign='top'>$res</td>"; if ($flag_editable) { $res .= "<td valign='top' align='$spip_lang_right'>" @@ -417,12 +364,12 @@ function titres_articles($titre, $statut_article,$surtitre, $soustitre, $descrip . "</td>\n"; } - $res .= "</tr></table>\n"; - return $res; + return "\n<table cellpadding=0 cellspacing=0 border=0 width='100%'>" + . "\n<tr width='100%'>" + . $res + . "</tr></table>\n"; } - - // http://doc.spip.org/@afficher_corps_articles function afficher_corps_articles($virtuel, $chapo, $texte, $ps, $extra) { @@ -476,34 +423,4 @@ function afficher_corps_articles($virtuel, $chapo, $texte, $ps, $extra) } return $res; } - -// http://doc.spip.org/@formulaire_instituer_article -function formulaire_instituer_article($id_article, $statut, $script, $args) -{ - $res = - ("\n<center>" . - "<b>" ._T('texte_article_statut') ."</b>" . - "\n<select name='statut_nouv' size='1' class='fondl'\n" . - "onChange=\"document.statut.src='" . - _DIR_IMG_PACK . - "' + puce_statut(options[selectedIndex].value);" . - " setvisibility('valider_statut', 'visible');\">\n" . - "<option" . mySel("prepa", $statut) ." style='background-color: white'>" ._T('texte_statut_en_cours_redaction') ."</option>\n" . - "<option" . mySel("prop", $statut) . " style='background-color: #FFF1C6'>" ._T('texte_statut_propose_evaluation') ."</option>\n" . - "<option" . mySel("publie", $statut) . " style='background-color: #B4E8C5'>" ._T('texte_statut_publie') ."</option>\n" . - "<option" . mySel("poubelle", $statut) . - http_style_background('rayures-sup.gif') . '>' ._T('texte_statut_poubelle') ."</option>\n" . - "<option" . mySel("refuse", $statut) . " style='background-color: #FFA4A4'>" ._T('texte_statut_refuse') ."</option>\n" . - "</select>" . - " " . - http_img_pack("puce-".puce_statut($statut).'.gif', "", "border='0' NAME='statut'") . - " \n" . - "<span class='visible_au_chargement' id='valider_statut'>" . - "<input type='submit' value='"._T('bouton_valider')."' CLASS='fondo' />" . - "</span>" . - aide("artstatut") . - "</center>"); - - return redirige_action_auteur('instituer_article',$id_article,'articles', "id_article=$id_article", $res, " method='post'"); -} ?> diff --git a/ecrire/exec/breves_voir.php b/ecrire/exec/breves_voir.php index c62c27bd4dd6363cf9d3e454be4d9b12084ae901..1ec57f15ccf682a6af7867e624b4f2d0647390aa 100644 --- a/ecrire/exec/breves_voir.php +++ b/ecrire/exec/breves_voir.php @@ -82,6 +82,9 @@ function afficher_breves_voir($id_breve, $changer_lang, $cherche_mot, $select_gr echo pipeline('affiche_gauche',array('args'=>array('exec'=>'breves_voir','id_breve'=>$id_breve),'data'=>'')); creer_colonne_droite(); echo pipeline('affiche_droite',array('args'=>array('exec'=>'breves_voir','id_breve'=>$id_breve),'data'=>'')); + + echo meme_rubrique($id_rubrique, $id_breve, 'breve', 'date_heure'); + debut_droite(); debut_cadre_relief("breve-24.gif"); diff --git a/ecrire/inc/instituer_article.php b/ecrire/inc/instituer_article.php new file mode 100644 index 0000000000000000000000000000000000000000..44495206ed900ce2d627f0211926d40142ff2d04 --- /dev/null +++ b/ecrire/inc/instituer_article.php @@ -0,0 +1,47 @@ +<?php + +/***************************************************************************\ + * SPIP, Systeme de publication pour l'internet * + * * + * Copyright (c) 2001-2006 * + * 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; + +function inc_instituer_article_dist($id_article, $statut) +{ + $res = + "\n<div id='instituer_article-$id_article'>" . + "\n<center>" . + "<b>" . + _T('texte_article_statut') . + "</b>" . + "\n<select name='statut_nouv' size='1' class='fondl'\n" . + "onChange=\"document.statut.src='" . + _DIR_IMG_PACK . + "' + puce_statut(options[selectedIndex].value);" . + " setvisibility('valider_statut', 'visible');\">\n" . + "<option" . mySel("prepa", $statut) ." style='background-color: white'>" ._T('texte_statut_en_cours_redaction') ."</option>\n" . + "<option" . mySel("prop", $statut) . " style='background-color: #FFF1C6'>" ._T('texte_statut_propose_evaluation') ."</option>\n" . + "<option" . mySel("publie", $statut) . " style='background-color: #B4E8C5'>" ._T('texte_statut_publie') ."</option>\n" . + "<option" . mySel("poubelle", $statut) . + http_style_background('rayures-sup.gif') . '>' ._T('texte_statut_poubelle') ."</option>\n" . + "<option" . mySel("refuse", $statut) . " style='background-color: #FFA4A4'>" ._T('texte_statut_refuse') ."</option>\n" . + "</select>" . + " " . + http_img_pack("puce-".puce_statut($statut).'.gif', "", "border='0' NAME='statut'") . + " \n" . + "<span class='visible_au_chargement' id='valider_statut'>" . + "<input type='submit' value='"._T('bouton_valider')."' CLASS='fondo' />" . + "</span>" . + aide("artstatut") . + "</center>" + . '</div>'; + + return redirige_action_auteur('instituer_article',$id_article,'articles', "id_article=$id_article", $res, " method='post'"); +} +?> diff --git a/ecrire/inc/presentation.php b/ecrire/inc/presentation.php index 90f14c02cdff1d22be5dbec164de3fa4b4bdac24..30e5f10d0542ab3040df2f7914d777e71df227b1 100644 --- a/ecrire/inc/presentation.php +++ b/ecrire/inc/presentation.php @@ -2500,7 +2500,7 @@ function fin_cadre_formulaire(){ // // http://doc.spip.org/@debut_gauche -function debut_gauche($rubrique = "accueil") { +function debut_gauche($rubrique = "accueil", $return=false) { global $connect_statut; global $options, $spip_display; global $connect_id_auteur; @@ -2529,13 +2529,14 @@ function debut_gauche($rubrique = "accueil") { $rspan = ''; } - echo "<br /><table width='$largeur_ecran' cellpadding='0' cellspacing='0' border='0'> + $res = "<br /><table width='$largeur_ecran' cellpadding='0' cellspacing='0' border='0'> <tr><td width='$largeur' class='colonne_etroite serif' valign='top' $rspan> <div style='width: ${largeur}px; overflow:hidden;'> \n"; - if ($spip_display == 4) echo "<!-- "; + if ($spip_display == 4) $res .= "<!-- "; + if ($return) return $res; else echo $res; } @@ -2544,91 +2545,67 @@ function debut_gauche($rubrique = "accueil") { // // http://doc.spip.org/@creer_colonne_droite -function creer_colonne_droite($rubrique=""){ +function creer_colonne_droite($rubrique="", $return= false){ global $deja_colonne_droite; global $flag_3_colonnes, $flag_centre_large; global $spip_lang_rtl, $spip_lang_left; - if ($flag_3_colonnes AND !$deja_colonne_droite) { - $deja_colonne_droite = true; + if (!$flag_3_colonnes OR $deja_colonne_droite) return ''; + $deja_colonne_droite = true; - if ($flag_centre_large) { + if ($flag_centre_large) { $espacement = 17; $largeur = 140; - } - else { + } else { $espacement = 37; $largeur = 200; - } - - - echo "<td width=$espacement rowspan=2 class='colonne_etroite'> </td>"; - echo "<td rowspan=1 class='colonne_etroite'></td>"; - echo "<td width=$espacement rowspan=2 class='colonne_etroite'> </td>"; - echo "<td width=$largeur rowspan=2 align='$spip_lang_left' valign='top' class='colonne_etroite'><p />"; - } + $res = "<td width='" + . $espacement + . "' rowspan='2' class='colonne_etroite'> </td>" + . "<td rowspan='1' class='colonne_etroite'></td>" + . "<td width='" + . $espacement + . "'rowspan=2 class='colonne_etroite'> </td>" + . "<td width='" + . $largeur + . "' rowspan=2 align='" + . $spip_lang_left + . "' valign='top' class='colonne_etroite'><p />"; + + if ($return) return $res; else echo $res; } // http://doc.spip.org/@debut_droite -function debut_droite($rubrique="") { +function debut_droite($rubrique="", $return= false) { global $options, $spip_ecran, $deja_colonne_droite, $spip_display; - global $connect_id_auteur, $connect_statut, $connect_toutes_rubriques; - global $flag_3_colonnes, $flag_centre_large, $couleur_foncee, $couleur_claire; - global $spip_lang_left; - - if ($spip_display == 4) echo " -->"; - - echo "</div>\n"; # largeur fixe, cf. debut_gauche - - if ($options == "avancees") { - // liste des articles bloques - if ($GLOBALS['meta']["articles_modif"] != "non") { - include_spip('inc/drapeau_edition'); - $articles_ouverts = liste_drapeau_edition ($connect_id_auteur, 'article'); - if (count($articles_ouverts)) { - - - - // $vos_articles = spip_query("SELECT id_article, id_rubrique, titre, statut FROM spip_articles WHERE statut='prop' ORDER BY date DESC LIMIT 5"); - // if (spip_num_rows($vos_articles) > 0) { - echo "<div> </div>"; - echo "<div class='bandeau_rubriques' style='z-index: 1;'>"; - echo bandeau_titre_boite2(_T('info_cours_edition'), "article-24.gif", $couleur_foncee, 'white', false); - echo "<div class='plan-articles-bloques'>"; + global $spip_lang_left, $couleur_foncee, $couleur_claire; + global $flag_3_colonnes, $flag_centre_large; + $res = ''; - foreach ($articles_ouverts as $row) { - $ze_article = $row['id_article']; - $ze_titre = $row['titre']; - $statut = $row["statut"]; - - echo "<div class='$statut'><a style='font-size: 10px;' href='" . generer_url_ecrire("articles","id_article=$ze_article") . "'>$ze_titre</a>"; + if ($spip_display == 4) $res .= " -->"; - $nb_liberer ++; - echo "<div style='text-align:right; font-size: 9px;'>", debloquer_article($ze_article,_T('lien_liberer')), "</div>"; + $res .= "</div>\n"; # largeur fixe, cf. debut_gauche - echo "</div>"; + if ($options == "avancees") { - } - echo "</div></div>"; - } - } - - if (!$deja_colonne_droite) creer_colonne_droite($rubrique); + $res .= liste_articles_bloques(); + if (!$deja_colonne_droite) + $res .= creer_colonne_droite($rubrique, true); } - echo "<div> </div></td>"; + $res .= "<div> </div></td>"; if (!$flag_3_colonnes) { - echo "<td width='50'> </td>"; + $res .= "<td width='50'> </td>"; } else { if (!$deja_colonne_droite) { - creer_colonne_droite($rubrique); + $res .= creer_colonne_droite($rubrique, true); } - echo "</td></tr><tr>"; + $res .= "</td></tr><tr>"; } if ($spip_ecran == 'large' AND $flag_centre_large) @@ -2636,13 +2613,48 @@ function debut_droite($rubrique="") { else $largeur = 500; - echo '<td width="'.$largeur.'" valign="top" align="'.$spip_lang_left.'" rowspan="1" class="serif">'; + $res .= '<td width="'.$largeur.'" valign="top" align="'.$spip_lang_left.'" rowspan="1" class="serif">'; // touche d'acces rapide au debut du contenu - echo "\n<a name='saut' href='#saut' accesskey='s'></a>\n"; + $res .= "\n<a name='saut' href='#saut' accesskey='s'></a>\n"; + + if ($return) return $res; else echo $res; } +function liste_articles_bloques() +{ + global $connect_id_auteur, $couleur_foncee; + $res = ''; + if ($GLOBALS['meta']["articles_modif"] != "non") { + include_spip('inc/drapeau_edition'); + $articles_ouverts = liste_drapeau_edition ($connect_id_auteur, 'article'); + if (count($articles_ouverts)) { + $res .= "<div> </div>" + . "<div class='bandeau_rubriques' style='z-index: 1;'>" + . bandeau_titre_boite2(_T('info_cours_edition'), "article-24.gif", $couleur_foncee, 'white', false) + . "<div class='plan-articles-bloques'>"; + + foreach ($articles_ouverts as $row) { + $ze_article = $row['id_article']; + $ze_titre = $row['titre']; + $statut = $row["statut"]; + + $res .= "<div class='$statut'><a style='font-size: 10px;' href='" + . generer_url_ecrire("articles","id_article=$ze_article") + . "'>$ze_titre</a>" + . "<div style='text-align:right; font-size: 9px;'>" + . debloquer_article($ze_article,_T('lien_liberer')) + . "</div>" + . "</div>"; + } + $res .= "</div></div>"; + } + } + return $res; +} + +///// // // Presentation de l'interface privee, fin de page et flush() // @@ -2701,6 +2713,43 @@ function debloquer_article($arg, $texte) { "</a>"; } + +function meme_rubrique($id_rubrique, $id, $type, $order='date', $limit=30) +{ + global $spip_lang_right, $spip_lang_left, $options; + + $table = $type . 's'; + $key = 'id_' . $type; + + $voss = spip_query("SELECT $key AS id, titre, statut FROM spip_$table WHERE id_rubrique=$id_rubrique AND (statut = 'publie' OR statut = 'prop') AND ($key != $id) ORDER BY $order DESC LIMIT $limit"); + + if (!spip_num_rows($voss)) return ''; + + $numero = ($options != "avancees") ?'':_T('info_numero_abbreviation'); + $style = "float: $spip_lang_right; color: black; padding-$spip_lang_left: 4px;"; + $retour = ''; + + while($row = spip_fetch_array($voss)) { + $ze = $row['id']; + $retour .= "<a class='" + . $row['statut'] + . "' style='font-size: 10px;' href='" + . generer_url_ecrire($table,"$key=$ze") + . "'>" + . (($options !== "avancees") ? '' : + "<div class='arial1' style='$style'><b>$numero$ze</b></div>") + . typo($row['titre']) + . "</a>"; + } + + return "<div> </div>" + . "<div class='bandeau_rubriques' style='z-index: 1;'>" + . bandeau_titre_boite2(_T('info_meme_rubrique'), "article-24.gif",'','',false) + . "<div class='plan-articles'>" + . $retour + . "</div></div>"; +} + // // Afficher la hierarchie des rubriques //