db->query($sqlQ); $data['profile_data'] = $query->getResultArray(); if (count($data['profile_data']) == 1) { $data['profile_data'][0]['password'] = '**REMOVED**'; $data['profile_data'][0]['password2'] = '**REMOVED**'; $member_id = $data['profile_data'][0]['mid']; $member_uid = $data['profile_data'][0]['mid']; //$data['profile_data'][0]['uuid']; $data['profile_data'][0]['member_id'] = $member_id; // fixing issue of member id used in profile $possibeLayout =['33010','33015','33020','33025','33030','33035','33040']; $computedDash = $possibeLayout[rand(0,6)];// 33010; // Recomendation engine points $sessionToken = $this->generateSession($member_id); $logInResult= $inx = [ 'session_token' => $sessionToken, 'member_id' => $member_id, 'member_uuid' => $member_uid, 'guid' => $member_uid, 'profile' => $data['profile_data'][0], 'settings' => [], 'layout'=> ['dash'=>$computedDash], 'preferences' => [], 'cards' => [], 'cars' => [], 'status' => 0, 'status' => 1, 'raw_data' => $in, ]; $this->saveCache("session.".$member_id,$logInResult); return $logInResult; } return $inx = [ 'session_token' => '', 'settings' => [], 'preferences' => [], 'cards' => [], 'cars' => [], 'status' => 0, 'raw_data' => $in, 'error_msg' => 'Invalid username or password', ]; } public function startFleetLogin($in) { // $sqlQ = // 'SELECT m.id as member_id, m.*,mp.* FROM members m LEFT JOIN members_profile mp ON m.id=mp.member_id WHERE m.id =12'; $username = trim($in['username']); $password = trim($in['password']); $sqlQ = "SELECT m.id as mid, m.*,mp.* FROM members m LEFT JOIN members_profile mp ON m.id=mp.member_id WHERE LOWER(m.username) = LOWER('$username') AND m.password2=md5('$password') "; $query = $this->db->query($sqlQ); $data['profile_data'] = $query->getResultArray(); if (count($data['profile_data']) == 1) { $data['profile_data'][0]['password'] = '**REMOVED**'; $data['profile_data'][0]['password2'] = '**REMOVED**'; $member_id = $data['profile_data'][0]['mid']; $member_uid = $data['profile_data'][0]['mid']; $data['profile_data'][0]['member_id'] = $member_id; // fixing issue of member id used in profile $possibeLayout =['33010','33015','33020','33025','33030','33035','33040']; $computedDash = $possibeLayout[rand(0,6)];// 33010; // Recomendation engine points $sessionToken = $this->generateSession($member_id,'Fleet'); $logInResult= $inx = [ 'session_token' => $sessionToken, 'member_id' => $member_id, 'member_uuid' => $member_uid, 'guid' => $member_uid, 'profile' => $data['profile_data'][0], 'settings' => [], 'layout'=> ['dash'=>$computedDash], 'preferences' => [], 'cards' => [], 'cars' => [], 'status' => 0, 'status' => 1, 'raw_data' => $in, ]; $this->saveCache("session.".$member_id,$logInResult); return $logInResult; } return $inx = [ 'session_token' => '', 'settings' => [], 'preferences' => [], 'cards' => [], 'cars' => [], 'status' => 0, 'raw_data' => $in, 'error_msg' => 'Invalid username or password', ]; } private function generateSession($member_id,$login_type = 'Users') { $loc = $this->getIPAddress(); // do the seesion stuffs here - set up all permissions $tk = ''; for ($i = 1; $i < 20; $i++) { $tk .= rand(11111, 99999); } $sqlQ = "DELETE FROM members_session WHERE member_id = $member_id "; $query = $this->db->query($sqlQ); $sqlQ = "INSERT INTO members_session (session,member_id,loc) VALUES('" . $tk . "'," . $member_id . ",'" . $loc . "') "; $query = $this->db->query($sqlQ); // Create HX $sqlQ = "INSERT INTO members_login_hx (member_id,channel,loc) VALUES ($member_id,'$login_type','" . $loc . "')"; $this->db->query($sqlQ); /* */ return $tk; } } /* CREATE TABLE members_login_hx ( id SERIAL, member_id INT REFERENCES members(id) NOT NULL, channel VARCHAR(15), added timestamp without time zone DEFAULT now(), loc INET ); ALTER TABLE ONLY members_login_hx ADD CONSTRAINT members_login_hx_id_key UNIQUE (id);*/