Se connecter avec
S'enregistrer | Connectez-vous

Intégrer une fonction php à une page de phpbb ...

Dernière réponse : dans Programmation

Bonjour tout le monde,

Je suis en train de bosser sur un truc pour faire en sorte que les membres de mon forum phpbb soient automatiquement inscrit avec le même pseudo dans mon cms joomla.
J'ai déjà utilisé un bridge porur faire quelques modifs.
Je voudrais maintenant ajouter ce code :

  1. <?php
  2. //written by Guessous Mehdi <a href="http://www.mehdiplugins.com/misc" target="_blank">http://www.mehdiplugins.com/misc</a>
  3. // Released under GNU/GPL License : <a href="http://www.gnu.org/copyleft/gpl.html" target="_blank">http://www.gnu.org/copyleft/gpl.html</a>
  4.  
  5. /*
  6. script for merging phpbb users with those of joomla
  7. */
  8.  
  9. $myTable= "phpbb_users";
  10.  
  11.  
  12. //-------------------------------------------------
  13. define( '_VALID_MOS', 1 );
  14. error_reporting(E_ALL ^ E_NOTICE);
  15. define( 'RG_EMULATION', 1 );
  16. include_once( 'globals.php' );
  17. require_once( 'configuration.php' );
  18. if ($mosConfig_offline == 1) exit();
  19. require_once( 'includes/joomla.php' );
  20. $mainframe = new mosMainFrame( $database, '', '.' );
  21. $mainframe->initSession();
  22.  
  23. // loads english language file by default
  24. if ($mosConfig_lang=='') {
  25. $mosConfig_lang = 'english';
  26. }
  27. include_once( $mosConfig_absolute_path .'/language/' . $mosConfig_lang . '.php' );
  28.  
  29. $my = $mainframe->getUser();
  30.  
  31. function quicksave( $myUser ) { //$myUser = Array(name, username, email ,password)
  32. global $database, $acl;
  33. global $encryptedPasswords;
  34.  
  35. $row = new mosUser( $database );
  36.  
  37. $row->name = $myUser["name"];
  38. $row->username = $myUser["username"];
  39. $row->email = $myUser["email"];
  40.  
  41. mosMakeHtmlSafe($row);
  42.  
  43. $row->id = 0;
  44. $row->usertype = '';
  45. $row->gid = $acl->get_group_id( 'Registered', 'ARO' );
  46.  
  47. if (!$row->check()) return html_entity_decode($row->getError());
  48.  
  49. $pwd = $myUser["password"];
  50.  
  51. $row->password = $pwd; //already encrypted
  52.  
  53. $row->registerDate = date('Y-m-d H:i:s');
  54.  
  55. if (!$row->store()) return html_entity_decode($row->getError());
  56. $row->checkin();
  57.  
  58. return "ok";
  59. }//end function quicksave
  60.  
  61. $sql ="SELECT username, user_password as password, user_email as email FROM ". $myTable . " WHERE user_active=1 ;";
  62. $database->setQuery($sql);
  63. $rows = $database->loadAssocList();
  64.  
  65. if(count($rows)==0){
  66. echo "Unable to find any user in the table \"$myTable\" .<br />";
  67. echo "Is the table name correct, or present in your Joomla database ?<br />";
  68. exit();
  69. }
  70.  
  71.  
  72. $userfailed=$usersucceeded="";
  73.  
  74. foreach ($rows as $row) {
  75. $row['name'] = $row['username']; //set name the same as usermame
  76.  
  77. $error=quicksave($row);
  78. if($error == "ok" ) $usersucceeded .= '<tr><td colspan="2" >' . $row['username'] . '</td></tr>';
  79. else $userfailed .= '<tr><td>'. $row['name']. '</td><td>'. $error. '</td></tr>' ;
  80. }
  81. ?>


si possible sur la page de redirection de phpbb qui s'affiche après l'inscription du membre.
(ce script permet après inscription d'ajouter le membre dans la base joomla.)

PS : pour l'instant ce script prend encore en compte les membres déjà inscrits. Sauriez-vou aussi par hasard comment éviter de les prendre en compte ?

Merci !
Lassé par la pub ? Créez un compte
Lassé par la pub ? Créez un compte
Tom's guide dans le monde