rewrote php session variables

This commit is contained in:
SJ
2013-11-18 19:24:33 +01:00
parent 0809b5a514
commit 881a2380e0
39 changed files with 302 additions and 609 deletions

View File

@@ -4,6 +4,8 @@ class ModelUserGoogle extends Model {
public function check_for_account($google_account = array()) {
$session = Registry::get('session');
$query = $this->db->query("SELECT " . TABLE_USER . ".username, " . TABLE_USER . ".uid, " . TABLE_USER . ".realname, " . TABLE_USER . ".dn, " . TABLE_USER . ".password, " . TABLE_USER . ".isadmin, " . TABLE_USER . ".domain FROM " . TABLE_USER . ", " . TABLE_EMAIL . " WHERE " . TABLE_EMAIL . ".email=? AND " . TABLE_EMAIL . ".uid=" . TABLE_USER . ".uid", array($google_account['email']));
if($query->num_rows == 1) {
@@ -39,16 +41,16 @@ class ModelUserGoogle extends Model {
$this->model_domain_domain->addDomain($user['domain'], $user['domain']);
}
$_SESSION['username'] = $user['username'];
$_SESSION['uid'] = $user['uid'];
$_SESSION['admin_user'] = 0;
$_SESSION['email'] = $user['username'];
$_SESSION['domain'] = $query->row['domain'];
$_SESSION['realname'] = $query->row['realname'];
$session->set("username", $user['username']);
$session->set("uid", $user['uid']);
$session->set("admin_user", 0);
$session->set("email", $user['username']);
$session->set("domain", $query->row['domain']);
$session->set("realname", $query->row['realname']);
$_SESSION['emails'] = $this->model_user_user->get_users_all_email_addresses($user['uid']);
$_SESSION['folders'] = $this->model_folder_folder->get_all_folder_ids($user['uid']);
$_SESSION['extra_folders'] = $this->model_folder_folder->get_all_extra_folder_ids($user['uid']);
$session->set("emails", $this->model_user_user->get_users_all_email_addresses($user['uid']));
$session->set("folders", $this->model_folder_folder->get_all_folder_ids($user['uid']));
$session->set("extra_folders", $this->model_folder_folder->get_all_extra_folder_ids($user['uid']));
AUDIT(ACTION_LOGIN, $user['username'], '', '', 'successful auth against Google');

View File

@@ -5,11 +5,13 @@ class ModelUserPrefs extends Model {
public function get_user_preferences($username = '') {
if($username == "") { return 0; }
$session = Registry::get('session');
$query = $this->db->query("SELECT * FROM " . TABLE_USER_SETTINGS . " WHERE username=?", array($username));
if(isset($query->row['pagelen'])) { $_SESSION['pagelen'] = $query->row['pagelen']; } else { $_SESSION['pagelen'] = PAGE_LEN; }
if(isset($query->row['theme'])) { $_SESSION['theme'] = $query->row['theme']; } else { $_SESSION['theme'] = THEME; }
if(isset($query->row['lang'])) { $_SESSION['lang'] = $query->row['lang']; } else { $_SESSION['lang'] = DEFAULT_LANG; }
if(isset($query->row['pagelen'])) { $session->set("pagelen", $query->row['pagelen']); } else { $session->set("pagelen", PAGE_LEN); }
if(isset($query->row['theme'])) { $session->set("theme", $query->row['theme']); } else { $session->set("theme", THEME); }
if(isset($query->row['lang'])) { $session->set("lang", $query->row['lang']); } else { $session->set("lang", DEFAULT_LANG); }
return 1;
}
@@ -20,6 +22,8 @@ class ModelUserPrefs extends Model {
if(!isset($prefs['pagelen']) || !is_numeric($prefs['pagelen']) || $prefs['pagelen'] < 10 || $prefs['pagelen'] > 100
|| !isset($prefs['theme']) || !preg_match("/^([a-zA-Z0-9\-\_]+)$/", $prefs['theme']) || !file_exists(DIR_THEME . $prefs['theme']) ) { return 1; }
$session = Registry::get('session');
$query = $this->db->query("SELECT COUNT(*) AS num FROM " . TABLE_USER_SETTINGS . " WHERE username=?", array($username));
if((int)@$query->row['num'] == 1) {
@@ -30,9 +34,9 @@ class ModelUserPrefs extends Model {
}
$_SESSION['pagelen'] = $prefs['pagelen'];
$_SESSION['theme'] = $prefs['theme'];
$_SESSION['lang'] = $prefs['lang'];
$session->set("pagelen", $prefs['pagelen']);
$session->set("theme", $prefs['theme']);
$session->set("lang", $prefs['lang']);
LOGGER("set user preference", $username);

View File

@@ -85,7 +85,9 @@ class ModelUserUser extends Model {
public function get_users_all_domains($uid = 0) {
$data = array();
array_push($data, $_SESSION['domain']);
$session = Registry::get('session');
array_push($data, $session->get('domain'));
if($uid > 0) {
$query = $this->db->query("SELECT domain FROM " . TABLE_DOMAIN_USER . " WHERE uid=?", array((int)$uid));