MyBB.support, le portail francophone de MyBB

Version complète : session et message privé
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.

jfmaster

Bonjour, bonsoir,

Voila, je suis nouveau sur le forum, je viens de connaitre Mybb et je cherche une chose précise:

Mon forum est dans un répertoire appelé ./forum/
je cherche à récupérer la session du forum, ainsi que le profil et les messages privée pour faire de mon forum et de mon script (jeux php en ligne) une étroite colaboration.
En gros, j'aimerais pouvoir utiliser la session du forum, le profil utilisateur ainsi que les messages privés depuis le répertoire ./

Suis-je assé claire? ou ce que je dis est totalement confu? :S

J'ai cherché sur le forum, mais je ne suis pas très doué en anglais et je n'ai rien trouvé.

Merci
Vous êtes chez quel hébergeur ?

jfmaster

en local pour l'instant, je commence seulement le développement, puis j'achèterai un serveu...Big Grin
La session se récupère indépendamment du répertoire avec $_SESSION.
Pour le profil utilisateur et/ou les MP, il y a deux possibilités:
- utiliser les méthodes du forum en appelant avant tout le inc/init.php
- recréer soi-même les requètes SQL pour récupérer les données en base.

Pour ma part, je préfère la première méthode qui présente l'avantage de donner accès à toutes les propriétés et méthodes du forum (et en particulier la gestion utilisateur) sans avoir à réinventer la roue.

jfmaster

Merci pour ta réponse, pour la session j'ai compris, mais pour le profil utilisateur et les MP, je veux bien utiliser la première solution, mais j'ai pas tout compris...

serait-il possible de m'expliquer en détail ce qu'il faut que je fasse? :S

Merci pour tout
Ce qu'il faut faire, c'est appeler correctement le fichier init.php qui se trouve dans le répertoire inc/ du forum.
Celui-ci chargera tous les fichiers utiles de mybb et te donnera donc accès aux méthodes et propriétés du forum.
Code PHP :
<?
// Création du chemin vers le forum
// Je pars du principe que le fichier qui utilise les données est à la racine du site
DEFINE('MYBB_PATH'realpath(dirname(__FILE__).'/forum'));
// On définit le site comme étant une partie de MyBB, pour ne pas s'interdire l'accès
DEFINE('IN_MYBB'true);
// On appelle init.php
include_once MYBB_PATH.'/inc/init.php'
Attention: la variable MYBB_PATH est très importante, c'est elle qui permet d'avoir les accès aux différents fichiers.

Une fois ceci réalisé, tu peux appeler les fonctions du forum.

jfmaster

Merci beaucoup pour vos réponses (rapides, simple et clair)

Je test ça dès que j'ai le temps et je vous dit quoi...

Encore merci Wink

jfmaster

voila, j'ai fait une page comme tu m'as dit, mais je ne sai pas comment appeler les fonctions du forum...

Pourais-tu m'éclairer sur la situation, car j'ai tester plusieur chose et rien ne fonctionneSad

Merci
tout dépend de ce que tu veux faire...
tu peux par exemple utiliser $mybb->user['uid']!=0 pour savoir si l'utilisateur est enregistré et loggé.
En fonction de tes besoins, il te faudra éplucher le code ou les documentations qui existent.
Petit ajout: les fonction utilisateurs sont listées � http://home.g33k-zone.org/devel/mybb_doc/class_user_data_handler.html

jfmaster

peux-tu me donner un exemple, si je veux afficher une page avec:
  • Nom d'utilisateur
  • Groupe primaire
  • Date d'inscription
  • Nombre de messages
  • Adresse email
S'il te plait. Pour voir un peut comment on fait

je pense qu'après ça je n'aurai plus besoin d'aide (j'espère Big Grin)

Merci Smile
tu as le tableau $user[] qui contient:
username, email, usergroup, ...
Tu peux avoir toutes les infos que tu veux en regardant les fichiers member.php et ./inc/functions_user.php

jfmaster

j'arrive pas, il me demande global.php mais je n'arrive pas à l'appeler correctement Shy

Code :
Warning: require_once(./global.php) [function.require-once]: failed to open stream: No such file or directory in /home/olympe-network/jfmaster/forum/usercp.php on line 19

Fatal error: require_once() [function.require]: Failed opening required './global.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/olympe-network/jfmaster/forum/usercp.php on line 19

j'ai essayé plusieur solutions pour l'appeler, mais rein ne fonctionne...

jfmaster

c'est bon, j'ai trouvé la solution, il faut mettre:

Code PHP :
<?php

// on indique le chemin de MyBB
chdir('forum');

// On définit le site comme étant une partie de MyBB, pour ne pas s'interdire l'accès
DEFINE('IN_MYBB'true);

// On appelle les pages qu'on à besion
require './global.php';
require_once 
MYBB_ROOT."inc/functions_post.php";
require_once 
MYBB_ROOT."inc/functions_user.php";
require_once 
MYBB_ROOT."inc/class_parser.php";

?>

Et la on peut appeler toutes les fonctions.

Merci de votre aideBig Grin
 Utilitaire de traduction fourni par Regentronique