This commit is contained in:
2022-04-10 19:04:17 -04:00
parent 6596089608
commit 577995cf03
5 changed files with 54 additions and 25 deletions
+25 -11
View File
@@ -36,7 +36,7 @@ class Login extends WRB_Controller {
}
public function index() {
$data["login_message"] = "";
$data["login_message"] = $this->session->flashdata('login_message');
$this->load->library('form_validation');
$this->form_validation->set_rules('username', 'Username', 'required');
$this->form_validation->set_rules('password', 'Password', 'required');
@@ -100,6 +100,7 @@ class Login extends WRB_Controller {
$fb_data = $this->lib_login->getData($this->lib_login->get_access_token());
if (isset($fb_data['me'])) {
$user = $fb_data['me'];
$user['facebook'] = 1;
list($proceed, $data) = $this->checkUserExists($user, $data);
@@ -133,7 +134,7 @@ class Login extends WRB_Controller {
$_SESSION['mesaage_count'] = 0;
$this->findOffers($_SESSION['email']);
$_SESSION['message_snapshot'] = $this->myMessagesSnapshot();
$_SESSION['profile_picture'] = "../smedia/DEFAULTS/default-profile.png";
$this->logUser('Account login');
$this->refreshAccountDetail($_SESSION['member_id']);
$this->getSessionArray();
@@ -194,8 +195,12 @@ class Login extends WRB_Controller {
private function checkUserExists($user, $data)
{
$proceed = false;
$q = " AND external_idp_provider=1";
if (is_array($user) && array_key_exists('google',$user)) {
$q = " AND external_idp_provider=2";
}
//$data["login_message"] = $user["id"]."/".$user["name"]."/".$user["email"]."<a href='".$this->lib_login->getLogoutUrl()."'>Logout</a>";
$q = "SELECT * FROM members WHERE lower(email)=lower('" . $user["name"] . "') AND password IS NULL AND fb_id='" . $user["id"] . "'";
$q = "SELECT * FROM members WHERE lower(email)=lower('" . $user["name"] . "') AND password IS NULL AND external_idp_provider_id='" . $user["id"] . "'" . $q;
$query = $this->db->query($q);
if (count($query->result_array)) {
// Account exists
@@ -245,7 +250,8 @@ class Login extends WRB_Controller {
$user = array(
'id' => $id,
'name' => $name,
'email' => $email
'email' => $email,
'google' => 1
);
list($proceed, $data) = $this->checkUserExists($user, $data);
@@ -264,11 +270,6 @@ class Login extends WRB_Controller {
$this->load->model('backend_model');
$out = array();
echo "<pre>";
var_dump($data);
exit();
/*
// TODO
$res = $this->backend_model->wrenchboard_api($data, $out);
if ($res == PHP_LOGIN_OK) {
$this->load->model('account_model');
@@ -287,7 +288,7 @@ class Login extends WRB_Controller {
$_SESSION['mesaage_count'] = 0;
$this->findOffers($_SESSION['email']);
$_SESSION['message_snapshot'] = $this->myMessagesSnapshot();
$_SESSION['profile_picture'] = "../smedia/DEFAULTS/default-profile.png";
$this->logUser('Account login');
$this->refreshAccountDetail($_SESSION['member_id']);
$this->getSessionArray();
@@ -295,23 +296,36 @@ class Login extends WRB_Controller {
$this->excudedEmails();
redirect('dash');
} else {
// Cannot proceed - account model error?
$this->session->set_flashdata('login_message','Cannot proceed - account model error: '.$ret);
redirect('login');
}
} else {
// Cannot proceed - backend error?
$msg = (is_array($out) && array_key_exists('status',$out) && $out['status']!='')
? $out ['status'] : json_encode($out);
$this->session->set_flashdata('login_message','Cannot proceed - backend error: '.$msg);
redirect('login');
}
//*/
} else {
// Cannot proceed - duplicate email?
$this->session->set_flashdata('login_message','Cannot proceed - duplicate email');
redirect('login');
}
} else {
// Invalid or missing id and/or email - login failed?
$this->session->set_flashdata('login_message','Invalid or missing id and/or email - login failed!');
redirect('login');
}
} else {
// Missing access token / invalid grant - expired credentials?
$this->session->set_flashdata('login_message','Missing access token / invalid grant - expired credentials!');
redirect('login');
}
} else {
// Invalid or missing code - login failed?
$this->session->set_flashdata('login_message','Invalid or missing code - login failed!');
redirect('login');
}
}