Accueil arrow Toutes les questions... arrow Comment obliger l'admin à approuver les inscriptions

Comment obliger l'admin à approuver les inscriptions Convertir en PDF Version imprimable Suggérer par mail
20-04-2007

Les options par défaut permettent à un utilisateur lambda de s'inscrire au site et de valider son inscription par e-mail.
Parfois certains webmasters souhaitent approuver eux-mêmes les personnes inscrites (par exemple pour vérifier qu'elles sont bien membre d'une association...etc). Il y a deux possibilités pour faire cela :

  • installer Community Builder (voir dans extensions), très pratique, il y a l'option !
  • bidouiller Joomla!.

 Comme certains ne voudront pas installer Community Builder pour x raisons, voici comment bidouiller Joomla!. En fait la manipulation est très simple.
Reprenons logiquement ce qui se passe quand un utilisateur s'inscrit à un site (option d'envois d'e-mail activée par défaut):

  1. il rempli les données du formulaire d'inscription,
  2. reçoit l'e-mail de confirmation,
  3. clique sur le lien dans l'e-mail pour valider son inscription.

C’est à la 3ème étape que nous allons intervenir en supprimant le lien vers le mail d’activation ! Ne pouvant valider lui-même son inscription, le webmaster pourra donc valider à tous loisir ses membres.
Comment faire concrètement ?
Très simplement, le mail généré étant en français, il suffit simplement de modifier le fichier de langue french.php (ça marche aussi pour les autres langues).

  • Dans le répertoire /language de Joomla!, éditer le fichier french.php.
  • Les variables à modifier sont :
    '_SEND_SUB' pour l'objet du mail
    '_USEND_MSG_ACTIVATE' pour le corps du message (lignes de 335 à 345 normalement)
  • il suffit donc de modifier le texte pour dire que l’administrateur validera l’inscription.

Tiens, à quoi correspondent les « %s » ? Ce sont les parties qui sont remplacées par Joomla! pour personnaliser le mail. Ils vont obligatoirement dans cet ordre : nom, nom du site, le lien d'activation, l'adresse du site,  le nom d'utilisateur, le mot de passe.

Facile dites-vous, on a qu’à enlever le 3ème « %s » et hop plus de lien ! Hélas non ! Si supprime le 3ème « %s »  ça ne marche pas : le lien est toujours visible, mais déplacé !
En effet c’est le mot de passe qui n’est plus visible. Logique on remplace les « %s » dans l’ordre, donc tant qu’il y a un 3ème « %s » il y aura le lien.
 Pour supprimer définitivement le lien d'activation, il faut donc que Joomla! n’inclus plus le lien en 3ème position ou plus exactement inclus autre chose, par exemple un espace vide. Donc NE TOUCHEZ PAS au « %s » !


Retroussons nos manche et ouvrons notre bloc note pour éditer le composant /composants/com_registration/com_registration.php. (Faites en une copie de sauvegarde par exemple com_registration.php.bak)
A la ligne 172 on à la syntaxe suivante :

$message = sprintf (_USEND_MSG_ACTIVATE, $name, $mosConfig_sitename, $mosConfig_live_site."/index.php?option=com_registration&task=activate&activation=".$row->activation, $mosConfig_live_site, $username, $pwd);


On supprime simplement la partie : « mosConfig_live_site."/index.php?option=com_registration&task=activate&activation=".$row->activation» que l’on remplace par ‘’ (chaine vide).


Ainsi notre ligne devient :

$message = sprintf (_USEND_MSG_ACTIVATE, $name, $mosConfig_sitename, ‘’, $mosConfig_live_site, $username, $pwd);

Dans l’ordre nos données sont donc : nom, nom du site, l'adresse du site,  le nom d'utilisateur et le mot de passe.


Et voilà il n’y a plus qu’à sauver notre fichier.
Joomla! n’inclura plus de lien, et ce, quelque soit la langue du site (d’où voila pourquoi il ne faut pas supprimer le 3ème « %s » dans le fichier de langue) !

 
< Précédent   Suivant >