diff --git a/ecrire/exec/articles.php b/ecrire/exec/articles.php index 9bf8524d233d6b01b46d22dc81ca6d9225fca12a..23739d51b70d12b1e956e05089da28cf3c3447a7 100644 --- a/ecrire/exec/articles.php +++ b/ecrire/exec/articles.php @@ -30,8 +30,7 @@ function exec_affiche_articles_dist($id_article, $ajout_auteur, $change_accepter { global $options, $spip_display, $spip_lang_left, $spip_lang_right, $dir_lang; -$query = "SELECT * FROM spip_articles WHERE id_article='$id_article'"; -$result = spip_query($query); +$result = spip_query("SELECT * FROM spip_articles WHERE id_article='$id_article'"); if ($row = spip_fetch_array($result)) { $id_article = $row["id_article"]; @@ -157,7 +156,8 @@ $les_auteurs = afficher_auteurs_articles($id_article, $flag_editable); // Ajouter un auteur // - ajouter_auteurs_articles($id_article, $id_rubrique, $les_auteurs, $flag_editable, $rubrique_article, $supprimer_bouton_creer_auteur); +if ($flag_editable AND $options == 'avancees') + ajouter_auteurs_articles($id_article, $id_rubrique, $les_auteurs, $flag_editable, $rubrique_article, $supprimer_bouton_creer_auteur); fin_cadre_enfonce(false); @@ -283,16 +283,9 @@ function boites_de_config_articles($id_article, $id_rubrique, $flag_editable, debut_cadre_relief("forum-interne-24.gif"); - list($nb_forums) = spip_fetch_array(spip_query( - "SELECT count(*) AS count FROM spip_forum - WHERE id_article=$id_article - AND statut IN ('publie', 'off', 'prop')")); - - list($nb_signatures) = spip_fetch_array(spip_query( - "SELECT COUNT(*) AS count FROM spip_signatures - WHERE id_article=$id_article - AND statut IN ('publie', 'poubelle')")); + list($nb_forums) = spip_fetch_array(spip_query("SELECT count(*) AS count FROM spip_forum WHERE id_article=$id_article AND statut IN ('publie', 'off', 'prop')")); + list($nb_signatures) = spip_fetch_array(spip_query("SELECT COUNT(*) AS count FROM spip_signatures WHERE id_article=$id_article AND statut IN ('publie', 'poubelle')")); $visible = $change_accepter_forum || $change_petition || $nb_forums || $nb_signatures; @@ -345,18 +338,14 @@ function boites_de_config_articles($id_article, $id_rubrique, $flag_editable, $texte_petition = addslashes($texte_petition); - $query_pet = "REPLACE spip_petitions (id_article, email_unique, site_obli, site_unique, message, texte) ". - "VALUES ($id_article, '$email_unique', '$site_obli', '$site_unique', '$message', '$texte_petition')"; - $result_pet = spip_query($query_pet); + $result_pet = spip_query("REPLACE spip_petitions (id_article, email_unique, site_obli, site_unique, message, texte) VALUES ($id_article, '$email_unique', '$site_obli', '$site_unique', '$message', '$texte_petition')"); } else if ($change_petition == "off") { - $query_pet = "DELETE FROM spip_petitions WHERE id_article=$id_article"; - $result_pet = spip_query($query_pet); + $result_pet = spip_query("DELETE FROM spip_petitions WHERE id_article=$id_article"); } } - $petition = spip_fetch_array(spip_query( - "SELECT * FROM spip_petitions WHERE id_article=$id_article")); + $petition = spip_fetch_array(spip_query("SELECT * FROM spip_petitions WHERE id_article=$id_article")); $email_unique=$petition["email_unique"]; $site_obli=$petition["site_obli"]; @@ -568,8 +557,8 @@ function titres_articles($titre, $statut_article,$surtitre, $soustitre, $descrip // Recuperer les donnees de l'article if ($GLOBALS['meta']['articles_modif'] != 'non') { - $query = "SELECT auteur_modif, UNIX_TIMESTAMP(date_modif) AS modification, UNIX_TIMESTAMP(NOW()) AS maintenant FROM spip_articles WHERE id_article='$id_article'"; - $result = spip_query($query); + $result = spip_query("SELECT auteur_modif, UNIX_TIMESTAMP(date_modif) AS modification, UNIX_TIMESTAMP(NOW()) AS maintenant FROM spip_articles WHERE id_article='$id_article'"); + if ($row = spip_fetch_array($result)) { $auteur_modif = $row["auteur_modif"]; @@ -579,8 +568,8 @@ function titres_articles($titre, $statut_article,$surtitre, $soustitre, $descrip $date_diff = floor(($maintenant - $modification)/60); if ($date_diff >= 0 AND $date_diff < 60 AND $auteur_modif > 0 AND $auteur_modif != $connect_id_auteur) { - $query_auteur = "SELECT nom FROM spip_auteurs WHERE id_auteur='$auteur_modif'"; - $result_auteur = spip_query($query_auteur); + $result_auteur = spip_query("SELECT nom FROM spip_auteurs WHERE id_auteur='$auteur_modif'"); + if ($row_auteur = spip_fetch_array($result_auteur)) { $nom_auteur_modif = typo($row_auteur["nom"]); } @@ -767,8 +756,8 @@ function langues_articles($id_article, $langue_article, $flag_editable, $id_rubr } if ($flag_editable AND $lier_trad > 0) { // Lier a un groupe de trad - $query_lier = "SELECT id_trad FROM spip_articles WHERE id_article=$lier_trad"; - $result_lier = spip_query($query_lier); + $result_lier = spip_query("SELECT id_trad FROM spip_articles WHERE id_article=$lier_trad"); + if ($row = spip_fetch_array($result_lier)) { $id_lier = $row['id_trad']; @@ -796,9 +785,7 @@ function langues_articles($id_article, $langue_article, $flag_editable, $id_rubr // Afficher la liste des traductions if ($id_trad != 0) { - $query_trad = "SELECT id_article, id_rubrique, titre, lang, statut FROM spip_articles WHERE id_trad = $id_trad"; - $result_trad = spip_query($query_trad); - + $result_trad = spip_query("SELECT id_article, id_rubrique, titre, lang, statut FROM spip_articles WHERE id_trad = $id_trad"); $table=''; while ($row = spip_fetch_array($result_trad)) { @@ -908,10 +895,9 @@ function langues_articles($id_article, $langue_article, $flag_editable, $id_rubr function add_auteur_article($id_article, $nouv_auteur) { - $query="DELETE FROM spip_auteurs_articles WHERE id_auteur='$nouv_auteur' AND id_article='$id_article'"; - $result=spip_query($query); - $query="INSERT INTO spip_auteurs_articles (id_auteur,id_article) VALUES ('$nouv_auteur','$id_article')"; - $result=spip_query($query); + $res = spip_query("SELECT id_article FROM spip_auteurs_articles WHERE id_auteur='$nouv_auteur' AND id_article='$id_article'"); + if (!spip_num_rows($res)) + spip_abstract_insert('spip_auteurs_articles', "(id_auteur,id_article)", "('$nouv_auteur','$id_article')"); } function rechercher_auteurs_articles($cherche_auteur, $id_article, $id_rubrique, $ajout_auteur, $flag_editable, $nouv_auteur, $supp_auteur) @@ -922,8 +908,7 @@ function rechercher_auteurs_articles($cherche_auteur, $id_article, $id_rubrique, if ($cherche_auteur) { echo "<P ALIGN='$spip_lang_left'>"; - $query = "SELECT id_auteur, nom FROM spip_auteurs"; - $result = spip_query($query); + $result = spip_query("SELECT id_auteur, nom FROM spip_auteurs"); $table_auteurs = array(); $table_ids = array(); while ($row = spip_fetch_array($result)) { @@ -939,8 +924,7 @@ function rechercher_auteurs_articles($cherche_auteur, $id_article, $id_rubrique, $ajout_auteur = 'oui'; list(, $nouv_auteur) = each($resultat); echo "<B>"._T('texte_ajout_auteur')."</B><BR>"; - $query = "SELECT * FROM spip_auteurs WHERE id_auteur=$nouv_auteur"; - $result = spip_query($query); + $result = spip_query("SELECT * FROM spip_auteurs WHERE id_auteur=$nouv_auteur"); echo "<UL>"; while ($row = spip_fetch_array($result)) { $id_auteur = $row['id_auteur']; @@ -960,8 +944,8 @@ function rechercher_auteurs_articles($cherche_auteur, $id_article, $id_rubrique, if ($les_auteurs) { $les_auteurs = join(',', $les_auteurs); echo "<B>"._T('texte_plusieurs_articles', array('cherche_auteur' => $cherche_auteur))."</B><BR>"; - $query = "SELECT * FROM spip_auteurs WHERE id_auteur IN ($les_auteurs) ORDER BY nom"; - $result = spip_query($query); + $result = spip_query("SELECT * FROM spip_auteurs WHERE id_auteur IN ($les_auteurs) ORDER BY nom"); + echo "<UL class='verdana1'>"; while ($row = spip_fetch_array($result)) { $id_auteur = $row['id_auteur']; @@ -1022,8 +1006,8 @@ function rechercher_auteurs_articles($cherche_auteur, $id_article, $id_rubrique, if ($supp_auteur && $flag_editable) { - $query="DELETE FROM spip_auteurs_articles WHERE id_auteur='$supp_auteur' AND id_article='$id_article'"; - $result=spip_query($query); + spip_query("DELETE FROM spip_auteurs_articles WHERE id_auteur='$supp_auteur' AND id_article='$id_article'"); + if ($GLOBALS['meta']['activer_moteur'] == 'oui') { include_spip("inc/indexation"); marquer_indexer('article', $id_article); @@ -1039,10 +1023,7 @@ function afficher_auteurs_articles($id_article, $flag_editable) $les_auteurs = array(); - $query = "SELECT * FROM spip_auteurs AS auteurs, spip_auteurs_articles AS lien ". - "WHERE auteurs.id_auteur=lien.id_auteur AND lien.id_article=$id_article ". - "GROUP BY auteurs.id_auteur ORDER BY auteurs.nom"; - $result = spip_query($query); + $result = spip_query("SELECT * FROM spip_auteurs AS auteurs, spip_auteurs_articles AS lien WHERE auteurs.id_auteur=lien.id_auteur AND lien.id_article=$id_article GROUP BY auteurs.id_auteur ORDER BY auteurs.nom"); if (spip_num_rows($result)) { echo "<div class='liste'>"; @@ -1064,11 +1045,8 @@ function afficher_auteurs_articles($id_article, $flag_editable) if ($connect_statut == "0minirezo") $aff_articles = "('prepa', 'prop', 'publie', 'refuse')"; else $aff_articles = "('prop', 'publie')"; - $query2 = "SELECT COUNT(articles.id_article) AS compteur ". - "FROM spip_auteurs_articles AS lien, spip_articles AS articles ". - "WHERE lien.id_auteur=$id_auteur AND articles.id_article=lien.id_article ". - "AND articles.statut IN $aff_articles GROUP BY lien.id_auteur"; - $result2 = spip_query($query2); + $result2 = spip_query("SELECT COUNT(articles.id_article) AS compteur FROM spip_auteurs_articles AS lien, spip_articles AS articles WHERE lien.id_auteur=$id_auteur AND articles.id_article=lien.id_article AND articles.statut IN $aff_articles GROUP BY lien.id_auteur"); + if ($result2) list($nombre_articles) = spip_fetch_array($result2); else $nombre_articles = 0; @@ -1115,24 +1093,13 @@ function afficher_auteurs_articles($id_article, $flag_editable) function ajouter_auteurs_articles($id_article, $id_rubrique, $les_auteurs, $flag_editable, $rubrique_article, $supprimer_bouton_creer_auteur) { - - global $connect_toutes_rubriques, $connect_statut, $options,$connect_id_auteur, $couleur_claire ; - - if (!($flag_editable AND $options == 'avancees')) return; + global $connect_toutes_rubriques, $connect_statut, $couleur_claire ; echo debut_block_invisible("auteursarticle"); - - $query = "SELECT * FROM spip_auteurs WHERE "; - if ($les_auteurs) $query .= "id_auteur NOT IN ($les_auteurs) AND "; - $query .= "statut!='5poubelle' AND statut!='6forum' AND statut!='nouveau' ORDER BY statut, nom"; - $result = spip_query($query); - - echo "<table width='100%'>"; - echo "<tr>"; + echo "<table width='100%'><tr>"; if ($connect_statut == '0minirezo' AND $connect_toutes_rubriques - AND $options == "avancees" AND !$supprimer_bouton_creer_auteur) { echo "<td width='200'>"; $retour = rawurlencode(generer_url_ecrire("articles","id_article=$id_article")); @@ -1143,13 +1110,17 @@ function ajouter_auteurs_articles($id_article, $id_rubrique, $les_auteurs, $flag echo "<td>"; + $result = spip_query("SELECT * FROM spip_auteurs WHERE " . + (!$les_auteurs ? '' : "id_auteur NOT IN ($les_auteurs) AND ") . + "statut!='5poubelle' AND statut!='6forum' AND statut!='nouveau' ORDER BY statut, nom"); - if (spip_num_rows($result) > 0) { + $num = spip_num_rows($result); + if ($num) { echo generer_url_post_ecrire("articles", "id_article=$id_article");; echo "<span class='verdana1'><B>"._T('titre_cadre_ajouter_auteur')." </B></span>\n"; echo "<DIV><INPUT TYPE='Hidden' NAME='id_article' VALUE=\"$id_article\">"; - if (spip_num_rows($result) > 200) { + if ($num > 200) { echo "<INPUT TYPE='text' NAME='cherche_auteur' onClick=\"setvisibility('valider_ajouter_auteur','visible');\" CLASS='fondl' VALUE='' SIZE='20'>"; echo "<span class='visible_au_chargement' id='valider_ajouter_auteur'>"; echo " <INPUT TYPE='submit' NAME='Chercher' VALUE='"._T('bouton_chercher')."' CLASS='fondo'>"; @@ -1157,9 +1128,6 @@ function ajouter_auteurs_articles($id_article, $id_rubrique, $les_auteurs, $flag } else { echo "<INPUT TYPE='Hidden' NAME='ajout_auteur' VALUE='oui'>"; echo "<SELECT NAME='nouv_auteur' SIZE='1' STYLE='width:150px;' CLASS='fondl' onChange=\"setvisibility('valider_ajouter_auteur','visible');\">"; - $group = false; - $group2 = false; - while ($row = spip_fetch_array($result)) { $id_auteur = $row["id_auteur"]; $nom = $row["nom"]; @@ -1187,16 +1155,16 @@ function ajouter_auteurs_articles($id_article, $id_rubrique, $les_auteurs, $flag echo "\n<OPTION VALUE=\"x\">"; } - $texte_option = supprimer_tags(couper(typo("$nom$email"), 40)); - echo "\n<OPTION VALUE=\"$id_auteur\"> $texte_option"; + + echo "\n<OPTION VALUE=\"$id_auteur\"> ", supprimer_tags(couper(typo("$nom$email"), 40)); $statut_old = $statut; $premiere_old = $premiere; } - echo "</SELECT>"; - echo "<span class='visible_au_chargement' id='valider_ajouter_auteur'>"; - echo " <INPUT TYPE='submit' NAME='Ajouter' VALUE="._T('bouton_ajouter')." CLASS='fondo'>"; - echo "</span>"; + echo "</SELECT>", + "<span class='visible_au_chargement' id='valider_ajouter_auteur'>", + " <input type='submit' value="._T('bouton_ajouter')." CLASS='fondo'>", + "</span>"; } echo "</div></FORM>"; } @@ -1387,8 +1355,7 @@ function modif_langue_articles($id_article, $id_rubrique, $changer_lang) function inclus_non_articles($id_article) { -$query = "SELECT docs.id_document FROM spip_documents AS docs, spip_documents_articles AS lien WHERE lien.id_article=$id_article AND lien.id_document=docs.id_document"; -$result = spip_query($query); + $result = spip_query("SELECT docs.id_document FROM spip_documents AS docs, spip_documents_articles AS lien WHERE lien.id_article=$id_article AND lien.id_document=docs.id_document"); while($row=spip_fetch_array($result)){ $ze_doc[]=$row['id_document']; @@ -1409,19 +1376,16 @@ function revisions_articles ($id_article, $id_secteur, $id_rubrique, $id_rubriqu if (($GLOBALS['meta']["articles_versions"]=='oui') && $flag_revisions) { include_spip('inc/revisions'); if ($new != 'oui') { - $query = "SELECT id_article FROM spip_versions WHERE id_article=$id_article LIMIT 1"; - if (!spip_num_rows(spip_query($query))) { - spip_log("version initiale de l'article $id_article"); + $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 = "SELECT $select FROM spip_articles WHERE id_article=$id_article"; - $champs_originaux = spip_fetch_array(spip_query($query)); + $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"); + spip_query("UPDATE spip_versions SET date=DATE_SUB(NOW(), INTERVAL 2 HOUR) WHERE id_article=$id_article AND id_version=1"); } } } @@ -1504,6 +1468,7 @@ function exec_articles_dist() global $ajout_auteur, $annee, $annee_redac, $avec_redac, $champs_extra, $change_accepter_forum, $change_petition, $changer_lang, $changer_virtuel, $chapo, $cherche_auteur, $cherche_mot, $connect_id_auteur, $date, $date_redac, $debut, $descriptif, $email_unique, $heure, $heure_redac, $id_article, $id_article_bloque, $id_parent, $id_rubrique_old, $id_secteur, $jour, $jour_redac, $langue_article, $lier_trad, $message, $minute, $minute_redac, $mois, $mois_redac, $new, $nom_select, $nom_site, $nouv_auteur, $nouv_mot, $ps, $row, $site_obli, $site_unique, $soustitre, $supp_auteur, $supp_mot, $surtitre, $texte, $texte_petition, $texte_plus, $titre, $titre_article, $url_site, $virtuel; $id_parent = intval($id_parent); + $nouv_auteur = intval($nouv_auteur); if (!($id_article=intval($id_article))) { $id_article = insert_article($id_parent, $new); add_auteur_article($id_article, $connect_id_auteur); diff --git a/ecrire/exec/articles_edit.php b/ecrire/exec/articles_edit.php index 9b65f9ec49a2163e635c832c66f5ead79adf2e4f..8ed29f3461cd1810c4fcb01db23fe818ecaf1a34 100644 --- a/ecrire/exec/articles_edit.php +++ b/ecrire/exec/articles_edit.php @@ -164,7 +164,7 @@ echo "<P><HR><P>"; echo _T('texte_titre_obligatoire'); echo aide ("arttitre"); - echo "<BR><INPUT TYPE='text' NAME='titre' style='font-weight: bold; font-size: 13px;' CLASS='formo' VALUE=\"$titre\" SIZE='40' $onfocus><P>"; + echo "\n<br /><INPUT TYPE='text' NAME='titre' style='font-weight: bold; font-size: 13px;' CLASS='formo' VALUE=\"$titre\" SIZE='40' $onfocus>\n<P>"; if (($articles_soustitre) OR $soustitre) { echo "<B>"._T('texte_sous_titre')."</B>";