GIF89a; Mini Shell

Mini Shell

Direktori : /home/serb/www/chat/inc/cmses/
Upload File :
Current File : /home/serb/www/chat/inc/cmses/geeklogCMS.php

<?php
/************************************************************************/
//!!! IMPORTANT NOTE
//!!! FlashChat 4.4.0 and higher support a new user role: ROLE_MODERATOR
//!!! Please edit the getUser and getRoles function if you need use of
//!!! the new moderator role. This change has not yet been applied.
/************************************************************************/

$gl_path = realpath(dirname(__FILE__) . '/../../../') . '/';
include($gl_path . 'lib-common.php');


class GeekLogCMS {
	function GeekLogCMS() {
		$this->dummy = NULL;
	}

	// See if user is logged in. Works
	function isLoggedIn() {
		//global $_USER;
		global $_CONF;

		//return $_USER ? $_USER['uid'] : null;
		return isset($_COOKIE[$_CONF['cookie_name']]) ? $_COOKIE[$_CONF['cookie_name']] : NULL;
	}


	// performs user login using provided login and password, return logged in user id, otherwise returns null

	function login($login, $password) {
		global $_USER, $_CONF, $_TABLES;
		if (COM_getPassword($login) == md5($password)) {

			DB_change($_TABLES['users'],'pwrequestid',"NULL",'username',$login);
			$_USER=SESS_getUserData($login);
			$sessid = SESS_newSession($_USER['uid'], $REMOTE_ADDR, $_CONF['session_cookie_timeout'], $_CONF['cookie_ip']);
			SESS_setSessionCookie($sessid, $_CONF['session_cookie_timeout'], $_CONF['cookie_session'], $_CONF['cookie_path'], $_CONF['cookiedomain'], $_CONF['cookiesecure']);

			if (!isset($HTTP_COOKIE_VARS[$_CONF["cookie_name"]]) || !isset($HTTP_COOKIE_VARS['password'])) {
				$cooktime = COM_getUserCookieTimeout();
				if ($cooktime > 0) {
					setcookie ($_CONF['cookie_name'], $_USER['uid'],time() + $cooktime, $_CONF['cookie_path'], $_CONF['cookiedomain'],$_CONF['cookiesecure']);
					setcookie ($_CONF['cookie_password'], md5($password),time() + $cooktime,$_CONF['cookie_path'],$_CONF['cookiedomain'], $_CONF['cookiesecure']);
				}
			} else {
				$userid = $HTTP_COOKIE_VARS[$_CONF['cookie_name']];
				if (empty ($userid) || ($userid == 'deleted')) {
					unset ($userid);
				} else {
					if ($userid) {
						$user_logged_in = 1;
						// Create new session
						$userdata = SESS_getUserDataFromId($userid);
						$_USER = $userdata;
					}
				}
			}
			setcookie ($_CONF['cookie_theme'], $_USER['theme'], time() + 31536000,$_CONF['cookie_path'], $_CONF['cookiedomain'],$_CONF['cookiesecure']);
			return $_USER['uid'];
		}
		return null;
	}

	// performs logging out for actual user, Works

	function logout(){
	}

	// returns used data for provided user id. User data is an array like:
	// array(
	//      'id' => <user id>,
	//      'login' => <user login>,
	//      'roles'=> ROLE_USER for users, ROLE_ADMIN for admins, or ROLE_USER | ROLE_ADMIN if user has both roles
	// );
	// ROLE_USER and ROLE_ADMIN are constants defined in inc/common.php
	// returns null if such user is not found

	function getUser($userid) {
		global $_TABLES;
		$u = null;

		if ($userid) {

			$u['id']=$userid;

			$u['login'] = DB_getItem($_TABLES['users'],"username","uid=".$userid);
			$u['roles'] = $GLOBALS['fc_config']['liveSupportMode']?ROLE_CUSTOMER:ROLE_USER;

			$array = explode(",",SEC_getUserPermissions('',$userid));

			foreach($array as $k => $v){
				if($v == 'user.edit'){
					$u['roles'] = ROLE_ADMIN;
					break;
				}
			}

			return $u;

		}
		return null;
	}

	function getUsers() {
		global $_TABLES;
		$stmt = new Statement("SELECT uid as id, username as login FROM ".$_TABLES['users']);
		return $stmt->process();
	}

	// returns URL of user profile page for such user id or null if user not found

	function getUserProfile($userid) {
		if($userid == SPY_USERID) return null;

		global $_CONF;
		return $_CONF['site_url'] . "/users.php?mode=profile&uid=$userid";
	}

	// checks user role

	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' => $_DB_host,
	'user' => $_DB_user,
	'pass' => $_DB_pass,
	'base' => $_DB_name,
	'pref' => $_DB_table_prefix . 'fc_'
);

foreach($GLOBALS['fc_config']['languages'] as $k => $v) {

$GLOBALS['fc_config']['languages'][$k]['dialog']['login']['moderator'] = '';
}


$GLOBALS['fc_config']['cms'] = new GeekLogCMS();

?>

./BlackJoker Mini Shell 1.0