function change_password() { if (isset($_POST['reset'])) { $reset = $_POST['reset']; $id = $this->nativesession->get('member_id'); $user = $this->profile_model->get_profile_details_password($id); if ($user) { $this->load->library('PBKDF2'); $pbkdf2 = new PBKDF2(); if ($pbkdf2->validatePassword($reset['current_password'], $user['password'])) { $password = $reset['password']; $password = $pbkdf2->createHash($password); $data = array('password' => $password); if ($this->profile_model->update_profile($id, $data)) { $this->nativesession->set_flashdata('_profile', '<div class="alert alert-success">Successfully Updated Password.</div>'); $this->send_email($user); } else { $this->nativesession->set_flashdata('_profile', '<div class="alert alert-danger">Cannot Update Password, Please try again later.</div>'); } } else { $this->nativesession->set_flashdata('_profile', '<div class="alert alert-danger">Cannot Update Password, Password does not match with the current password.</div>'); } } else { $this->nativesession->set_flashdata('_profile', '<div class="alert alert-danger">Cannot Update Password, Please try again later.</div>'); } } redirect(base_url($this->nativesession->get('gan_admin_login_map') . '/profile')); }
function login_admin() { $login_success = null; if (isset($_POST['login'])) { $login = $_POST['login']; $this->form_validation->set_rules('login[member_code]', 'Email / Member ID', 'required'); $this->form_validation->set_rules('login[password]', 'required'); if ($this->form_validation->run() == FALSE) { $login_success = false; $this->nativesession->set_flashdata('login_status', '<div class="alert alert-danger">' . validation_errors() . '</div>'); $this->index(); } else { // $data = array('member_code' => $login[ 'member_code' ]); $potential_user = $this->admin_login_model->get_user_existing_data($login['member_code']); if ($potential_user) { $this->load->library('PBKDF2'); $admin = $potential_user; $pbkdf2 = new PBKDF2(); if ($pbkdf2->validatePassword($login['password'], $admin['password'])) { if ($admin['status'] == 'active') { $login_success = true; if (isset($login['remember_me'])) { // @TODO remember me mechanism } $this->nativesession->set(array('is_logged_in' => true, 'is_gan_admin_logged_in' => true, 'member_id' => $admin['id'], 'member_code' => $admin['member_code'], 'account_type' => $admin['account_type'])); // $country_code = function_exists( 'geoip_country_code_by_name' ) ? geoip_country_code_by_name( $_SERVER[ 'REMOTE_ADDR' ] ) : ''; $member_id = (string) $admin['id']; $member_data = array('last_login_date' => date('Y-m-d H:i:s'), 'last_login_ip' => $_SERVER['REMOTE_ADDR'], 'last_login_country' => function_exists('geoip_country_code_by_name') ? geoip_country_code_by_name($_SERVER['REMOTE_ADDR']) : ''); $this->admin_login_model->update_member($member_id, $member_data); redirect(base_url('admin/home')); } else { if ($member['status'] == 'inactive') { $this->nativesession->set_flashdata('login_status', '<div class="alert alert-danger">It seems that your account is inactive. please contact your administrator.</div>'); $login_success = false; redirect(base_url('login')); } else { $this->nativesession->set_flashdata('login_status', '<div class="alert alert-danger">Your account is suspended, please contact administrator.</div>'); $login_success = false; redirect(base_url('admin/login')); } } } else { $this->nativesession->set_flashdata('login_status', '<div class="alert alert-danger">Incorrect Email/member id or password ' . $potential_user . '.</div>'); $login_success = false; redirect(base_url('admin/login')); } } else { $this->nativesession->set_flashdata('login_status', '<div class="alert alert-danger">Incorrect Member ID or Password : Acces Denied.</div>'); $login_success = false; redirect(base_url('admin/login')); } } } }
public function login() { $this->load->helper(array('form', 'url')); $this->load->library(array('form_validation')); $this->load->model('login_model'); $res = array(); if (isset($_POST['data'])) { $login = $_POST['data']; $this->form_validation->set_rules('data[username]', 'username', 'required'); $this->form_validation->set_rules('data[password]', 'required'); if ($this->form_validation->run() == FALSE) { $login_success = false; $res = ['errors' => false, 'message' => validation_errors()]; } else { $potential_user = $this->login_model->get_user_existing_data($login['username']); if ($potential_user) { $this->load->library('PBKDF2'); $admin = $potential_user; $pbkdf2 = new PBKDF2(); if ($pbkdf2->validatePassword($login['password'], $admin['password'])) { $login_success = true; if (isset($login['remember_me'])) { // @TODO remember me mechanism } $this->nativesession->set(array('user_id' => $admin['id'], 'username' => $admin['username'], 'firstname' => $admin['firstname'], 'lastname' => $admin['lastname'], 'account_type' => $admin['account_type'])); // $country_code = function_exists( 'geoip_country_code_by_name' ) ? geoip_country_code_by_name( $_SERVER[ 'REMOTE_ADDR' ] ) : ''; /* $member_data = array( 'last_login_date' => date( 'Y-m-d H:i:s' ), 'last_login_ip' => $_SERVER[ 'REMOTE_ADDR' ], 'last_login_country' => function_exists( 'geoip_country_code_by_name' ) ? geoip_country_code_by_name( $_SERVER[ 'REMOTE_ADDR' ] ) : '' ); $this->admin_login_model->update_member($member_id, $member_data); */ $res = ['errors' => true, 'message' => 'success', 'url' => base_url('/dashboard')]; } else { $res = ['errors' => false, 'message' => 'Invalid password!']; } } else { $res = ['errors' => false, 'message' => 'Login failed!']; } } } echo json_encode($res); }
function login_member() { $login_success = null; if (isset($_POST['login'])) { $login = $_POST['login']; $data = array('member_code' => $login['member_code']); $potential_user = $this->member_login_model->get_user_existing_data($data); if ($potential_user) { $this->load->library('PBKDF2'); $member = $potential_user; $pbkdf2 = new PBKDF2(); if ($pbkdf2->validatePassword($login['password'], $member['password'])) { if ($member['status'] != 'deactivated' && $member['status'] != 'inactive') { $login_success = true; if (isset($login['remember_me'])) { // @TODO remember me mechanism } $this->nativesession->set(array('is_logged_in' => true, 'is_member_logged_in' => true, 'member_id' => $member['id'], 'member_code' => $member['member_code'], 'ms_status' => $member['status'])); // $country_code = function_exists( 'geoip_country_code_by_name' ) ? geoip_country_code_by_name( $_SERVER[ 'REMOTE_ADDR' ] ) : ''; $member_id = (string) $member['id']; $member_data = array('last_login_date' => date('Y-m-d H:i:s'), 'last_login_ip' => $_SERVER['REMOTE_ADDR'], 'last_login_country' => function_exists('geoip_country_code_by_name') ? geoip_country_code_by_name($_SERVER['REMOTE_ADDR']) : ''); $this->member_login_model->update_member($member_id, $member_data); redirect(base_url('members/home')); } else { if ($member['status'] == 'inactive') { $this->nativesession->set_flashdata('login_status', '<div class="alert alert-danger">It seems that your account is inactive. please contact your administrator.</div>'); $login_success = false; redirect(base_url('login')); } else { $this->nativesession->set_flashdata('login_status', '<div class="alert alert-danger">Your account is suspended, please contact administrator.</div>'); $login_success = false; redirect(base_url('login')); } } } else { $this->nativesession->set_flashdata('login_status', '<div class="alert alert-danger">Incorrect Member ID or Password.</div>'); $login_success = false; redirect(base_url('login')); } } else { $this->nativesession->set_flashdata('login_status', '<div class="alert alert-danger">Incorrect Member ID or Password.</div>'); $login_success = false; redirect(base_url('login')); } } }