[SPIP] ~maj 3.0.13 -> 3.0.14
[ptitvelo/web/www.git] / www / ecrire / action / inscrire_auteur.php
index 6f0d22b..bf9211b 100644 (file)
@@ -3,7 +3,7 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2012                                                *
+ *  Copyright (c) 2001-2014                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
@@ -241,37 +241,24 @@ function creer_pass_pour_auteur($id_auteur) {
 }
 
 /**
- * Un filtre pour determiner le nom du mode des librement inscrits,
- * a l'aide de la liste globale des statuts (tableau mode => nom du mode)
- * Utile pour le formulaire d'inscription.
- * Si un mode est fourni, verifier que la configuration l'accepte.
- * Si mode inconnu laisser faire, c'est une extension non std
- * mais verifier que la syntaxe est compatible avec SQL
- *
- * http://doc.spip.org/@tester_config
+ * Determine le statut d'inscription :
+ * si $statut_tmp fourni, verifie qu'il est autorise
+ * sinon determine le meilleur statut possible et le renvoie
  *
  * @param string $statut_tmp
+ * @param int $id
  * @return string
  */
-function tester_statut_inscription($statut_tmp){
-       $s = array_search($statut_tmp, $GLOBALS['liste_des_statuts']);
-       switch ($s) {
-
-       case 'info_redacteurs' :
-         return (($GLOBALS['meta']['accepter_inscriptions'] == 'oui') ? $statut_tmp : '');
-
-       case 'info_visiteurs' :
-         return (($GLOBALS['meta']['accepter_visiteurs'] == 'oui' OR $GLOBALS['meta']['forums_publics'] == 'abo') ? $statut_tmp : '');
-
-       default:
-         if ($statut_tmp AND $statut_tmp == addslashes($statut_tmp))
-           return $statut_tmp;
-         if ($GLOBALS['meta']["accepter_inscriptions"] == "oui")
-           return $GLOBALS['liste_des_statuts']['info_redacteurs'];
-         if ($GLOBALS['meta']["accepter_visiteurs"] == "oui")
-           return $GLOBALS['liste_des_statuts']['info_visiteurs'];
-         return '';
-       }
+function tester_statut_inscription($statut_tmp, $id){
+       include_spip('inc/autoriser');
+       if ($statut_tmp)
+               return autoriser('inscrireauteur', $statut_tmp, $id) ? $statut_tmp : '';
+       elseif (
+                  autoriser('inscrireauteur', $statut_tmp = "1comite", $id)
+         OR autoriser('inscrireauteur', $statut_tmp = "6forum", $id))
+               return $statut_tmp;
+
+       return '';
 }
 
 
@@ -290,8 +277,10 @@ function confirmer_statut_inscription($auteur){
        // securite
        if ($auteur['statut'] != 'nouveau') return $auteur;
 
-       if (!($s = tester_statut_inscription($auteur['prefs'])))
+       include_spip('inc/autoriser');
+       if (!autoriser('inscrireauteur', $auteur['prefs']))
                return $auteur;
+       $s = $auteur['prefs'];
 
        include_spip('inc/autoriser');
        // accorder l'autorisation de modif du statut auteur
@@ -336,7 +325,7 @@ function auteur_verifier_jeton($jeton){
        if (preg_match(',[^0-9a-f.],i',$jeton))
                return false;
 
-       $desc = sql_fetsel('*','spip_auteurs',"cookie_oubli=".sql_quote($jeton));
+       $desc = sql_fetsel('*','spip_auteurs',"cookie_oubli=".sql_quote($jeton, $serveur, 'string'));
        return $desc;
 }