From 492377ad0271c5218c6eb8b204998323fd218fa2 Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Fri, 5 Oct 2007 15:32:26 +0000 Subject: [PATCH] Abstraction des clauses avec WHERE dans les UPDATE sur un seul champ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dépot obtenu par: {{{ for i in $(grep -l 'spip_query..UPDATE.*SET[^,]*WHERE.*; *$' [a-i]*/*php|grep -v inc/meta.php) do echo $i sed 's/spip_query."UPDATE *\([^ ]*\) *SET *\([^ ,=]*\) *= *\([^,"$W+,)]*[^$, ]\) *WHERE *\(.*;\)/sql_updateq("\1", array("\2" => \3), "\4/;s/ => [^$a-z]\(\$[a-z0-9_]*\)[^a-z_]/ => \1/' $i > x mv x $i done }}} et retrait de deux transformations mal venues. Attention pour ceux qui réutilisent ces scripts: les Regexp sont parfois spécifiques à l'état actuel du code de SPIP. --- ecrire/action/editer_message.php | 2 +- ecrire/action/editer_signatures.php | 4 ++-- ecrire/action/poster_forum_prive.php | 2 +- ecrire/action/referencer_traduction.php | 4 ++-- ecrire/action/supprimer.php | 4 ++-- ecrire/action/supprimer_traduction.php | 4 ++-- ecrire/balise/formulaire_signature.php | 2 +- ecrire/genie/syndic.php | 2 +- ecrire/inc/acces.php | 2 +- ecrire/inc/ajouter_documents.php | 2 +- ecrire/inc/modifier.php | 4 ++-- ecrire/inc/rubriques.php | 2 +- 12 files changed, 17 insertions(+), 17 deletions(-) diff --git a/ecrire/action/editer_message.php b/ecrire/action/editer_message.php index 18df99769a..d97a24c017 100644 --- a/ecrire/action/editer_message.php +++ b/ecrire/action/editer_message.php @@ -53,7 +53,7 @@ function action_editer_message_post_supprimer($id_message) { // http://doc.spip.org/@action_editer_message_post_vu function action_editer_message_post_vu($id_message, $id_auteur) { spip_log("efface $id_message $id_auteur"); - spip_query("UPDATE spip_auteurs_messages SET vu='oui' WHERE id_message=$id_message AND id_auteur=$id_auteur"); + sql_updateq("spip_auteurs_messages", array("vu" => 'oui'), "id_message=$id_message AND id_auteur=$id_auteur"); } diff --git a/ecrire/action/editer_signatures.php b/ecrire/action/editer_signatures.php index 23bbbc6b24..df5812370e 100644 --- a/ecrire/action/editer_signatures.php +++ b/ecrire/action/editer_signatures.php @@ -32,10 +32,10 @@ function action_editer_signatures_post($r) if ($id < 0){ $id = 0 - $id; - $result_forum = spip_query("UPDATE spip_signatures SET statut='poubelle' WHERE id_signature=$id"); + $result_forum = sql_updateq("spip_signatures", array("statut" => 'poubelle'), "id_signature=$id"); } elseif ($id > 0){ - $result_forum = spip_query("UPDATE spip_signatures SET statut='publie' WHERE id_signature=$id"); + $result_forum = sql_updateq("spip_signatures", array("statut" => 'publie'), "id_signature=$id"); } diff --git a/ecrire/action/poster_forum_prive.php b/ecrire/action/poster_forum_prive.php index ec737a7914..3e70a1230e 100644 --- a/ecrire/action/poster_forum_prive.php +++ b/ecrire/action/poster_forum_prive.php @@ -41,7 +41,7 @@ function action_poster_forum_prive_post($r) calculer_threads(); if ($objet == 'id_message') { - spip_query("UPDATE spip_auteurs_messages SET vu = 'non' WHERE id_message=$id"); + sql_updateq("spip_auteurs_messages", array("vu" => 'non'), "id_message=$id"); } diff --git a/ecrire/action/referencer_traduction.php b/ecrire/action/referencer_traduction.php index b1fada5e37..e6188d4b19 100644 --- a/ecrire/action/referencer_traduction.php +++ b/ecrire/action/referencer_traduction.php @@ -27,12 +27,12 @@ function action_referencer_traduction_dist() { redirige_par_entete(urldecode(_request('redirect')) . $err); } elseif (preg_match(",^(\d+)\D-(\d+)$,", $arg, $r)) { // supprimer le lien de traduction - spip_query("UPDATE spip_articles SET id_trad=0 WHERE id_article=" . $r[1]); + sql_updateq("spip_articles", array("id_trad" => 0), "id_article=" . $r[1]); // Verifier si l'ancien groupe ne comporte plus qu'un seul article. Alors mettre a zero. $cpt = sql_fetsel("COUNT(*) AS n", "spip_articles", "id_trad=" . $r[2]); if ($cpt['n'] == 1) - spip_query("UPDATE spip_articles SET id_trad = 0 WHERE id_trad=" . $r[2]); + sql_updateq("spip_articles", array("id_trad" => 0), "id_trad=" . $r[2]); } elseif (preg_match(",^(\d+)\D(\d+)\D(\d+)$,", $arg, $r)) { // modifier le groupe de traduction de $r[1] (SQL le trouvera) spip_query("UPDATE spip_articles SET id_trad = " . $r[3] . " WHERE id_trad =" . $r[2]); diff --git a/ecrire/action/supprimer.php b/ecrire/action/supprimer.php index ee7b2c9cde..2b8ef8c111 100644 --- a/ecrire/action/supprimer.php +++ b/ecrire/action/supprimer.php @@ -59,7 +59,7 @@ function action_supprimer_rubrique($r) sql_delete("spip_auteurs_rubriques", "id_rubrique=$id_rubrique AND id_auteur=$id_auteur"); $n = sql_countsel("spip_auteurs_rubriques", "id_auteur=$id_auteur"); if (!$n) - spip_query("UPDATE spip_auteurs SET statut='1comite' WHERE id_auteur=$id_auteur"); + sql_updateq("spip_auteurs", array("statut" => '1comite'), "id_auteur=$id_auteur"); } // Une rubrique supprimable n'avait pas le statut "publie" @@ -79,7 +79,7 @@ function supprimer_document_et_vignette($arg) if ($row = sql_fetch($result)) { spip_unlink(get_spip_doc($row['fichier'])); sql_delete("spip_documents", "id_document=$arg"); - spip_query("UPDATE spip_documents SET id_vignette=0 WHERE id_vignette=$arg"); + sql_updateq("spip_documents", array("id_vignette" => 0), "id_vignette=$arg"); sql_delete("spip_documents_articles", "id_document=$arg"); sql_delete("spip_documents_rubriques", "id_document=$arg"); sql_delete("spip_documents_breves", "id_document=$arg"); diff --git a/ecrire/action/supprimer_traduction.php b/ecrire/action/supprimer_traduction.php index 1249a6b7e8..400f1540cb 100644 --- a/ecrire/action/supprimer_traduction.php +++ b/ecrire/action/supprimer_traduction.php @@ -26,13 +26,13 @@ function action_supprimer_traduction_dist() { // http://doc.spip.org/@action_supprimer_traduction_post function action_supprimer_traduction_post($r) { - spip_query("UPDATE spip_articles SET id_trad=0 WHERE id_article=" . $r[1]); + sql_updateq("spip_articles", array("id_trad" => 0), "id_article=" . $r[1]); // Si l'ancien groupe ne comporte plus qu'un seul article // mettre a zero. $cpt = sql_fetsel("COUNT(*) AS n", "spip_articles", "id_trad=" . $r[2]); if ($cpt['n'] == 1) - spip_query("UPDATE spip_articles SET id_trad = 0 WHERE id_trad=" . $r[2]); + sql_updateq("spip_articles", array("id_trad" => 0), "id_trad=" . $r[2]); } ?> diff --git a/ecrire/balise/formulaire_signature.php b/ecrire/balise/formulaire_signature.php index 4a9f7db6a5..9fd9903c5d 100644 --- a/ecrire/balise/formulaire_signature.php +++ b/ecrire/balise/formulaire_signature.php @@ -126,7 +126,7 @@ function reponse_confirmation($var_confirm = '') { OR $_GET['refus'] == _action_auteur("supprimer signature $id_signature", '', '', 'alea_ephemere_ancien') )) { - spip_query("UPDATE spip_signatures SET statut='poubelle' WHERE id_signature=$id_signature"); + sql_updateq("spip_signatures", array("statut" => 'poubelle'), "id_signature=$id_signature"); $confirm = _T('info_signature_supprimee'); } else $confirm = _T('info_signature_supprimee_erreur'); return ''; diff --git a/ecrire/genie/syndic.php b/ecrire/genie/syndic.php index bb41a7f2b4..8c6936748e 100644 --- a/ecrire/genie/syndic.php +++ b/ecrire/genie/syndic.php @@ -121,7 +121,7 @@ function syndic_a_jour($now_id_syndic, $statut = 'off') { } // Noter que la syndication est OK - spip_query("UPDATE spip_syndic SET syndication='oui' WHERE id_syndic=$now_id_syndic"); + sql_updateq("spip_syndic", array("syndication" => 'oui'), "id_syndic=$now_id_syndic"); return false; # c'est bon } diff --git a/ecrire/inc/acces.php b/ecrire/inc/acces.php index 549091f6f4..13e94b589e 100644 --- a/ecrire/inc/acces.php +++ b/ecrire/inc/acces.php @@ -113,7 +113,7 @@ function verifier_low_sec ($id_auteur, $cle, $action='') { // http://doc.spip.org/@effacer_low_sec function effacer_low_sec($id_auteur) { if (!$id_auteur = intval($id_auteur)) return; // jamais trop prudent ;) - spip_query("UPDATE spip_auteurs SET low_sec = '' WHERE id_auteur = $id_auteur"); + sql_updateq("spip_auteurs", array("low_sec" => ''), "id_auteur = $id_auteur"); } // http://doc.spip.org/@initialiser_sel diff --git a/ecrire/inc/ajouter_documents.php b/ecrire/inc/ajouter_documents.php index 55a679650a..647dd31122 100644 --- a/ecrire/inc/ajouter_documents.php +++ b/ecrire/inc/ajouter_documents.php @@ -222,7 +222,7 @@ function ajouter_un_document($source, $nom_envoye, $type_lien, $id_lien, $mode, $id_document_lie = $id_document=intval($id_document); if ($mode == 'vignette' AND $id_document) { # on force le statut "document" de ce fichier (inutile ?) - spip_query("UPDATE spip_documents SET mode='document' WHERE id_document=$id_document"); + sql_updateq("spip_documents", array("mode" => 'document'), "id_document=$id_document"); $id_document = 0; } diff --git a/ecrire/inc/modifier.php b/ecrire/inc/modifier.php index 667751a9b3..465edf2127 100644 --- a/ecrire/inc/modifier.php +++ b/ecrire/inc/modifier.php @@ -114,14 +114,14 @@ function marquer_doublons_documents($champs,$id,$id_table_objet,$table_objet){ include_spip('base/abstract_sql'); $GLOBALS['doublons_documents_inclus'] = array(); traiter_modeles($champs['chapo'].$champs['texte'],true); // detecter les doublons - spip_query("UPDATE spip_documents_$table_objet SET vu='non' WHERE $id_table_objet=$id"); + sql_updateq("spip_documents_$table_objet", array("vu" => 'non'), "$id_table_objet=$id"); if (count($GLOBALS['doublons_documents_inclus'])){ // on repasse par une requete sur spip_documents pour verifier que les documents existent bien ! $in_liste = calcul_mysql_in('id_document', $GLOBALS['doublons_documents_inclus']); $res = sql_select("id_document", "spip_documents", $in_liste); while ($row = sql_fetch($res)) { - spip_query("UPDATE spip_documents_$table_objet SET vu='oui' WHERE $id_table_objet=$id AND id_document=" . $row['id_document']); + sql_updateq("spip_documents_$table_objet", array("vu" => 'oui'), "$id_table_objet=$id AND id_document=" . $row['id_document']); } } } diff --git a/ecrire/inc/rubriques.php b/ecrire/inc/rubriques.php index 173a45de19..38c838fc2e 100644 --- a/ecrire/inc/rubriques.php +++ b/ecrire/inc/rubriques.php @@ -90,7 +90,7 @@ function depublier_branche_rubrique_if($id_rubrique) if (sql_countsel("spip_documents_rubriques", "id_rubrique=$id_pred")) return $id_pred != $id_rubrique;; - spip_query("UPDATE spip_rubriques SET statut='0' WHERE id_rubrique=$id_pred"); + sql_updateq("spip_rubriques", array("statut" => '0'), "id_rubrique=$id_pred"); # spip_log("depublier_rubrique $id_pred"); $r = sql_fetsel("id_parent", "spip_rubriques", "id_rubrique=$id_pred"); -- GitLab