Dash page logou

This commit is contained in:
2019-03-02 18:26:34 +00:00
parent a86188a54f
commit f34436219a
10 changed files with 481 additions and 166 deletions
+1 -1
View File
@@ -126,7 +126,7 @@ $config['enable_hooks'] = FALSE;
| https://codeigniter.com/user_guide/general/creating_libraries.html
|
*/
$config['subclass_prefix'] = 'MY_';
$config['subclass_prefix'] = 'MER_';
/*
|--------------------------------------------------------------------------
+11 -5
View File
@@ -1,20 +1,24 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Login extends CI_Controller {
class Login extends Web_Controller {
public function index() {
// echo rand(1000, 9999);
// print_r($this->input->get());
$data = array();
if ($_POST) {
$data['username'] = trim($this->input->post('username'));
$data['pass'] = htmlspecialchars($this->input->post('pass'));
$this->load->view('provider/dash');
//$this->load->view('provider/dash');
$this->renderProviderSecurePage('dash',$data);
} else {
$this->load->view('welcome_message');
//$this->load->view('welcome_message');
// $this->load->view('provider/dash');
$this->renderExternalPage('welcome_message', $data);
}
//$this->load->view('provider/dash');
@@ -22,11 +26,13 @@ class Login extends CI_Controller {
}
public function logout() {
$data = array();
$this->destroySession();
$this->load->view('welcome_message');
$this->renderExternalPage('welcome_message', $data);
}
private function destroySession(){
private function destroySession() {
}
}
@@ -1,11 +1,12 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Register extends CI_Controller {
class Register extends Web_Controller {
public function index() {
$data = array();
$this->renderExternalPage('register', $data);
}
public function index()
{
$this->load->view('register');
}
}
@@ -1,7 +1,7 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
class Welcome extends Web_Controller {
/**
* Index Page for this controller.
@@ -0,0 +1,320 @@
<?php
class WRB_Controller extends CI_Controller {
var $template = array(
'table_open' => "<table class='table table-sm table-striped table-hover table-bordered table-condensed'>",
'thead_open' => '<thead class=\'bg-indigo\'>',
'thead_close' => '</thead>',
'heading_row_start' => '<tr>',
'heading_row_end' => '</tr>',
'heading_cell_start' => '<th>',
'heading_cell_end' => '</th>',
'tbody_open' => '<tbody>',
'tbody_close' => '</tbody>',
'row_start' => '<tr>',
'row_end' => '</tr>',
'cell_start' => '<td>',
'cell_end' => '</td>',
'row_alt_start' => '<tr>',
'row_alt_end' => '</tr>',
'cell_alt_start' => '<td>',
'cell_alt_end' => '</td>',
'table_close' => '</table>'
);
var $template_nohead = array(
'table_open' => "<table class='table table-striped table-hover table-bordered table-condensed'>",
'thead_open' => '<thead>',
'thead_close' => '</thead>',
'heading_row_start' => '<tr>',
'heading_row_end' => '</tr>',
'heading_cell_start' => '<th>',
'heading_cell_end' => '</th>',
'tbody_open' => '<tbody>',
'tbody_close' => '</tbody>',
'row_start' => '<tr>',
'row_end' => '</tr>',
'cell_start' => '<td>',
'cell_end' => '</td>',
'row_alt_start' => '<tr>',
'row_alt_end' => '</tr>',
'cell_alt_start' => '<td>',
'cell_alt_end' => '</td>',
'table_close' => '</table>'
);
public $data = array();
function __construct() {
parent::__construct();
// $this->load->library(array('session', 'lib_login'));
}
public function wrenchboard_api($in, $out) {
$this->load->model('backend_model');
// $out = array();
return $this->backend_model->wrenchboard_api($in, $out);
}
protected function smart_htmlspecialchars($str) {
if (substr($str, 0, 1) == '<')
return $str;
return htmlspecialchars($str);
}
protected function getSessionArray() {
$data['username'] = $_SESSION['username']; // = $this->input->post('username');
$data['name'] = $_SESSION['name']; // = $this->input->post('username');
$data['firstname'] = $_SESSION['firstname']; // = $ret->firstname;
$data['lastname'] = $_SESSION['lastname']; // = $ret->lastname;
$data['email'] = $_SESSION['email']; // = $ret->email;
$data['member_id'] = $_SESSION['member_id'];
$this->load->model('dash_model');
$out = $this->dash_model->getDashData($data);
$data['active_task'] = $out['active_task'];
$data['active_pass_due'] = $out['active_pass_due'];
$data['current_balance'] = $out['current_balance'];
$data['new_message'] = $out['new_message'];
$_SESSION["active_offers_count"] = $out['active_offers_count'];
$data = $_SESSION['secure_data'];
$data['member_id'] = $_SESSION['member_id']; // = $ret->email;
$this->refreshAccountDetail($_SESSION['member_id']);
return $data;
}
protected function logUser($mlog) {
//
$data['action'] = WRENCHBOARD_LOG_MEMBER;
$data['mlog'] = $mlog;
$data['member_id'] = $_SESSION['member_id'];
$this->load->model('backend_model');
$out = array();
$res = $this->backend_model->wrenchboard_api($data, $out);
$this->load->model('userlog_model');
$xy["member_id"] = $_SESSION['member_id'];
$_SESSION['member_log'] = $this->userlog_model->loadUserLog($xy);
// print_r($out);
}
protected function myMessagesSnapshot() {
$str = "<li class='media'>
<div class='media-left'>
<img src='/assets/images/placeholder.jpg' class='img-circle img-sm' alt=''>
</div>
<div class='media-body'>
<a href='#' class='media-heading'>
<span class='text-semibold'>System</span>
<span class='media-annotation pull-right'>00:00</span>
</a>
<span class='text-muted'>You have no pending messages</span>
</div>
</li>";
return $str;
/*
<li class="media">
<div class="media-left">
<img src="/assets/images/placeholder.jpg" class="img-circle img-sm" alt="">
<span class="badge bg-danger-400 media-badge">5</span>
</div>
<div class="media-body">
<a href="#" class="media-heading">
<span class="text-semibold">James Alexander</span>
<span class="media-annotation pull-right">04:58</span>
</a>
<span class="text-muted">who knows, maybe that would be the best thing for me...</span>
</div>
</li>
<li class="media">
<div class="media-left">
<img src="/assets/images/placeholder.jpg" class="img-circle img-sm" alt="">
<span class="badge bg-danger-400 media-badge">4</span>
</div>
<div class="media-body">
<a href="#" class="media-heading">
<span class="text-semibold">Margo Baker</span>
<span class="media-annotation pull-right">12:16</span>
</a>
<span class="text-muted">That was something he was unable to do because...</span>
</div>
</li>
*
*/
}
protected function sql_escape_func($inp) {
if (is_array($inp)) {
return array_map(__METHOD__, $inp);
}
if (!empty($inp) && is_string($inp)) {
return str_replace(array('\\', "\0", "\n", "\r", "'", '"', "\x1a"), array('\\\\', '\\0', '\\n', '\\r', "\\'", '\\"', '\\Z'), $inp);
}
return $inp;
}
protected function findOffers($email) {
$this->load->model('offers_model');
$this->offers_model->attachOffers($email);
}
protected function home1($pagename = '') {
$data['sitename'] = 'home';
$res = $this->getExtJobList();
$data['market_data'] = $res;
$data['why_list'] = $this->getExtWhyList();
//$this->load->view('templates/header_boxed', $data);
//
$this->load->view('home/view_index1', $data);
//$this->load->view('users/view_external_footer');
}
protected function home2($pagename = '') {
$data['sitename'] = 'home';
$res = $this->getExtJobList();
$data['market_data'] = $res;
$data['why_list'] = $this->getExtWhyList();
$this->load->view('home2/header', $data);
if ($pagename == '') {
$this->load->view('home2/view_index2', $data);
} else {
$this->load->view($pagename, $data);
}
$this->load->view('home2/footer', $data);
}
protected function readFixedText($text_key) {
$page_key = trim($text_key);
$finaltxt = "";
if ($page_key != '') {
$mysql = "SELECT * FROM general_text WHERE page_key='$page_key'";
$query = $this->db->query($mysql);
if ($query->num_rows() == 0) {
$finaltxt = "";
} else {
$row = $query->row();
$finaltxt = $row->txt_detail;
}
}
return $finaltxt;
}
protected function libraryContent($content_id) {
$out = array();
$query = $this->db->query("SELECT * FROM library WHERE id = " . $content_id);
if ($query->num_rows() > 0) {
$row = $query->row();
$out['title'] = $row->title;
$out['description'] = $row->description;
$out['detail'] = $row->detail;
}
return $out;
}
protected function getExtJobList() {
$mysql = "SELECT j.title,j.description,m.job_id,m.expire "
. "FROM members_jobs_offer m "
. "LEFT JOIN members_jobs j ON j.id=m.job_id "
. "WHERE m.status = 1 AND m.client_id=0 "
. "AND m.expire IS NOT NULL "
. "AND m.public_view = 1 "
. "ORDER BY m.expire DESC LIMIT 6";
$query = $this->db->query($mysql);
return $query->result();
}
protected function getExtWhyList() {
$mysql = "SELECT * FROM why ORDER BY flags DESC";
$query = $this->db->query($mysql);
return $query->result();
}
protected function getClientJobStats($client_id) {
$out = array();
$out['total_jobs_completed'] = $out['total_jobs_active'] = $data['total_jobs_uncompleted'] = 0;
$out['total_pending_offers'] = 0;
$mysql = " SELECT count(*) AS total_jobs_completed FROM members_jobs_contract WHERE client_id =$client_id AND status = 5";
$q = $this->db->query($mysql);
if ($q->num_rows() > 0) {
$out['total_jobs_completed'] = $q->row()->total_jobs_completed;
}
$mysql = " SELECT count(*) AS total_jobs_active FROM members_jobs_contract WHERE client_id =$client_id AND status IN (1,2)";
$q = $this->db->query($mysql);
if ($q->num_rows() > 0) {
$out['total_jobs_active'] = $q->row()->total_jobs_active;
}
$mysql = " SELECT count(*) AS total_jobs_uncompleted FROM members_jobs_contract WHERE client_id =$client_id AND status NOT IN (1,2,5)";
$q = $this->db->query($mysql);
if ($q->num_rows() > 0) {
$out['total_jobs_uncompleted'] = $q->row()->total_jobs_uncompleted;
}
$mysql = " SELECT count(*) AS total_pending_offers FROM members_jobs_offer WHERE client_id =$client_id AND status=1";
$q = $this->db->query($mysql);
if ($q->num_rows() > 0) {
$out['total_pending_offers'] = $q->row()->total_pending_offers;
}
return $out; //['escrow_c_offer'] + $out['escrow_balance'];
}
protected function renderProviderSecurePage($page_name, $data) {
$this->load->view('template/provider_header', $data);
$this->load->view('provider/' . $page_name, $data);
$this->load->view('template/provider_footer', $data);
}
/*
* wrenchboard=> \d library
Table "public.library"
Column | Type | Modifiers
-------------+-----------------------------+------------------------------------------------------
id | integer | not null default nextval('library_id_seq'::regclass)
title | character varying(150) | not null
description | character varying(500) | not null
detail | text |
updated | timestamp without time zone | default now()
Indexes:
"library_id_key" UNIQUE CONSTRAINT, btree (id)
"library_title_key" UNIQUE CONSTRAINT, btree (title)
*/
}
@@ -0,0 +1,35 @@
<?php
class Provider_Controller extends WRB_Controller {
public $data = array();
function __construct() {
parent::__construct();
// you dont have bussines here if you are not in session
if (!isset($_SESSION['session_id']) or ! isset($_SESSION['username']) or $_SESSION['username'] == '') {
redirect(logout);
}
}
public function getSessionArray() {
$data["current_date"] = date('l jS \of F Y h:i:s A');
return $data;
}
private function refreshAccountDetail($member_id) {
}
protected function RenderProviderPage($page_name, $data) {
$this->load->view('users/view_header_user', $data);
$this->load->view($page_name, $data);
$this->load->view('users/view_footer_user', $data);
}
}
@@ -0,0 +1,19 @@
<?php
class Web_Controller extends WRB_Controller {
public $data = array();
function __construct() {
parent::__construct();
}
protected function renderExternalPage($page_name, $data) {
$this->load->view('template/header', $data);
$this->load->view('' . $page_name, $data);
$this->load->view('template/footer', $data);
}
}
+83 -113
View File
@@ -1,126 +1,96 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>MERMS-[All Health Center Agege]</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<meta content="comprehensive health management system" name="description" />
<meta content="Fluxtra LLC" name="author" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!-- app favicon -->
<link rel="shortcut icon" href="assets/img/favicon.ico">
<!-- google fonts -->
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700" rel="stylesheet">
<!-- plugin stylesheets -->
<link rel="stylesheet" type="text/css" href="assets/css/vendors.css" />
<!-- app style -->
<link rel="stylesheet" type="text/css" href="assets/css/style.css" />
</head>
<body class="bg-white">
<!-- begin app -->
<div class="app">
<!-- begin app-wrap -->
<div class="app-wrap">
<!-- begin pre-loader -->
<div class="loader">
<div class="h-100 d-flex justify-content-center">
<div class="align-self-center">
<img src="assets/img/loader/loader.svg" alt="loader">
</div>
</div>
<!-- begin app -->
<div class="app">
<!-- begin app-wrap -->
<div class="app-wrap">
<!-- begin pre-loader -->
<div class="loader">
<div class="h-100 d-flex justify-content-center">
<div class="align-self-center">
<img src="assets/img/loader/loader.svg" alt="loader">
</div>
<!-- end pre-loader -->
</div>
</div>
<!-- end pre-loader -->
<!--start login contant-->
<div class="app-contant">
<div class="bg-white">
<div class="container-fluid p-0">
<div class="row no-gutters">
<div class="col-sm-6 col-lg-5 col-xxl-3 align-self-center order-2 order-sm-1">
<div class="d-flex align-items-center h-100-vh">
<div class="register p-5">
<h1 class="mb-2">Merms Providers</h1>
<p>Welcome, Please create your account.</p>
<form action="/register" method='POST' class="mt-2 mt-sm-5">
<div class="row">
<div class="col-12">
<div class="form-group">
<label class="control-label">Practice Name*</label>
<input type="text" class="form-control" placeholder="Practice name" />
</div>
</div>
<div class="col-12 col-sm-6">
<div class="form-group">
<label class="control-label">First Name*</label>
<input type="text" class="form-control" placeholder="First Name" />
</div>
</div>
<div class="col-12 col-sm-6">
<div class="form-group">
<label class="control-label">Last Name*</label>
<input type="text" class="form-control" placeholder="Last Name" />
</div>
</div>
<div class="col-12">
<div class="form-group">
<label class="control-label">Email*</label>
<input type="email" class="form-control" placeholder="Email" />
</div>
</div>
<div class="col-12">
<div class="form-group">
<label class="control-label">Username*</label>
<input type="text" class="form-control" placeholder="Username" />
</div>
</div>
<div class="col-12">
<div class="form-group">
<label class="control-label">Password*</label>
<input type="password" class="form-control" placeholder="Password" />
</div>
</div>
<div class="col-12">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="gridCheck">
<label class="form-check-label" for="gridCheck">
I accept terms & policy
</label>
</div>
</div>
<div class="col-12 mt-3">
<button type="submit" class="btn btn-primary">Sign up</button>
</div>
<div class="col-12 mt-3">
<p>Already have an account ?<a href="/login"> Sign In</a></p>
</div>
<!--start login contant-->
<div class="app-contant">
<div class="bg-white">
<div class="container-fluid p-0">
<div class="row no-gutters">
<div class="col-sm-6 col-lg-5 col-xxl-3 align-self-center order-2 order-sm-1">
<div class="d-flex align-items-center h-100-vh">
<div class="register p-5">
<h1 class="mb-2">Merms Providers</h1>
<p>Welcome, Please create your account.</p>
<form action="/register" method='POST' class="mt-2 mt-sm-5">
<div class="row">
<div class="col-12">
<div class="form-group">
<label class="control-label">Practice Name*</label>
<input type="text" class="form-control" placeholder="Practice name" />
</div>
</form>
</div>
<div class="col-12 col-sm-6">
<div class="form-group">
<label class="control-label">First Name*</label>
<input type="text" class="form-control" placeholder="First Name" />
</div>
</div>
<div class="col-12 col-sm-6">
<div class="form-group">
<label class="control-label">Last Name*</label>
<input type="text" class="form-control" placeholder="Last Name" />
</div>
</div>
<div class="col-12">
<div class="form-group">
<label class="control-label">Email*</label>
<input type="email" class="form-control" placeholder="Email" />
</div>
</div>
<div class="col-12">
<div class="form-group">
<label class="control-label">Username*</label>
<input type="text" class="form-control" placeholder="Username" />
</div>
</div>
<div class="col-12">
<div class="form-group">
<label class="control-label">Password*</label>
<input type="password" class="form-control" placeholder="Password" />
</div>
</div>
<div class="col-12">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="gridCheck">
<label class="form-check-label" for="gridCheck">
I accept terms & policy
</label>
</div>
</div>
<div class="col-12 mt-3">
<button type="submit" class="btn btn-primary">Sign up</button>
</div>
<div class="col-12 mt-3">
<p>Already have an account ?<a href="/login"> Sign In</a></p>
</div>
</div>
</div>
</div>
<div class="col-sm-6 col-xxl-9 col-lg-7 o-hidden order-1 order-sm-2" style="background-color:red; background-image: url('assets/img/bg/provider.jpg'); background-size: 100% 100%;">
<!-- img class="img-fluid" src="assets/img/bg/provider.jpg" alt="" style="background-size:contain;" -->
</form>
</div>
</div>
</div>
<div class="col-sm-6 col-xxl-9 col-lg-7 o-hidden order-1 order-sm-2" style="background-color:red; background-image: url('assets/img/bg/provider.jpg'); background-size: 100% 100%;">
<!-- img class="img-fluid" src="assets/img/bg/provider.jpg" alt="" style="background-size:contain;" -->
</div>
</div>
</div>
</div>
<!-- end app-wrap -->
</div>
<!-- end app -->
</div>
<!-- end app-wrap -->
</div>
<!-- end app -->
<!-- plugins -->
<script src="assets/js/vendors.js"></script>
<!-- custom app -->
<script src="assets/js/app.js"></script>
</body>
</html>
@@ -9,13 +9,13 @@
<meta content="Fluxtra LLC" name="author" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!-- app favicon -->
<link rel="shortcut icon" href="assets/img/favicon.ico">
<link rel="shortcut icon" href="/assets/img/favicon.ico">
<!-- google fonts -->
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700" rel="stylesheet">
<!-- plugin stylesheets -->
<link rel="stylesheet" type="text/css" href="assets/css/vendors.css" />
<link rel="stylesheet" type="text/css" href="/assets/css/vendors.css" />
<!-- app style -->
<link rel="stylesheet" type="text/css" href="assets/css/style.css" />
<link rel="stylesheet" type="text/css" href="/assets/css/style.css" />
</head>
<body class="bg-white">
@@ -1,25 +1,4 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>MERMS-[Welcome]</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<meta content="comprehensive health management system" name="description" />
<meta content="Fluxtra LLC" name="author" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!-- app favicon -->
<link rel="shortcut icon" href="assets/img/favicon.ico">
<!-- google fonts -->
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700" rel="stylesheet">
<!-- plugin stylesheets -->
<link rel="stylesheet" type="text/css" href="assets/css/vendors.css" />
<!-- app style -->
<link rel="stylesheet" type="text/css" href="assets/css/style.css" />
</head>
<body class="bg-white">
<!-- begin app -->
<div class="app">
@@ -83,7 +62,7 @@
</div>
</div>
</div>
<div class="col-sm-6 col-xxl-9 col-lg-7 o-hidden order-1 order-sm-2" style="background-color:red; background-image: url('assets/img/bg/provider.jpg'); background-size: 100% 100%;">
<div class="col-sm-6 col-xxl-9 col-lg-7 o-hidden order-1 order-sm-2" style="background-color:red; background-image: url('/assets/img/bg/provider.jpg'); background-size: 100% 100%;">
<!-- img class="img-fluid" src="assets/img/bg/provider.jpg" alt="" style="background-size:contain;" -->
</div>
</div>
@@ -95,19 +74,4 @@
</div>
<!-- end app-wrap -->
</div>
<!-- end app -->
<!-- plugins -->
<script src="/assets/js/vendors.js"></script>
<!-- custom app -->
<script src="/assets/js/app.js"></script>
</body>
</html>