Zeile 3 | Zeile 3 |
---|
* MyBB 1.2 * Copyright � 2006 MyBB Group, All Rights Reserved *
|
* MyBB 1.2 * Copyright � 2006 MyBB Group, All Rights Reserved *
|
* Website: http://www.mybboard.com * License: http://www.mybboard.com/eula.html
| * Website: http://www.mybboard.net * License: http://www.mybboard.net/eula.html
|
*
|
*
|
* $Id: class_session.php 2411 2006-11-13 23:29:12Z CraKteR $
| * $Id: class_session.php 3574 2007-12-20 03:14:31Z Tikitiki $
|
*/
class session
| */
class session
|
Zeile 63 | Zeile 63 |
---|
}
// Attempt to load the session from the database.
|
}
// Attempt to load the session from the database.
|
$query = $db->simple_select(TABLE_PREFIX."sessions", "*", "sid='".$this->sid."' AND ip='".$db->escape_string($this->ipaddress)."'", 1);
| $query = $db->simple_select(TABLE_PREFIX."sessions", "*", "sid='".$this->sid."' AND ip='".$db->escape_string($this->ipaddress)."'", array('limit' => 1));
|
$session = $db->fetch_array($query); if($session['sid']) {
| $session = $db->fetch_array($query); if($session['sid']) {
|
Zeile 105 | Zeile 105 |
---|
}
// As a token of our appreciation for getting this far, give the user a cookie
|
}
// As a token of our appreciation for getting this far, give the user a cookie
|
my_setcookie("sid", $this->sid, -1, true);
| if((!$_COOKIE['sid'] || $_COOKIE['sid'] != $this->sid) && $this->sid) { my_setcookie("sid", $this->sid, -1, true); }
|
}
/**
| }
/**
|
Zeile 120 | Zeile 123 |
---|
$uid = intval($uid); $query = $db->query("
|
$uid = intval($uid); $query = $db->query("
|
SELECT u.*, f.*, b.dateline AS bandate, b.lifted AS banlifted, b.oldgroup AS banoldgroup
| SELECT u.*, f.*, b.dateline AS bandate, b.lifted AS banlifted, b.oldgroup AS banoldgroup, b.olddisplaygroup as banolddisplaygroup, b.oldadditionalgroups as banoldadditionalgroups
|
FROM ".TABLE_PREFIX."users u LEFT JOIN ".TABLE_PREFIX."userfields f ON (f.ufid=u.uid) LEFT JOIN ".TABLE_PREFIX."banned b ON (b.uid=u.uid) WHERE u.uid='$uid'
|
FROM ".TABLE_PREFIX."users u LEFT JOIN ".TABLE_PREFIX."userfields f ON (f.ufid=u.uid) LEFT JOIN ".TABLE_PREFIX."banned b ON (b.uid=u.uid) WHERE u.uid='$uid'
|
| LIMIT 1
|
"); $mybb->user = $db->fetch_array($query);
| "); $mybb->user = $db->fetch_array($query);
|
Zeile 136 | Zeile 140 |
---|
return false; } $this->uid = $mybb->user['uid'];
|
return false; } $this->uid = $mybb->user['uid'];
|
| // Set the logout key for this user $mybb->user['logoutkey'] = md5($mybb->user['loginkey']);
|
// Sort out the private message count for this user. if(($mybb->user['totalpms'] == -1 || $mybb->user['unreadpms'] == -1 || $mybb->user['newpms'] == -1) && $mybb->settings['enablepms'] != "no") // Forced recount
| // Sort out the private message count for this user. if(($mybb->user['totalpms'] == -1 || $mybb->user['unreadpms'] == -1 || $mybb->user['newpms'] == -1) && $mybb->settings['enablepms'] != "no") // Forced recount
|
Zeile 181 | Zeile 188 |
---|
$time = time(); if($time - $mybb->user['lastactive'] > 900) {
|
$time = time(); if($time - $mybb->user['lastactive'] > 900) {
|
$db->shutdown_query("UPDATE ".TABLE_PREFIX."users SET lastvisit='".$mybb->user['lastactive']."', lastactive='$time' $popupadd WHERE uid='".$mybb->user['uid']."'");
| $db->shutdown_query("UPDATE ".TABLE_PREFIX."users SET lastvisit='".$mybb->user['lastactive']."', lastactive='$time' $popupadd WHERE uid='".$mybb->user['uid']."' LIMIT 1");
|
$mybb->user['lastvisit'] = $mybb->user['lastactive']; require_once MYBB_ROOT."inc/functions_user.php"; update_pm_count('', 2); } else {
|
$mybb->user['lastvisit'] = $mybb->user['lastactive']; require_once MYBB_ROOT."inc/functions_user.php"; update_pm_count('', 2); } else {
|
$mybb->user['lastvisit'] = $mybb->user['lastvisit'];
| |
$timespent = time() - $mybb->user['lastactive'];
|
$timespent = time() - $mybb->user['lastactive'];
|
$db->shutdown_query("UPDATE ".TABLE_PREFIX."users SET lastactive='$time', timeonline=timeonline+$timespent $popupadd WHERE uid='".$mybb->user['uid']."'");
| $db->shutdown_query("UPDATE ".TABLE_PREFIX."users SET lastactive='$time', timeonline=timeonline+$timespent $popupadd WHERE uid='".$mybb->user['uid']."' LIMIT 1");
|
}
// Sort out the language and forum preferences.
| }
// Sort out the language and forum preferences.
|
Zeile 220 | Zeile 226 |
---|
break; case "6": $mybb->settings['dateformat'] = "d-m-y";
|
break; case "6": $mybb->settings['dateformat'] = "d-m-y";
|
break;
| break;
|
case "7": $mybb->settings['dateformat'] = "d.m.Y"; break;
| case "7": $mybb->settings['dateformat'] = "d.m.Y"; break;
|
Zeile 229 | Zeile 235 |
---|
break; case "9": $mybb->settings['dateformat'] = "F jS, Y";
|
break; case "9": $mybb->settings['dateformat'] = "F jS, Y";
|
break;
| break;
|
case "10": $mybb->settings['dateformat'] = "l, F jS, Y";
|
case "10": $mybb->settings['dateformat'] = "l, F jS, Y";
|
break;
| break;
|
case "11": $mybb->settings['dateformat'] = "jS F Y"; break;
| case "11": $mybb->settings['dateformat'] = "jS F Y"; break;
|
Zeile 240 | Zeile 246 |
---|
$mybb->settings['dateformat'] = "l, jS F Y"; break; default:
|
$mybb->settings['dateformat'] = "l, jS F Y"; break; default:
|
break; } }
| break; } }
|
// Choose time format. if($mybb->user['timeformat'] != "0" || $mybb->user['timeformat'] != '') {
|
// Choose time format. if($mybb->user['timeformat'] != "0" || $mybb->user['timeformat'] != '') {
|
switch($mybb->user['timeformat']) {
| switch($mybb->user['timeformat']) {
|
case "1": $mybb->settings['timeformat'] = "h:i a"; break;
| case "1": $mybb->settings['timeformat'] = "h:i a"; break;
|
Zeile 264 | Zeile 271 |
---|
if($mybb->user['tpp']) { $mybb->settings['threadsperpage'] = $mybb->user['tpp'];
|
if($mybb->user['tpp']) { $mybb->settings['threadsperpage'] = $mybb->user['tpp'];
|
}
| }
|
// Find out the posts per page preference. if($mybb->user['ppp'])
|
// Find out the posts per page preference. if($mybb->user['ppp'])
|
{
| {
|
$mybb->settings['postsperpage'] = $mybb->user['ppp'];
|
$mybb->settings['postsperpage'] = $mybb->user['ppp'];
|
}
| }
|
// Check if this user is currently banned and if we have to lift it. if(!empty($mybb->user['bandate']) && (isset($mybb->user['banlifted']) && !empty($mybb->user['banlifted'])) && $mybb->user['banlifted'] < $time) // hmmm...bad user... how did you get banned =/ { // must have been good.. bans up :D
|
// Check if this user is currently banned and if we have to lift it. if(!empty($mybb->user['bandate']) && (isset($mybb->user['banlifted']) && !empty($mybb->user['banlifted'])) && $mybb->user['banlifted'] < $time) // hmmm...bad user... how did you get banned =/ { // must have been good.. bans up :D
|
$db->shutdown_query("UPDATE ".TABLE_PREFIX."users SET usergroup='".$mybb->user['banoldgroup']."' WHERE uid='".$mybb->user['uid']."'");
| $db->shutdown_query("UPDATE ".TABLE_PREFIX."users SET usergroup='".$mybb->user['banoldgroup']."' WHERE uid='".$mybb->user['uid']."' LIMIT 1");
|
$db->shutdown_query("DELETE FROM ".TABLE_PREFIX."banned WHERE uid='".$mybb->user['uid']."'"); // we better do this..otherwise they have dodgy permissions
|
$db->shutdown_query("DELETE FROM ".TABLE_PREFIX."banned WHERE uid='".$mybb->user['uid']."'"); // we better do this..otherwise they have dodgy permissions
|
$query = $db->simple_select(TABLE_PREFIX."usergroups", "usergroup", "gid='".$mybb->user['banoldgroup']."'", array('limit' => 1)); $group = $db->fetch_array($query); $mybb->user['usergroup'] = $group['usergroup'];
| $mybb->user['usergroup'] = $mybb->user['banoldgroup']; $mybb->user['displaygroup'] = $mybb->user['banolddisplaygroup']; $mybb->user['additionalgroups'] = $mybb->user['banoldadditionalgroups'];
|
$mybbgroups = $mybb->user['usergroup'];
|
$mybbgroups = $mybb->user['usergroup'];
|
| if($mybb->user['additionalgroups']) { $mybbgroups .= ','.$mybb->user['additionalgroups']; }
|
} else if(!empty($mybb->user['bandate']) && (empty($mybb->user['banlifted']) || !empty($mybb->user['banlifted']) && $mybb->user['banlifted'] > $time)) {
| } else if(!empty($mybb->user['bandate']) && (empty($mybb->user['banlifted']) || !empty($mybb->user['banlifted']) && $mybb->user['banlifted'] > $time)) {
|
Zeile 291 | Zeile 303 |
---|
else { // Gather a full permission set for this user and the groups they are in.
|
else { // Gather a full permission set for this user and the groups they are in.
|
$mybbgroups = $mybb->user['usergroup'].",".$mybb->user['additionalgroups'];
| $mybbgroups = $mybb->user['usergroup']; if($mybb->user['additionalgroups']) { $mybbgroups .= ','.$mybb->user['additionalgroups']; }
|
}
|
}
|
|
|
$mybb->usergroup = usergroup_permissions($mybbgroups); if(!$mybb->user['displaygroup']) {
| $mybb->usergroup = usergroup_permissions($mybbgroups); if(!$mybb->user['displaygroup']) {
|
Zeile 310 | Zeile 326 |
---|
// Update or create the session. if(!defined("NO_ONLINE")) {
|
// Update or create the session. if(!defined("NO_ONLINE")) {
|
if($this->sid > 0)
| if(!empty($this->sid))
|
{ $this->update_session($this->sid, $mybb->user['uid']); }
| { $this->update_session($this->sid, $mybb->user['uid']); }
|
Zeile 379 | Zeile 395 |
---|
// Update the online data. if(!defined("NO_ONLINE")) {
|
// Update the online data. if(!defined("NO_ONLINE")) {
|
if($this->sid > 0)
| if(!empty($this->sid))
|
{ $this->update_session($this->sid); }
| { $this->update_session($this->sid); }
|
Zeile 453 | Zeile 469 |
---|
$onlinedata['nopermission'] = 0; $sid = $db->escape_string($sid);
|
$onlinedata['nopermission'] = 0; $sid = $db->escape_string($sid);
|
$db->update_query(TABLE_PREFIX."sessions", $onlinedata, "sid='".$sid."'");
| $db->update_query(TABLE_PREFIX."sessions", $onlinedata, "sid='".$sid."'", 1);
|
}
/**
| }
/**
|
Zeile 469 | Zeile 485 |
---|
// If there is a proper uid, delete by uid. if($uid > 0) {
|
// If there is a proper uid, delete by uid. if($uid > 0) {
|
$db->delete_query(TABLE_PREFIX."sessions", "uid=".$uid);
| $db->delete_query(TABLE_PREFIX."sessions", "uid='{$uid}'", 1);
|
$onlinedata['uid'] = $uid; } // Else delete by ip. else {
|
$onlinedata['uid'] = $uid; } // Else delete by ip. else {
|
$db->delete_query(TABLE_PREFIX."sessions", "ip='".$this->ipaddress."'");
| $db->delete_query(TABLE_PREFIX."sessions", "ip='".$db->escape_string($this->ipaddress)."'", 1);
|
$onlinedata['uid'] = 0; }
| $onlinedata['uid'] = 0; }
|