From 5a98a6e9ea239c0b1a705ba3d3e9abe33cb27aaa Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Thu, 13 Apr 2006 11:58:56 +0000 Subject: [PATCH] =?UTF-8?q?Pas=20tout=20=C3=A0=20fait=20mort=20le=20code?= =?UTF-8?q?=20d'avant=20[5959].=20D=C3=A9port=20vers=20action/=20de=20=20l?= =?UTF-8?q?a=20suppression=20d'une=20rubrique=20=C3=A0=20administer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecrire/action/supprimer.php | 7 +++++++ ecrire/exec/auteur_infos.php | 8 ++++---- ecrire/exec/auteurs_edit.php | 2 +- ecrire/inc/auteur_voir.php | 36 +++++++++++++++++------------------- 4 files changed, 29 insertions(+), 24 deletions(-) diff --git a/ecrire/action/supprimer.php b/ecrire/action/supprimer.php index 61de14ee9a..10edc8b4b6 100644 --- a/ecrire/action/supprimer.php +++ b/ecrire/action/supprimer.php @@ -85,4 +85,11 @@ function action_supprimer_rubrique($id_rubrique) suivre_invalideur("id='id_rubrique/$id_rubrique'"); } + +function action_supprimer_auteur_rubrique($arg) +{ + if (preg_match(",^ *(\d+) +(\d+)$,", $arg, $r)) + spip_query("DELETE FROM spip_auteurs_rubriques WHERE id_auteur=".$r[1]." AND id_rubrique=" . $r[2]); + else spip_log("$arg pas compris"); +} ?> diff --git a/ecrire/exec/auteur_infos.php b/ecrire/exec/auteur_infos.php index e6af925af0..94ead9795d 100644 --- a/ecrire/exec/auteur_infos.php +++ b/ecrire/exec/auteur_infos.php @@ -161,7 +161,7 @@ if (strval($nom)!='') { spip_abstract_insert("spip_auteurs_articles", "(id_auteur, id_article)", "($id_auteur, $ajouter_id_article)"); } - $query = "UPDATE spip_auteurs SET $query_pass + if (!spip_query("UPDATE spip_auteurs SET $query_pass nom='".addslashes($auteur['nom'])."', login='".addslashes($auteur['login'])."', bio='".addslashes($auteur['bio'])."', @@ -170,13 +170,13 @@ if (strval($nom)!='') { url_site='".addslashes($auteur['url_site'])."', pgp='".addslashes($auteur['pgp'])."' $add_extra - WHERE id_auteur=".$auteur['id_auteur']; - spip_query($query) OR die($query); + WHERE id_auteur=".$auteur['id_auteur'])) + die($query); } } // Appliquer des modifications de statut -modifier_statut_auteur($auteur, $_POST['statut'], $_POST['id_parent'], $_GET['supp_rub']); +modifier_statut_auteur($auteur, $_POST['statut'], $_POST['id_parent']); // Si on modifie la fiche auteur, reindexer et modifier htpasswd diff --git a/ecrire/exec/auteurs_edit.php b/ecrire/exec/auteurs_edit.php index ec2f818985..12cf0480d1 100644 --- a/ecrire/exec/auteurs_edit.php +++ b/ecrire/exec/auteurs_edit.php @@ -27,7 +27,7 @@ function exec_auteurs_edit_dist() if (!$auteur = spip_fetch_array($result)) die('erreur'); - modifier_statut_auteur($auteur, $_POST['statut'], $_POST['id_parent'], $_GET['supp_rub']); + modifier_statut_auteur($auteur, $_POST['statut'], $_POST['id_parent']); debut_page($auteur['nom'], "auteurs", (($connect_id_auteur == $id_auteur) ? "perso" : "redacteurs")); diff --git a/ecrire/inc/auteur_voir.php b/ecrire/inc/auteur_voir.php index 7d24ce59e2..824fef9595 100644 --- a/ecrire/inc/auteur_voir.php +++ b/ecrire/inc/auteur_voir.php @@ -73,17 +73,17 @@ function afficher_formulaire_statut_auteur ($id_auteur, $statut, $post='') { echo "<div id='changer_statut_auteur'", (($statut == '0minirezo') ? '' : " style='visibility: hidden'"), '>'; - auteur_voir_rubriques($id_auteur, $url_self); + $restreint = auteur_voir_rubriques($id_auteur, $url_self); // Ajouter une rubrique a un administrateur restreint if ($connect_toutes_rubriques AND $connect_id_auteur != $id_auteur) { echo debut_block_visible("statut$id_auteur"); echo "\n<div id='ajax_rubrique' class='arial1'><br />\n"; - if (spip_num_rows($result_admin) == 0) + if (!$restreint) echo "<b>"._T('info_restreindre_rubrique')."</b><br />"; else echo "<b>"._T('info_ajouter_rubrique')."</b><br />"; - echo "\n<input name='id_auteur' value='$id_auteur' TYPE='hidden' />"; + echo "\n<input name='id_auteur' value='$id_auteur' type='hidden' />"; include_spip('inc/rubriques'); echo selecteur_rubrique(0, 'auteur', false); echo "</div>\n"; @@ -110,18 +110,24 @@ function auteur_voir_rubriques($id_auteur, $url_self) $result_admin = spip_query("SELECT rubriques.id_rubrique, titre FROM spip_auteurs_rubriques AS lien, spip_rubriques AS rubriques WHERE lien.id_auteur=$id_auteur AND lien.id_rubrique=rubriques.id_rubrique"); - if (!spip_num_rows($result_admin)) { + $restreint = spip_num_rows($result_admin); + + if (!$restreint) { echo _T('info_admin_gere_toutes_rubriques'); } else { $modif = ($connect_toutes_rubriques AND $connect_id_auteur != $id_auteur); + $redirect = generer_url_ecrire($url_self, "id_auteur=$id_auteur", true); echo _T('info_admin_gere_rubriques'); echo "\n<ul style='list-style-image: url(" . _DIR_IMG_PACK . "rubrique-12.gif)'>"; while ($row_admin = spip_fetch_array($result_admin)) { $id_rubrique = $row_admin["id_rubrique"]; - echo "<li><a href='" . generer_url_ecrire("naviguer","id_rubrique=$id_rubrique") . "'>", typo($row_admin["titre"]), "</a>"; + + echo "<li><a href='", generer_url_ecrire("naviguer","id_rubrique=$id_rubrique") . "'>", + typo($row_admin["titre"]), + "</a>"; if ($modif) { - echo " <font size='1'>[<a href='", generer_url_ecrire($url_self, "id_auteur=$id_auteur&supp_rub=$id_rubrique"), "'>", + echo " <font size='1'>[<a href='", generer_action_auteur('supprimer', "auteur_rubrique $id_auteur $id_rubrique", $redirect), "'>", _T('lien_supprimer_rubrique'), "</a>]</font>"; } @@ -129,6 +135,7 @@ function auteur_voir_rubriques($id_auteur, $url_self) } echo "</ul>"; } + return $restreint; } function statut_modifiable_auteur($id_auteur, $auteur) @@ -147,25 +154,17 @@ function statut_modifiable_auteur($id_auteur, $auteur) function modifier_statut_auteur (&$auteur, $statut, $add_rub='', $supp_rub='') { global $connect_statut, $connect_toutes_rubriques; // changer le statut ? - $id_auteur= $auteur['id_auteur']; + $id_auteur= intval($auteur['id_auteur']); if (statut_modifiable_auteur($id_auteur, $auteur) && ereg("^(0minirezo|1comite|5poubelle|6forum)$",$statut)) { $auteur['statut'] = $statut; - spip_query("UPDATE spip_auteurs SET statut='".$statut."' - WHERE id_auteur=". intval($id_auteur)); + spip_query("UPDATE spip_auteurs SET statut='".$statut."' WHERE id_auteur=$id_auteur"); } // modif auteur restreint, seulement pour les admins if ($connect_toutes_rubriques) { if ($add_rub=intval($add_rub)) - spip_query("INSERT IGNORE INTO spip_auteurs_rubriques - (id_auteur,id_rubrique) - VALUES(".$auteur['id_auteur'].", $add_rub)"); - - if ($supp_rub=intval($supp_rub)) - spip_query("DELETE FROM spip_auteurs_rubriques - WHERE id_auteur=".$auteur['id_auteur']." - AND id_rubrique=$supp_rub"); + spip_abstract_insert('spip_auteurs_rubriques', "(id_auteur,id_rubrique)", "($id_auteur, $add_rub)"); } } @@ -198,8 +197,7 @@ function choix_statut_auteur($statut) { if (($statut == '6forum') OR ($GLOBALS['meta']['accepter_visiteurs'] == 'oui') OR ($GLOBALS['meta']['forums_publics'] == 'abo') - OR spip_num_rows(spip_query("SELECT statut FROM spip_auteurs - WHERE statut='6forum'"))) + OR spip_num_rows(spip_query("SELECT statut FROM spip_auteurs WHERE statut='6forum'"))) $menu .= "\n<option" . mySel("6forum",$statut) . ">" . -- GitLab