[Forum phpbb3] Script externe de suppression d'un membre

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par ygalr22, 17 Janvier 2010.

  1. ygalr22
    ygalr22 WRInaute discret
    Inscrit:
    9 Janvier 2008
    Messages:
    127
    J'aime reçus:
    0
    Bonjour à tous,

    Voila, j'ai un petit problème pour le développement d'un script externe à phpbb3.
    Je souhaiterais supprimer un utilisateur du forum directement via une page de mon site plutôt que de passer par le panneau d'admin du forum.

    J'essaye d'utiliser la fonction user_delete dans le fichier include/functions_user.php mais j'ai une erreur qui s'affiche:
    Code:
    Fatal error: Cannot redeclare class template in /homez/monsite/www/Forum/includes/template.php on line 24
    voici le code que j'ai intégré à mon script de suppression de membre:
    Code:
        define('IN_PHPBB', true);
        $phpbb_root_path = './Forum/';
        $phpEx = substr(strrchr(__FILE__, '.'), 1);
        include($phpbb_root_path . 'common.' . $phpEx);
        require($phpbb_root_path . 'includes/functions_user.' . $phpEx);
        $user->session_begin();
        $auth->acl($user->data);
        $user->setup('ucp');
        $error=array();
      
      //on récupère l'id du membre à supprimer
      $ReqId="SELECT user_id
              FROM phpbb_users
              WHERE username=\"$Pseudo\""; //pseudo est bien définit plus haut
      $RepId=Requete($ReqId, $G_Pointeur); //exécution de la requête
      
      $ligne=mysql_fetch_assoc($RepId);
      
      
      //on supprime le membre
      user_delete('retain', $ligne['user_id']);
    
    Je pense avoir un problème au niveau de la partie de code précédant la requête, mais je ne voit pas ou...
    Voilà, j'espère que quelqu'un à déjà fait ca ici, si c'est le cas merci de m'éclairer.
     
  2. Julia41
    Julia41 WRInaute passionné
    Inscrit:
    31 Août 2007
    Messages:
    1 779
    J'aime reçus:
    0
    Tu dois déjà déclarer la class "template" quelque part (peut-être au dessus) ou peut-être dans tes includes/require..
    Je pense que ça doit être déclaré dans le common.php.
    Peut-être que la fonction user_delete a une sortie affichage utilisant cette classe.
     
  3. ygalr22
    ygalr22 WRInaute discret
    Inscrit:
    9 Janvier 2008
    Messages:
    127
    J'aime reçus:
    0
    Bonjour et merci pour la réponse.
    En fait, j'ai vu quelque part que le message apparaissait parce que le template était déjà déclaré.
    Du coup, j'ai été dans le fichier include/Template.php et j'ai ajouté
    Code:
    if ( class_exists('Template') )
    {
       return;
    } 
    juste avant la ligne
    Code:
    class template
    {
    Ce qui permet de ne pas re-déclarer la classe si celle-ci l'est déjà. (je ne sait pas si je m'exprime bien je ne suis pas un grand pro de l'objet :wink:

    Merci
     
Chargement...
Similar Threads - [Forum phpbb3] Script Forum Date
[Forum Avancé] Etude du concours SEO [2012] Techniques avancées de référencement 19 Septembre 2012
[Forum PHPBB] Besoin d'aide Développement d'un site Web ou d'une appli mobile 23 Juillet 2012
Récapitulatif [Forum] Les membres (qui le souhaitent) se présentent Le café de WebRankInfo 18 Juin 2011
[phpbb3] Bug des mails d'avertissement Développement d'un site Web ou d'une appli mobile 3 Avril 2010