diff --git a/ecrire/balise/formulaire_admin.php b/ecrire/balise/formulaire_admin.php index da782bcb3b95c64a827c5e04e8705224a696a1d0..c72b5d79b3521e83a004b0a0f5dd5bc8589a926d 100644 --- a/ecrire/balise/formulaire_admin.php +++ b/ecrire/balise/formulaire_admin.php @@ -12,6 +12,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return; #securite +include_spip('inc/autoriser'); // http://doc.spip.org/@balise_FORMULAIRE_ADMIN function balise_FORMULAIRE_ADMIN ($p) { @@ -72,15 +73,12 @@ function balise_FORMULAIRE_ADMIN_dyn($float='', $debug='') { } } - $statut = isset($GLOBALS['auteur_session']['statut']) ? - $GLOBALS['auteur_session']['statut'] : ''; - // Bouton statistiques $visites = $popularite = $statistiques = ''; if ($GLOBALS['meta']["activer_statistiques"] != "non" AND $id_article AND !$var_preview - AND $statut == '0minirezo' + AND autoriser('voirstats') ) { $result = spip_query("SELECT visites, popularite FROM spip_articles WHERE id_article=$id_article AND statut='publie'"); @@ -101,7 +99,7 @@ function balise_FORMULAIRE_ADMIN_dyn($float='', $debug='') { AND $_COOKIE['spip_debug'] ) ) AND ( - $statut == '0minirezo' + autoriser('debug') ) AND ( !$var_preview ) diff --git a/ecrire/balise/formulaire_inscription.php b/ecrire/balise/formulaire_inscription.php index e916e7d7436d631122096da568e84e83b9101c59..c625f783f1a23d641f9cdb9733ce632728e6cc9b 100644 --- a/ecrire/balise/formulaire_inscription.php +++ b/ecrire/balise/formulaire_inscription.php @@ -47,10 +47,8 @@ function balise_FORMULAIRE_INSCRIPTION_dyn($mode, $focus, $id=0) { if (!tester_config($id, $mode)) return _T('pass_rien_a_faire_ici'); $nom = _request('nom_inscription'); $mail = _request('mail_inscription'); - $commentaire = ($mode=='1comite') ? _T('pass_espace_prive_bla') : _T('pass_forum_bla'); - + if ($mail) { - include_spip('inc/filtres'); // pour email_valide $commentaire = message_inscription($mail, $nom, $mode, $id); if (is_array($commentaire)) { if (function_exists('envoyer_inscription')) @@ -59,7 +57,7 @@ function balise_FORMULAIRE_INSCRIPTION_dyn($mode, $focus, $id=0) { $f = 'envoyer_inscription_dist'; $commentaire = $f($commentaire, $nom, $mode, $id); } - } + } else $commentaire = ($mode=='1comite') ? _T('pass_espace_prive_bla') : _T('pass_forum_bla'); $message = $commentaire ? '' : _T('form_forum_identifiant_mail'); diff --git a/ecrire/exec/articles_page.php b/ecrire/exec/articles_page.php index dd0e464909c1515460a37e55b8d0115331cb1e81..fa3bd161eadb445fc7d923c438ec38eded65d493 100644 --- a/ecrire/exec/articles_page.php +++ b/ecrire/exec/articles_page.php @@ -36,7 +36,7 @@ function exec_articles_page_dist() if (spip_num_rows($result) > 0) { echo bloc_des_raccourcis(icone_horizontale(_T('icone_ecrire_article'), generer_url_ecrire("articles_edit","new=oui"), "article-24.gif", "creer.gif", false)); } else { - if ($connect_statut == '0minirezo') { + if (autoriser('creerrubriquedans', 'rubrique')) { echo _T('texte_creer_rubrique'); echo bloc_des_raccourcis(icone_horizontale (_T('icone_creer_rubrique'), generer_url_ecrire("rubriques_edit","new=oui&retour=nav"), "rubrique-24.gif", "creer.gif",false)); } diff --git a/ecrire/exec/auteurs.php b/ecrire/exec/auteurs.php index 036287fa4b70c9111d0d286c0fa0e1b14f77aa3a..be7d1f78bdaac4d714017db694565ab7b7e16844 100644 --- a/ecrire/exec/auteurs.php +++ b/ecrire/exec/auteurs.php @@ -130,8 +130,8 @@ function lettres_d_auteurs($query, $debut, $max_par_page, $tri) $i = 0; while ($auteur = spip_fetch_array($query)) { if ($i>=$debut AND $i<$debut+$max_par_page) { - if ($auteur['statut'] == '0minirezo') - $auteur['restreint'] = spip_num_rows(spip_query("SELECT id_auteur FROM spip_auteurs_rubriques WHERE id_auteur=".$auteur['id_auteur'])); + list($n) = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM spip_auteurs_rubriques WHERE id_auteur=".$auteur['id_auteur'] . " LIMIT 0,1"), SPIP_NUM); + $auteur['restreint'] = $n; $auteurs[] = $auteur; } $i++; @@ -275,18 +275,20 @@ function requete_auteurs($tri, $statut, $recherche=NULL) // Construire la requete // - // si on n'est pas minirezo, ignorer les auteurs sans article publie + // si on n'est pas minirezo, ignorer les auteurs sans article // sauf les admins, toujours visibles. // limiter les statuts affiches if ($connect_statut == '0minirezo') { if (!$statut) { - $sql_visible = "aut.statut IN ('0minirezo','1comite','5poubelle')"; + $sql_visible = "en_ligne <> 0"; + $visit = false; } else { if ($statut[0]=='!') { $statut = substr($statut,1); $not = " NOT"; } else $not = ''; $statut = preg_replace('/\W+/',"','",$statut); $sql_visible = "aut.statut$not IN ('$statut')"; + $visit = statut_min_redac($statut); } } else { $sql_visible = "( @@ -294,6 +296,7 @@ function requete_auteurs($tri, $statut, $recherche=NULL) OR art.statut IN ('prop', 'publie') OR aut.id_auteur=$connect_id_auteur )"; + $visit = false; } if ($in_auteurs) $sql_visible = "(($sql_visible) AND $in_auteurs)"; @@ -320,7 +323,6 @@ function requete_auteurs($tri, $statut, $recherche=NULL) $sql_order = " multi"; } - $visit = ($statut AND ($statut!='1comite') AND ($statut != '0minirezo')); // // La requete de base est tres sympa // (pour les visiteurs, ca postule que les messages concernent des articles) diff --git a/ecrire/exec/brouteur_frame.php b/ecrire/exec/brouteur_frame.php index 25c23c8121df416264000e7466401faeb4c8fa2b..386c37b9a9fc035a39edf4faa5c6e4ac68718b63 100644 --- a/ecrire/exec/brouteur_frame.php +++ b/ecrire/exec/brouteur_frame.php @@ -16,12 +16,13 @@ include_spip('inc/presentation'); // http://doc.spip.org/@exec_brouteur_frame_dist function exec_brouteur_frame_dist() { - global $connect_statut,$connect_id_auteur, $spip_ecran, $spip_lang_left; + global $connect_id_auteur, $spip_ecran, $spip_lang_left; $id_rubrique = is_numeric(_request('rubrique')) ? intval(_request('rubrique')) : ""; $frame = _request('frame'); $effacer_suivant = _request('effacer_suivant'); $special = _request('special'); + $peutpub = autoriser('publierdans','rubrique'); include_spip('inc/headers'); http_no_cache(); @@ -167,7 +168,7 @@ jQuery(function(){ if ($id_rubrique > 0) { - if ($connect_statut == "0minirezo") + if ($peutpub) $result = spip_query("SELECT id_article, id_rubrique, titre, statut FROM spip_articles WHERE id_rubrique=$id_rubrique ORDER BY date DESC"); else $result = spip_query("SELECT articles.id_article, articles.id_rubrique, articles.titre, articles.statut FROM spip_articles AS articles, spip_auteurs_articles AS lien WHERE articles.id_rubrique=$id_rubrique AND (articles.statut = 'publie' OR articles.statut = 'prop' OR (articles.statut = 'prepa' AND articles.id_article = lien.id_article AND lien.id_auteur = $connect_id_auteur)) GROUP BY id_article ORDER BY articles.date DESC"); diff --git a/ecrire/inc/acces.php b/ecrire/inc/acces.php index e21934a89448f66a2e33c615c239a5d068e2d7ea..c55c1e82805489fdd8887b799be6d59a59fa5c09 100644 --- a/ecrire/inc/acces.php +++ b/ecrire/inc/acces.php @@ -148,12 +148,13 @@ function ecrire_acces() { } # remarque : ici on laisse passer les "nouveau" de maniere a leur permettre - # de devenir "1comite" le cas echeant (auth http)... a nettoyer + # de devenir redacteur le cas echeant (auth http)... a nettoyer // attention, il faut au prealable se connecter a la base (necessaire car utilise par install) // on fait spip_query_db() car on est pas forcement encore installe $p1 = ''; // login:htpass pour tous - $p2 = ''; // login:htpass pour les admins/0minirezo - $s = spip_query_db("SELECT login, htpass, statut FROM spip_auteurs WHERE statut != '5poubelle' AND statut!='6forum'"); + $p2 = ''; // login:htpass pour les admins + $s = spip_query_db("SELECT login, htpass, statut FROM spip_auteurs WHERE statut IN ('1comite','0minirezo','nouveau')"); + $n = spip_num_rows($s); while ($t = spip_fetch_array($s)) { $p1 .= $t['login'].':'.$t['htpass']."\n"; if ($t['statut'] == '0minirezo') @@ -162,7 +163,7 @@ function ecrire_acces() { ecrire_fichier($htpasswd, $p1); ecrire_fichier($htpasswd.'-admin', $p2); - spip_log("Ecriture de $htpasswd et $htpasswd-admin: OK"); + spip_log("Ecriture de $htpasswd et $htpasswd-admin: $n auteurs"); }