Skip to content
Extraits de code Groupes Projets
Valider 492377ad rédigé par esj's avatar esj
Parcourir les fichiers

Abstraction des clauses avec WHERE dans les UPDATE sur un seul champ

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.
parent ad40ab69
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -53,7 +53,7 @@ function action_editer_message_post_supprimer($id_message) { ...@@ -53,7 +53,7 @@ function action_editer_message_post_supprimer($id_message) {
// http://doc.spip.org/@action_editer_message_post_vu // http://doc.spip.org/@action_editer_message_post_vu
function action_editer_message_post_vu($id_message, $id_auteur) { function action_editer_message_post_vu($id_message, $id_auteur) {
spip_log("efface $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");
} }
......
...@@ -32,10 +32,10 @@ function action_editer_signatures_post($r) ...@@ -32,10 +32,10 @@ function action_editer_signatures_post($r)
if ($id < 0){ if ($id < 0){
$id = 0 - $id; $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){ } 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");
} }
......
...@@ -41,7 +41,7 @@ function action_poster_forum_prive_post($r) ...@@ -41,7 +41,7 @@ function action_poster_forum_prive_post($r)
calculer_threads(); calculer_threads();
if ($objet == 'id_message') { 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");
} }
......
...@@ -27,12 +27,12 @@ function action_referencer_traduction_dist() { ...@@ -27,12 +27,12 @@ function action_referencer_traduction_dist() {
redirige_par_entete(urldecode(_request('redirect')) . $err); redirige_par_entete(urldecode(_request('redirect')) . $err);
} elseif (preg_match(",^(\d+)\D-(\d+)$,", $arg, $r)) { } elseif (preg_match(",^(\d+)\D-(\d+)$,", $arg, $r)) {
// supprimer le lien de traduction // 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. // 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]); $cpt = sql_fetsel("COUNT(*) AS n", "spip_articles", "id_trad=" . $r[2]);
if ($cpt['n'] == 1) 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)) { } elseif (preg_match(",^(\d+)\D(\d+)\D(\d+)$,", $arg, $r)) {
// modifier le groupe de traduction de $r[1] (SQL le trouvera) // 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]); spip_query("UPDATE spip_articles SET id_trad = " . $r[3] . " WHERE id_trad =" . $r[2]);
......
...@@ -59,7 +59,7 @@ function action_supprimer_rubrique($r) ...@@ -59,7 +59,7 @@ function action_supprimer_rubrique($r)
sql_delete("spip_auteurs_rubriques", "id_rubrique=$id_rubrique AND id_auteur=$id_auteur"); sql_delete("spip_auteurs_rubriques", "id_rubrique=$id_rubrique AND id_auteur=$id_auteur");
$n = sql_countsel("spip_auteurs_rubriques", "id_auteur=$id_auteur"); $n = sql_countsel("spip_auteurs_rubriques", "id_auteur=$id_auteur");
if (!$n) 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" // Une rubrique supprimable n'avait pas le statut "publie"
...@@ -79,7 +79,7 @@ function supprimer_document_et_vignette($arg) ...@@ -79,7 +79,7 @@ function supprimer_document_et_vignette($arg)
if ($row = sql_fetch($result)) { if ($row = sql_fetch($result)) {
spip_unlink(get_spip_doc($row['fichier'])); spip_unlink(get_spip_doc($row['fichier']));
sql_delete("spip_documents", "id_document=$arg"); 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_articles", "id_document=$arg");
sql_delete("spip_documents_rubriques", "id_document=$arg"); sql_delete("spip_documents_rubriques", "id_document=$arg");
sql_delete("spip_documents_breves", "id_document=$arg"); sql_delete("spip_documents_breves", "id_document=$arg");
......
...@@ -26,13 +26,13 @@ function action_supprimer_traduction_dist() { ...@@ -26,13 +26,13 @@ function action_supprimer_traduction_dist() {
// http://doc.spip.org/@action_supprimer_traduction_post // http://doc.spip.org/@action_supprimer_traduction_post
function action_supprimer_traduction_post($r) 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 // Si l'ancien groupe ne comporte plus qu'un seul article
// mettre a zero. // mettre a zero.
$cpt = sql_fetsel("COUNT(*) AS n", "spip_articles", "id_trad=" . $r[2]); $cpt = sql_fetsel("COUNT(*) AS n", "spip_articles", "id_trad=" . $r[2]);
if ($cpt['n'] == 1) 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]);
} }
?> ?>
...@@ -126,7 +126,7 @@ function reponse_confirmation($var_confirm = '') { ...@@ -126,7 +126,7 @@ function reponse_confirmation($var_confirm = '') {
OR OR
$_GET['refus'] == _action_auteur("supprimer signature $id_signature", '', '', 'alea_ephemere_ancien') $_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'); $confirm = _T('info_signature_supprimee');
} else $confirm = _T('info_signature_supprimee_erreur'); } else $confirm = _T('info_signature_supprimee_erreur');
return ''; return '';
......
...@@ -121,7 +121,7 @@ function syndic_a_jour($now_id_syndic, $statut = 'off') { ...@@ -121,7 +121,7 @@ function syndic_a_jour($now_id_syndic, $statut = 'off') {
} }
// Noter que la syndication est OK // 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 return false; # c'est bon
} }
......
...@@ -113,7 +113,7 @@ function verifier_low_sec ($id_auteur, $cle, $action='') { ...@@ -113,7 +113,7 @@ function verifier_low_sec ($id_auteur, $cle, $action='') {
// http://doc.spip.org/@effacer_low_sec // http://doc.spip.org/@effacer_low_sec
function effacer_low_sec($id_auteur) { function effacer_low_sec($id_auteur) {
if (!$id_auteur = intval($id_auteur)) return; // jamais trop prudent ;) 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 // http://doc.spip.org/@initialiser_sel
......
...@@ -222,7 +222,7 @@ function ajouter_un_document($source, $nom_envoye, $type_lien, $id_lien, $mode, ...@@ -222,7 +222,7 @@ function ajouter_un_document($source, $nom_envoye, $type_lien, $id_lien, $mode,
$id_document_lie = $id_document=intval($id_document); $id_document_lie = $id_document=intval($id_document);
if ($mode == 'vignette' AND $id_document) { if ($mode == 'vignette' AND $id_document) {
# on force le statut "document" de ce fichier (inutile ?) # 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; $id_document = 0;
} }
......
...@@ -114,14 +114,14 @@ function marquer_doublons_documents($champs,$id,$id_table_objet,$table_objet){ ...@@ -114,14 +114,14 @@ function marquer_doublons_documents($champs,$id,$id_table_objet,$table_objet){
include_spip('base/abstract_sql'); include_spip('base/abstract_sql');
$GLOBALS['doublons_documents_inclus'] = array(); $GLOBALS['doublons_documents_inclus'] = array();
traiter_modeles($champs['chapo'].$champs['texte'],true); // detecter les doublons 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'])){ if (count($GLOBALS['doublons_documents_inclus'])){
// on repasse par une requete sur spip_documents pour verifier que les documents existent bien ! // on repasse par une requete sur spip_documents pour verifier que les documents existent bien !
$in_liste = calcul_mysql_in('id_document', $in_liste = calcul_mysql_in('id_document',
$GLOBALS['doublons_documents_inclus']); $GLOBALS['doublons_documents_inclus']);
$res = sql_select("id_document", "spip_documents", $in_liste); $res = sql_select("id_document", "spip_documents", $in_liste);
while ($row = sql_fetch($res)) { 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']);
} }
} }
} }
......
...@@ -90,7 +90,7 @@ function depublier_branche_rubrique_if($id_rubrique) ...@@ -90,7 +90,7 @@ function depublier_branche_rubrique_if($id_rubrique)
if (sql_countsel("spip_documents_rubriques", "id_rubrique=$id_pred")) if (sql_countsel("spip_documents_rubriques", "id_rubrique=$id_pred"))
return $id_pred != $id_rubrique;; 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"); # spip_log("depublier_rubrique $id_pred");
$r = sql_fetsel("id_parent", "spip_rubriques", "id_rubrique=$id_pred"); $r = sql_fetsel("id_parent", "spip_rubriques", "id_rubrique=$id_pred");
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter