GIF89a;
Direktori : /home/serb/public_html/chat/inc/cmses/ |
Current File : /home/serb/public_html/chat/inc/cmses/easysiteCMS.php |
<?php $easysitepath = realpath(dirname(__FILE__) . '/../../../') . '/'; require_once($easysitepath . 'config.php'); class easysiteCMS { var $userid; var $userrole; var $loginStmt; var $passFormat; var $getUserStmt; var $getGrpPerm; var $getUsersStmt; var $getSiteStmt; function easysiteCMS() { $this->userid = NULL; //if the session variable of the user_id exists assigns the user if($_SESSION['es_auth']['id'] > 0) $this->userid = $_SESSION['es_auth']['id']; $this->getUserStmt = new Statement('SELECT * FROM '.USERS_TABLE.' WHERE id=? LIMIT 1'); $this->getUsersStmt = new Statement('SELECT * FROM '.USERS_TABLE.' ORDER BY login_id'); //This statement is just used for comparing the different user groups $this->getGrpPerm = new Statement('SELECT * FROM '.PERMISSIONS_TABLE.' WHERE group_id=? AND resource_type=?'); //This statement is only used for determining whether the passwords are stored in MD5 format $this->getSiteStmt = new Statement('SELECT * FROM '.SETTINGS_TABLE.' WHERE property=? AND value=?'); $this->loginStmt = new Statement('SELECT * FROM '.USERS_TABLE.' WHERE login_id=? AND login_pass='.$this->getPassFormat().' LIMIT 1'); } function isLoggedIn() { return $this->userid; } function login($login, $password) { $this->userid = null; if($login && $password) { $pass = $password; if(($rs = $this->loginStmt->process($login,$pass)) && ($rec = $rs->next())) { $this->userid = $rec['id']; } } return $this->userid; } function logout() { $this->userid = null; } function getUser($userid) { if($userid) { $rs = $this->getUserStmt->process($userid); $usr = $rs->next(); $usr['login'] = $usr['login_id']; $usr['roles'] = $this->getRole($userid); return $usr; } else { return NULL; } } function getUsers() { $users = $this->getUsersStmt->process(); if( is_array($users) ) if( sizeof($users) > 0) foreach( $users as $k=>$v ) { $users['login'] = $users['login_id']; $users['roles'] = $this->getRole($userid); } return $users; } function getPassFormat() { $property = 'use_md5'; $value = 'yes'; if(($rs = $this->getSiteStmt->process($property, $value)) && ($rec = $rs->next())) { $this->passFormat = 'md5(?)'; } else { $this->passFormat = '?'; } return $this->passFormat; } function getRole($userid) { if($userid) { $rt = $this->getUserStmt->process($userid); $usr = $rt->next(); $grpid = $usr['group_id']; $disa = 'cm_backup'; $dism = 'cm_users'; if(($rt2 = $this->getGrpPerm->process($grpid,$disa)) && ($rec = $rt2->next())) { $this->userrole = ROLE_ADMIN; } else { if(($rt3 = $this->getGrpPerm->process($grpid,$dism)) && ($rec2 = $rt3->next())) { $this->userrole = ROLE_MODERATOR; } else { $this->userrole = ROLE_USER; } } } return $this->userrole; } function userInRole($userid, $role) { if($user = $this->getUser($userid)) { if($role == ROLE_ADMIN) { if($role == $this->getRole($userid)) return true; else return false; } if($role == ROLE_MODERATOR) { if($role == $this->getRole($userid)) return true; else return false; } if($role == ROLE_USER) { return true; } } return false; } } $GLOBALS['fc_config']['db'] = array( 'host' => DB_HOST, 'user' => DB_USER, 'pass' => DB_PASS, 'base' => DB_NAME, 'pref' => DB_PREFIX . '_fc_',//DB_PREFIX ); $GLOBALS['fc_config']['cms'] = new easysiteCMS(); foreach($GLOBALS['fc_config']['languages'] as $k => $v) { $GLOBALS['fc_config']['languages'][$k]['dialog']['login']['moderator'] = ''; } ?>