Moderator: Integra Moderator
//your CMS system
<php>constArr = array( 'users' =>'phpbb_users', 'login' =>'username', 'id' =>'user_id', 'password' =>'user_password', 'roles' =>'user_id', 'encode_type' =>'md5', 'spy_fld' =>'user_id', 'spy_value' =>'100', 'profile_path'=>'http]} WHERE username=? AND user_password=md5(?) AND user_active<0>constArr['sessions']} WHERE session_id=?"); $this->configStmt = new Statement("SELECT * FROM {$GLOBALS['table_prefix']}config WHERE config_name='cookie_name'"); $this->getUserStmt = new Statement("SELECT * FROM {$this->constArr['users']} WHERE {$this->constArr['id']}=? LIMIT 1"); $this->getUsersStmt = new Statement("SELECT * FROM {$this->constArr['users']} ORDER BY {$this->constArr['login']}"); $this->delStmt = new Statement("DELETE FROM {$this->constArr['users']} WHERE {$this->constArr['login']}=?"); $encode_type = $this->constArr['encode_type']; switch( $encode_type ) { case 'md5' : $this->loginStmt = new Statement("SELECT * FROM {$this->constArr['users']} WHERE {$this->constArr['login']}=? AND {$this->constArr['password']}=MD5(?) LIMIT 1"); $this->addUserStmt = new Statement("INSERT INTO {$this->constArr['users']} ({$this->constArr['login']}, {$this->constArr['password']}) VALUES(?, MD5(?))"); break; case 'mysql_pass' : $this->loginStmt = new Statement("SELECT * FROM {$this->constArr['users']} WHERE {$this->constArr['login']}=? AND {$this->constArr['password']}=PASSWORD(?) LIMIT 1"); $this->addUserStmt = new Statement("INSERT INTO {$this->constArr['users']} ({$this->constArr['login']}, {$this->constArr['password']}) VALUES(?, PASSWORD(?))"); break; default : $this->loginStmt = new Statement("SELECT * FROM {$this->constArr['users']} WHERE {$this->constArr['login']}=? AND {$this->constArr['password']}=? LIMIT 1"); $this->addUserStmt = new Statement("INSERT INTO {$this->constArr['users']} ({$this->constArr['login']}, {$this->constArr['password']}) VALUES(?, ?)"); break; } } //----------------------------------------------------------------------------------------- function isLoggedIn() { return $this->userid; } //----------------------------------------------------------------------------------------- function login($login, $password) { $this->userid = null; if($login && $password) { $encode_type = $this->constArr['encode_type']; $pass = $password; /* switch( $encode_type ) { case 'md5' : $pass = md5($password); break; default : $pass = $password; break; }*/ //Try to find user using provided login if(($rs = $this->loginStmt->process($login,$pass)) && ($rec = $rs->next())) { //if($rec[$this->constArr['password']] == $pass) $this->userid = $rec[$this->constArr['id']]; } else { //If not - autocreate user with such login and password if($this->autocreateUsers) { //$roles = ($password == $GLOBALS['fc_config']['adminPassword'])?ROLE_ADMIN:($GLOBALS['fc_config']['liveSupportMode']?ROLE_CUSTOMER:ROLE_USER); $ins = $this->addUserStmt->process($login, $pass); if( $ins != null && $ins == 0 ) { //we not know if id field is autoincrement $this->userid = login($login, $password); } elseif($ins != null) { $this->userid = $ins; } } } } return $this->userid; } //----------------------------------------------------------------------------------------- function logout() { if($this->constArr['logoff'] == 'true') $this->user = null; } //----------------------------------------------------------------------------------------- function getUser($userid) { if($userid) { $rs = $this->getUserStmt->process($userid); $usr = $rs->next(); $usr['login'] = $usr[$this->constArr['login']];//important! $usr['roles'] = $usr[$this->constArr['moderator_fld']] == $this->constArr['moderator_value'] ? ROLE_ADMIN : ($usr[$this->constArr['spy_fld']] == $this->constArr['spy_value'] ? ROLE_SPY : ROLE_USER); 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[$this->constArr['login']];//important! $users['roles'] = $users[$this->constArr['moderator_fld']] == $this->constArr['moderator_value'] ? ROLE_ADMIN : ($users[$this->constArr['spy_fld']] == $this->constArr['spy_value'] ? ROLE_SPY : ROLE_USER); } return $users; } //----------------------------------------------------------------------------------------- function getUserProfile($userid) { $spy_fld = $this->constArr['spy_fld']; $spy_val = $this->constArr['spy_value']; $user = $this->getUser($userid); if( $spy_fld != '' ) { if( $user[$spy_fld] == $spy_val ) return null; } extract($user); return "{$this->constArr['profile_path']}?mode=viewprofile&u={$user_id}"; } //----------------------------------------------------------------------------------------- function userInRole($userid, $role) { if($user = $this->getUser($userid)) { if($role == ROLE_ADMIN) { if( $user[$this->constArr['moderator_fld']] == $this->constArr['moderator_value']) return true; else return false; } if($role == ROLE_SPY) { if( $user[$this->constArr['spy_fld']] == $this->constArr['spy_value']) return true; else return false; } if($role == ROLE_USER) { return true;//??? } } return false; } function getGender($userid) { // 'M' for Male, 'F' for Female, NULL for undefined return NULL; } function addUser($login, $password, $roles) { $user = $this->loginStmt->process($login); if(($rec = $user->next()) != null) return $rec['id']; /* $encode_type = $this->constArr['encode_type']; $pass = $password; switch( $encode_type ) { case 'md5' : $pass = md5($password); break; default : $pass = $password; break; } */ return $this->addUserStmt->process($login, $password); } function deleteUser($login){ $this->delUserStmt->process($login); } } $GLOBALS['fc_config']['cms'] = new DefaultCMS(); //clear 'if moderator' message foreach($GLOBALS['fc_config']['languages'] as $k => $v) { $GLOBALS['fc_config']['languages'][$k]['dialog']['login']['moderator'] = ''; }?>
Do you mean that you can login without entering your username and password, or are you referring to the manual entry?"cleo";p="8357" wrote:thanks, got it to working, and the auto login does not work for me either. but if you go to chat/index.php and click on the auto login from there, it works.
This password is not necessarily the same as your IM password. It is defined in config.php, somewhere around line 65:and i cannot log in as admin, when i go to FlashChat Admin Panel i get
Could not grant admin role for this login and password.
any ideas how i can get in there and set up the chat rooms etc?
'adminPassword' => 'adminpass', //allows any user to login as a moderator - stateless CMS mode only
I am going to retract this statement. I think that password only applied to a stateless CMS. Go ahead and try it to be sure, but it does not work on mine."Dr. Bantham";p="8365" wrote:This password is not necessarily the same as your IM password. It is defined in config.php, somewhere around line 65.
Registered users: Bing [Bot], Google [Bot], Unspecified Bot, Vendethiel