fox login types

This commit is contained in:
CHIEFSOFT\ameye
2024-10-26 08:31:17 -04:00
parent 6f338df5cd
commit 1afaccc2ef
6 changed files with 122 additions and 5 deletions
+28 -1
View File
@@ -24,7 +24,7 @@ class Database extends Config
*
* @var array<string, mixed>
*/
public array $default = [
public array $default_old = [
'DSN' => '',
'hostname' => 'localhost',
'username' => '',
@@ -50,6 +50,33 @@ class Database extends Config
],
];
// /**
// * Sample database connection for Postgre.
// *
// * @var array<string, mixed>
// */
public array $default = [
'DSN' => '',
'hostname' => '10.20.30.60',
'username' => 'merms_panel',
'password' => 'merms_panel',
'database' => 'merms_panel',
'schema' => 'public',
'DBDriver' => 'Postgre',
'DBPrefix' => '',
'pConnect' => false,
'DBDebug' => true,
'charset' => 'utf8',
'swapPre' => '',
'failover' => [],
'port' => 5432,
'dateFormat' => [
'date' => 'Y-m-d',
'datetime' => 'Y-m-d H:i:s',
'time' => 'H:i:s',
],
];
// /**
// * Sample database connection for SQLite3.
// *
+26 -1
View File
@@ -27,7 +27,7 @@ abstract class BaseController extends Controller
* @var CLIRequest|IncomingRequest
*/
protected $request;
protected $session;
/**
* An array of helpers to be loaded automatically upon
* class instantiation. These helpers will be available
@@ -54,6 +54,7 @@ abstract class BaseController extends Controller
// Preload any models, libraries, etc, here.
$this->request = \Config\Services::request();
// E.g.: $this->session = \Config\Services::session();
$this->session = \Config\Services::session();
}
protected function renderExternalPage($page_name, $data):string {
@@ -62,6 +63,30 @@ abstract class BaseController extends Controller
view('template/footer', $data);
}
protected function createUserSession($data) {
$loginReturn = false;
// session_start();
if ( isset($data["member"]) && isset($data["session"]) ) {
$_SESSION['session_id'] = $data['session']['session_id']; // "";
$_SESSION['username'] = $data['member']['username']; // "";
$_SESSION['practice_name'] = $data['member']['account_name'];
$_SESSION['practice_code'] = $data['member']['uid'];
$_SESSION['user_firstname'] = $data['member']['firstname'];
$_SESSION['user_lastname'] = $data['member']['lastname'];
$_SESSION['user_email'] = $data['member']['email'];
$_SESSION['member_id'] = $data['session']['member_id']; //
$_SESSION['practice_id'] = $data['session']['member_id'];
$_SESSION['user_provider'] = "1";
$_SESSION['user_admin'] = "1";
$loginReturn = true;
} else {
$data['error_message'] = "Invalid Username or Password";
}
return $loginReturn;
}
protected function loginUser($data, $out) {
$data['action'] = MERMS_PROVIDERS_LOGIN;
+10 -3
View File
@@ -6,10 +6,10 @@ MERM Providers Login
*/
class Login extends BaseController {
protected \App\Models\Auth_model $auth_model;
public function __construct() {
// parent::__construct();
// $this->load->helper(array('form', 'url'));
// $this->load->library('form_validation');
$this->auth_model = new \App\Models\Auth_model();
}
public function HomeLogin(){
$data = array();
@@ -25,7 +25,14 @@ class Login extends BaseController {
$password = $this->request->getVar('mermspassword');
if ($username == 'ameye@chiefsoft.com' && $password=='Awori.Awori'){
return redirect()->to('providers');
//$this->load->model('auth_model');
$out = $this->auth_model->userLogin();
if ($this->createUserSession($out)){ // session was built
return redirect()->to('providers');
}
// var_dump($out);
// exit();
}
+45
View File
@@ -0,0 +1,45 @@
<?php
namespace App\Models;
use CodeIgniter\Model;
class Auth_model extends Model
{
public function userLogin() {
$mysql = "SELECT id AS member_id, * FROM members WHERE id = 1";
$db = db_connect();
$query = $db->query($mysql);
$row = $query->getRowArray();
if (isset($row)) {
$sqlDel = "DELETE FROM members_session WHERE member_id = ". $row["member_id"];
$db->query($sqlDel);
// $sql = 'INSERT INTO members_session (member_id, session_id) VALUES (?, ?, ?)';
$pQuery = $db->prepare(static function ($db) {
return $db->table('members_session')->insert([
'member_id' => '0',
'session_id' => '',
]);
});
// Collect the Data
$member_id = $row["member_id"];
$session_id = $this->getRandomString(25).$this->getRandomString(25);
$results = $pQuery->execute($member_id, $session_id);
$mysql = "SELECT * FROM members_session WHERE member_id = ". $row["member_id"];
$db = db_connect();
$query = $db->query($mysql);
$row_session = $query->getRowArray();
return ["member"=> $row,"session"=> $row_session];
}
return [];
}
private function getRandomString($n) {
return bin2hex(random_bytes($n / 2));
}
}
+6
View File
@@ -0,0 +1,6 @@
<?php
class Members_model extends CI_Model
{
}
+7
View File
@@ -1,3 +1,9 @@
<?php
$local_session = \Config\Services::session();
//var_dump($local_session);
//var_dump($_SESSION);
?>
<!DOCTYPE html>
<html lang="en">
@@ -77,6 +83,7 @@
</a>
</li>
</ul>
<div style="margin-top: auto; margin-bottom: auto; font-weight: bolder; font-size: 18px; color: #063646;"> <?=$local_session->practice_name?></div>
<ul class="navbar-nav nav-right ml-auto">