Die Datei sieht so aus:
Code: Alles auswählen
<?php
error_reporting(E_ALL ^ E_NOTICE);
if ( !defined( 'INC_DIR' ) ) {
die( 'hacking attempt' );
}
define('IN_PHPBB', true);
$phpbb3_root_path = realpath(dirname(__FILE__) . '/../../../') . '/';
include($phpbb3_root_path . 'config.php');
include($phpbb3_root_path . 'includes/functions.php');
include($phpbb3_root_path . 'includes/constants.php');
class PhpBB30CMS
{
var $loginStmt;
var $getPasswordStmt;
var $getUserStmt;
var $getUsersStmt;
var $getPhotoStmt;
var $getLoggedStmt;
var $userid;
function PhpBB30CMS()
{
$this->loginStmt = new Statement("SELECT user_id FROM {$GLOBALS['table_prefix']}users WHERE username=? LIMIT 1");
$this->getPasswordStmt = new Statement("SELECT user_password FROM {$GLOBALS['table_prefix']}users WHERE username=? LIMIT 1");
$this->getUserStmt = new Statement("SELECT u.user_id as id, u.username as login, u.group_id, g.group_name, u.user_type, u.user_rank FROM {$GLOBALS['table_prefix']}users u, {$GLOBALS['table_prefix']}groups g WHERE u.group_id=g.group_id AND u.user_id=? LIMIT 1");
$this->getUsersStmt = new Statement("SELECT user_id as id, username as login FROM {$GLOBALS['table_prefix']}users ORDER BY login");
$this->getPhotoStmt = new Statement("SELECT config_value FROM {$GLOBALS['table_prefix']}config WHERE config_name='avatar_salt' LIMIT 1");
$this->getLoggedStmt = new Statement("SELECT config_value FROM {$GLOBALS['table_prefix']}config WHERE config_name='cookie_name' LIMIT 1");
}
function isLoggedIn()
{
$rs = $this->getLoggedStmt->process();
$rl = $rs->next();
$cookie_name = $rl['config_value'] . '_u';
if( isset($GLOBALS['_COOKIE'][$cookie_name]) && $GLOBALS['_COOKIE'][$cookie_name] != ANONYMOUS)
{
return $GLOBALS['_COOKIE'][$cookie_name];
}
return null;
}
function login($username, $password)
{
$rp = $this->getPasswordStmt->process($username);
$rep = $rp->next();
if($username && $password && ($rs = $this->loginStmt->process($username)) && ($rec = $rs->next()) && (phpbb_check_hash($password, $rep['user_password'])))
{
return $rec['user_id'];
}
return false;
}
function logout()
{
}
function getUser($userid)
{
if($userid == SPY_USERID) return null;
if($userid && ($rs = $this->getUserStmt->process($userid)) && ($rec = $rs->next()))
{
switch ($rec['group_name'])
{
case 'ADMINISTRATORS':
$rec['roles'] = $rec['group_id'] = ROLE_ADMIN;
break;
case 'GLOBAL_MODERATORS':
$rec['roles'] = $rec['group_id'] = ROLE_MODERATOR;
break;
case 'BOTS':
break;
default:
if ($GLOBALS['fc_config']['liveSupportMode'])
{
$rec['roles'] = $rec['group_id'] = ROLE_CUSTOMER;
}
else if ($rec['user_rank'] >= 0)
{
switch ($rec['user_rank'])
{
case 'USER':
$rec['roles'] = $rec['group_id'] = ROLE_USER ;
break;
case 'GLOBAL_MODERATORS':
$rec['roles'] = $rec['group_id'] = ROLE_MODERATOR;
break;
default:
$rec['roles'] = $rec['group_id'] = ROLE_USER;
break;
}
}
break;
}
return $rec;
}
return null;
}
function getUsers()
{
return $this->getUsersStmt->process();
}
function getUserProfile($userid)
{
if($user = $this->getUser($userid))
{
return "../ucp.php?i=164";
//return "../memberlist.php?mode=viewprofile&u=$userid";
}
return null;
}
function getPhoto($userid)
{
$rs = $this->getPhotoStmt->process();
$rl = $rs->next();
$name = $rl['config_value'] . '_' . $userid . '.jpg';
return '../images/avatars/upload/' . $name;
}
function userInRole($userid, $role)
{
if($user = $this->getUser($userid))
{
return ($user['roles'] == $role);
}
return false;
}
function getGender($userid)
{
// 'M' for Male, 'F' for Female, NULL for undefined
return NULL;
}
}
$GLOBALS['fc_config']['db'] = array(
'host' => $dbhost,
'user' => (isset($dbuser) ? $dbuser : $dbuname),
'pass' => $dbpasswd,
'base' => $dbname,
'pref' => $table_prefix . 'fc_',
);
$GLOBALS['fc_config']['cms'] = new PhpBB30CMS();
foreach($GLOBALS['fc_config']['languages'] as $k => $v)
{
$GLOBALS['fc_config']['languages'][$k]['dialog']['login']['moderator'] = '';
}
?>
Der relevante Teil ist glaube ich function getUser($userid).
Danke für jede Hilfe.
Chiana