GIF89a;
| Direktori : /home/serb/public_html/chat/inc/cmses/ |
| Current File : /home/serb/public_html/chat/inc/cmses/datingProCMS.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.
/************************************************************************/
$dpro_root_path = realpath(dirname(__FILE__) . '/../../../') . '/';
include($dpro_root_path . "include/config.php");
include($dpro_root_path . "common.php");
include($dpro_root_path . "include/functions_auth.php");
$fp = fopen(realpath(dirname(__FILE__))."/debug/debug".time().".txt", "w");
function handler($errno, $errmsg, $filename, $linenum, $vars) {
$report = "errornum: {$errno}\nerrormsg: {$errmsg}\nfilename: {$filename} ({$linenum})\n\n";
fwrite($GLOBALS['fp'], $report);
}
set_error_handler("handler");
*/
class DatingProCMS {
var $userid = null;
var $loginStmt;
var $getUserStmt;
var $getUsersStmt;
function DatingProCMS() {
$this->getUserStmt = new Statement("SELECT id, login, gender, root_user from ".USERS_TABLE." WHERE id=? LIMIT 1");
$this->loginStmt = new Statement("SELECT id, login, gender, root_user from ".USERS_TABLE." WHERE login=? AND password=? LIMIT 1");
$this->getUsersStmt = new Statement("SELECT id, login, gender, root_user from ".USERS_TABLE);
$user = auth_index_user();
//trigger_error("user: ".print_r($user, true), E_USER_NOTICE);
if ($user[3] != 1) $this->userid = $user[0];
else $this->userid = null;
}
function isLoggedIn() {
return $this->userid;
}
function login($login, $password) {
global $dbconn;
if ($this->userid) {
// delete old session
$strSQL = "Delete from ".ACTIVE_SESSIONS_TABLE." where id_user='".$this->userid."' and session='".session_id()."' ";
$rs = $dbconn->Execute($strSQL);
$strSQL = "Delete from ".ONLINE_NOTICE_TABLE." where id_from ='".$this->userid."' and type='1' ";
$rs = $dbconn->Execute($strSQL);
}
$this->userid = null;
$_POST["login_lg"] = $login;
$_POST["pass_lg"] = $password;
$u = auth_user();
if ($u[3] != 1) {
$this->userid = $u[0];
}
else
$this->userid = NULL;
return $this->userid;
}
function logout(){
$this->userid = null;
}
function getUser($userid) {
$rv = NULL;
$rs = $this->getUserStmt->process($userid);
if ($rec = $rs->next()) {
$rec["roles"] = $this->getRoles($rec["root_user"]);
$rv = $rec;
}
return $rv;
}
function getUsers() {
$rs = $this->getUsersStmt->process();
$rv = array();
while ($rec = $rs->next()) {
$rec["roles"] = $this->getRoles($rec["root_user"]);
$rv[] = $rec;
}
return $rv;
}
function getUserProfile($userid) {
if($userid == SPY_USERID) return null;
return $GLOBALS["config"]["site_root"] . (($userid == $this->userid) ? "/myprofile.php" : "/viewprofile.php?id=".$userid);
}
function getRoles($group) {
$rv = NULL;
if ($group == 1) {
$rv = ROLE_ADMIN;
}
elseif ($GLOBALS['fc_config']['liveSupportMode']) {
$rv = ROLE_CUSTOMER;
}
else
$rv = ROLE_USER;
return $rv;
}
function userInRole($userid, $role) {
if($user = $this->getUser($userid)) {
return ($user['roles'] == $role);
}
return false;
}
function getGender($user) {
// 'M' for Male, 'F' for Female, NULL for undefined
$pr = $this->getUser($user);
if ($pr["gender"] == 1) return 'M';
elseif ($pr["gender"] == 2) return 'F';
else return NULL;
}
}
$GLOBALS['fc_config']['db'] = array(
'host' => $config["dbhost"],
'user' => $config["dbuname"],
'pass' => $config["dbpass"],
'base' => $config["dbname"],
'pref' => $config["table_prefix"] . "fc_",
);
$GLOBALS['fc_config']['cms'] = new DatingProCMS();
?>