This commit is contained in:
Olusesan Ameye
2021-02-03 03:07:56 -05:00
parent 87615b54a2
commit 2122902d94
12 changed files with 1447 additions and 0 deletions
+103
View File
@@ -0,0 +1,103 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Dash extends Admin_Controller {
public $template = array(
'table_open' => "<table datatable-scroll-y class='table 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>',
);
public function index() {
$this->load->helper('url');
$data = array();
$this->load->library('table');
$this->table->set_template($this->template);
$data['recent_members'] = "";
$mysql = "SELECT id,username,firstname,lastname,added::date,loc,last_login,acc_link FROM members ORDER by id DESC LIMIT 15";
$query = $this->db->query($mysql);
//$this->table->set_heading( array('data' => 'ID', 'style' => 'width:50px'),'Email', 'Firstname', 'Lastname','Last Login','Location', array('data' => 'ACTION', 'style' => 'width:40px'), array('data' => 'Select', 'style' => 'width:40px'));
$data['recent_members'] = $this->table->generate($query);
$mysql="SELECT '<button type=\"button\" class=\"btn btn-primary\">View</button>' AS View,name,username,email,added,last_login from practice ORDER BY id DESC LIMIT 7";
$data['recent_practice'] = "";
$query = $this->db->query($mysql);
//$this->table->set_heading( array('data' => 'ID', 'style' => 'width:50px'),'Email', 'Firstname', 'Lastname','Last Login','Location', array('data' => 'ACTION', 'style' => 'width:40px'), array('data' => 'Select', 'style' => 'width:40px'));
$data['recent_practice'] = $this->table->generate($query);
$mysql="SELECT '<a href=\"/practice/viewPendingPractice/'||id||'\"><button type=\"button\" class=\"btn btn-warning\"><i class=\"fa fa-check-circle\"></i></button></a>' AS process,
'<button type=\"button\" class=\"btn btn-danger\" id=\"bremail'||id||'\" onclick=\"resendEmail('||id||');\"><i class=\"fa fa-bars\"></i></button>' AS semail,
status,
practice_name,username,email,added::date from practice_pending ORDER BY id DESC LIMIT 7";
$data['pending_practice'] = "";
$query = $this->db->query($mysql);
//$this->table->set_heading( array('data' => 'ID', 'style' => 'width:50px'),'Email', 'Firstname', 'Lastname','Last Login','Location', array('data' => 'ACTION', 'style' => 'width:40px'), array('data' => 'Select', 'style' => 'width:40px'));
$data['pending_practice'] = $this->table->generate($query);
$this->renderAdminPage('view_dash', $data);
}
public function pendingpractice(){
$data = array();
$data["page_title"] = "Pending Practice";
$this->load->library('table');
$this->table->set_template($this->template);
$mysql="SELECT '<button type=\"button\" class=\"btn btn-warning\" onclick=\"approvePractice('||id||');\">Approve</button>' AS process,
'<button type=\"button\" class=\"btn btn-danger\" onclick=\"resendEmail('||id||');\">Email</button>' AS semail,
status,
practice_name,username,email,added::date from practice_pending ORDER BY id DESC LIMIT 20";
$data['pending_practice'] = "";
$query = $this->db->query($mysql);
//$this->table->set_heading( array('data' => 'ID', 'style' => 'width:50px'),'Email', 'Firstname', 'Lastname','Last Login','Location', array('data' => 'ACTION', 'style' => 'width:40px'), array('data' => 'Select', 'style' => 'width:40px'));
$data['pending_practice'] = $this->table->generate($query);
$this->renderAdminPage('view_pendingpractice', $data);
}
public function pendingusers(){
$data = array();
$data["page_title"] = "Pending Members";
$this->load->library('table');
$this->table->set_template($this->template);
$data['recent_members'] = "";
$mysql = "SELECT id,username,firstname,lastname,added::date,loc,last_login,acc_link FROM members ORDER by id DESC LIMIT 15";
$query = $this->db->query($mysql);
//$this->table->set_heading( array('data' => 'ID', 'style' => 'width:50px'),'Email', 'Firstname', 'Lastname','Last Login','Location', array('data' => 'ACTION', 'style' => 'width:40px'), array('data' => 'Select', 'style' => 'width:40px'));
$data['recent_members'] = $this->table->generate($query);
$this->renderAdminPage('view_pendingusers', $data);
}
protected function renderAdminPage($page_name, $data) {
$this->load->view('template/secure_header', $data);
$this->load->view('admin/' . $page_name, $data);
$this->load->view('template/secure_footer', $data);
}
}
@@ -0,0 +1,29 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Logout extends Start_Controller {
function __construct() {
parent::__construct();
}
public function index()
{
/* THIS IS HE BACK office Login
*/
// DESTROY SESSION HERE
$_SESSION['session_id'] = ""; //'sessionid']; // "";
$_SESSION['username'] = ""; //'username']; // "";
$_SESSION['backoffice_id'] = ""; //'backoffice_id'];
$_SESSION['user_firstname'] = ""; //'firstname'];
$_SESSION['user_lastname'] = ""; //'lastname'];
$_SESSION['user_email'] = ""; //'email'];
$_SESSION['user_id'] = ""; //'backoffice_id'];
$_SESSION['current_user'] = ""; //'firstname']." " . ""; //'lastname']
unset($_SESSION);
redirect('/welcome');
}
}
@@ -0,0 +1,110 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Payment extends Admin_Controller {
public function index() {
$this->load->helper('url');
$data = array();
$this->load->library('table');
$this->table->set_template($this->template);
$data['recent_members'] = "";
$mysql = "SELECT id,username,firstname,lastname,added::date,loc,last_login,acc_link FROM members ORDER by id DESC LIMIT 15";
$query = $this->db->query($mysql);
//$this->table->set_heading( array('data' => 'ID', 'style' => 'width:50px'),'Email', 'Firstname', 'Lastname','Last Login','Location', array('data' => 'ACTION', 'style' => 'width:40px'), array('data' => 'Select', 'style' => 'width:40px'));
$data['recent_members'] = $this->table->generate($query);
$mysql="SELECT '<button type=\"button\" class=\"btn btn-primary\">View</button>' AS View,name,username,email,added,last_login from practice ORDER BY id DESC LIMIT 7";
$data['recent_practice'] = "";
$query = $this->db->query($mysql);
//$this->table->set_heading( array('data' => 'ID', 'style' => 'width:50px'),'Email', 'Firstname', 'Lastname','Last Login','Location', array('data' => 'ACTION', 'style' => 'width:40px'), array('data' => 'Select', 'style' => 'width:40px'));
$data['recent_practice'] = $this->table->generate($query);
$mysql="SELECT '<button type=\"button\" class=\"btn btn-warning\" onclick=\"selectPendingPractice('||id||');\"><i class=\"fa fa-check-circle\"></i></button>' AS process,
'<button type=\"button\" class=\"btn btn-danger\" onclick=\"resendEmail('||id||');\"><i class=\"fa fa-bars\"></i></button>' AS semail,
status,
practice_name,username,email,added::date from practice_pending ORDER BY id DESC LIMIT 7";
$data['pending_practice'] = "";
$query = $this->db->query($mysql);
//$this->table->set_heading( array('data' => 'ID', 'style' => 'width:50px'),'Email', 'Firstname', 'Lastname','Last Login','Location', array('data' => 'ACTION', 'style' => 'width:40px'), array('data' => 'Select', 'style' => 'width:40px'));
$data['pending_practice'] = $this->table->generate($query);
$this->renderAdminPage('view_dash', $data);
}
public function invoices(){
$data = array();
$data["page_title"] = "Pending Practice";
$this->load->library('table');
$this->table->set_template($this->template);
$mysql="SELECT '<button type=\"button\" class=\"btn btn-warning\" onclick=\"approvePractice('||id||');\">Approve</button>' AS process,
'<button type=\"button\" class=\"btn btn-danger\" onclick=\"resendEmail('||id||');\">Email</button>' AS semail,
status,
practice_name,username,email,added::date from practice_pending ORDER BY id DESC LIMIT 20";
$data['pending_practice'] = "";
$query = $this->db->query($mysql);
//$this->table->set_heading( array('data' => 'ID', 'style' => 'width:50px'),'Email', 'Firstname', 'Lastname','Last Login','Location', array('data' => 'ACTION', 'style' => 'width:40px'), array('data' => 'Select', 'style' => 'width:40px'));
$data['pending_practice'] = $this->table->generate($query);
$this->renderAdminPage('view_pendingpractice', $data);
}
public function pendingusers(){
$data = array();
$data["page_title"] = "Pending Members";
$this->load->library('table');
$this->table->set_template($this->template);
$data['recent_members'] = "";
$mysql = "SELECT id,username,firstname,lastname,added::date,loc,last_login,acc_link FROM members ORDER by id DESC LIMIT 15";
$query = $this->db->query($mysql);
//$this->table->set_heading( array('data' => 'ID', 'style' => 'width:50px'),'Email', 'Firstname', 'Lastname','Last Login','Location', array('data' => 'ACTION', 'style' => 'width:40px'), array('data' => 'Select', 'style' => 'width:40px'));
$data['recent_members'] = $this->table->generate($query);
$this->renderAdminPage('view_pendingusers', $data);
}
public function resendEmail() {
$data['pending_practice_id'] = trim($this->input->get('pending_practice_id'));
echo "Sending ".$data['pending_practice_id'];
// return false;
}
public function viewPendingPractice() {
$data = array();
$data['pending_practice_id'] = $this->uri->segment(3);
$data['page_title'] = "Pending Practice - ".$data['pending_practice_id'];
$mysql = "SELECT * FROM practice_pending WHERE id = ".$data['pending_practice_id'];
$query = $this->db->query($mysql);
$this->renderPracticePage('view_pending_practice', $data);
}
protected function renderPracticePage($page_name, $data) {
$this->load->view('template/secure_header', $data);
$this->load->view('practice/' . $page_name, $data);
$this->load->view('template/secure_footer', $data);
}
protected function renderAdminPage($page_name, $data) {
$this->load->view('template/secure_header', $data);
$this->load->view('admin/' . $page_name, $data);
$this->load->view('template/secure_footer', $data);
}
}
@@ -0,0 +1,110 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Practice extends Admin_Controller {
public function index() {
$this->load->helper('url');
$data = array();
$this->load->library('table');
$this->table->set_template($this->template);
$data['recent_members'] = "";
$mysql = "SELECT id,username,firstname,lastname,added::date,loc,last_login,acc_link FROM members ORDER by id DESC LIMIT 15";
$query = $this->db->query($mysql);
//$this->table->set_heading( array('data' => 'ID', 'style' => 'width:50px'),'Email', 'Firstname', 'Lastname','Last Login','Location', array('data' => 'ACTION', 'style' => 'width:40px'), array('data' => 'Select', 'style' => 'width:40px'));
$data['recent_members'] = $this->table->generate($query);
$mysql="SELECT '<button type=\"button\" class=\"btn btn-primary\">View</button>' AS View,name,username,email,added,last_login from practice ORDER BY id DESC LIMIT 7";
$data['recent_practice'] = "";
$query = $this->db->query($mysql);
//$this->table->set_heading( array('data' => 'ID', 'style' => 'width:50px'),'Email', 'Firstname', 'Lastname','Last Login','Location', array('data' => 'ACTION', 'style' => 'width:40px'), array('data' => 'Select', 'style' => 'width:40px'));
$data['recent_practice'] = $this->table->generate($query);
$mysql="SELECT '<button type=\"button\" class=\"btn btn-warning\" onclick=\"selectPendingPractice('||id||');\"><i class=\"fa fa-check-circle\"></i></button>' AS process,
'<button type=\"button\" class=\"btn btn-danger\" onclick=\"resendEmail('||id||');\"><i class=\"fa fa-bars\"></i></button>' AS semail,
status,
practice_name,username,email,added::date from practice_pending ORDER BY id DESC LIMIT 7";
$data['pending_practice'] = "";
$query = $this->db->query($mysql);
//$this->table->set_heading( array('data' => 'ID', 'style' => 'width:50px'),'Email', 'Firstname', 'Lastname','Last Login','Location', array('data' => 'ACTION', 'style' => 'width:40px'), array('data' => 'Select', 'style' => 'width:40px'));
$data['pending_practice'] = $this->table->generate($query);
$this->renderAdminPage('view_dash', $data);
}
public function pendingpractice(){
$data = array();
$data["page_title"] = "Pending Practice";
$this->load->library('table');
$this->table->set_template($this->template);
$mysql="SELECT '<button type=\"button\" class=\"btn btn-warning\" onclick=\"approvePractice('||id||');\">Approve</button>' AS process,
'<button type=\"button\" class=\"btn btn-danger\" onclick=\"resendEmail('||id||');\">Email</button>' AS semail,
status,
practice_name,username,email,added::date from practice_pending ORDER BY id DESC LIMIT 20";
$data['pending_practice'] = "";
$query = $this->db->query($mysql);
//$this->table->set_heading( array('data' => 'ID', 'style' => 'width:50px'),'Email', 'Firstname', 'Lastname','Last Login','Location', array('data' => 'ACTION', 'style' => 'width:40px'), array('data' => 'Select', 'style' => 'width:40px'));
$data['pending_practice'] = $this->table->generate($query);
$this->renderAdminPage('view_pendingpractice', $data);
}
public function pendingusers(){
$data = array();
$data["page_title"] = "Pending Members";
$this->load->library('table');
$this->table->set_template($this->template);
$data['recent_members'] = "";
$mysql = "SELECT id,username,firstname,lastname,added::date,loc,last_login,acc_link FROM members ORDER by id DESC LIMIT 15";
$query = $this->db->query($mysql);
//$this->table->set_heading( array('data' => 'ID', 'style' => 'width:50px'),'Email', 'Firstname', 'Lastname','Last Login','Location', array('data' => 'ACTION', 'style' => 'width:40px'), array('data' => 'Select', 'style' => 'width:40px'));
$data['recent_members'] = $this->table->generate($query);
$this->renderAdminPage('view_pendingusers', $data);
}
public function resendEmail() {
$data['pending_practice_id'] = trim($this->input->get('pending_practice_id'));
echo "Sending ".$data['pending_practice_id'];
// return false;
}
public function viewPendingPractice() {
$data = array();
$data['pending_practice_id'] = $this->uri->segment(3);
$data['page_title'] = "Pending Practice - ".$data['pending_practice_id'];
$mysql = "SELECT * FROM practice_pending WHERE id = ".$data['pending_practice_id'];
$query = $this->db->query($mysql);
$this->renderPracticePage('view_pending_practice', $data);
}
protected function renderPracticePage($page_name, $data) {
$this->load->view('template/secure_header', $data);
$this->load->view('practice/' . $page_name, $data);
$this->load->view('template/secure_footer', $data);
}
protected function renderAdminPage($page_name, $data) {
$this->load->view('template/secure_header', $data);
$this->load->view('admin/' . $page_name, $data);
$this->load->view('template/secure_footer', $data);
}
}
@@ -0,0 +1,274 @@
<?php
class MCORE_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 mermsemr_api($in, $out) {
$this->load->model('backend_model');
// $out = array();
return $this->backend_model->mermsemr_api($in, $out);
}
protected function smart_htmlspecialchars($str) {
if (substr($str, 0, 1) == '<')
return $str;
return htmlspecialchars($str);
}
/*
RET: added=2019-10-01 22:11:40.050111
- 20:00:59.180 INFO [11950]: RET: backoffice_id=1
- 20:00:59.180 INFO [11950]: RET: email=ses66181@gmail.com
- 20:00:59.180 INFO [11950]: RET: firstname=Olusesan
- 20:00:59.180 INFO [11950]: RET: id=1
- 20:00:59.180 INFO [11950]: RET: lastname=Ameye
- 20:00:59.180 INFO [11950]: RET: pass=d0fbea2563b377ea7074bced45c88dcb
- 20:00:59.180 INFO [11950]: RET: result=YES I GET TO BACK END
- 20:00:59.180 INFO [11950]: RET: sessionid=acabab4686eec2d683d9f7595d4880ba
- 20:00:59.180 INFO [11950]: RET: status=1
- 20:00:59.180 INFO [11950]: RET: stauts=OK
- 20:00:59.180 INFO [11950]: RET: username=oameye
*/
protected function loginAdminUser($data, $out) {
$data['action'] = MERMSEMR_BKO_LOGIN;
// $data['mlog'] = $mlog;
// $data['member_id'] = $_SESSION['member_id'];
$this->load->model('backend_model');
$out = array();
$res = $this->backend_model->mermsemr_api($data, $out);
//echo $res." -------------------------------------++";
$loginReturn = false;
if ( $res==PHP_API_OK && isset($out["sessionid"]) && $out["backoffice_id"] > 0 ){
$_SESSION['session_id'] =$out['sessionid']; // "";
$_SESSION['username'] = $out['username']; // "";
$_SESSION['backoffice_id'] = $out['backoffice_id'];
$_SESSION['user_firstname'] = $out['firstname'];
$_SESSION['user_lastname'] = $out['lastname'];
$_SESSION['user_email'] = $out['email'];
$_SESSION['user_id'] = $out['backoffice_id'];
$_SESSION['current_user'] = $out['firstname']." " . $out['lastname'];
$loginReturn = true;
}
else {
$data['error_message']="Invalid Username or Password";
}
return $loginReturn;
}
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->mermsemr_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;
}
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 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 renderProviderSecurePage($page_name, $data) {
// 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);
}
$this->load->view('template/provider_header', $data);
$this->load->view('provider/' . $page_name, $data);
$this->load->view('template/provider_footer', $data);
}
}
@@ -0,0 +1,42 @@
<?php
class Backend_model extends CI_Model {
var $thisUser = 'sameye';
var $USER = '';
var $mermsemr;
function __construct() {
$this->USER = $_SERVER['SCRIPT_FILENAME'];
$this->USER = str_replace('/home', '', $this->USER);
$this->USER = strtok($this->USER, '/');
if ($this->USER == 'opt') {
$this->USER = 'root';
}
$this->thisUser = $this->USER;
}
public function mermsemr_api($in, $out = array()) {
$this->mermsemr_load();
$ret = $this->mermsemr->mermsemr_api($in, $out);
return $ret;
}
public function cfgReadChar($str) {
$this->wrenchboard_load();
$ret = $this->mermsemr->cfgReadChar($str);
return $ret;
}
private function mermsemr_load() {
// $this->$USER = $_SERVER['SCRIPT_FILENAME'];
$mermsemr_class = 'mermsemr_api_' . $this->USER . '\\MermsEmr';
if (!is_object($this->mermsemr)) {
$this->mermsemr = new $mermsemr_class();
}
}
}
//<? if (!array_key_exists("mermsemr", $GLOBALS)) $mermsemr = new mermsemr_api_sameye\MermsEmr(); ?>
@@ -0,0 +1,335 @@
<!-- begin row -->
<div class="row">
<div class="col-lg-6 col-xxl-3 m-b-30">
<div class="card card-statistics h-100 mb-0">
<div class="card-header">
<h4 class="card-title">New/Establish Patient</h4>
</div>
<div class="card-body pt-0">
<div class="apexchart-wrapper">
<div id="jobportaldemo3"></div>
</div>
<div class="row text-center justify-content-center">
<div class="col ml-3">
<h4 class="mb-0">45%</h4>
<span> <i class="fa fa-square pr-1 text-primary"></i> New Patients </span>
</div>
<div class="col">
<h4 class="mb-0">55%</h4>
<span> <i class="fa fa-square pr-1 text-info"></i> Establish Patients </span>
</div>
</div>
</div>
</div>
</div>
<div class="col-lg-6 col-xxl-3 m-b-30">
<div class="card card-statistics h-100 mb-0 widget-income-list">
<div class="card-body d-flex align-itemes-center">
<div class="media align-items-center w-100">
<div class="text-left">
<h3 class="mb-0">45.8k </h3>
<span>Pending Users</span>
</div>
<div class="img-icon bg-pink ml-auto">
<i class="ti ti-user text-white"></i>
</div>
</div>
</div>
<div class="card-body d-flex align-itemes-center">
<div class="media align-items-center w-100">
<div class="text-left">
<h3 class="mb-0">65.4k </h3>
<span>New Users</span>
</div>
<div class="img-icon bg-primary ml-auto">
<i class="ti ti-tag text-white"></i>
</div>
</div>
</div>
<div class="card-body d-flex align-itemes-center">
<div class="media align-items-center w-100">
<div class="text-left">
<h3 class="mb-0">78.2k </h3>
<span>Deleted Users</span>
</div>
<div class="img-icon bg-orange ml-auto">
<i class="ti ti-wallet text-white"></i>
</div>
</div>
</div>
<div class="card-body d-flex align-itemes-center">
<div class="media align-items-center w-100">
<div class="text-left">
<h3 class="mb-0">65.3k </h3>
<span>Active Users</span>
</div>
<div class="img-icon bg-info ml-auto">
<i class="ti ti-slice text-white"></i>
</div>
</div>
</div>
</div>
</div>
<div class="col-xxl-6 m-b-30">
<div class="card card-statistics site-visitor h-100 mb-0">
<div class="card-header">
<h4 class="card-title">App. Visitors</h4>
</div>
<div class="card-body pb-0">
<div class="row">
<div class="col-sm-4 mb-3 mb-sm-0">
<h2 class="mb-0">154,65</h2>
<span>Total visit</span>
</div>
<div class="col-sm-8 ml-auto">
<div class="row">
<div class="border-right col mr-4">
<h4 class="mb-0">4,251</h4>
<span> <i class="fa fa-square pr-1 text-pink"></i> Recent </span>
</div>
<div class="border-right col mr-4">
<h4 class="mb-0">6,578</h4>
<span> <i class="fa fa-square pr-1 text-primary"></i> Establish </span>
</div>
<div class="col">
<h4 class="mb-0">2,654</h4>
<span> <i class="fa fa-square pr-1 text-light"></i> Others </span>
</div>
</div>
</div>
</div>
<div class="apexchart-wrapper">
<div id="jobportaldemo4" class="chart-fit"></div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xxl-6 m-b-30">
<div class="card card-statistics h-100 mb-0">
<div class="card-header d-flex align-items-center justify-content-between">
<div class="card-heading">
<h4 class="card-title">Pending Practice</h4>
</div>
<div id="transp_detail"></div>
<div class="dropdown">
<a class="p-2 export-btn" href="#!" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Action
</a>
<div class="dropdown-menu custom-dropdown dropdown-menu-right p-4">
<h6 class="mb-1">Action</h6>
<a class="dropdown-item" href="/dash/pendingpractice"><i class="fa-fw fa fa-file-pdf-o pr-2"></i>Manage</a>
<a class="dropdown-item" href="/reports/pendingpractice"><i class="fa-fw fa fa-file-excel-o pr-2"></i>Report</a>
</div>
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<?=$pending_practice?>
</div>
</div>
<div class="card-header d-flex align-items-center justify-content-between">
<div class="card-heading">
<h4 class="card-title">Recent Practice</h4>
</div>
<div class="dropdown">
<a class="p-2 export-btn" href="#!" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Action
</a>
<div class="dropdown-menu custom-dropdown dropdown-menu-right p-4">
<h6 class="mb-1">Action</h6>
<a class="dropdown-item" href="#!"><i class="fa-fw fa fa-file-pdf-o pr-2"></i>Manage</a>
<a class="dropdown-item" href="#!"><i class="fa-fw fa fa-file-excel-o pr-2"></i>Report</a>
</div>
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<?=$recent_practice?>
</div>
</div>
</div>
</div>
<div class="col-xxl-6 m-b-30">
<div class="card card-statistics h-100 mb-0 jobportal-contant">
<div class="card-header d-flex align-items-center justify-content-between">
<div class="card-heading">
<h4 class="card-title">Recent Members</h4>
</div>
<div class="dropdown">
<a class="p-2 export-btn" href="#!" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Action
</a>
<div class="dropdown-menu custom-dropdown dropdown-menu-right p-4">
<h6 class="mb-1">Action</h6>
<a class="dropdown-item" href="/dash/pendingusers"><i class="fa-fw fa fa-file-pdf-o pr-2"></i>Manage</a>
<a class="dropdown-item" href="/reports/pendingusers"><i class="fa-fw fa fa-file-excel-o pr-2"></i>Report</a>
</div>
</div>
</div>
<div class="card-body">
<div class="table-responsive">
<?php echo $recent_members; ?>
<!-- table id="openposition" class="table table-borderless table-striped jobportal-table mb-0">
<tbody class="text-muted">
<tr>
<td>
<div class="bg-img ml-3">
<img src="assets/img/browser-logo/google.png" class="img-fluid" alt="user-7">
</div>
</td>
<td>
<p class="d-block"><strong> Senior front-end developer</strong>
<span class="d-block"> <i class="fa fa-map-marker mr-2"></i> Montreal, Canada</span></p>
</td>
<td>
<p> Over 1 month ago
<span class="d-block"> <i class="fa fa-briefcase mr-2"></i> Fulltime </span></p>
</td>
<td class="text-info text-right">
45 Days left
</td>
</tr>
<tr>
<td>
<div class="bg-img ml-3">
<img src="assets/img/browser-logo/envato.png" class="img-fluid" alt="user-7">
</div>
</td>
<td>
<p class="d-block"><strong> Sales associate</strong>
<span class="d-block"> <i class="fa fa-map-marker mr-2"></i> London, UK</span></p>
</td>
<td>
<p> Over 2 month ago
<span class="d-block"> <i class="fa fa-briefcase mr-2"></i> Parttime </span></p>
</td>
<td class="text-info text-right">
80 Days left
</td>
</tr>
<tr>
<td>
<div class="bg-img ml-3">
<img src="assets/img/browser-logo/invision.png" class="img-fluid" alt="user-7">
</div>
</td>
<td>
<p class="d-block"><strong> Product designer</strong>
<span class="d-block"> <i class="fa fa-map-marker mr-2"></i> Delhi, India</span></p>
</td>
<td>
<p> Over 6 month ago
<span class="d-block"> <i class="fa fa-briefcase mr-2"></i> Parttime </span></p>
</td>
<td class="text-info text-right">
50 Days left
</td>
</tr>
<tr>
<td>
<div class="bg-img ml-3">
<img src="assets/img/browser-logo/slack.png" class="img-fluid" alt="user-7">
</div>
</td>
<td>
<p class="d-block"><strong> Python engineer</strong>
<span class="d-block"> <i class="fa fa-map-marker mr-2"></i> Tokyo, Japan</span></p>
</td>
<td>
<p> Over 10 month ago
<span class="d-block"> <i class="fa fa-briefcase mr-2"></i> Fulltime </span></p>
</td>
<td class="text-info text-right">
20 Days left
</td>
</tr>
<tr>
<td>
<div class="bg-img ml-3">
<img src="assets/img/browser-logo/bootstrap.png" class="img-fluid" alt="user-7">
</div>
</td>
<td>
<p class="d-block"><strong> Account executive</strong>
<span class="d-block"> <i class="fa fa-map-marker mr-2"></i> Menlo Park, CA</span></p>
</td>
<td>
<p> Over 4 month ago
<span class="d-block"> <i class="fa fa-briefcase mr-2"></i> Casual </span></p>
</td>
<td class="text-info text-right">
10 Days left
</td>
</tr>
</tbody>
</!-->
</div>
</div>
</div>
</div>
</div>
<!-- end row -->
<script type="text/javascript">
<!--
function viewMember(member_id) {
$('#transp_detail').html('Processing...');
$('#acc' + member_id).prop('disabled', true);
$.ajax({
url: "/member/viewmember?proc=PROCESS&member_id=" + member_id
}).done(function (data) {
$('#transp_detail').html(data);
$('#acc' + member_id).prop('disabled', false);
});
return false;
}
function selectPendingPractice(pending_practice_id) {
// alert(pending_practice_id);
$('#transp_detail').html('Processing...');
// $('#acc' + pending_practice_id).prop('disabled', true);
$.ajax({
url: "/practice/selectPendingPractice?proc=PROCESS&pending_practice_id=" + pending_practice_id
}).done(function (data) {
$('#transp_detail').html(data);
// $('#acc' + pending_practice_id).prop('disabled', false);
});
return false;
}
function resendEmail(pending_practice_id) {
// alert(pending_practice_id);
$('#transp_detail').html('Processing...');
$('#bremail' + pending_practice_id).prop('disabled', true);
$.ajax({
url: "/practice/resendEmail?proc=PROCESS&pending_practice_id=" + pending_practice_id
}).done(function (data) {
$('#transp_detail').html(data);
$('#bremail' + pending_practice_id).prop('disabled', false);
});
return false;
}
// -->
</script>
@@ -0,0 +1,37 @@
<div class="row">
<div class="col-xxl-6 m-b-30">
<div class="card card-statistics h-100 mb-0">
<div class="card-body">
<div class="table-responsive">
<?=$pending_practice?>
</div>
</div>
</div>
</div>
<div class="col-xxl-6 m-b-30">
<div class="card card-statistics h-100 mb-0 jobportal-contant">
<div class="card-header d-flex align-items-center justify-content-between">
<div class="card-heading">
<h4 class="card-title">Details</h4>
</div>
</div>
<div class="card-body">
<div class="table-responsive">
</div>
</div>
</div>
</div>
</div>
<!-- end row -->
@@ -0,0 +1,37 @@
<div class="row">
<div class="col-xxl-6 m-b-30">
<div class="card card-statistics h-100 mb-0">
<div class="card-body">
<div class="table-responsive">
<?=$recent_members?>
</div>
</div>
</div>
</div>
<div class="col-xxl-6 m-b-30">
<div class="card card-statistics h-100 mb-0 jobportal-contant">
<div class="card-header d-flex align-items-center justify-content-between">
<div class="card-heading">
<h4 class="card-title">Details</h4>
</div>
</div>
<div class="card-body">
<div class="table-responsive">
</div>
</div>
</div>
</div>
</div>
<!-- end row -->
@@ -0,0 +1,35 @@
</div>
<!-- end container-fluid -->
</div>
<!-- end app-main -->
</div>
<!-- end app-container -->
<!-- begin footer -->
<footer class="footer">
<div class="row">
<div class="col-12 col-sm-6 text-center text-sm-left">
<p>&copy; Copyright <?= date("Y")?>. All rights reserved.</p>
</div>
<div class="col col-sm-6 ml-sm-auto text-center text-sm-right">
<p>Made by <i class="fa fa-heart text-danger mx-1"></i> Fluxtra LAB</p>
</div>
</div>
</footer>
<!-- end footer -->
</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>
@@ -0,0 +1,335 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>MERSM Support & Administration</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
<meta name="description" content="Admin template that can be used to build dashboards for CRM, CMS, etc." />
<meta name="author" content="Potenza Global Solutions" />
<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>
<!-- 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>
</div>
<!-- end pre-loader -->
<!-- begin app-header -->
<header class="app-header top-bar">
<!-- begin navbar -->
<nav class="navbar navbar-expand-md">
<!-- begin navbar-header -->
<div class="navbar-header d-flex align-items-center">
<a href="javascript:void:(0)" class="mobile-toggle"><i class="ti ti-align-right"></i></a>
<a class="navbar-brand" href="/dash">
<img src="/assets/img/logo.png" class="img-fluid logo-desktop" alt="logo" />
<img src="/assets/img/logo-icon.png" class="img-fluid logo-mobile" alt="logo" />
</a>
</div>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<i class="ti ti-align-left"></i>
</button>
<!-- end navbar-header -->
<!-- begin navigation -->
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<div class="navigation d-flex">
<ul class="navbar-nav nav-left">
<li class="nav-item">
<a href="javascript:void(0)" class="nav-link sidebar-toggle">
<i class="ti ti-align-right"></i>
</a>
</li>
<li class="nav-item full-screen d-none d-lg-block" id="btnFullscreen">
<a href="javascript:void(0)" class="nav-link expand">
<i class="icon-size-fullscreen"></i>
</a>
</li>
</ul>
<ul class="navbar-nav nav-right ml-auto">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="javascript:void(0)" id="navbarDropdown3" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fe fe-bell"></i>
<span class="notify">
<span class="blink"></span>
<span class="dot"></span>
</span>
</a>
<div class="dropdown-menu extended animated fadeIn" aria-labelledby="navbarDropdown">
<ul>
<li class="dropdown-header bg-gradient p-4 text-white text-left">Notifications
<a href="#" class="float-right btn btn-square btn-inverse-light btn-xs m-0">
<span class="font-13"> Clear all</span></a>
</li>
<li class="dropdown-body min-h-240 nicescroll">
<ul class="scrollbar scroll_dark max-h-240">
<li>
<a href="javascript:void(0)">
<div class="notification d-flex flex-row align-items-center">
<div class="notify-icon bg-img align-self-center">
<div class="bg-type bg-type-md">
<span>HY</span>
</div>
</div>
<div class="notify-message">
<p class="font-weight-bold">New registered user</p>
<small>Just now</small>
</div>
</div>
</a>
</li>
<li>
<a href="javascript:void(0)">
<div class="notification d-flex flex-row align-items-center">
<div class="notify-icon bg-img align-self-center">
<div class="bg-type bg-type-md bg-success">
<span>GM</span>
</div>
</div>
<div class="notify-message">
<p class="font-weight-bold">New invoice received</p>
<small>22 min</small>
</div>
</div>
</a>
</li>
<li>
<a href="javascript:void(0)">
<div class="notification d-flex flex-row align-items-center">
<div class="notify-icon bg-img align-self-center">
<div class="bg-type bg-type-md bg-danger">
<span>FR</span>
</div>
</div>
<div class="notify-message">
<p class="font-weight-bold">Server error report</p>
<small>7 min</small>
</div>
</div>
</a>
</li>
<li>
<a href="javascript:void(0)">
<div class="notification d-flex flex-row align-items-center">
<div class="notify-icon bg-img align-self-center">
<div class="bg-type bg-type-md bg-info">
<span>HT</span>
</div>
</div>
<div class="notify-message">
<p class="font-weight-bold">Database report</p>
<small>1 day</small>
</div>
</div>
</a>
</li>
<li>
<a href="javascript:void(0)">
<div class="notification d-flex flex-row align-items-center">
<div class="notify-icon bg-img align-self-center">
<div class="bg-type bg-type-md">
<span>DE</span>
</div>
</div>
<div class="notify-message">
<p class="font-weight-bold">Order confirmation</p>
<small>2 day</small>
</div>
</div>
</a>
</li>
</ul>
</li>
<li class="dropdown-footer">
<a class="font-13" href="javascript:void(0)"> View All Notifications
</a>
</li>
</ul>
</div>
</li>
<li class="nav-item dropdown user-profile">
<a href="javascript:void(0)" class="nav-link dropdown-toggle " id="navbarDropdown4" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img src="/assets/img/avtar/02.jpg" alt="avtar-img">
<span class="bg-success user-status"></span>
</a>
<div class="dropdown-menu animated fadeIn" aria-labelledby="navbarDropdown">
<div class="bg-gradient px-4 py-3">
<div class="d-flex align-items-center justify-content-between">
<div class="mr-1">
<h4 class="text-white mb-0"><?=isset( $_SESSION['current_user'])? $_SESSION['current_user']:''?></h4>
<small class="text-white"><?=isset( $_SESSION['email'])? $_SESSION['email']:''?></small>
</div>
<a href="/logout" class="text-white font-20 tooltip-wrapper" data-toggle="tooltip" data-placement="top" title="" data-original-title="Logout"> <i
class="zmdi zmdi-power"></i></a>
</div>
</div>
<div class="p-4">
<a class="dropdown-item d-flex nav-link" href="#">
<i class="fa fa-user pr-2 text-success"></i> Profile</a>
<!--a class="dropdown-item d-flex nav-link" href="javascript:void(0)">
<i class="fa fa-envelope pr-2 text-primary"></i> Inbox
<span class="badge badge-primary ml-auto">6</span>
</a>
<a class="dropdown-item d-flex nav-link" href="javascript:void(0)">
<i class=" ti ti-settings pr-2 text-info"></i> Settings
</a>
<a class="dropdown-item d-flex nav-link" href="javascript:void(0)">
<i class="fa fa-compass pr-2 text-warning"></i> Need help?</a -->
<!--div class="row mt-2">
<div class="col">
<a class="bg-light p-3 text-center d-block" href="#">
<i class="fe fe-mail font-20 text-primary"></i>
<span class="d-block font-13 mt-2">My messages</span>
</a>
</div>
<div class="col">
<a class="bg-light p-3 text-center d-block" href="#">
<i class="fe fe-plus font-20 text-primary"></i>
<span class="d-block font-13 mt-2">Compose new</span>
</a>
</div>
</!--div -->
</div>
</div>
</li>
</ul>
</div>
</div>
<!-- end navigation -->
</nav>
<!-- end navbar -->
</header>
<!-- end app-header -->
<!-- begin app-container -->
<div class="app-container">
<!-- begin app-nabar -->
<aside class="app-navbar">
<!-- begin sidebar-nav -->
<div class="sidebar-nav scrollbar scroll_light">
<ul class="metismenu " id="sidebarNav">
<li class="nav-static-title">General</li>
<li class="active">
<a class="has-arrow" href="/dash" aria-expanded="false">
<i class="nav-icon ti ti-rocket"></i>
<span class="nav-title">Dashboard</span>
<span class="nav-label label label-danger">9</span>
</a>
<ul aria-expanded="false">
<li> <a href='/dash/pendingusers'>Pending Users</a> </li>
<li> <a href='/dash/pendingpractice'>Pending Practice</a> </li>
<li> <a href='/dash/users'>Users</a> </li>
<li> <a href='/dash/practice'>Practice</a> </li>
<li> <a href='/dash/invoices'>Invoices</a> </li>
<li> <a href='/dash/payments'>Payments</a> </li>
</ul>
</li>
<li>
<a class="has-arrow" href="javascript:void(0)" aria-expanded="false"><i class="nav-icon ti ti-layout"></i> <span class="nav-title">Layouts</span></a>
<ul aria-expanded="false">
<li><a href="layout-mini.html">Sidebar Mini</a></li>
</ul>
</li>
<li>
<a class="has-arrow" href="javascript:void(0)" aria-expanded="false"><i class="nav-icon ti ti-pie-chart"></i><span class="nav-title">Charts</span></a>
<ul aria-expanded="false">
<li> <a href="chart-apex.html">Apex Chart</a> </li>
<li> <a href="chart-flot.html">Flot Chart</a> </li>
<li> <a href="chart-morris.html">Morris Chart</a> </li>
<li> <a href="chart-chartist.html">Chartist Charts</a> </li>
<li> <a href="chart-chartjs.html">Chartjs Chart</a> </li>
<li> <a href="chart-c3.html">C3 Chart</a> </li>
<li> <a href="chart-sparkline.html">Sparkline Chart</a> </li>
<li> <a href="chart-knob.html">Knob Chart</a> </li>
</ul>
</li>
<li>
<a class="has-arrow" href="javascript:void(0)" aria-expanded="false"> <i class="nav-icon ti ti-pencil-alt"></i> <span class="nav-title">Forms</span> </a>
<ul aria-expanded="false">
<li> <a href="form-autonumeric.html">Autonumeric</a> </li>
<li> <a href="form-editors.html">Editors</a> </li>
<li> <a href="form-elements.html">Elements</a> </li>
<li> <a href="form-file-upload.html">Drop Zone </a> </li>
</ul>
</li>
<li class="nav-static-title">Extra Tools</li>
<li>
<a class="has-arrow" href="javascript:void(0)" aria-expanded="false"><i class="nav-icon ti ti-map-alt"></i><span class="nav-title">Pending</span></a>
<ul aria-expanded="false">
<li> <a href="#">Pending</a> </li>
<li> <a href="#">Pending </a> </li>
<li> <a href="#">Pending </a> </li>
</ul>
</li>
</ul>
</div>
<!-- end sidebar-nav -->
</aside>
<!-- end app-navbar -->
<!-- begin app-main -->
<div class="app-main" id="main">
<!-- begin container-fluid -->
<div class="container-fluid">
<!-- begin row -->
<div class="row">
<div class="col-md-12 m-b-30">
<!-- begin page title -->
<div class="d-block d-sm-flex flex-nowrap align-items-center">
<div class="page-title mb-2 mb-sm-0">
<h1><?=isset($page_title)?$page_title:'DashBoard'?></h1>
</div>
<div class="ml-auto d-flex align-items-center">
<nav>
<ol class="breadcrumb p-0 m-b-0">
<li class="breadcrumb-item">
<a href="/dash"><i class="ti ti-home"></i></a>
</li>
<li class="breadcrumb-item">
Dashboard
</li>
</ol>
</nav>
</div>
</div>
<!-- end page title -->
</div>
</div>
<!-- end row -->