GIF89a;
Direktori : /home/serb/public_html/chat/inc/cmses/ |
Current File : /home/serb/public_html/chat/inc/cmses/phpBB305CMS.php |
<?php if ( !defined( 'INC_DIR' ) ) { die( 'hacking attempt' ); } define('IN_PHPBB', true); $phpbb_root_path = realpath(dirname(__FILE__) . '/../../../') . '/'; if( is_file($phpbb_root_path . 'config.php') ) { include($phpbb_root_path . 'config.php'); } //require_once('FirePHPCore/fb.php4'); $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 PhpBB3CMS { var $loginStmt; var $loggedinStmt; var $getUserStmt; var $getUsersStmt; var $userid; function PhpBB3CMS() { $pref = $GLOBALS['fc_config']['db']['pref']; $this->loginStmt = new Statement("SELECT user_id FROM {$GLOBALS['table_prefix']}users WHERE username=? LIMIT 1"); $this->loggedinStmt = new Statement("SELECT session_user_id as id FROM {$GLOBALS['table_prefix']}sessions WHERE session_id=?"); $this->getPasswordStmt = new Statement("SELECT user_password FROM {$GLOBALS['table_prefix']}users WHERE username=? LIMIT 1"); $this->sessionStmt = new Statement("SELECT * FROM {$GLOBALS['table_prefix']}sessions WHERE session_browser=? AND session_forwarded_for=? AND session_ip=? AND session_user_id>1 AND session_time>?"); $this->configStmt = new Statement("SELECT config_value FROM {$GLOBALS['table_prefix']}config WHERE config_name='cookie_name'"); //Geno Mod - added user_rank to getUserStmt $this->getUserStmt = new Statement("SELECT user_id as id, username as login, user_rank, user_type FROM {$GLOBALS['table_prefix']}users WHERE 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 user_avatar FROM {$GLOBALS['table_prefix']}users WHERE user_id=? LIMIT 1"); } function isLoggedIn() { $browser = (!empty($_SERVER['HTTP_USER_AGENT'])) ? htmlspecialchars((string) $_SERVER['HTTP_USER_AGENT']) : ''; $browser = substr($browser, 0, 149); $forwarded_for = (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) ? (string) $_SERVER['HTTP_X_FORWARDED_FOR'] : ''; $ip = (!empty($_SERVER['REMOTE_ADDR'])) ? htmlspecialchars($_SERVER['REMOTE_ADDR']) : ''; $minTime = time() - 31536000; $rs = $this->sessionStmt->process($browser, $forwarded_for, $ip, $minTime); while ($rec = $rs -> next()) { return $rec['session_user_id']; } } function login($username, $password) { //$login = utf8_decode( $login ) ;//umlavta characters fix //$login=sha1($login); /*fb($login.'---'.$password); if($login && $password && ($rs = $this->loginStmt->process($login,$password)) && ($rec = $rs->next())) { //session_begin( true ); return $rec['user_id']; } return null; */ $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() { /* $userdata = session_pagestart($GLOBALS['user_ip'], PAGE_FAQ); session_end($userdata['session_id'], $userdata['user_id']); */ } function getUser($userid) { if($userid == SPY_USERID) return null; //fwrite($GLOBALS['fp'], "llada a getuser:".print_r($userid, true)."\n"); if($userid && ($rs = $this->getUserStmt->process($userid)) && ($rec = $rs->next())) { if ($rec['user_type'] >= 1) { if ($rec['user_type'] == 3) { $rec['roles'] = ROLE_ADMIN; $rec['user_level'] = ROLE_ADMIN; }else{ $rec['roles'] = ROLE_MODERATOR; $rec['user_level'] = ROLE_MODERATOR; } } elseif ($GLOBALS['fc_config']['liveSupportMode']) { $rec['roles'] = ROLE_CUSTOMER; $rec['user_type'] = ROLE_CUSTOMER; }elseif ($rec['user_rank'] >= 0) { $rec['roles'] = ROLE_USER ; $rec['user_type'] = ROLE_USER; // Geno Mod - ADD CASE # LINES [in pairs] BELOW TO ADD MORE ADMINS OR MODERATORS WHERE # = RankID NUMBER // USERS MUST have a rank of 2 or they'll be banned! switch($rec['user_rank']) { case 2: $rec['roles'] = ROLE_USER ; break; case 2: $rec['user_type'] = ROLE_USER; break; case 3: $rec['roles'] = ROLE_MODERATOR; break; case 3: $rec['user_type'] = ROLE_MODERATOR; break; default: $rec['roles'] = ROLE_USER ; break; } } //fwrite($GLOBALS['fp'], "rec:".print_r($rec, true)."\n"); //$rec['login'] = utf8_encode( $rec['login'] );//umlavta characters fix return $rec; } else { return null; } } function getUsers() { return $this->getUsersStmt->process(); } function getUserProfile($userid) { if($user = $this->getUser($userid)) { return "../memberlist.php?mode=viewprofile&u=$userid"; } else { return null; } } function getPhoto($userid) { $rs = $this->getPhotoStmt->process($userid); if(($rec = $rs->next()) == null) return ''; $fileExt = explode(',', $GLOBALS['fc_config']['photoloading']['allowFileExt']); $oldFile = './temp/nick_image/' . $userid . '.'; $fs = reset($fileExt); while($fs) { if(file_exists($oldFile . $fs)) return $oldFile . $fs; $fs = next($fileExt); } return '../images/avatars/upload/'.$rec['user_avatar']; } 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; } } if( is_file($phpbb_root_path . 'config.php') ) { $GLOBALS['fc_config']['db'] = array( 'host' => $dbhost, 'user' => (isset($dbuser) ? $dbuser : $dbuname), 'pass' => $dbpasswd, 'base' => $dbname, 'pref' => $table_prefix . 'fc_', ); } else { $GLOBALS['fc_config']['db'] = array( 'host' => "", 'user' => "", 'pass' => "", 'base' => "", 'pref' => "", ); } $GLOBALS['table_prefix'] = $table_prefix; if( is_file($phpbb_root_path . 'config.php') ) $GLOBALS['fc_config']['cms'] = new PhpBB3CMS(); //clear 'if moderator' message foreach($GLOBALS['fc_config']['languages'] as $k => $v) { $GLOBALS['fc_config']['languages'][$k]['dialog']['login']['moderator'] = ''; } ?>