Files
2021-10-09 21:59:14 -04:00

174 lines
9.6 KiB
PHP

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Bko_Controller extends WRB_Controller {
var $template = array(
'table_open' => "<table 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 $data = array();
function __construct() {
parent::__construct();
if (!isset($_SESSION['bko_username']) or $_SESSION['bko_username'] == '') {
redirect(home);
}
//print_r($_SESSION);
}
// protected
protected function bkoDashData() {
$this->load->model('backend_model');
$is_live = $this->backend_model->cfgReadChar("system.live");
$data = array();
$this->load->library('table');
$this->table->set_template($this->template);
$mysql = "SELECT '<b>ADDED:</b>'||added::date||'<br><b>EXPIRE:</b>'||expire::date||'<br>'||username||'<br><b>Name:</b>'||firstname||' '||lastname AS signup,"
. " (CASE WHEN status=1 THEN '<div id=\"btu'||id||'\"><button id=\"acc'||id||'\" class=\"btn btn-info btn-xs\" onclick=\"return resendLink('''||id||''');\" >Resend</button></div>' ELSE ' ' END) AS action ,"
. " (CASE WHEN status=1 THEN '<div id=\"dtu'||id||'\"><button id=\"del'||id||'\" class=\"btn btn-warning btn-xs\" onclick=\"return deleteLink('''||id||''');\" >Del</button></div>' ELSE ' ' END) AS Del "
. " FROM members_pending WHERE expire> now() AND status = 1"
. " ORDER BY id desc limit 5";
$query = $this->db->query($mysql);
// $this->table->set_heading('Dates', 'Username', 'Name', 'Action');
$this->table->set_heading(array('data' => 'Date/Email/Name', 'style' => 'width:180px'), array('data' => 'RES', 'style' => 'width:20px; cellpadding:0px;'), array('data' => 'Del', 'style' => 'width:20px; cellpadding:0px;'));
$data['pending_dash_table'] = $this->table->generate($query);
$this->table->set_template($this->template);
$mysql = "SElECT added::date||'<br>'||loc AS dates,email||'<br>'||firstname||' '||lastname AS Name FROM members ORDER BY id DESC LIMIT 7";
$query = $this->db->query($mysql);
// $this->table->set_heading('Account', 'Created', 'Action');
$this->table->set_heading(array('data' => 'Date/LOC', 'style' => 'width:140px'), 'Email/Name');
$data['signup_dash_table'] = $this->table->generate($query);
// PUBIC active JOB table
$mysql = "SELECT jo.expire,jo.id AS offer_id, jo.offer_code,mj.title,mj.description,mj.timeline_days,mj.price,jo.job_description FROM members_jobs_offer jo "
. " LEFT JOIN members_jobs mj ON mj.id=jo.job_id "
. " WHERE mj.status=1 AND jo.status=1 "
. " AND jo.expire> now() AND jo.public_view > 0";
$query = $this->db->query($mysql);
// $this->table->set_heading(array('data' => 'Date/LOC', 'style' => 'width:140px'), 'Email/Name');
$data['active_publicjob_table'] = $this->table->generate($query);
// Active Jobs
$jbx = "";
$mysql = "SELECT '<b>Project ID:</b>'||mc.contract||'<br><b>Title:</b>'||mc.title AS Project,m.firstname||' '||m.lastname||'<br>'||m.email AS Client,"
. " '<b>Timeline:</b> '||mc.timeline_days||' day(s)<br><b>Price:</b>'||mc.price*0.01 AS terms ,mc.description||'<br><b>Delivery Date :</b>'||mc.delivery_date As Description,"
. " '<input type=submit onclick=\"return post_nav_find_action($jbx, '||mc.id||')\" name=\"manage\" class=\"btn btn-info btn-xs\" value=\"Manage\">' AS manage,mc.status "
. "FROM members_jobs_contract mc LEFT JOIN members m ON m.id=mc.client_id LIMIT 10"; // WHERE mc.member_id = " . $_SESSION['member_id']." OR mc.client_id =". $_SESSION['member_id'];
$mysql = "SELECT '<b>'||mj.contract||'</b><br>'||mo.title AS thejob,'<b>Owner: </b>'||m1.firstname||' '||m1.lastname||' <br>'|| m1.email||'<br><b>Client: </b>'||m2.firstname||' '||m2.lastname||' <br>'|| m2.email AS Team1 "
. "FROM members_jobs_contract mj "
. "LEFT JOIN members_jobs mo ON mo.id=mj.job_id "
. "LEFT JOIN members m1 ON m1.id=mj.member_id "
. "LEFT JOIN members m2 ON m2.id=mj.client_id "
. "WHERE mj.status IN (1,2) AND mj.delivery_date > now() ORDER by mj.id DESC LIMIT 5 ";
$query = $this->db->query($mysql);
//$this->table->set_heading('Job', 'Client', 'Terms', 'Description', 'Manage', 'Status');
$this->table->set_heading(array('data' => 'Task', 'style' => 'width:180px'), 'Members');
$data['job_active_dash_table'] = $this->table->generate($query);
$mysql = "SELECT '<b>'||mj.contract||'</b><br>'||mo.title AS thejob,'<b>Owner: </b>'||m1.firstname||' '||m1.lastname||' <br>'|| m1.email||'<br><b>Client: </b>'||m2.firstname||' '||m2.lastname||' <br>'|| m2.email AS Team1 "
. "FROM members_jobs_contract mj "
. "LEFT JOIN members_jobs mo ON mo.id=mj.job_id "
. "LEFT JOIN members m1 ON m1.id=mj.member_id "
. "LEFT JOIN members m2 ON m2.id=mj.client_id "
. "WHERE mj.status IN (1,2) AND mj.delivery_date < now() ORDER by mj.id DESC LIMIT 5 ";
$query = $this->db->query($mysql);
$this->table->set_heading(array('data' => 'Task', 'style' => 'width:180px'), 'Members');
$data['job_pastdue_dash_table'] = $this->table->generate($query);
$mysql = "SELECT '<b>Added: </b>'||m.added::date ||'<br><b>Amount: </b>'||m.terminatingamount*0.01||'<br><b>Fee: </b>'|| m.fee*0.01 as trans, "
. "r.firstname||' '||r.lastname||'<br><b>Acc:</b>'||r.account_no||'-'||b.name||'<br><b>Confirm: </b>'||mp.confirmation AS Recitient,"
. "CASE WHEN m.status=1 THEN 'Pending' WHEN m.status=3 THEN 'Cancelled' WHEN m.status=5 THEN 'Completed' ELSE '' END AS Status "
. "FROM money_transfer m "
. "LEFT JOIN sendmoney_recipient r ON r.id = m.recipientid "
. "LEFT JOIN bank_entity_codes b ON b.code = r.bank_code "
. "LEFT JOIN members_payments mp ON mp.what_sendmoney = m.id "
. "WHERE mp.confirmation IS NOT NULL ORDER BY m.id DESC LIMIT 4";
$query = $this->db->query($mysql);
$this->table->set_heading('Trans', 'Target', 'Status');
$data['sendmoney_dash_table'] = $this->table->generate($query);
$mysql = "SELECT created,'From: <b>'||email||'</b><br>'|| ( CASE WHEN status=1 THEn '<input type=submit id=\"dacc'||id||'\" onclick=\"return replyMessage('||id||')\" name=\"reply\" class=\"btn btn-info btn-xs\" value=\"Reply\">' ELSE '' END )||'<br>'||your_message AS your_message "
. " FROM contacts order by id desc lIMIT 6";
$query = $this->db->query($mysql);
$this->table->set_heading(array('data' => 'Added', 'style' => 'width:110px'), 'Message');
$data['contact_dash_table'] = $this->table->generate($query);
$data['members_dash_online'] = 0;
// Jobs Messages
$sqlMsg = "SELECT created, (CASE WHEN msg_type='FILE' THEN '<a target=\"_blank\" href=\"/smedia/" . ($is_live ? "LIVE" : "TEST") . "/contract/'||contract||'/'||message||'\">'||message||'</a>' "
. "ELSE '<b>'||created||'</b><br>'||message END) as msg FROM jobs_contract_message ORDER BY id DESC LIMIT 10"; // WHERE contract='".$data['contract_id']."'";
// Jobs Messages
$sqlMsg = "SELECT j.created, (CASE WHEN j.msg_type='FILE' THEN '<a target=\"_blank\" href=\"/smedia/" . ($is_live ? "LIVE" : "TEST") . "/contract/'||j.contract||'/'||j.message||'\">'||j.message||'</a>' "
. "ELSE '<b>['||m.firstname||'-'||m.username||']->'||j.created||'</b><br>'||j.message END) as msg FROM jobs_contract_message j LEFT JOIN members m ON m.id=j.member_id ORDER BY j.id DESC LIMIT 10"; // WHERE contract='".$data['contract_id']."'";
$query_message = $this->db->query($sqlMsg);
//$this->table->set_heading('');
$this->table->set_heading(array('data' => 'Added', 'style' => 'width:110px'), 'Activity Message');
$data['message_dash_table'] = $this->table->generate($query_message);
$data['total_members'] = 0;
$data['total_balance'] = 0;
$data['total_active_jobs'] = 0;
$mysql = "SELECT count(id) AS total_members FROM members WHERE status =1";
$query = $this->db->query($mysql);
$row = $query->row_array();
$data['total_members'] = $row['total_members'];
$mysql = "SELECT sum(balance)AS total_balance FROM members WHERE status =1";
$query = $this->db->query($mysql);
$row = $query->row_array();
$data['total_balance'] = $row['total_balance'];
$mysql = "SELECT count(id) AS total_active_jobs FROM members_jobs_contract WHERE status IN (1,2)";
$query = $this->db->query($mysql);
$row = $query->row_array();
$data['total_active_jobs'] = $row['total_active_jobs'];
return $data;
}
}