Auteur Sujet: Page Téléchargement + Phpbb  (Lu 1034 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne yannbla

  • Connaisseur
  • ***
  • Messages: 278
Page Téléchargement + Phpbb
« le: 17 mars 2004 à 13:45:57 »
Bonjour,

Je souhaite réaliser une page de téléchargement protégée en fonction des rangs d'un forum PhpBB. Je ne sais pas trop comment m'y prendre. Avez-vous des conseils, des astuces, des solutions pour réaliser cette fonction ?

Hors ligne Xav1979

  • Débutant
  • *
  • Messages: 51
Page Téléchargement + Phpbb
« Réponse #1 le: 17 mars 2004 à 19:42:12 »
Si c'est en fonction du niveau de l'utilisateur (Admin ou Modo), il suffit de mettre ça:

<?php
define('IN_PHPBB', true);
$phpbb_root_path = './../forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

Sert à inclure les fichiers nécessaires. Attention à l'adresse relative de $phpbb_root_path = "./"
Il faut la modifier en fonction de où se trouve ta page par rapport à la racine du forum



//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
//
// End session management
//

Sert à initialiser la session



//
//affichage des donnees user
//
if ( $userdata['session_logged_in'] )
{
echo $userdata['username'] . "<br>";
echo $userdata['user_level'];
}
else
{
echo ("not logged");
}

?>

Sert simplement à te prouver que tu es loggé. Si tu l'es, la page t'affiche ton nom d'utilisateur et ton niveau. Dans le cas contraire, elle t'affiche uniquement "not logged"...

Ca devrait suffire à te lancer!  :)  
Xav

fan de F1!! ;-)

Hors ligne Xav1979

  • Débutant
  • *
  • Messages: 51
Page Téléchargement + Phpbb
« Réponse #2 le: 17 mars 2004 à 20:23:51 »
J'ai oublié de précisé qu'après, il te suffisait de mettre une condition vérifiant s'il s'agit d'un admin ou d'un modo, et de faire afficher le code en fonction  :P  
Xav

fan de F1!! ;-)

Hors ligne yannbla

  • Connaisseur
  • ***
  • Messages: 278
Page Téléchargement + Phpbb
« Réponse #3 le: 17 mars 2004 à 21:36:07 »
Merci beaucoup Xav1979 :)
Par contre, le test que je veux faire c'est plutôt sur les rangs. C'est une page pour les membres mais certaines données ne doivent être accessibles qu'aux membres d'un certain rang (les rangs sont attribués en fonction du nombre de posts).
Est-ce que c'est la même chose ou non ?

Hors ligne Xav1979

  • Débutant
  • *
  • Messages: 51
Page Téléchargement + Phpbb
« Réponse #4 le: 17 mars 2004 à 21:51:48 »
Tiens, voici un code complet que je viens de faire et qui devrait être bon:
<?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_REDACBW);
init_userprefs($userdata);
//
// End session management
//

//
//Vérification du niveau
//

// réaffection de la variable pour être sûr
$user_id = $userdata['user_id'];
//requête SQL
$sql = "SELECT *    
  FROM " . USERS_TABLE . "
  WHERE user_id = $user_id";
if ( !($result = $db->sql_query($sql)) )
{
  message_die(CRITICAL_ERROR, 'Oooooops', '', __LINE__, __FILE__, $sql);
}

$userdata2 = $db->sql_fetchrow($result);


//
//Affichage de la page
//

if ( $userdata['session_logged_in'] ) //vérification que l'utilisateur est connecté
{
if ( $userdata2['user_rank'] == 1 ) //vérification du rang de l'utilisateur
{
  echo $userdata['username'] . "<br>"; //Affichage de son nom
  echo $userdata['user_rank'];   //Affichage de l'id de son rang
}
else
{
$msg = "Vous n\'êtes pas autorisé à voir cette page"; //Rejet de l'utilisateur si rang pas suffisant
$msg = str_replace("\'","'",$msg);
echo $msg;
}
}
else
{
echo ("not logged");
}


?>

Evidemment, tu peux bien sûr tourner ta requête SQL différemment. Par exemple en comptant carrément le nbre de post de chacun, etc, etc... Tes conditions évoluant en fonction bien sûr!  :)  
Xav

fan de F1!! ;-)

Hors ligne yannbla

  • Connaisseur
  • ***
  • Messages: 278
Page Téléchargement + Phpbb
« Réponse #5 le: 17 mars 2004 à 23:15:48 »
Merci beaucoup  :)