Files
CHIEFSOFT\ameye 722c091cc0 num_rows
2024-09-23 14:50:58 -04:00

652 lines
32 KiB
PHP

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
function smart_htmlspecialchars($str) {
if (substr($str, 0, 1) == '<')
return $str;
return htmlspecialchars($str);
}
class Bkotransaction extends Bko_Controller {
public function index() {
$data["username"] = "";
$this->load->view('bko/view_bko_login', $data);
}
public function smprocess() {
// url: "/bkotransaction/smprocess?proc=PROCESS&sendmoney_id="+link_id
$proc = $this->input->get('proc');
$sendmoney_id = $this->input->get('sendmoney_id');
switch ($proc) {
case 'PROCESS':
$mysql = "SELECT m.id,mp.confirmation, m.added,me.firstname||' '||me.lastname||'<br>'||me.email AS Sender,"
. "sr.firstname||' '||sr.lastname||'<br>ACC:'||sr.account_no||'-'||be.name AS recipient, m.initiatingamount*0.01 AS Amount,m.fee*0.01 AS Fee, "
. "'<input type=submit id=\"accs'||m.id||'\" onclick=\"return smoneyDetail('||m.id||')\" name=\"manage\" class=\"btn btn-info btn-sm\" value=\"Detail\">' As Detail, "
. "'<input type=submit id=\"acc'||m.id||'\" onclick=\"return smoneyProcess('||m.id||')\" name=\"manage\" class=\"btn btn-info btn-sm\" value=\"Process\">' As Process "
. "FROM money_transfer m "
. "LEFT JOIN members me ON me.id=m.member_id "
. "LEFT JOIN sendmoney_recipient sr ON sr.id=m.recipientid "
. "LEFT JOIN members_payments mp ON mp.what_sendmoney = m.id "
. "LEFT JOIN bank_entity_codes be ON be.code=sr.bank_code WHERE m.id=" . $sendmoney_id;
$query = $this->db->query($mysql);
$row = $query->row_array();
echo $this->sendmoneyProcessPage($row);
break;
case 'TRANSDETAIL':
$mysql = "SELECT m.id,mp.confirmation, m.added,me.firstname||' '||me.lastname||'<br>'||me.email AS Sender,"
. "sr.firstname||' '||sr.lastname||'<br>ACC:'||sr.account_no||'-'||be.name AS recipient, m.initiatingamount*0.01 AS Amount,m.fee*0.01 AS Fee, "
. "'<input type=submit id=\"accs'||m.id||'\" onclick=\"return smoneyDetail('||m.id||')\" name=\"manage\" class=\"btn btn-info btn-sm\" value=\"Detail\">' As Detail, "
. "'<input type=submit id=\"acc'||m.id||'\" onclick=\"return smoneyProcess('||m.id||')\" name=\"manage\" class=\"btn btn-info btn-sm\" value=\"Process\">' As Process "
. "FROM money_transfer m "
. "LEFT JOIN members me ON me.id=m.member_id "
. "LEFT JOIN sendmoney_recipient sr ON sr.id=m.recipientid "
. "LEFT JOIN members_payments mp ON mp.what_sendmoney = m.id "
. "LEFT JOIN bank_entity_codes be ON be.code=sr.bank_code WHERE m.id=" . $sendmoney_id;
$query = $this->db->query($mysql);
$row = $query->row_array();
// let us find out if there was previous transmit
$mysql2 = sprintf("SELECT * FROM flutterwave WHERE money_transfer_id = %s", $sendmoney_id);
$query2 = $this->db->query($mysql2);
$row2 = $query2->row_array();
$extra_table= "";
if($row2){
$extra_table ="<br><table style='font-size: 12px; width: 100%;'>";
$extra_table .="<tr><td>Created</td><td>".$row2["created"]."</td></tr>";
$extra_table .="<tr><td>Response</td><td><textarea rows='8' style=' width: 100%;' >".$row2["response"]."</textarea></td></tr>";
$extra_table .="<tr><td>Request</td><td><textarea rows='4' style=' width: 100%;' >".$row2["request"]."</textarea></td></tr>";
$extra_table .="</table>";
}
// var_dump( $row2 );
echo $this->TransmitSendmoneyProcessPage($row).$extra_table;
break;
case 'DETAIL':
echo 'detail';
break;
case 'COMPLETE':
//echo 'complete 1';
// url: "/bkotransaction/smprocess?proc=COMPLETE&sendmoney_id="+link_id+'&tcode='+tcode+'&tref='+tref
$data["trans_code"] = $this->input->get('tcode');
$data["trans_tref"] = $this->input->get('tref');
$data["sendmoney_id"] = $sendmoney_id;
$data['action'] = WRENCHBOARD_SMONEY_BKOPROC;
$data['action_mode'] = SMONEY_PROCC_MANUAL;
$this->load->model('backend_model');
$out = array();
$this->backend_model->wrenchboard_api($data, $out);
echo $out['status'];
break;
}
}
public function smTransmitProcess() {
// url: "/bkotransaction/smprocess?proc=PROCESS&sendmoney_id="+link_id
$proc = $this->input->get('proc');
$sendmoney_id = $this->input->get('sendmoney_id');
switch ($proc) {
case 'PROCESS':
$mysql = "SELECT m.id,mp.confirmation, m.added,me.firstname||' '||me.lastname||'<br>'||me.email AS Sender,"
. "sr.firstname||' '||sr.lastname||'<br>ACC:'||sr.account_no||'-'||be.name AS recipient, m.initiatingamount*0.01 AS Amount,m.fee*0.01 AS Fee, "
. "'<input type=submit id=\"accs'||m.id||'\" onclick=\"return smoneyDetail('||m.id||')\" name=\"manage\" class=\"btn btn-info btn-sm\" value=\"Detail\">' As Detail, "
. "'<input type=submit id=\"acc'||m.id||'\" onclick=\"return smoneyProcess('||m.id||')\" name=\"manage\" class=\"btn btn-info btn-sm\" value=\"Process\">' As Process "
. "FROM money_transfer m "
. "LEFT JOIN members me ON me.id=m.member_id "
. "LEFT JOIN sendmoney_recipient sr ON sr.id=m.recipientid "
. "LEFT JOIN members_payments mp ON mp.what_sendmoney = m.id "
. "LEFT JOIN bank_entity_codes be ON be.code=sr.bank_code WHERE m.id=" . $sendmoney_id;
$query = $this->db->query($mysql);
$row = $query->row_array();
echo $this->sendmoneyProcessPage($row);
break;
case 'DETAIL':
echo 'detail';
break;
case 'TRANSMIT':
$mysql = "SELECT m.id,mp.confirmation, m.added,"
. "'Transfer from '||me.firstname||' '||me.lastname||'<br>'||me.email AS narration,"
. "sr.firstname,sr.lastname,sr.account_no,be.code AS bank_code, m.initiatingamount*0.01 AS Amount,m.fee*0.01 AS Fee "
. "FROM money_transfer m "
. "LEFT JOIN members me ON me.id=m.member_id "
. "LEFT JOIN sendmoney_recipient sr ON sr.id=m.recipientid "
. "LEFT JOIN members_payments mp ON mp.what_sendmoney = m.id "
. "LEFT JOIN bank_entity_codes be ON be.code=sr.bank_code WHERE m.id=" . $sendmoney_id;
$query = $this->db->query($mysql);
$row = $query->row_array();
/*
This is te place to call the Fluuerwve API for testing
*/
$this->load->helper('FlutterWave');
$out = flutterwave_api($row);
if (is_array($out) && $out['result'] > 0) {
$data["trans_code"] = $this->input->get('tcode');
$data["trans_tref"] = $this->input->get('tref');
$data["sendmoney_id"] = $sendmoney_id;
$data['action'] = WRENCHBOARD_SMONEY_BKOPROC;
$data['action_mode'] = SMONEY_PROCC_INTERSWITCH;
$this->load->model('backend_model');
$out = array();
$this->backend_model->wrenchboard_api($data, $out); //THis calls he backend - dont worry about it for now.
echo $out['status'];
} else {
if (is_array($out) && array_key_exists('status',$out)) {
echo $out['status'];
} else {
var_dump($out); // Unexpected failure
}
}
break;
case 'CHECK':
$mysql = "SELECT response -> 'data' -> 'data' AS \"data\" FROM flutterwave WHERE money_transfer_id=".((int)$sendmoney_id)." ORDER BY created DESC LIMIT 1";
$query = $this->db->query($mysql);
$row = $query->row_array();
if (is_array($row) && count($row)>0) {
$this->load->helper('FlutterWave');
$data = json_decode($row['data'], true);
$out = flutterwave_api_check($data);
if (is_array($out) && $out['result'] > 0) {
echo $out['status'];
} else {
if (is_array($out) && array_key_exists('status',$out)) {
echo $out['status'];
} else {
var_dump($out); // Unexpected failure
}
}
} else {
echo "No flutterwave transfer found!";
}
break;
}
}
private function TransmitSendmoneyProcessPage($out) {
$myTable = "<form id='sendmoneyProcessPage" . $out['id'] . "' name='sendmoneyProcessPage" . $out['id'] . "'><table class='table table-striped table-hover table-bordered table-condensed'>";
$myTable .="<tr><td style='width:100px;'><b>Confirmation</b></td><td>" . $out['confirmation'] . "</td></tr>";
$myTable .="<tr><td style='width:100px;'><b>Trx. Date</b></td><td>" . $out['added'] . "</td></tr>";
$myTable .="<tr><td style='width:100px;'><b>Sender</b></td><td>" . $out['sender'] . "</td></tr>";
$myTable .="<tr><td style='width:100px;'><b>Recipient</b></td><td>" . $out['recipient'] . "</td></tr>";
$myTable .="<tr><td style='width:100px;'><b>Amount</b></td><td>" . $out['amount'] . "</td></tr>";
$myTable .="<tr><td style='width:100px;'><b>Fee</b></td><td>" . $out['fee'] . "</td></tr>";
$myTable .="<tr><td style='width:100px;'><b>Channel</b></td><td><b>Flutterwave </b></td></tr>";
$myTable .="<tr><td style='width:100px;'><b></b></td><td><div id='btump" . $out['id'] . "'>";
$myTable .="<input type=submit id=\"acmp" . $out['id'] . "\" onclick=\"return smoneyProcessComplete('" . $out['id'] . "')\" name=\"manage\" class=\"btn btn-info btn-sm\" value=\"Complete\">";
$myTable .=" &nbsp; <input type=submit id=\"chck" . $out['id'] . "\" onclick=\"return smoneyProcessCheck('" . $out['id'] . "')\" name=\"check\" class=\"btn btn-info btn-sm\" value=\" ? \">";
$myTable .="</div></td></tr>";
$myTable .="</table></form>";
return $myTable;
}
private function sendmoneyProcessPage($out) {
$myTable = "<form id='sendmoneyProcessPage" . $out['id'] . "' name='sendmoneyProcessPage" . $out['id'] . "'><table class='table table-striped table-hover table-bordered table-condensed'>";
$myTable .="<tr><td style='width:100px;'><b>Confirmation</b></td><td>" . $out['confirmation'] . "</td></tr>";
$myTable .="<tr><td style='width:100px;'><b>Trx. Date</b></td><td>" . $out['added'] . "</td></tr>";
$myTable .="<tr><td style='width:100px;'><b>Sender</b></td><td>" . $out['sender'] . "</td></tr>";
$myTable .="<tr><td style='width:100px;'><b>Recipient</b></td><td>" . $out['recipient'] . "</td></tr>";
$myTable .="<tr><td style='width:100px;'><b>Amount</b></td><td>" . $out['amount'] . "</td></tr>";
$myTable .="<tr><td style='width:100px;'><b>Fee</b></td><td>" . $out['fee'] . "</td></tr>";
$myTable .="<tr><td style='width:100px;'><b>Trans Code</b></td><td><input type=\"text\" class=\"form-control\" id='tcode' name='tcode'></td></tr>";
$myTable .="<tr><td style='width:100px;'><b>Trans Ref</b></td><td><input type=\"text\" class=\"form-control\" id='tref' name='tref'></td></tr>";
$myTable .="<tr><td style='width:100px;'><b></b></td><td><div id='btump" . $out['id'] . "'><input type=submit id=\"acmp" . $out['id'] . "\" onclick=\"return smoneyProcessComplete('" . $out['id'] . "')\" name=\"manage\" class=\"btn btn-info btn-sm\" value=\"Complete\"></div></td></tr>";
$myTable .="</table></form>";
return $myTable;
}
public function moneytransfer() {
// $this->load->view('bko/view_bko_header', $data);
$data = array();
$this->load->library('table');
$this->table->set_template($this->template);
$mysql = "SELECT * FROM money_transfer LIMIT 100";
$sdate = '2016-01-01';
$edate = '2018-01-01';
$mysql = "SELECT m.added::date,mp.confirmation,me.firstname||' '||me.lastname||'<br>'||me.email AS Sender,"
. "sr.firstname||' '||sr.lastname||'<br>ACC:'||sr.account_no||'-'||be.name AS recipient, m.initiatingamount*0.01 AS Amount,m.fee*0.01 AS Fee, "
. "'<input type=submit onclick=\"return smoneyDetail('||m.id||')\" name=\"manage\" class=\"btn btn-info btn-sm\" value=\"Detail\">' As Detail, "
. "'<input type=submit id=\"acc'||m.id||'\" onclick=\"return smoneyProcess('||m.id||')\" name=\"manage\" class=\"btn btn-info btn-sm\" value=\"Process\">' As Process "
. "FROM money_transfer m "
. "LEFT JOIN members me ON me.id=m.member_id "
. "LEFT JOIN members_payments mp ON mp.what_sendmoney = m.id "
. "LEFT JOIN sendmoney_recipient sr ON sr.id=m.recipientid "
. "LEFT JOIN bank_entity_codes be ON be.code=sr.bank_code "
. "WHERE m.status =1 AND m.completed IS NULL ORDER BY m.added DESC ";
$query = $this->db->query($mysql);
$data['sendmoney_dash_table'] = $this->table->generate($query);
$this->load->view('bko/view_bko_header', $data);
$this->load->view('bko/view_bko_pendingsm', $data);
$this->load->view('bko/view_bko_footer', $data);
}
public function completedtransfer() {
$data = array();
$this->load->library('table');
$this->table->set_template($this->template);
$mysql = "SELECT * FROM money_transfer LIMIT 100";
$sdate = '2016-01-01';
$edate = '2018-01-01';
$mysql = "SELECT m.completed||'<br>'||m.added AS COMPLETE_ADD,mp.confirmation,me.firstname||' '||me.lastname||'<br>'||me.email AS Sender,"
. "sr.firstname||' '||sr.lastname||'<br>ACC:'||sr.account_no||'-'||be.name AS recipient, m.initiatingamount*0.01 AS Amount,m.fee*0.01 AS Fee "
. "FROM money_transfer m "
. "LEFT JOIN members me ON me.id=m.member_id "
. "LEFT JOIN members_payments mp ON mp.what_sendmoney = m.id "
. "LEFT JOIN sendmoney_recipient sr ON sr.id=m.recipientid "
. "LEFT JOIN bank_entity_codes be ON be.code=sr.bank_code "
. "WHERE m.status =5 AND m.completed IS NOT NULL ORDER BY m.completed DESC ";
$query = $this->db->query($mysql);
$data['sendmoney_dash_table'] = $this->table->generate($query);
//view_bko_completedsm.php
$this->load->view('bko/view_bko_header', $data);
$this->load->view('bko/view_bko_completedsm', $data);
$this->load->view('bko/view_bko_footer', $data);
}
public function transmittransfer() {
$this->listPendingTransfer('view_bko_transmitsm');
}
private function listPendingTransfer($pageName) {
// $this->load->view('bko/view_bko_header', $data);
$data = array();
$this->load->library('table');
$this->table->set_template($this->template);
$mysql = "SELECT * FROM money_transfer LIMIT 100";
$sdate = '2016-01-01';
$edate = '2018-01-01';
$mysql = "SELECT m.added::date||'<br>'||m.updated AS ddline ,mp.confirmation,me.firstname||' '||me.lastname||'<br>'||me.email AS Sender,"
. "sr.firstname||' '||sr.lastname||'<br>ACC:'||sr.account_no||'-'||be.name AS recipient, m.initiatingamount*0.01 AS Amount,m.fee*0.01 AS Fee, "
. "'<input type=submit onclick=\"return smoneyDetail('||m.id||')\" name=\"manage\" class=\"btn btn-info btn-xs\" value=\"Detail\">' As Detail, "
. "'<input type=submit id=\"acc'||m.id||'\" onclick=\"return smoneyTransmit('||m.id||')\" name=\"manage\" class=\"btn btn-warning btn-xs\" value=\"Transmit >> \">' As Transmit, m.proc "
. "FROM money_transfer m "
. "LEFT JOIN members me ON me.id=m.member_id "
. "LEFT JOIN members_payments mp ON mp.what_sendmoney = m.id "
. "LEFT JOIN sendmoney_recipient sr ON sr.id=m.recipientid "
. "LEFT JOIN bank_entity_codes be ON be.code=sr.bank_code "
. "WHERE m.status =1 AND m.completed IS NULL ORDER BY m.added DESC ";
$query = $this->db->query($mysql);
$this->table->set_heading(
array('data' => 'Date/Updated', 'style' => 'width:110px'),
array('data' => 'Confirmation', 'style' => 'width:100px'),
'Sender',
'Recipient',
array('data' => 'Amount', 'style' => 'width:100px'),
array('data' => 'Fee', 'style' => 'width:60px'),
array('data' => 'Detail', 'style' => 'width:100px'),
array('data' => 'Action', 'style' => 'width:100px'),
array('data' => 'Process', 'style' => 'width:100px')
);
//
//
//array('data' => 'Date', 'style' => 'width:100px')
//array('data' => 'Date', 'style' => 'width:100px')
//array('data' => 'Date', 'style' => 'width:100px')
//
$data['sendmoney_dash_table'] = $this->table->generate($query);
$this->load->view('bko/view_bko_header', $data);
$this->load->view('bko/' . $pageName, $data);
$this->load->view('bko/view_bko_footer', $data);
}
public function pendingcontract() {
$data["title"] = "Pending Offers";
$mysql = "SELECT j.added||'<br>'||j.offer_code AS cc1,'<b>From: </b> '||m1.email||'-'||m1.firstname||' '||m1.lastname||'<br><b>To: </b> '||m2.email||'-'||m2.firstname||' '||m2.lastname AS client ,"
. "j.job_description "
. "FROM members_jobs_offer j "
. "LEFT JOIN members m1 ON m1.id=j.member_id "
. "LEFT JOIN members m2 ON m2.id=j.client_id "
. " WHERE j.expire > now() AND j.status = 1 AND j.payment_id IS NOT NULL";
$data['mysql'] = $mysql;
$this->renderbkopage($data);
}
/* public function recentrefer() {
$data["title"] = "Recent Referrer Activities";
$mysql = "select mb.email AS from_email,m.* from members_refer_friend m left join members mb ON mb.id = m.member_id order by m.id desc limit 20";
$data['mysql'] = $mysql;
$this->renderbkopage($data);
}
*
*/
public function recentrefer() {
$data["title"] = "Recent Referrer Activities";
//$mysql = "select m.id,mb.email AS from_email,m.status,m.member_id,m.firstname,m.lastname,m.email from members_refer_friend m left join members mb ON mb.id = m.member_id order by m.id desc limit 20";
$mysql = "select m.id,mb.email AS from_email,m.firstname||' '||m.lastname||'<br>'||m.email AS ref_name_email,m.status from members_refer_friend m left join members mb ON mb.id = m.member_id order by m.id desc limit 200";
$data['mysql'] = $mysql;
$this->renderbkopage($data);
}
public function referactivity() {
$data["title"] = "Referrer Activities";
$mysql = "select mb.email AS from_email,m.* from members_refer_friend m left join members mb ON mb.id = m.member_id order by m.id desc";
$data['mysql'] = $mysql;
$this->renderbkopage($data);
}
public function zero_refund_offer() {
// $out = array();
$out['member_id'] = 0;
$offer_result = OFFER_NOREFU;
$jobOfferID = $this->input->get('link_id');
$mysql = "SELECT member_id,offer_code FROM members_jobs_offer WHERE id = " . $jobOfferID . " AND status IN (1,2) AND payment_id IS NOT NULL";
$query = $this->db->query($mysql);
$out = $query->result_array();
// print_r($out);
// echo 'got here '.$out[0]['member_id'];
$in = array();
if ($out[0]['member_id'] > 0 && $jobOfferID > 0) {
$in['offer_code'] = $out[0]['offer_code']; //
$in['member_id'] = $out[0]['member_id'];
$in['offer_result'] = $offer_result;
$in['action'] = WRENCHBOARD_JOB_OFFER_CONCLUDE;
$this->load->model('backend_model');
$res = $this->backend_model->wrenchboard_api($in, $out);
if ($out["result"] == "OK") {
switch ($offer_result) {
case OFFER_EXPIRE:
echo "You have cancelled this offer and no refund to the user.";
break;
}
}
}
}
public function refund_offer() {
// $out = array();
$out['member_id'] = 0;
$offer_result = OFFER_EXPIRE;
$jobOfferID = $this->input->get('link_id');
$mysql = "SELECT member_id,offer_code FROM members_jobs_offer WHERE id = " . $jobOfferID . " AND status IN (1,2) AND payment_id IS NOT NULL";
$query = $this->db->query($mysql);
$out = $query->result_array();
// print_r($out);
// echo 'got here '.$out[0]['member_id'];
$in = array();
if ($out[0]['member_id'] > 0 && $jobOfferID > 0) {
$in['offer_code'] = $out[0]['offer_code']; //
$in['member_id'] = $out[0]['member_id'];
$in['offer_result'] = $offer_result;
$in['action'] = WRENCHBOARD_JOB_OFFER_CONCLUDE;
$this->load->model('backend_model');
$res = $this->backend_model->wrenchboard_api($in, $out);
if ($out["result"] == "OK") {
switch ($offer_result) {
case OFFER_ACCEPT:
// echo "You have accepted this offer and we have notified the client. Please go to <a href='/proj/active'>manage page</a> to continue ";
break;
case OFFER_REJECT:
// echo "You have rejected this offer and we have notified the client.";
break;
case OFFER_EXPIRE:
echo "You have cancelled this offer and refunded the user.";
break;
}
}
}
}
public function expiredoffers() {
$data["page_title"] = "Expired Offers";
$mysql = "SELECT "
. "'<div id=\"btu'||id||'\"><input type=submit id=\"acc'||id||'\" onclick=\"return refundOffer('||id||')\" name=\"refund\" class=\"btn btn-info btn-sm\" value=\"Refund\"></div>' As Refund "
. ",* "
. " FROM members_jobs_offer WHERE expire < now() AND status = 1 AND payment_id IS NOT NULL";
$mysql = "SELECT j.added::date||' <br> '||j.offer_code AS cc1,'<b>From: </b> '||m1.email||'-'||m1.firstname||' '||m1.lastname||'<br><b>To: </b> '||m2.email||'-'||m2.firstname||' '||m2.lastname AS client ,"
. "'<div id=\"btu'||j.id||'\"><input type=submit id=\"acc'||j.id||'\" onclick=\"return refundOffer('||j.id||')\" name=\"refund\" class=\"btn btn-info btn-sm\" value=\"Refund\"></div>' As Refund, "
. "'<div id=\"btu'||j.id||'\"><input type=submit id=\"acc'||j.id||'\" onclick=\"return zeroOffer('||j.id||')\" name=\"refund\" class=\"btn btn-danger btn-sm\" value=\"Zero\"></div>' As Zero, "
. "j.job_description, j.status,j.refund_auto,j.refund_status "
. "FROM members_jobs_offer j "
. "LEFT JOIN members m1 ON m1.id=j.member_id "
. "LEFT JOIN members m2 ON m2.id=j.client_id "
. " WHERE j.expire < now() AND j.status = 1 AND j.payment_id IS NOT NULL ORDER BY j.id DESC";
$this->load->library('table');
$this->table->set_template($this->template);
$query = $this->db->query($mysql);
$data["ttcount"] = $query->num_rows();
$this->table->function = 'smart_htmlspecialchars';
$data['expired_offer_table'] = $this->table->generate($query);
$this->load->view('bko/view_bko_header', $data);
$this->load->view('bko/view_bko_expiredoffer', $data);
$this->load->view('bko/view_bko_footer', $data);
}
public function activecontract() {
$data["page_title"] = "Active Contracts";
$mysql = "SELECT mj.id,'<b><a href=\"#\" onclick=\"return viewJobdetail('||mj.id||')\" >'||mj.contract||'</a></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,4) ORDER by mj.id DESC ";
// $data['mysql'] = $mysql;
// $this->renderbkopage($data);
$this->load->library('table');
$this->table->set_template($this->template);
$query = $this->db->query($mysql);
$data['sendmoney_dash_table'] = $this->table->generate($query);
$this->load->view('bko/view_bko_header', $data);
$this->load->view('bko/view_bko_completedjob', $data);
$this->load->view('bko/view_bko_footer', $data);
}
public function pastduecontract() {
$data["page_title"] = "Past Due Contracts";
$mysql = "SELECT mj.id,'<b><a href=\"#\" onclick=\"return viewJobdetail('||mj.id||')\" >'||mj.contract||'</a></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 =1 AND mj.delivery_date < now() ORDER by mj.id DESC ";
// $data['mysql'] = $mysql;
// $this->renderbkopage($data);
$this->load->library('table');
$this->table->set_template($this->template);
$query = $this->db->query($mysql);
$data['sendmoney_dash_table'] = $this->table->generate($query);
$this->load->view('bko/view_bko_header', $data);
$this->load->view('bko/view_bko_completedjob', $data);
$this->load->view('bko/view_bko_footer', $data);
}
public function completedcontract() {
$data["page_title"] = "Completed Jobs";
$data["title"] = "Completed Contracts";
$mysql = "SELECT mj.id,'<b><a href=\"#\" onclick=\"return viewJobdetail('||mj.id||')\" >'||mj.contract||'</a></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 =5 ORDER by mj.id DESC ";
// $data['mysql'] = $mysql;
// $this->renderbkopage($data);
$this->load->library('table');
$this->table->set_template($this->template);
$query = $this->db->query($mysql);
$data['sendmoney_dash_table'] = $this->table->generate($query);
$this->load->view('bko/view_bko_header', $data);
$this->load->view('bko/view_bko_completedjob', $data);
$this->load->view('bko/view_bko_footer', $data);
}
public function jobdetail() {
$job_id = $this->input->get('job_id');
if ($this->input->get() && $job_id != '' && $job_id > 0) {
// echo 'jobdetail ' . $job_id;
$detail_button = " '<button type=\"button\" class=\"btn btn-primary btn-xs\" data-toggle=\"modal\" data-target=\"#modal_theme_primary\">Delvery Detail<i class=\"icon-play3 position-right\"></i></button>' ";
$this->load->model('backend_model');
$is_live = $this->backend_model->cfgReadChar("system.live");
$this->load->library('table');
$this->table->set_template($this->template);
$jbx = "''thisjob''";
$mysql = "SELECT '<b>Project ID :</b>'||mc.contract||' - <b>Name: </b>'||m.firstname||'<br><b>Title:</b>'||mc.title||'<br>'||'<b>Description: </b>'||mc.description||'<br><b>Timeline: </b> '||mc.timeline_days||' day(s) <b>Price: </b>'||mc.price*0.01||'Naira'||' <b>Expected Delivery: </b>'||mc.delivery_date AS this_job,"
. " mc.contract AS contract_id, mc.job_detail AS job_detail "
. "FROM members_jobs_contract mc LEFT JOIN members m ON m.id=mc.client_id WHERE mc.id=" . $job_id;
$query = $this->db->query($mysql);
$jbD = $query->row();
// $this->table->set_heading('Job', 'Client', 'Terms', 'Price', 'Manage', 'Status');
echo $data['job_table'] = $this->table->generate($query);
$data['this_job'] = $jbD->this_job;
$data['contract_id'] = $jbD->contract_id;
$data['job_detail'] = $jbD->job_detail;
$sqlMsg = "SELECT (CASE WHEN jc.msg_type='FILE' THEN '<a target=\"_blank\" href=\"/smedia/" . ($is_live ? "LIVE" : "TEST") . "/contract/" . $data['contract_id'] . "/'||jc.message||'\">'||jc.message||'</a>' ELSE '<b>['||m.firstname||']->'||jc.created||'</b><br>'||jc.message END) AS msg "
. "FROM jobs_contract_message jc "
. "LEFT JOIN members m ON m.id=jc.member_id "
. "WHERE jc.contract='" . $data['contract_id'] . "' ORDER by jc.id ASC";
$query_message = $this->db->query($sqlMsg);
$this->table->set_template($this->template_nohead);
$this->table->set_heading('');
echo $data['message_table'] = $this->table->generate($query_message);
}
}
public function jobcontractreport() {
$data["title"] = "Job and Contracts Report";
$mysql = "SELECT * FROM members_jobs_offer";
$data['mysql'] = $mysql;
$this->renderbkopage($data);
}
private function renderbkopage($ydata) {
$data = array();
$data["page_title"] = $ydata["title"];
$this->load->library('table');
$this->table->set_template($this->template);
$mysql = "SELECT * FROM money_transfer LIMIT 100";
$sdate = '2016-01-01';
$edate = '2018-01-01';
$mysql = $ydata['mysql'];
$query = $this->db->query($mysql);
$data['sendmoney_dash_table'] = $this->table->generate($query);
$this->load->view('bko/view_bko_header', $data);
$this->load->view('bko/view_bko_generic1', $data);
$this->load->view('bko/view_bko_footer', $data);
}
public function accountdeposit() {
$data = array();
$this->load->library('table');
$this->table->set_template($this->template);
$mysql = "SELECT * FROM members";
$query = $this->db->query($mysql);
$data['sendmoney_dash_table'] = $this->table->generate($query);
$this->load->view('bko/view_bko_header', $data);
$this->load->view('bko/view_bko_accountdeposit', $data);
$this->load->view('bko/view_bko_footer', $data);
}
public function memberdetail() {
// $this->load->view('bko/view_bko_header', $data);
$data = array();
$this->load->view('bko/view_bko_header', $data);
$this->load->view('bko/view_bko_dash', $data);
$this->load->view('bko/view_bko_footer', $data);
}
}