fixed an SSO issue

This commit is contained in:
SJ 2012-11-26 23:15:56 +01:00
parent e1f8ea3ed0
commit 24672a02a1
2 changed files with 16 additions and 1 deletions

View File

@ -82,7 +82,7 @@ class ModelUserAuth extends Model {
$_SESSION['username'] = $query->row['username']; $_SESSION['username'] = $query->row['username'];
$_SESSION['uid'] = $query->row['uid']; $_SESSION['uid'] = $query->row['uid'];
$_SESSION['admin_user'] = $query->row['isadmin']; $_SESSION['admin_user'] = $query->row['isadmin'];
$_SESSION['email'] = $username; $_SESSION['email'] = $this->model_user_user->get_primary_email_by_domain($query->row['uid'], $query->row['domain']);
$_SESSION['domain'] = $query->row['domain']; $_SESSION['domain'] = $query->row['domain'];
$_SESSION['realname'] = $query->row['realname']; $_SESSION['realname'] = $query->row['realname'];

View File

@ -124,6 +124,21 @@ class ModelUserUser extends Model {
} }
public function get_primary_email_by_domain($uid = 0, $domain = '') {
$email = "";
$query = $this->db->query("SELECT email FROM " . TABLE_EMAIL . " WHERE uid=?", array((int)$uid));
if(isset($query->row)) { $email = $query->row['email']; }
foreach ($query->rows as $q) {
if(preg_match("/\@$domain$/", $q['email'])) { return $q['email']; }
}
return $email;
}
public function get_user_by_dn($dn = '') { public function get_user_by_dn($dn = '') {
if($dn == '') { return array(); } if($dn == '') { return array(); }