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) {
// 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");
}
......
......@@ -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");
}
......
......@@ -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");
}
......
......@@ -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]);
......
......@@ -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");
......
......@@ -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]);
}
?>
......@@ -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 '';
......
......@@ -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
}
......
......@@ -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
......
......@@ -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;
}
......
......@@ -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']);
}
}
}
......
......@@ -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");
......
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