diff --git a/ecrire/action/converser.php b/ecrire/action/converser.php index 7fb2d52f658ace75d3659555bb97d41d4ee4f915..2320a6a523ff5adbc4006e6b3be12a24c0dfec62 100644 --- a/ecrire/action/converser.php +++ b/ecrire/action/converser.php @@ -16,16 +16,17 @@ if (!defined("_ECRIRE_INC_VERSION")) return; function action_converser_dist() { - $lang = _request('var_lang_ecrire'); - if (_FILE_CONNECT AND $lang) { - $securiser_action = charger_fonction('securiser_action', 'inc'); - $securiser_action(); + $securiser_action = charger_fonction('securiser_action', 'inc'); + $securiser_action(); + + if (_FILE_CONNECT AND $lang = _request('var_lang_ecrire')) { spip_query("UPDATE spip_auteurs SET lang = " . _q($lang) . " WHERE id_auteur = " . $GLOBALS['auteur_session']['id_auteur']); $auteur_session['lang'] = $lang; $session = charger_fonction('session', 'inc'); $session($auteur_session); } + action_converser_post(); } function action_converser_post() diff --git a/ecrire/action/editer_article.php b/ecrire/action/editer_article.php index a4c07119442f9c65ef888bfcf351b9cc1a3ace0f..d43e74cb096d63b74e53a6b53ad6a31e00068157 100644 --- a/ecrire/action/editer_article.php +++ b/ecrire/action/editer_article.php @@ -21,18 +21,19 @@ function action_editer_article_dist() { $arg = _request('arg'); - // Creation d'un article ? + // si id_article n'est pas un nombre, c'est une creation + // mais on verifie qu'on a toutes les données qu'il faut. if (!$id_article = intval($arg)) { - if ($arg != 'oui') redirige_par_entete('./'); - $id_article = insert_article(_request('id_parent')); + $id_parent = _request('id_parent'); + $id_auteur = $GLOBALS['auteur_session']['id_auteur']; + if (!($id_parent AND $id_auteur)) redirige_par_entete('./'); + $id_article = insert_article($id_parent); # cf. GROS HACK ecrire/inc/getdocument # rattrapper les documents associes a cet article nouveau # ils ont un id = 0-id_auteur - if ($GLOBALS['auteur_session']['id_auteur']>0) - spip_query("UPDATE spip_documents_articles - SET id_article = $id_article - WHERE id_article = ".(0-$GLOBALS['auteur_session']['id_auteur'])); + + spip_query("UPDATE spip_documents_articles SET id_article = $id_article WHERE id_article = ".(0-$id_auteur)); } // Enregistre l'envoi dans la BD diff --git a/ecrire/inc/editer_article.php b/ecrire/inc/editer_article.php index 6820df49adaa55d7b30bd6582589d9019163849f..6d331fd91dece363a00252a8fb94144f7876c65e 100644 --- a/ecrire/inc/editer_article.php +++ b/ecrire/inc/editer_article.php @@ -21,10 +21,12 @@ function inc_editer_article_dist($new, $id_rubrique=0, $lier_trad=0, $retour='', include_spip('inc/presentation'); include_spip('inc/article_select'); $row = article_select($new, $id_rubrique, $lier_trad); + if (is_numeric($new)) $new = ''; } // Gaffe: sans ceci, on ecrase systematiquement l'article d'origine // (et donc: pas de lien de traduction) $id_trad = $row['id_article']; + $id_article = $lier_trad ? '' : $id_trad; $id_rubrique = $row['id_rubrique']; $id_secteur = $row['id_secteur']; @@ -80,22 +82,23 @@ function editer_article_texte($texte, $config, $aider) . afficher_barre('document.formulaire.texte') . '</div>'; } else $afficher_barre = ''; - return - "<p><b>" ._T('info_texte') ."</b>" . - $aider ("arttexte") . "<br />\n" . - _T('texte_enrichir_mise_a_jour') . - $aider("raccourcis") . - '<br />' . - $sup . - '</p>' . - $afficher_barre . - "<textarea id='text_area' name='texte'$att_text>$texte</textarea>\n" - ."<script type='text/javascript'><!--\njQuery(hauteurTextarea);\n//--></script>\n"; + return "\n<p><b>" ._T('info_texte') ."</b>" + . $aider ("arttexte") . "<br />\n" + . _T('texte_enrichir_mise_a_jour') + . $aider("raccourcis") + . "<br />" + . $sup + . "</p>\n" + . $afficher_barre + . "<textarea id='text_area' name='texte'$att_text>" + . $texte + . "</textarea>\n" + . (_DIR_RESTREINT ? '' : "<script type='text/javascript'><!--\njQuery(hauteurTextarea);\n//--></script>\n"); } function editer_article_titre($titre, $onfocus, $config, $aider) { - return '<p>' . + return "\n<p>" . _T('texte_titre_obligatoire') . $aider("arttitre") . "\n<br /><input type='text' name='titre' style='font-weight: bold; font-size: 13px;' class='formo' value=\"" . @@ -126,7 +129,7 @@ function editer_article_surtitre($surtitre, $config, $aider) if (($config['articles_surtitre'] == 'non') AND !$surtitre) return ''; - return ( "<p><b>" . + return ( "\n<p><b>" . _T('texte_sur_titre') . "</b>" . $aider ("arttitre") . @@ -140,7 +143,7 @@ function editer_article_soustitre($soustitre, $config, $aider) if (($config['articles_soustitre'] == "non") AND !$soustitre) return ''; - return ("<p><b>" . + return ("\n<p><b>" . _T('texte_sous_titre') . "</b>" . $aider ("arttitre") . @@ -154,12 +157,14 @@ function editer_article_descriptif($descriptif, $config, $aider) if (($config['articles_descriptif'] == "non") AND !$descriptif) return ''; + $msg = _T('texte_contenu_article'); return ("\n<p><b>" ._T('texte_descriptif_rapide') ."</b>" . $aider("artdesc") . - "<br />" ._T('texte_contenu_article') ."<br />\n" . - "<textarea name='descriptif' class='forml' rows='2' cols='40'>" . + "<br />\n" . + (!trim($msg) ? '' : "$msg<br />\n") . + "<textarea name='descriptif' class='forml' rows='2' cols='40'>" . entites_html($descriptif) . - "</textarea></p>\n"); + "\n</textarea></p>"); } function editer_article_url($url, $nom, $config, $aider) @@ -267,7 +272,7 @@ function editer_article_chapo($chapo, $config, $aider) return ''; $rows = $config['lignes']; - return "<p><br /><b>"._T('info_chapeau')."</b>" . + return "\n<p><br /><b>"._T('info_chapeau')."</b>" . $aider ("artchap") . "\n<br />"._T('texte_introductif_article')."<br />\n" . "<textarea name='chapo' class='forml' rows='$rows' cols='40'>" .