GIF89a;
Direktori : /home/serb/public_html/chat/inc/cmses/ |
Current File : /home/serb/public_html/chat/inc/cmses/MyBBCMS.php |
<?php // integration class for MyBB 1.0 Forum (http://www.mybboard.com) // written by Veronica Dec 2005 // updated Jan 2006 with additional user groups support // tested with FlashChat 4.5.4 // version 1.2 $mybb_root_path = realpath(dirname(__FILE__) . '/../../../') . '/'; include($mybb_root_path . 'inc/config.php'); class MYBBCMS { var $userid; var $loginStmt; var $getUserStmt; var $getGenderStmt; var $getUsersStmt; function MYBBCMS() { $this->loginStmt = new Statement("SELECT uid AS id, username AS login, password, salt, loginkey FROM {$GLOBALS['db_prefix']}users WHERE username=? LIMIT 1"); $this->getUserStmt = new Statement("SELECT uid AS id, username AS login, usergroup, additionalgroups, avatar, showavatars FROM {$GLOBALS['db_prefix']}users WHERE uid=? LIMIT 1"); $this->getGenderStmt = new Statement("SELECT ufid AS id, fid3 AS gender FROM {$GLOBALS['db_prefix']}userfields WHERE ufid=? LIMIT 1"); $this->getUsersStmt = new Statement("SELECT uid AS id, username as login FROM {$GLOBALS['db_prefix']}users"); $this->userid = NULL; if(isset($_COOKIE['mybbuser'])) $id = explode('_', $_COOKIE['mybbuser']); if(isset($_COOKIE['mybbadmin'])) $id = explode('_', $_COOKIE['mybbadmin']); if($id[0]) $this->userid = $id[0]; } function isLoggedIn() { return $this->userid; } function getRoles($status1, $status2) { $rv = NULL; $groups = explode(',', ($status1 . ',' . $status2)); // MyBB: usergroups table titles if(in_array(2, $groups)) $rv = ROLE_USER; // Registered // Remove these lines if you have a specific FlashChat Moderator group if(in_array(3, $groups)) $rv = ROLE_MODERATOR; // Super Moderators if(in_array(6, $groups)) $rv = ROLE_MODERATOR; // Moderators // if(in_array(X, $groups)) $rv = ROLE_MODERATOR; // FlashChat Moderators // Extra usergroup change X to your usergroup gid number and remove double slashes // First extra usergroups gid number is 8 etc if(in_array(4, $groups)) $rv = ROLE_ADMIN; // Administrators if(in_array(1, $groups)) $rv = ROLE_ANY; // Unregistered / Not Logged In if(in_array(5, $groups)) $rv = ROLE_ANY; // Awaiting Activation if(in_array(7, $groups)) $rv = ROLE_NOBODY; // Banned return $rv; } function getUserProfile($userid) { if ($userid == SPY_USERID) $rv = NULL; elseif ($user = $this->getUser($userid)) { $rv = "../member.php?action=profile&uid=".$userid; } return $rv; } function getUser($userid) { $rv = NULL; if(($rs = $this->getUserStmt->process($userid)) && ($rec = $rs->next())) { $rec['roles'] = $this->getRoles($rec['usergroup'], $rec['additionalgroups']); $rv = $rec; } return $rv; } function login($login, $password) { $rs = $this->loginStmt->process($login); $this->userid = null; if ( ($rec = $rs->next()) && !empty($rec['password']) && ($rec['password'] == md5(md5($rec['salt']) . md5($password))) ) $this->userid = $rec['id']; return $this->userid; } function userInRole($userid, $role) { if($rs = $this->getUser($userid)) return ($this->getRoles($rs['usergroup'], $rs['additionalgroups']) == $role); return false; } function logout() { } function getUsers() { return $this->getUsersStmt->process(); } function getGender($userid) { // 'M' for Male, 'F' for Female, NULL for undefined $sex = $this->getGenderStmt->process($userid); if($gender = $sex->next()) { if($gender['gender'] == 'Female') return 'F'; if($gender['gender'] == 'Male') return 'M'; } return NULL; } function getPhoto($userid) { $rs = $this->getUserStmt->process($userid); if($rec = $rs->next()) { if($rec['showavatars'] == 'yes') { $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); } if($rec['avatar']) { $rec['avatar'] = '../' . $rec['avatar']; $path_parts = pathinfo($rec['avatar']); if(file_exists($rec['avatar']) && is_file( $rec['avatar']) && filesize($rec['avatar']) < $GLOBALS['fc_config']['photoloading']['maxFileSize'] && in_array($path_parts['extension'], $fileExt)) return $rec['avatar']; } } } return ''; } } $GLOBALS['fc_config']['db'] = array( 'host' => $config['hostname'], 'user' => $config['username'], 'pass' => $config['password'], 'base' => $config['database'], 'pref' => $config['table_prefix'] . "fc_", ); $GLOBALS['db_prefix'] = $config['table_prefix']; $GLOBALS['fc_config']['cms'] = new MYBBCMS(); foreach($GLOBALS['fc_config']['languages'] as $k => $v) { $GLOBALS['fc_config']['languages'][$k]['dialog']['login']['moderator'] = ''; } ?>