Popravljen AAI login, da deluje tudi po spremembi Arnes emaila - POTREBNO TESTIRATI NA AAI
This commit is contained in:
parent
79f9bdcfd0
commit
4be6dea5d4
@ -96,18 +96,42 @@ class User {
|
||||
public static function findByEmail($email = null){
|
||||
|
||||
$user_id = sisplet_query("SELECT id FROM users WHERE email='".$email."'", "obj");
|
||||
if(!empty($user_id)){
|
||||
return $user_id->id;
|
||||
}
|
||||
if(!empty($user_id)){
|
||||
return $user_id->id;
|
||||
}
|
||||
|
||||
// Preverimo, če uporablja alternativni email
|
||||
$alternativni = sisplet_query("SELECT user_id FROM user_emails WHERE email='".$email."'", "obj");
|
||||
if(!empty($alternativni)){
|
||||
return $alternativni->user_id;
|
||||
}
|
||||
// Preverimo, če uporablja alternativni email
|
||||
$alternativni = sisplet_query("SELECT user_id FROM user_emails WHERE email='".$email."'", "obj");
|
||||
if(!empty($alternativni)){
|
||||
return $alternativni->user_id;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static function findByEmail_AAI($email, $aai_id){
|
||||
|
||||
$user_id = sisplet_query("SELECT id FROM users WHERE email='".$email."'", "obj");
|
||||
if(!empty($user_id)){
|
||||
|
||||
// Ce se nimamo zabelezenega aai_id-ja (uuid), ga pri prvi novi prijavi zabelezimo
|
||||
sisplet_query("UPDATE users SET aai_id='".$aai_id."' WHERE user_id='".$user_id->id."' AND email='".$email."' AND aai_id=''");
|
||||
|
||||
return $user_id->id;
|
||||
}
|
||||
|
||||
// Preverimo, če obstaja racun s tem aai id (uuid)
|
||||
$user_id = sisplet_query("SELECT id FROM users WHERE aai_id='".$aai_id."'", "obj");
|
||||
if(!empty($user_id)){
|
||||
|
||||
// Ce obstaja pomeni da je bil aai email spremenjen - ga popravimo se v bazi
|
||||
sisplet_query("UPDATE users SET email='".$email."' WHERE user_id='".$user_id->id."' AND aai_id='".$aai_id."'");
|
||||
|
||||
return $user_id->id;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public function insertAlternativeEmail($email = NULL, $active = 0)
|
||||
{
|
||||
@ -147,7 +171,8 @@ class User {
|
||||
|
||||
if(!empty($option)){
|
||||
sisplet_query("UPDATE user_options SET option_value='".$value."' WHERE user_id='".$this->user->id."' AND id='".$option->id."'");
|
||||
}else{;
|
||||
}
|
||||
else{;
|
||||
sisplet_query("INSERT INTO user_options (user_id, option_name, option_value, created_at) VALUES ('".$this->user->id."', '".$name."', '".$value."', NOW())");
|
||||
}
|
||||
}
|
||||
|
@ -895,11 +895,14 @@ class ApiLogin
|
||||
sort($mails);
|
||||
$mail = $mails[0];
|
||||
|
||||
$ime = $data[1];
|
||||
$priimek = $data[2];
|
||||
// Pridobimo aai (shibboleth) "uuid"
|
||||
$aai_id = $data[1];
|
||||
|
||||
$njegova = $data[3];
|
||||
$moja = $data[4];
|
||||
$ime = $data[2];
|
||||
$priimek = $data[3];
|
||||
|
||||
$njegova = $data[4];
|
||||
$moja = $data[5];
|
||||
|
||||
|
||||
// Preverimo ce ima veljaven token (najprej pobrisemo stare)
|
||||
@ -911,14 +914,15 @@ class ApiLogin
|
||||
$pass = base64_encode((hash('SHA256', "e5zhbWRTEGW&u375ejsznrtztjhdtz%WZ&".$pass_salt)));
|
||||
|
||||
// Preverimo ce obstaja user v bazi
|
||||
$user_id_1ka = User::findByEmail($mail);
|
||||
$user_id_1ka = User::findByEmail_AAI($mail, $aai_id);
|
||||
|
||||
if (empty($user_id_1ka)) {
|
||||
|
||||
// Nastavimo pass
|
||||
$pass = base64_encode(hash('SHA256', "e5zhbWRTEGW&u375ejsznrtztjhdtz%WZ&".$pass_salt));
|
||||
|
||||
// dodaj ga v bazo
|
||||
sisplet_query("INSERT INTO users (email, name, surname, type, pass, eduroam, when_reg) VALUES ('$mail', '$ime', '$priimek', '3', '".$pass."', '1', NOW())");
|
||||
sisplet_query("INSERT INTO users (email, aai_id, name, surname, type, pass, eduroam, when_reg) VALUES ('$mail', '$aai_id', '$ime', '$priimek', '3', '".$pass."', '1', NOW())");
|
||||
|
||||
// Pridobimo id dodanega userja
|
||||
$user_id = mysqli_insert_id($GLOBALS['connect_db']);
|
||||
@ -926,10 +930,11 @@ class ApiLogin
|
||||
else {
|
||||
|
||||
// potegni geslo in mu daj kuki
|
||||
$result = sisplet_query("SELECT pass, id FROM users WHERE id='".$user_id_1ka."'");
|
||||
$result = sisplet_query("SELECT pass, email FROM users WHERE id='".$user_id_1ka."'");
|
||||
$r = mysqli_fetch_row($result);
|
||||
|
||||
$pass = $r[0];
|
||||
$mail = $r[1];
|
||||
$user_id = $user_id_1ka;
|
||||
}
|
||||
|
||||
|
@ -9534,3 +9534,8 @@ ALTER TABLE srv_language_vrednost CHANGE naslov2 naslov2 TEXT character set utf8
|
||||
ALTER TABLE srv_language_spremenljivka CHANGE info info TEXT character set utf8 NOT NULL;
|
||||
|
||||
UPDATE misc SET value='21.07.29' WHERE what="version";
|
||||
|
||||
## AAI ID uporabnika - SAMO NA AAI instalaciji!!!
|
||||
##ALTER TABLE users ADD aai_id VARCHAR(255) CHARACTER SET utf8 NOT NULL DEFAULT '' AFTER email;
|
||||
|
||||
UPDATE misc SET value='21.08.30' WHERE what="version";
|
||||
|
Loading…
x
Reference in New Issue
Block a user