From 8feda6804a902da40fb687cff84d44c32c7a2053 Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Sat, 3 Nov 2007 22:53:28 +0000
Subject: [PATCH] =?UTF-8?q?R=C3=A9duire=20les=20occurrences=20de=20sql=5Fi?=
 =?UTF-8?q?nsert=20et=20=5Fq:=20c'est=20aux=20serveurs=20SQL=20de=20faire?=
 =?UTF-8?q?=20le=20boulot=20de=20citations.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/action/editer_article.php        | 30 +++++++++++++-----------
 ecrire/action/instituer_groupe_mots.php | 31 +++++++++++++++++++++----
 ecrire/inc/meta.php                     |  2 --
 3 files changed, 43 insertions(+), 20 deletions(-)

diff --git a/ecrire/action/editer_article.php b/ecrire/action/editer_article.php
index 4d4159ec88..231b9fb670 100644
--- a/ecrire/action/editer_article.php
+++ b/ecrire/action/editer_article.php
@@ -68,9 +68,12 @@ function insert_article($id_rubrique) {
 	// Si id_rubrique vaut 0 ou n'est pas definie, creer l'article
 	// dans la premiere rubrique racine
 	if (!$id_rubrique = intval($id_rubrique)) {
-		$row = sql_fetsel("id_rubrique", "spip_rubriques", "id_parent=0",'', '0+titre,titre', "1");
+		$row = sql_fetsel("id_rubrique, id_secteur, lang", "spip_rubriques", "id_parent=0",'', '0+titre,titre', "1");
 		$id_rubrique = $row['id_rubrique'];
-	}
+	} else $row = sql_fetsel("lang, id_secteur", "spip_rubriques", "id_rubrique=$id_rubrique");
+
+	$id_secteur = $row['id_secteur'];
+	$lang_rub = $row['lang'];
 
 	// La langue a la creation : si les liens de traduction sont autorises
 	// dans les rubriques, on essaie avec la langue de l'auteur,
@@ -85,25 +88,24 @@ function insert_article($id_rubrique) {
 		}
 	}
 
-	$row = sql_fetsel("lang, id_secteur", "spip_rubriques", "id_rubrique=$id_rubrique");
-
-	$id_secteur = $row['id_secteur'];
-
 	if (!$lang) {
-		$lang = $GLOBALS['meta']['langue_site'];
 		$choisie = 'non';
-		$lang = $row['lang'];
+		$lang = $lang_rub ? $lang_rub : $GLOBALS['meta']['langue_site'];
 	}
 
-	$id_article = sql_insert("spip_articles",
-		"(id_rubrique, id_secteur, statut, date, accepter_forum, lang, langue_choisie)",
-		"($id_rubrique, $id_secteur, 'prepa', NOW(), '"
-			. substr($GLOBALS['meta']['forums_publics'],0,3)
-			. "', '$lang', '$choisie')");
+	$id_article = sql_insertq("spip_articles", array(
+		'id_rubrique' => $id_rubrique,
+		'id_secteur' =>  $id_secteur,
+		'statut' =>  'prepa',
+		'date' => 'NOW()',
+		'accepter_forum' => 
+			substr($GLOBALS['meta']['forums_publics'],0,3),
+		'lang' => $lang,
+		'langue_choisie' =>$choisie));
 
 	// controler si le serveur n'a pas renvoye une erreur
 	if ($id_article > 0) 
-		sql_insert('spip_auteurs_articles', "(id_auteur,id_article)", "('" . $GLOBALS['auteur_session']['id_auteur'] . "','$id_article')");
+		sql_insertq('spip_auteurs_articles', array('id_auteur' => $GLOBALS['auteur_session']['id_auteur'], 'id_article' => $id_article));;
 
 	return $id_article;
 }
