Browse Source

Appeler les fonctions d'abstraction quand il y a la forme '''ORDER 0+x'''. Et préférer countsel à spip_num_rows, car ça évite à SQL de parcourir la table.

spip-2.0
Committo,Ergo:sum 16 years ago
parent
commit
c2d9fb2d82
  1. 2
      ecrire/action/editer_mot.php
  2. 2
      ecrire/action/supprimer.php
  3. 2
      ecrire/exec/mots_edit.php
  4. 2
      ecrire/exec/naviguer.php
  5. 18
      ecrire/inc/plonger.php

2
ecrire/action/editer_mot.php

@ -48,7 +48,7 @@ function action_editer_mot_post($r)
if ($nouv_mot ? $nouv_mot : ($nouv_mot = _request('nouv_mot'))) {
// recopie de:
// inserer_mot("spip_mots_$table", $table_id, $id_objet, $nouv_mot);
$result = spip_num_rows(spip_query("SELECT id_mot FROM spip_mots_$table WHERE id_mot="._q($nouv_mot)." AND $table_id=$id_objet"));
$result = sql_countsel("spip_mots_$table", "id_mot=".intval($nouv_mot)." AND $table_id=$id_objet");
if (!$result)
spip_query("INSERT INTO spip_mots_$table (id_mot,$table_id) VALUES ("._q($nouv_mot).", $id_objet)");
}

2
ecrire/action/supprimer.php

@ -58,7 +58,7 @@ function action_supprimer_rubrique($r)
while ($r = sql_fetch($q)) {
$id_auteur = $r['id_auteur'];
spip_query("DELETE FROM spip_auteurs_rubriques WHERE id_rubrique=$id_rubrique AND id_auteur=$id_auteur");
$n = spip_num_rows(spip_query("SELECT id_auteur FROM spip_auteurs_rubriques WHERE id_auteur=$id_auteur LIMIT 1"));
$n = sql_countsel("spip_auteurs_rubriques", "id_auteur=$id_auteur",'', 1);
if (!$n)
spip_query("UPDATE spip_auteurs SET statut='1comite' WHERE id_auteur=$id_auteur");
}

2
ecrire/exec/mots_edit.php

@ -56,7 +56,7 @@ global $champs_extra, $connect_statut, $spip_display, $les_notes;
$titre_mot = filtrer_entites(_T('texte_nouveau_mot'));
$onfocus = " onfocus=\"if(!antifocus){this.value='';antifocus=true;}\"";
}
$res = spip_num_rows(spip_query("SELECT id_groupe FROM spip_groupes_mots ". ($table ? "WHERE $table='oui'" : '') . " LIMIT 1"));
$res = sql_countsel('spip_groupes_mots', ($table ? "$table='oui'" : ''));
if (!$res) {
// cas pathologique:

2
ecrire/exec/naviguer.php

@ -78,7 +78,7 @@ function exec_naviguer_dist()
$parent = sql_fetch(spip_query("SELECT id_parent FROM spip_rubriques WHERE id_rubrique=$id_rubrique"));
if (!$parent['id_parent']) {
list($from, $where) = critere_statut_controle_forum('prop', $id_rubrique);
$n_forums = spip_num_rows(spip_query("SELECT id_forum FROM $from" .($where ? (" WHERE $where") : '')));
$n_forums = sql_countsel($from, $where);
}
}
$iconifier = charger_fonction('iconifier', 'inc');

18
ecrire/inc/plonger.php

@ -29,19 +29,11 @@ function inc_plonger_dist($id_rubrique, $idom="", $list=array(), $col = 1, $excl
$ordre = array();
$rub = array();
$res = spip_query("
SELECT
rub1.id_rubrique, rub1.titre, rub1.id_parent, rub1.lang, rub1.langue_choisie, rub2.id_rubrique AS id_enfant
FROM spip_rubriques AS rub1
LEFT JOIN spip_rubriques AS rub2
ON (rub1.id_rubrique = rub2.id_parent)
WHERE rub1.id_parent = "._q($id_rubrique)."
AND rub1.id_rubrique!="._q($exclu)."
AND (rub2.id_rubrique IS NULL OR rub2.id_rubrique!="._q($exclu).")
GROUP BY rub1.id_rubrique
ORDER BY 0+rub1.titre,rub1.titre
"
);
$res = sql_select("rub1.id_rubrique, rub1.titre, rub1.id_parent, rub1.lang, rub1.langue_choisie, rub2.id_rubrique AS id_enfant",
"spip_rubriques AS rub1 LEFT JOIN spip_rubriques AS rub2 ON (rub1.id_rubrique = rub2.id_parent)",
"rub1.id_parent = "._q($id_rubrique)."
AND rub1.id_rubrique!="._q($exclu)."
AND (rub2.id_rubrique IS NULL OR rub2.id_rubrique!="._q($exclu).")", "rub1.id_rubrique", "0+rub1.titre,rub1.titre");
while ($row = sql_fetch($res)) {
if (autoriser('voir','rubrique',$row['id_rubrique'])){

Loading…
Cancel
Save