From 250db8ba3c6c4286abdbe93257e60be358861081 Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Mon, 14 Aug 2006 14:44:12 +0000 Subject: [PATCH] =?UTF-8?q?Insertion/modification=20d'un=20article=20g?= =?UTF-8?q?=C3=A9r=C3=A9e=20par=20un=20script=20de=20action/,=20non=20plus?= =?UTF-8?q?=20par=20exec/articles.php.=20Toutefois,=20la=20gestion=20de=20?= =?UTF-8?q?id=5Ftrad=20est=20encore=20assur=C3=A9e=20par=20celui-ci,=20le?= =?UTF-8?q?=20script=20action/editer=5Farticle=20lui=20donnant=20les=20inf?= =?UTF-8?q?ormations=20pour=20ce=20faire=20(provisoire=20en=20attendant=20?= =?UTF-8?q?de=20bien=20cerner=20tous=20les=20cas=20d'appels).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitattributes | 1 + ecrire/action/editer_article.php | 167 ++++++++++++++++++++++++++++++ ecrire/exec/articles.php | 172 ++----------------------------- ecrire/exec/articles_edit.php | 76 +++++++------- 4 files changed, 218 insertions(+), 198 deletions(-) create mode 100644 ecrire/action/editer_article.php diff --git a/.gitattributes b/.gitattributes index 8dca00349b..8b0002f3f1 100644 --- a/.gitattributes +++ b/.gitattributes @@ -27,6 +27,7 @@ ecrire/action/ajouter.php -text ecrire/action/autoriser.php -text ecrire/action/dater.php -text ecrire/action/documenter.php -text +ecrire/action/editer_article.php -text ecrire/action/ical.php -text ecrire/action/iconifier.php -text ecrire/action/instituer_article.php -text diff --git a/ecrire/action/editer_article.php b/ecrire/action/editer_article.php new file mode 100644 index 0000000000..da51bc3a64 --- /dev/null +++ b/ecrire/action/editer_article.php @@ -0,0 +1,167 @@ +<?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 action_editer_article_dist() { + + include_spip('inc/actions'); + $var_f = charger_fonction('controler_action_auteur', 'inc'); + $var_f(); + + $arg = _request('arg'); + $lier_trad = _request('lier_trad'); + $id_parent =_request('id_parent'); + + if (!$id_article = intval($arg)) { + if ($arg != 'oui') redirige_par_entete('./'); + $id_article = insert_article($id_parent); + } + + // id_article_bloque, globale dans inc/presentation + $redirect = _request('redirect') + . "&id_article=$id_article&id_article_bloque=$id_article" + . ($arg=='oui' ? '&new=oui' : '') + . ($lier_trad ? "&lier_trad=$lier_trad" : '') ; + + articles_set($id_article, $id_parent, $arg=='oui'); + + redirige_par_entete(urldecode($redirect)); +} + +function insert_article($id_parent) +{ + include_spip('base/abstract_sql'); + $id_auteur = _request('id_auteur'); + $id_parent = _request('id_parent'); + + // Avec l'Ajax parfois id_rubrique vaut 0... ne pas l'accepter + if (!$id_rubrique = intval($id_parent)) { + $row = spip_fetch_array(spip_query("SELECT id_rubrique FROM spip_rubriques WHERE id_parent=0 ORDER by 0+titre,titre LIMIT 1")); + $id_rubrique = $row['id_rubrique']; + } + + $row = spip_fetch_array(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_rubrique")); + + $id_article = spip_abstract_insert("spip_articles", + "(id_rubrique, statut, date, accepter_forum, lang, langue_choisie)", + "($id_rubrique, 'prepa', NOW(), '" . + substr($GLOBALS['meta']['forums_publics'],0,3) + . "', '" + . ($row["lang"] ? $row["lang"] : $GLOBALS['meta']['langue_site']) + . "', 'non')"); + spip_abstract_insert('spip_auteurs_articles', "(id_auteur,id_article)", "('$id_auteur','$id_article')"); + return $id_article; +} + +function articles_set($id_article, $id_rubrique, $new) +{ + + include_spip('inc/filtres'); + include_spip('inc/rubriques'); + if (!strlen($titre_article=corriger_caracteres($_POST['titre']))) + $titre_article = _T('info_sans_titre'); + + revisions_articles($id_article, $id_rubrique, $titre_article, $new); +} + +function revisions_articles ($id_article, $id_rubrique, $titre_article) { +{ + global $flag_revisions, $champs_extra; + + $id_auteur = _request('id_auteur'); + $texte = trop_longs_articles(_request('texte_plus')) . _request('texte'); + $champs = array( + 'surtitre' => corriger_caracteres(_request('surtitre')), + 'titre' => $titre_article, + 'soustitre' => corriger_caracteres(_request('soustitre')), + 'descriptif' => corriger_caracteres(_request('descriptif')), + 'nom_site' => corriger_caracteres(_request('nom_site')), + 'url_site' => corriger_caracteres(_request('url_site')), + 'chapo' => corriger_caracteres( _request('chapo')), + 'texte' => corriger_caracteres($texte), + 'ps' => corriger_caracteres(_request('ps'))) ; + + // Stockage des versions : creer une premier version si non-existante + if (($GLOBALS['meta']["articles_versions"]=='oui') && $flag_revisions) { + include_spip('inc/revisions'); + if (!$new) { + $query = spip_query("SELECT id_article FROM spip_versions WHERE id_article=$id_article LIMIT 1"); + if (!spip_num_rows($query)) { + $select = join(", ", array_keys($champs)); + $query = spip_query("SELECT $select FROM spip_articles WHERE id_article=$id_article"); + $champs_originaux = spip_fetch_array($query); + $id_version = ajouter_version($id_article, $champs_originaux, _T('version_initiale'), 0); + + // Remettre une date un peu ancienne pour la version initiale + if ($id_version == 1) // test inutile ? + spip_query("UPDATE spip_versions SET date=DATE_SUB(NOW(), INTERVAL 2 HOUR) WHERE id_article=$id_article AND id_version=1"); + } + } + } + + if ($champs_extra) { + include_spip('inc/extra'); + $champs_extra = extra_recup_saisie("articles", _request('id_secteur')); + } + + spip_query("UPDATE spip_articles SET surtitre=" . spip_abstract_quote($champs['surtitre']) . ", titre=" . spip_abstract_quote($champs['titre']) . ", soustitre=" . spip_abstract_quote($champs['soustitre']) . ", id_rubrique=" . intval($id_rubrique) . ", descriptif=" . spip_abstract_quote($champs['descriptif']) . ", chapo=" . spip_abstract_quote($champs['chapo']) . ", texte=" . spip_abstract_quote($champs['texte']) . ", ps=" . spip_abstract_quote($champs['ps']) . ", url_site=" . spip_abstract_quote($champs['url_site']) . ", nom_site=" . spip_abstract_quote($champs['nom_site']) . ", date_modif=NOW() " . ($champs_extra ? (", extra = " . spip_abstract_quote($champs_extra)) : '') . " WHERE id_article=$id_article"); + + // Stockage des versions + if (($GLOBALS['meta']["articles_versions"]=='oui') && $flag_revisions) { + ajouter_version($id_article, $champs, '', $id_auteur); + } + + // marquer le fait que l'article est travaille par toto a telle date + // une alerte sera donnee aux autres redacteurs sur exec=articles + if ($GLOBALS['meta']['articles_modif'] != 'non') { + include_spip('inc/drapeau_edition'); + if ($id_article) + signale_edition ($id_article, $id_auteur, 'article'); + } + + + // Changer la langue heritee + if ($id_rubrique != _request('id_rubrique_old')) { + propager_les_secteurs(); + $row = spip_fetch_array(spip_query("SELECT lang, langue_choisie FROM spip_articles WHERE id_article=$id_article")); + $langue_old = $row['lang']; + $langue_choisie_old = $row['langue_choisie']; + + if ($langue_choisie_old != "oui") { + $row = spip_fetch_array(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_rubrique")); + $langue_new = $row['lang']; + if ($langue_new != $langue_old) + spip_query("UPDATE spip_articles SET lang = '$langue_new' WHERE id_article = $id_article"); + } + } + + calculer_rubriques(); + } +} + + +// +// Reunit les textes decoupes parce que trop longs +// + +function trop_longs_articles($texte_plus) +{ + $nb_texte = 0; + while ($nb_texte ++ < count($texte_plus)+1){ + $texte_ajout .= ereg_replace("<!--SPIP-->[\n\r]*","", + $texte_plus[$nb_texte]); + } + return $texte_ajout; +} + +?> diff --git a/ecrire/exec/articles.php b/ecrire/exec/articles.php index 5c67712f07..a041a5a340 100644 --- a/ecrire/exec/articles.php +++ b/ecrire/exec/articles.php @@ -31,14 +31,11 @@ function exec_articles_dist() $id_parent = intval($id_parent); $lier_trad = intval($lier_trad); $supp_mot = intval($supp_mot); - if (!($id_article=intval($id_article))) { - if ($new!='oui') redirige_par_entete("./"); - $id_article = insert_article($id_parent); - } + $id_article= intval($id_article); pipeline('exec_init',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>'')); - $row = spip_fetch_array(spip_query("SELECT statut, id_rubrique FROM spip_articles WHERE id_article=$id_article")); + $row = spip_fetch_array(spip_query("SELECT * FROM spip_articles WHERE id_article=$id_article")); if (!$row) { // cas du numero hors table @@ -52,42 +49,9 @@ function exec_articles_dist() $id_rubrique = $row['id_rubrique']; $statut_article = $row['statut']; - $statut_rubrique = acces_rubrique($id_rubrique); - - $flag_auteur = spip_num_rows(spip_query("SELECT id_auteur FROM spip_auteurs_articles WHERE id_article=$id_article AND id_auteur=$connect_id_auteur LIMIT 1")); - - $flag_modifiable = ($flag_auteur OR $statut_rubrique); - - if ($flag_modifiable AND $id_parent) - // Les redacteurs ont le droit de changer la rubrique destination - // avant la publication de l'article, mais plus apres - $id_rubrique = $id_parent; - - $flag_editable = ($flag_modifiable OR ($flag_auteur AND ($statut_article == 'prepa' OR $statut_article == 'prop' OR $statut_article == 'poubelle'))); - - if ($flag_editable) { - if (isset($_POST['titre'])) { - // id_article_bloque, globale dans inc/presentation - $id_article_bloque = $id_article; - articles_set($id_article, $id_rubrique, $flag_modifiable); - } - - // renvoyer vers la page de l'article - if ($new == 'oui' - AND ! $lier_trad # sauf dans le cas d'un lier_trad car le code de mise a jour du lien est au meme endroit que l'affichage (a corriger). - ) - redirige_par_entete( - generer_url_ecrire('articles', 'id_article='.$id_article, '&')); - } - - // recharger apres mise a jour de articles_set - $row = spip_fetch_array(spip_query("SELECT * FROM spip_articles WHERE id_article='$id_article'")); - - $id_article = $row["id_article"]; $surtitre = $row["surtitre"]; $titre = $row["titre"]; $soustitre = $row["soustitre"]; - $id_rubrique = $row["id_rubrique"]; $descriptif = $row["descriptif"]; $nom_site = $row["nom_site"]; $url_site = $row["url_site"]; @@ -95,7 +59,6 @@ function exec_articles_dist() $texte = $row["texte"]; $ps = $row["ps"]; $date = $row["date"]; - $statut_article = $row["statut"]; $maj = $row["maj"]; $date_redac = $row["date_redac"]; $visites = $row["visites"]; @@ -104,6 +67,14 @@ function exec_articles_dist() $id_trad = $row["id_trad"]; $id_version = $row["id_version"]; + $statut_rubrique = acces_rubrique($id_rubrique); + + $flag_auteur = spip_num_rows(spip_query("SELECT id_auteur FROM spip_auteurs_articles WHERE id_article=$id_article AND id_auteur=$connect_id_auteur LIMIT 1")); + + $flag_modifiable = ($flag_auteur OR $statut_rubrique); + + $flag_editable = ($flag_modifiable OR ($flag_auteur AND ($statut_article == 'prepa' OR $statut_article == 'prop' OR $statut_article == 'poubelle'))); + // aucun doc implicitement inclus au depart. inclus_non_articles($id_article); @@ -127,7 +98,7 @@ boite_info_articles($id_article, $statut_article, $visites, $id_version); // Logos de l'article // - if ($id_article AND $flag_editable AND ($spip_display != 4)) { + if ($flag_editable AND ($spip_display != 4)) { include_spip('inc/chercher_logo'); echo afficher_boite_logo('id_article', $id_article, _T('logo_article').aide ("logoart"), _T('logo_survol'), 'articles'); @@ -1179,21 +1150,6 @@ function formulaire_instituer_article($id_article, $statut, $script, $args) */ } - -// -// Reunit les textes decoupes parce que trop longs -// - -function trop_longs_articles($texte_plus) -{ - $nb_texte = 0; - while ($nb_texte ++ < count($texte_plus)+1){ - $texte_ajout .= ereg_replace("<!--SPIP-->[\n\r]*","", - $texte_plus[$nb_texte]); - } - return $texte_ajout; -} - // Passer les images/docs en "inclus=non" function inclus_non_articles($id_article) @@ -1212,110 +1168,4 @@ if (count($ze_doc)>0){ } -function revisions_articles ($id_article, $id_rubrique, $change_rubrique, $titre_article) { -{ - global $connect_id_auteur, $flag_revisions, $champs_extra; - - $texte = trop_longs_articles(_request('texte_plus')) . _request('texte'); - $new = _request('new'); - $champs = array( - 'surtitre' => corriger_caracteres(_request('surtitre')), - 'titre' => $titre_article, - 'soustitre' => corriger_caracteres(_request('soustitre')), - 'descriptif' => corriger_caracteres(_request('descriptif')), - 'nom_site' => corriger_caracteres(_request('nom_site')), - 'url_site' => corriger_caracteres(_request('url_site')), - 'chapo' => corriger_caracteres( _request('chapo')), - 'texte' => corriger_caracteres($texte), - 'ps' => corriger_caracteres(_request('ps'))) ; - - // Stockage des versions : creer une premier version si non-existante - if (($GLOBALS['meta']["articles_versions"]=='oui') && $flag_revisions) { - include_spip('inc/revisions'); - if ($new != 'oui') { - $query = spip_query("SELECT id_article FROM spip_versions WHERE id_article=$id_article LIMIT 1"); - if (!spip_num_rows($query)) { - $select = join(", ", array_keys($champs)); - $query = spip_query("SELECT $select FROM spip_articles WHERE id_article=$id_article"); - $champs_originaux = spip_fetch_array($query); - $id_version = ajouter_version($id_article, $champs_originaux, _T('version_initiale'), 0); - - // Remettre une date un peu ancienne pour la version initiale - if ($id_version == 1) // test inutile ? - spip_query("UPDATE spip_versions SET date=DATE_SUB(NOW(), INTERVAL 2 HOUR) WHERE id_article=$id_article AND id_version=1"); - } - } - } - - if ($champs_extra) { - include_spip('inc/extra'); - $champs_extra = extra_recup_saisie("articles", _request('id_secteur')); - } - - spip_query("UPDATE spip_articles SET surtitre=" . spip_abstract_quote($champs['surtitre']) . ", titre=" . spip_abstract_quote($champs['titre']) . ", soustitre=" . spip_abstract_quote($champs['soustitre']) . ", id_rubrique=" . intval($id_rubrique) . ", descriptif=" . spip_abstract_quote($champs['descriptif']) . ", chapo=" . spip_abstract_quote($champs['chapo']) . ", texte=" . spip_abstract_quote($champs['texte']) . ", ps=" . spip_abstract_quote($champs['ps']) . ", url_site=" . spip_abstract_quote($champs['url_site']) . ", nom_site=" . spip_abstract_quote($champs['nom_site']) . ", date_modif=NOW() " . ($champs_extra ? (", extra = " . spip_abstract_quote($champs_extra)) : '') . " WHERE id_article=$id_article"); - - // Stockage des versions - if (($GLOBALS['meta']["articles_versions"]=='oui') && $flag_revisions) { - ajouter_version($id_article, $champs, '', $connect_id_auteur); - } - - // marquer le fait que l'article est travaille par toto a telle date - // une alerte sera donnee aux autres redacteurs sur exec=articles - if ($GLOBALS['meta']['articles_modif'] != 'non') { - include_spip('inc/drapeau_edition'); - if ($id_article) - signale_edition ($id_article, $connect_id_auteur, 'article'); - } - - - // Changer la langue heritee - if ($id_rubrique != _request('id_rubrique_old')) { - propager_les_secteurs(); - $row = spip_fetch_array(spip_query("SELECT lang, langue_choisie FROM spip_articles WHERE id_article=$id_article")); - $langue_old = $row['lang']; - $langue_choisie_old = $row['langue_choisie']; - - if ($langue_choisie_old != "oui") { - $row = spip_fetch_array(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_rubrique")); - $langue_new = $row['lang']; - if ($langue_new != $langue_old) - spip_query("UPDATE spip_articles SET lang = '$langue_new' WHERE id_article = $id_article"); - } - } - - calculer_rubriques(); - } -} - -function insert_article($id_parent) -{ - global $connect_id_auteur; - // Avec l'Ajax parfois id_rubrique vaut 0... ne pas l'accepter - if (!$id_rubrique = intval($id_parent)) { - $row = spip_fetch_array(spip_query("SELECT id_rubrique FROM spip_rubriques WHERE id_parent=0 ORDER by 0+titre,titre LIMIT 1")); - $id_rubrique = $row['id_rubrique']; - } - - $row = spip_fetch_array(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_rubrique")); - - $id_article = spip_abstract_insert("spip_articles", - "(id_rubrique, statut, date, accepter_forum, lang, langue_choisie)", - "($id_rubrique, 'prepa', NOW(), '" . - substr($GLOBALS['meta']['forums_publics'],0,3) - . "', '" - . ($row["lang"] ? $row["lang"] : $GLOBALS['meta']['langue_site']) - . "', 'non')"); - spip_abstract_insert('spip_auteurs_articles', "(id_auteur,id_article)", "('$connect_id_auteur','$id_article')"); - return $id_article; -} - -function articles_set($id_article, $id_rubrique, $statut) -{ - - if (!strlen($titre_article=corriger_caracteres($_POST['titre']))) - $titre_article = _T('info_sans_titre'); - - revisions_articles ($id_article, $id_rubrique, $statut, $titre_article); -} - ?> diff --git a/ecrire/exec/articles_edit.php b/ecrire/exec/articles_edit.php index 0a6f4e6027..dedd3ba4ab 100644 --- a/ecrire/exec/articles_edit.php +++ b/ecrire/exec/articles_edit.php @@ -99,7 +99,7 @@ function chapo_articles_edit($chapo, $articles_chapeau) else $rows = 5; return "<br /><B>"._T('info_chapeau')."</B>" . aide ("artchap") . - "<BR>"._T('texte_introductif_article')."<BR>" . + "\n<br />"._T('texte_introductif_article')."<br />\n" . "<textarea name='chapo' class='forml' rows='$rows' COLS='40' wrap=soft>" . $chapo . "</textarea><P>\n"; @@ -157,38 +157,23 @@ function formulaire_articles_edit($row, $lier_trad, $new, $champs_article) { if ($champs_extra) include_spip('inc/extra'); $selecteur_rubrique = charger_fonction('chercher_rubrique', 'inc'); - return - "\n<table cellpadding='0' cellspacing='0' border='0' width='100%'>" . - "<tr width='100%'>" . - "<td>" . - ($lier_trad ? - icone(_T('icone_retour'), generer_url_ecrire("articles","id_article=$lier_trad"), "article-24.gif", "rien.gif", '',false) : - icone(_T('icone_retour'), generer_url_ecrire("articles","id_article=$id_trad"), "article-24.gif", "rien.gif",'',false)) . - "</td>\n<td>" . - http_img_pack('rien.gif', " ", "width='10'") . - "</td>\n" . - "<td width='100%'>" . - _T('texte_modifier_article') . - gros_titre($gros_titre,'',false) . - "</td></tr></table><p><hr /><p>" . + $redirect = generer_url_ecrire("articles"); - generer_url_post_ecrire("articles", ($id_article ? "id_article=$id_article" : ""),'formulaire','',' onchange="disable_other_forms(this);"') . - (!$new ? '' : "<input type='hidden' name='new' value='oui' />") . - (!$lier_trad ? '' : - ("<input type='hidden' name='lier_trad' value='" . + $form = (!$lier_trad ? '' : + ("\n<input type='hidden' name='lier_trad' value='" . $lier_trad . "' />" . - "<input type='hidden' name='changer_lang' value='" . + "\n<input type='hidden' name='changer_lang' value='" . $spip_lang . "' />")) . (!(($options == "avancees" AND $articles_surtitre) OR $surtitre)? - ("<input type='hidden' name='surtitre' value=\"$surtitre\" />") : + ("\n<input type='hidden' name='surtitre' value=\"$surtitre\" />") : ( "<b>" . _T('texte_sur_titre') . "</b>" . aide ("arttitre") . - "<br /><input type='text' name='surtitre' class='forml' value=\"" . + "<br />\n<input type='text' name='surtitre' class='forml' value=\"" . $surtitre . "\" size='40'" . // Pour faire fonctionner le onchange sur Safari il faudrait modifier @@ -208,10 +193,10 @@ function formulaire_articles_edit($row, $lier_trad, $new, $champs_article) { _T('texte_sous_titre') . "</b>" . aide ("arttitre") . - "<br /><input type='text' name='soustitre' class='forml' value=\"" . + "\n<br /><input type='text' name='soustitre' class='forml' value=\"" . $soustitre . - "\" size='40' /><br /><br />") : - ("<input type='hidden' name='soustitre' value=\"$soustitre\" />")) . + "\" size='40' /><br /><br />\n") : + ("\n<input type='hidden' name='soustitre' value=\"$soustitre\" />")) . debut_cadre_couleur($logo, true, "", _T('titre_cadre_interieur_rubrique'). aide("artrub")) . @@ -219,28 +204,28 @@ function formulaire_articles_edit($row, $lier_trad, $new, $champs_article) { fin_cadre_couleur(true) . - ($new ? '' : "<input type='hidden' name='id_rubrique_old' value='$id_rubrique'>") . + ($new ? '' : "\n<input type='hidden' name='id_rubrique_old' value='$id_rubrique'>") . ((($options == "avancees" AND $articles_descriptif) OR $descriptif)? - ("<P><B>" ._T('texte_descriptif_rapide') ."</B>" . + ("\n<P><B>" ._T('texte_descriptif_rapide') ."</B>" . aide ("artdesc") . - "</p><br />" ._T('texte_contenu_article') ."<br />" . + "</p>\n<br />" ._T('texte_contenu_article') ."<br />\n" . "<textarea name='descriptif' class='forml' rows='2' cols='40' wrap=soft>" . $descriptif . "</textarea>\n") : - ("<INPUT TYPE='hidden' NAME='descriptif' VALUE=\"$descriptif\" />")) . + ("<input type='hidden' name='descriptif' value=\"$descriptif\" />")) . ((($options == "avancees" AND $articles_urlref) OR $nom_site OR $url_site) ? (_T('entree_liens_sites') ."<br />\n" . _T('info_titre') ." " . - "<input type='text' name='nom_site' class='forml' width='40' value=\"$nom_site\"/><br />\n" . - _T('info_url') ." " . - "<input type='text' name='url_site' class='forml' width='40' value=\"$url_site\"/>") : '') . + "\n<input type='text' name='nom_site' class='forml' width='40' value=\"$nom_site\"/><br />\n" . + _T('info_url') . + "\n<input type='text' name='url_site' class='forml' width='40' value=\"$url_site\"/>\n") : '') . chapo_articles_edit($chapo, $articles_chapeau) . "<b>" ._T('info_texte') ."</b>" . - aide ("arttexte") . "<br />" . + aide ("arttexte") . "<br />\n" . _T('texte_enrichir_mise_a_jour') . aide("raccourcis") . $sup . @@ -248,16 +233,33 @@ function formulaire_articles_edit($row, $lier_trad, $new, $champs_article) { "<textarea id='text_area' name='texte'$att_text>$texte</textarea>\n" . ((($articles_ps AND $options == "avancees") OR $ps) ? - ("<p><b>" . _T('info_post_scriptum') ."</b><br />" . "<textarea name='ps' class='forml' rows='5' cols='40' wrap=soft>" . $ps . "</textarea></p><p>\n") : + ("\n<p><b>" . _T('info_post_scriptum') ."</b><br />" . "<textarea name='ps' class='forml' rows='5' cols='40' wrap=soft>" . $ps . "</textarea></p><p>\n") : ("<input type='hidden' name='ps' value=\"" . $ps . "\">")) . (!$champs_extra ? '': extra_saisie($extra, 'articles', $id_secteur, false)) . - (!$date ? '' : ("<input type='hidden' name='date' value=\"$date\" size='40'><P>")) . + (!$date ? '' : ("\n<input type='hidden' name='date' value=\"$date\" size='40'><P>")) . + + (!$new ? '' : ("\n<input type='hidden' name='statut_nouv' value=\"prepa\" SIZE='40' /><p>")) . - (!$new ? '' : ("<input type='hidden' name='statut_nouv' value=\"prepa\" SIZE='40' /><p>")) . + "<div align='right'><input class='fondo' type='submit' value='" . _T('bouton_enregistrer') . "'></div>"; + + return + "\n<table cellpadding='0' cellspacing='0' border='0' width='100%'>" . + "<tr width='100%'>" . + "\n<td>" . + ($lier_trad ? + icone(_T('icone_retour'), generer_url_ecrire("articles","id_article=$lier_trad"), "article-24.gif", "rien.gif", '',false) : + icone(_T('icone_retour'), generer_url_ecrire("articles","id_article=$id_trad"), "article-24.gif", "rien.gif",'',false)) . + "</td>\n<td>" . + http_img_pack('rien.gif', " ", "width='10'") . + "</td>\n" . + "<td width='100%'>" . + _T('texte_modifier_article') . + gros_titre($gros_titre,'',false) . + "</td></tr></table><p><hr />\n<p>" . + generer_action_auteur("editer_article", $new ? $new : $id_article, $redirect, $form, " method='post' name='formulaire' onchange='disable_other_forms(this);'"); - "<div align='right'><input class='fondo' type='submit' value='" . _T('bouton_enregistrer') . "'></div></form>"; } function exec_articles_edit_dist() -- GitLab