diff --git a/ecrire/action/instituer_groupe_mots.php b/ecrire/action/instituer_groupe_mots.php
index f72499fc51..790d70bff1 100644
--- a/ecrire/action/instituer_groupe_mots.php
+++ b/ecrire/action/instituer_groupe_mots.php
@@ -56,8 +56,21 @@ function action_instituer_groupe_mots_post($id_groupe)
 
 			sql_updateq("spip_groupes_mots", array("titre" =>$change_type,"texte"=>$texte,"descriptif"=>$descriptif,"unseul"=>$unseul,"obligatoire"=>$obligatoire,"articles"=>$articles,"breves"=>$breves,"rubriques"=>$rubriques,"syndic"=>$syndic,"minirezo"=>$acces_minirezo,"comite"=>$acces_comite,"forum"=>$acces_forum), "id_groupe=$id_groupe");
 
-		} else {	// creation groupe
-			sql_insert('spip_groupes_mots', "(titre, texte, descriptif, unseul,  obligatoire, articles, breves, rubriques, syndic, minirezo, comite, forum)", "(" . _q($change_type) . ", " . _q($texte) . " , " . _q($descriptif) . " , " . _q($unseul) . " , " . _q($obligatoire) . " , " . _q($articles) . " ," . _q($breves) . " , " . _q($rubriques) . " , " . _q($syndic) . " , " . _q($acces_minirezo) . " ,  " . _q($acces_comite) . " , " . _q($acces_forum) . " )");
+		} else {	//spip_log("creation groupe");
+		  sql_insertq('spip_groupes_mots', array(
+			'titre' => $change_type,
+			'texte' => $texte,
+			'descriptif' => $descriptif,
+			'unseul' => $unseul,
+			'obligatoire' => $obligatoire,
+			'articles' => $articles,
+			'breves' => $breves,
+			'rubriques' => $rubriques,
+			'syndic' => $syndic,
+			'minirezo' => $acces_minirezo,
+			'comite' => $acces_comite,
+			'forum' => $acces_forum
+			));
 		}
 	}
 }
@@ -67,8 +80,18 @@ function action_instituer_groupe_mots_post($id_groupe)
 function action_instituer_groupe_mots_get($table)
 {
 	$titre = _T('info_mot_sans_groupe');
-
-	$id_groupe = sql_insert("spip_groupes_mots", "(titre, unseul, obligatoire, articles, breves, rubriques, syndic, minirezo, comite, forum)", "(" . _q($titre) . ", 'non',  'non', '" . (($table=='articles') ? 'oui' : 'non') ."', '" . (($table=='breves') ? 'oui' : 'non') ."','" . (($table=='rubriques') ? 'oui' : 'non') ."','" . (($table=='syndic') ? 'oui' : 'non') ."', 'oui', 'non', 'non'" . ")");
+	spip_log("creation groupe $table");
+	$id_groupe = sql_insert("spip_groupes_mots", array(
+		'titre' => $titre,
+		'unseul' => 'non',
+		'obligatoire' => 'non',
+		'articles' =>  (($table=='articles') ? 'oui' : 'non'),
+		'breves' => (($table=='breves') ? 'oui' : 'non'),
+		'rubriques' => (($table=='rubriques') ? 'oui' : 'non'),
+		'syndic' =>  (($table=='syndic') ? 'oui' : 'non'),
+		'minirezo' =>  'oui',
+		'comite' =>  'non',
+		'forum' => 'non')) ;
 
         redirige_par_entete(parametre_url(urldecode(_request('redirect')),
 					  'id_groupe', $id_groupe, '&'));
diff --git a/ecrire/inc/meta.php b/ecrire/inc/meta.php
index 6dea3ac495..87fc2b0427 100644
--- a/ecrire/inc/meta.php
+++ b/ecrire/inc/meta.php
@@ -27,7 +27,6 @@ function inc_meta_dist()
 	    AND lire_fichier(_FILE_META, $meta))
 		$GLOBALS['meta'] = @unserialize($meta);
 	// sinon lire en base
-	spip_log("meta $new");
 	if (!$GLOBALS['meta']) $new = !lire_metas();
 	// renouveller l'alea au besoin
 	if (test_espace_prive()
@@ -42,7 +41,6 @@ function inc_meta_dist()
 		} else spip_log("impossible d'ecrire dans " . _FILE_META);
 	}
 	// et refaire le cache si on a du lire en base
-	spip_log("metareturn $new");
 	if (!$new) ecrire_fichier(_FILE_META, serialize($GLOBALS['meta']));
 }
 
-- 
GitLab