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