Je fais un petit tuto pour les personnes qui veulent fusionner leur site avec phpbb
Etape 1Inserer un espace membre sur son site, si la personne est connectée sur le forum et sur le site.Inserez ce code dans vos pages où vous voulez que l'espace membre sois pris en compte
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.' .$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
?>
changez cette ligne par le chemin de votre forum
$phpbb_root_path = './forum/';
Ce code doit être placer tout en haut de votre page du style
<?
define('IN_PHPBB', true);
$phpbb_root_path = 'forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
//en-tête
</head>
<body>
//code HTML
</body>
</html>
Voilà maintenant on vas mettre le code pour voir le formulaire du style au menu par exemple
<?php
if( $userdata['session_logged_in'] )
{
// Si l'utilisateur est connecté
echo "Ici, toute information, page ou autre, lorsque l'utilisateur est connecté ";
}
else
{
// Sinon, page des utilisateurs non connectés
echo('<form action="forum/login.php" method="post">
<div align="center">
Login: <input type="text" name="username"><br />
Password: <input type="password" name="password"><br />
Connexion automatique: <input type="checkbox" name="autologin" /><br />
<input type="submit" value="login" name="login">
</form>');
}
?>
A cette ligne vous mettez les informations que vous voulez voir apparaître quand il sera connecté
// Si l'utilisateur est connecté
echo "Ici, toute information, page ou autre, lorsque l'utilisateur est connecté ";
Du style
// Si l'utilisateur est connecté
echo $userdata['username'];
echo $usedata['user_avatar'];
echo $usedata['user_rank'];
echo $usedata['user_posts'];
Dans cette exemple on verras le pseudo, l'avatar, le rang et le nombre de posts bien sûr on peux mettre ce qu'on veut voici les variables a mettre echo $userdata['X']; à la place de X
# user_id : L'identifiant de l'utilisateur (vaut -1 pour les personnes non connectées et est strictement positif et unique si l'utilisateur est connecté )
# username : Le nom de l'utilisateur
# user_lastvisit : La date de la dernière visite (en timestamp UNIX)
# user_regdate : La date d'inscription (en timestamp UNIX)
# user_level : Le niveau de l'utilisateur (vaut 1 pour l'admin, 2 pour les modos et 0 pour les autres)
# user_posts : Le nombre de messages postés par le membre.
# user_timezone : Permet de connaître le decallage horaire par rapport au GMT (de la forme 2.00)
# user_style : Le theme utilisé par le membre
# user_lang : La langue choisie par le membre
# user_dateformat : Le format d'affichage de la date
# user_new_privmsg : Le nombre de nouveaux MP
# user_unread_privmsg : Le nombre de MP non lus
# user_last_privmsg : La date du dernier MP (timestamp UNIX)
# user_rank : Le rang de l'utilisateur (en général vaut 1 pour l'admin et 0 pour ceux qui n'ont aucun rang)
# user_avatar : L'adresse de l'avatar du membre
# user_avatar_type : Le type d'avatar (0 si il n'en a pas, 1 pour ceux uploadés, 2 pour ceux sur un ftp externe et 3 si l'avatar fait parti de la gallerie)
# user_email : L'email du membre
# user_icq : L'adresse ICQ du membre
# user_website: L'adresse du site web du membre
# user_from : Sa localisation
# user_sig : Sa signature
# user_aim : Son adresse AIM
# user_yim : Son adresse YahooMessenger
# user_msnm : Son adresse sur MSN
# session_id : Son identifiant de session (unique)
# session_start : La date d'arrivée sur le forum (remis a jour a chaque session) timestamp Unix.
# session_time : La date de derniere mise à jour de la bdd pour la session (timestamp UNIX).
# session_ip : L'ip du membre
# session_logged_in : vaut 1 si le membre est connecté, 0 sinon
# session_admin : vaut 1 si le membre est connecté en tant qu'administrateur et 0 sinon
Voilà maintenant si la personne qui n'accepte pas les cookies il y aurras un probleme donc pour remedier à ça la fonction apprend sid
<?php echo('<a href="' . append_sid('lien.php') . '">lien</a>'); ?>
Mais bon je doute que vous utiliserez cette fonction.
Voilà le principal est là mais voici des bonus a mettre dans son site
Les liens qui permettent que l'utilisateur sais sur le site voit s'il a des messages ou pas
<?php
switch($userdata['user_new_privmsg'])
{
case 0:
echo('<a href="' . $phpbb_root_path . 'privmsg.php?folder=inbox">' . $lang['No_new_pm'] . '</a>');
break;
case 1:
echo('<a href="' . $phpbb_root_path . 'privmsg.php?folder=inbox">' . sprintf($lang['New_pm'],1) . '</a>');
break;
default:
echo('<a href="' . $phpbb_root_path . 'privmsg.php?folder=inbox">' . sprintf($lang['New_pms'],$userdata['user_new_privmsg']) . '</a>');
}
?>
Afficher un avatar
<?php
switch ( $userdata['user_avatar_type'] )
{
case USER_AVATAR_UPLOAD:
if ( $board_config['allow_avatar_upload'] )
echo('<img src="' . $phpbb_root_path . $board_config['avatar_path'] . '/' . $userdata['user_avatar'] . '" />');
break;
case USER_AVATAR_REMOTE:
if ( $board_config['allow_avatar_remote'] )
echo('<img src="' . $userdata['user_avatar'] . '" />');
break;
case USER_AVATAR_GALLERY:
if ( $board_config['allow_avatar_local'] )
echo('<img src="' . $phpbb_root_path . $board_config['avatar_gallery_path'] . '/' . $userdata['user_avatar']. '" />');
break;
default:
// Code pour ceux qui n'ont pas d'avatar (ou eventuellement une erreur).
}
?>
Ca indique le nombre de connecté, invités, membres, admins etc...
<?php
$sql = 'SELECT session_ip, session_logged_in, session_time FROM ' . $table_prefix . 'sessions WHERE session_time >= ' . ( time() - 300 ) . 'ORDER BY session_ip ASC, session_logged_in DESC';
$ip_prec = 0;
$membres = 0;
$visiteurs = 0;
$result = $db->sql_query($sql);
while ( $row = $db->sql_fetchrow($result) )
{
if ( $row['session_ip'] != $ip_prec )
{
$membres += intval($row['session_logged_in']);
if ( $row['session_logged_in'] == '0') $visiteurs++;
$ip_prec = $row['session_ip'];
}
}
$texte = ( $visiteurs+$membres == '0' ) ? $lang['Online_users_zero_total'] . '<br />' : ( ( $visiteurs+$membres == '1' ) ? sprintf($lang['Online_user_total'] . '<br />',$visiteurs+$membres) : sprintf($lang['Online_users_total'] . '<br />',$visiteurs+$membres) );
$texte .= ( $membres == '0' ) ? $lang['Reg_users_zero_total'] : ( ( $membres == '1' ) ? sprintf($lang['Reg_user_total'],$membres) : sprintf($lang['Reg_users_total'],$membres) );
$texte .= ( $visiteurs == '0' ) ? $lang['Guest_users_zero_total'] : ( ( $visiteurs == '1' ) ? sprintf($lang['Guest_user_total'],$visiteurs) : sprintf($lang['Guest_users_total'],$visiteurs) );
echo("$texte");
?>
Voilà petit cadeau penser a utiliser la derniere version de phpbb une failel et c'est fini