Files
2019-05-25 23:11:05 -04:00

448 lines
18 KiB
PHP

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Agent extends Admin_Controller {
function __construct() {
parent::__construct();
}
public function index() {
$this->pending();
}
public function agents() {
$data = array();
if ($this->input->post()) {
$data = $this->input->post();
// print_r($data);
$srcht = trim($data['searchtext']);
$mysql = "SELECT * FROM agents ORDER BY id DESC limit 205";
} else {
$data['searchtext'] = '';
$mysql = " SELECT * FROM agents ORDER BY id DESC limit 50";
}
$data['page_title'] = "Agent Search";
$data['search_combo'] = $this->agentSearchCombo('searchparam');
$q = $this->db->query($mysql);
$data['transporter_search'] = $q->result();
$this->renderAdminPage('agent/view_find_agent', $data);
}
public function providers()
{
echo 'Ameye 001';
}
public function addnew() {
$data = array();
$data['firstname'] = $data['lastname'] = $data['transporter'] = '';
$data['username'] = $data['phone'] = $data['street'] = '';
$data['zipcode'] = $data['city'] = $data['state'] = '';
if ($this->input->post()) {
$data = $this->getCreateTrasporterPost();
$data['action'] = MEDTRANS_TRANSP_CREATE;
$out = array();
$ret = $this->medtrans_api($data, $out);
}
$data['transports_list'] = $this->getRecentTransportersList(10);
$this->renderAdminPage('transp/view_addnew_transporter', $data);
}
public function find() {
$data = array();
if ($this->input->post()) {
$data = $this->input->post();
// print_r($data);
$srcht = trim($data['searchtext']);
$mysql = "SELECT t.*,a.username,a.agent_name FROM transporter t LEFT JOIN agents a ON a.id=t.agent_id ORDER BY a.id DESC LIMIT 20";
} else {
$data['searchtext'] = '';
$mysql = " SELECT t.*,a.username,a.agent_name FROM transporter t LEFT JOIN agents a ON a.id=t.agent_id ORDER BY a.id DESC LIMIT 20";
}
$q = $this->db->query($mysql);
$data['transporter_search'] = $q->result();
$data['transports_list'] = $this->getRecentTransportersList(10);
$this->renderAdminPage('transp/view_find_transporter', $data);
}
public function manage() {
$transp_id = $this->input->get('transp_id');
// echo "Ameye 1 - ".$transp_id ;
$data = array();
// $mysql = "SELECT DATE_PART('hour', transport_date - now() ) AS day_gap, * FROM members_transport_request WHERE id=" . $data['transp_id'];
// $q = $this->db->query($mysql);
// $query = $this->db->query($mysql);
// $data['transport_data'] = $query->row_array();
// $out = $this->makeGoogleAddress($data['transport_data']);
// $data['directionsStart'] = $out['directionsStart']; //'4201 defoors farm trail, powder springs, GA 30127, USA';
// $data['directionsEnd'] = $out['directionsEnd']; //'2324 sta
// echo $this->constructTranspSelect($data); // 'yes here-'.;
$this->renderAdminPage('transp/view_transport_manage', $data);
}
public function findbylinkid() {
// get the user id
$transp_id = $this->input->get('transp_id');
$mysql = "SELECT *,id AS transp_id FROM transporters WHERE id=" . $transp_id;
$q = $this->db->query($mysql);
$out = $q->row();
$_SESSION['selected_transporter_row'] = $out;
redirect('transporter/profile');
}
private function getRecentTransportersList($plimit) {
$mysql = "SELECT * FROM transporters ORDER BY id DESC LIMIT $plimit";
$q = $this->db->query($mysql);
$recent_transporter_list = $q->result();
return $recent_transporter_list;
}
private function getCreateTrasporterPost() {
$out = array();
$out['transporter'] = $this->input->post('transporter');
$out['firstname'] = $this->input->post('firstname');
$out['lastname'] = $this->input->post('lastname');
$out['street'] = $this->input->post('street');
$out['zipcode'] = $this->input->post('zipcode');
$out['phone'] = $this->input->post('phone');
$out['city'] = $this->input->post('city');
$out['state'] = $this->input->post('state');
$out['username'] = $this->input->post('username');
$out['email'] = $out['username'];
$out['password'] = $this->input->post('password');
return $out;
}
public function pending() {
$data = array();
$this->load->model('admindash_model');
// $out = $this->admindash_model->getAdminDashData($data);
// $data['recent_signup'] = $out['recent_signup'];
$mysql = "SELECT DATE_PART('hour', transport_date - now() ) AS day_gap, * FROM members_transport_request";
$mysql = " SELECT r.*,r.transport_date::time AS transport_time,DATE_PART('day', r.transport_date - now() ) AS day_gap, r.id AS transport_request_id FROM members_transport_request r "
. " RIGHT JOIN transport_assignment a ON a.transport_id = r.id "
. " WHERE a.status = 1 AND a.flags IN (0,1,2,3) ORDER BY r.id DESC ";
$q = $this->db->query($mysql);
$data['transport_request'] = $q->result();
$data['page_title'] = "Pending Transports";
$this->renderAdminPage('transp/view_pending_trasport', $data);
}
public function newrequest() {
$data = array();
$this->load->model('admindash_model');
// $out = $this->admindash_model->getAdminDashData($data);
// $data['recent_signup'] = $out['recent_signup'];
$mysql = "SELECT DATE_PART('hour', transport_date - now() ) AS day_gap, * FROM members_transport_request";
$mysql = " SELECT r.*,r.transport_date::time AS transport_time,DATE_PART('day', r.transport_date - now() ) AS day_gap, r.id AS transport_request_id FROM members_transport_request r "
. " LEFT JOIN transport_assignment a ON a.transport_id = r.id "
. " WHERE r.status = 1 AND r.flags IN (0) ORDER BY r.id DESC ";
$q = $this->db->query($mysql);
$data['transport_request'] = $q->result();
$data['page_title'] = "New Transport Request(s)";
$this->renderAdminPage('transp/view_pending_trasport', $data);
}
public function assignTranspoter() {
$data['transport_id'] = $this->input->get('transport_id');
$data['transporter_id'] = $this->input->get('transporter_id');
$data['pid'] = 110;
if ($data["transport_id"] != '' and $data["transport_id"] > 0 and $data["transporter_id"] != '' and $data["transporter_id"] > 0) {
$data['action'] = MEDTRANS_TRANSP_ASSIGNTRANSPORT;
$out = array();
$ret = $this->medtrans_api($data, $out);
echo $ret;
} else {
echo "Invalid transport id and/or transporter selected";
}
}
public function selpending() {
$data['transp_id'] = $this->input->get('transp_id');
if ($data["transp_id"] != '' and $data["transp_id"] > 0) {
$mysql = " SELECT DATE_PART('hour', t.transport_date - now() ) AS day_gap, t.*,l.language,m.firstname AS req_firstname,m.lastname AS req_lastname, m.username AS req_username"
. " FROM members_transport_request t "
. " LEFT JOIN members m ON m.id=t.member_id "
. "LEFT JOIN languages l ON l.code=t.lang_code WHERE t.id=" . $data['transp_id'];
$q = $this->db->query($mysql);
$query = $this->db->query($mysql);
$data['selected_transport'] = $query->row_array();
$data['rect'] = $data['selected_transport'];
$out = $this->SelectTransporter($data["transp_id"]);
$data['recomended_list'] = $out['recomended_list'];
$data['search_list'] = $out['search_list'];
$data['assign_detail'] = "Show Detail of the assignment when applicable";
if (isset($data['selected_transport']) AND isset($data['selected_transport']['transp_assign']) AND $data['selected_transport']['transp_assign'] != '' AND $data['selected_transport']['transp_assign'] > 0) {
$assgned_transporter = $data['selected_transport']['transp_assign'];
$rmysql = "SELECT a.added AS date_assigned,g.agent_name,t.* FROM transport_assignment a LEFT JOIN agents g ON g.id = a.agent_id LEFT JOIN transporter t ON t.id = a.transporter_id WHERE a.id=" . $assgned_transporter;
// $q = $this->db->query($rmysql);
$query = $this->db->query($rmysql);
$data['selected_transporter'] = $query->row_array();
$data['assign_detail'] = "<b>Assigned to :</b> " . $data['selected_transporter']['agent_name'] . "<br><b>Location :</b>" . $data['selected_transporter']['loc_name'] . "," . $data['selected_transporter']['street'] . "," . $data['selected_transporter']['city'] . "," . $data['selected_transporter']['state'] . "-" . $data['selected_transporter']['zipcode'];
$data['assign_phone'] = "<b>Phone :</b> " . $data['selected_transporter']['phone'];
}
/*
* mobideliv=> SELECT a.added AS date_assigned,g.agent_name,t.* FROM transport_assignment a LEFT JOIN agents g ON g.id = a.agent_id LEFT JOIN transporter t ON t.id = a.transporter_id WHERE a.id=4;
date_assigned | agent_name | id | pid | agent_id | street | city | zipcode | phone | state | country | added | loc | loc_name
---------------------------+---------------------------+----+-----+----------+--------------------+----------+---------+-----------+-------+---------+----------------------------+-----------------+----------------
2017-10-27 17:27:53.20458 | Agenr Name with name 1000 | 36 | 100 | 4 | 2600 Bentley Rd SE | Marietta | 30067 | 664651123 | GA | US | 2017-10-13 18:49:51.300007 | 104.238.127.115 | This is a test
(1 row)
*/
$data['cancel_reason_combo'] = "Cancellation Reason Combo Here";
$this->load->view('admin/transp/extra/transport_form', $data);
}
// echo 'A transport line was selected';
}
private function SelectTransporter($trasnport_id) {
/*
* THIS IS JUST AN EMULATOR FOR NOW - TRANSPORTERS WILL BE RECOMENDED BASED ON RULES AND PRECOMPUTATION USING MANY FACTORS LATTER
*/
$out = array();
$mysql = "SELECT id, loc_name||'-'||street||', '||city||', '||state||'-'||zipcode AS name FROM transporter ORDER BY random() LIMIT 3";
$query = $this->db->query($mysql);
$sel1 = "<select class=\"form-control\" id=\"sel1\" name=\"recomended_list\">";
$sel1 .="<option value=\"0\">Select from recomended list</option>";
foreach ($query->result() as $row) {
$sel1 .="<option value=" . $row->id . ">" . $row->name . "</option>";
}
$sel1 .=" </select>";
$out['recomended_list'] = $sel1;
$mysql = "SELECT id, loc_name||'-'||street||', '||city||', '||state||'-'||zipcode AS name FROM transporter ORDER BY random() LIMIT 20";
$query = $this->db->query($mysql);
$sel2 = "<select class=\"form-control\" id=\"sel2\" name=\"search_list\" style=\"min-width:200px;\">";
$sel2 .="<option value=\"0\">Search list to select</option>";
foreach ($query->result() as $row) {
$sel2 .="<option value=" . $row->id . ">" . $row->name . "</option>";
}
$sel2 .=" </select>";
$out['search_list'] = $sel2;
return $out;
}
private function constructTranspSelect($data) {
$trnspPage = "
<div class = \"panel-heading\">
<h6 class = \"panel-title\"><b>Personal Information</b> This is the person to be transported</h6>
</div>
<div class = \"panel-heading\">
<h6 class = \"panel-title\"><b>Created By</b> pay attention to the person that created it account</h6>
</div>
<div class = \"panel-heading\">
<h6 class = \"panel-title\"><b>Destination :</b>" . $data['directionsEnd'] . "</h6>
</div>
<div class = \"panel-heading\">
<h6 class = \"panel-title\"><b>Origin :</b> " . $data['directionsStart'] . "</h6>
</div>
<div class = \"panel-heading\">
<h6 class = \"panel-title\"><b>Transporter</b></h6>
</div>";
return $trnspPage;
}
public function active() {
$data = array();
$this->load->model('admindash_model');
// $out = $this->admindash_model->getAdminDashData($data);
// $data['recent_signup'] = $out['recent_signup'];
$mysql = "SELECT DATE_PART('hour', transport_date - now() ) AS day_gap, * FROM members_transport_request";
$mysql = " SELECT r.*,r.transport_date::time AS transport_time,DATE_PART('day', r.transport_date - now() ) AS day_gap, r.id AS transport_request_id FROM members_transport_request r "
. " RIGHT JOIN transport_assignment a ON a.transport_id = r.id "
. " WHERE a.status = 1 AND a.flags IN (4,5,6) ORDER BY r.id DESC ";
$q = $this->db->query($mysql);
$data['transport_request'] = $q->result();
$data['page_title'] = "Active Transport(s)";
$this->renderAdminPage('transp/view_active_trasport', $data);
}
private function agentSearchCombo($cmbName) {
$selected_val = $this->input->post($cmbName);
$agentSearchList = array(
'm.lastname' => 'Agent Name',
'm.lastname' => 'Lastname',
'm.firstname' => 'Firstname',
'm.email' => 'Email',
'm.phone' => 'Phone',
'mp.zipcode' => 'Zip Code'
);
$str_Combo = " <select class=\"form-control\" name ='" . $cmbName . "'>";
foreach ($agentSearchList as $key => $value) {
$selV = '';
if ($selected_val == $key) {
$selV = ' selected';
}
$str_Combo .="<option value='" . $key . "' " . $selV . ">" . $value . "</option>";
//echo "Key: $key, Value: $value\n";
}
$str_Combo .="</select>";
return $str_Combo;
}
public function selagent() {
$data['agent_id'] = $this->input->get('agent_id');
if ($data["agent_id"] != '' and $data["agent_id"] > 0) {
$mysql = "SELECT * FROM agents WHERE id = " . $data['agent_id'];
$query = $this->db->query($mysql);
$data['selected_agent'] = $query->row_array();
$this->load->library('table');
$this->table->set_template($this->template);
// $mysql = "SELECT loc_name,street,zipcode FROM transporter WHERE agent_id = " . $data['agent_id'];
// $query = $this->db->query($mysql);
//$this->table->set_heading('Account', array('data' => 'Added', 'style' => 'width:120px'), array('data' => 'Action', 'style' => 'width:100px'));
// $data['transporter_table'] = $this->table->generate($query);
// $mysql = "SELECT firstname,lastname,email FROM interpreters WHERE agent_id = " . $data['agent_id'];
// $query = $this->db->query($mysql);
//$this->table->set_heading('Account', array('data' => 'Added', 'style' => 'width:120px'), array('data' => 'Action', 'style' => 'width:100px'));
// $data['interpreter_table'] = $this->table->generate($query);
$this->load->view('/admin/agent/extra/agent_form', $data);
}
// echo 'A transport line was selected';
}
public function maps() {
$data = array();
$this->load->library('googlemaps');
// $config['center'] = '37.4419, -122.1419';
$config['center'] = 'atlnta,GA,USA';
$config['zoom'] = 'auto';
$config['directions'] = TRUE;
$config['map_height'] = '100%';
$config['directionsStart'] = '4201 defoors farm trail, powder springs, GA 30127, USA';
$config['directionsEnd'] = '2324 stancrest ln, lawrenceville, 30044, GA, USA';
$config['directionsDivID'] = 'directionsDiv';
$this->googlemaps->initialize($config);
$data['map'] = $this->googlemaps->create_map();
$this->renderAdminPage('view_maps', $data);
}
public function transp_modal() {
// $data = $this->getSessionArray();
$data['transport_request_id'] = trim($this->input->get('transport_request_id'));
$mysql = " SELECT * FROM members_transport_request WHERE id=" . $data['transport_request_id']; //'$contract_id' ";
$query = $this->db->query($mysql);
$num = $query->num_rows();
if ($num > 0) {
$data['transport_data'] = $query->row_array();
$out = $this->makeGoogleAddress($data['transport_data']);
$this->load->library('googlemaps');
$config['center'] = 'atlanta,GA,USA';
$config['zoom'] = 'auto';
$config['directions'] = TRUE;
$config['directionsStart'] = $out['directionsStart']; //'4201 defoors farm trail, powder springs, GA 30127, USA';
$config['directionsEnd'] = $out['directionsEnd']; //'2324 stancrest ln, lawrenceville, 30044, GA, USA';
$config['directionsDivID'] = 'directionsDiv';
$this->googlemaps->initialize($config);
$data['map'] = $this->googlemaps->create_map();
$data['directionsStart'] = $out['directionsStart'];
$data['directionsEnd'] = $out['directionsEnd'];
// $lat_long = get_lat_long_from_address($config['center']);
// $data['latCenter'] = $lat_long[0];
// $data['longCenter'] = $lat_long[1];
// $data['transport_request_id'] = $transport_request_id;
$this->load->view('admin/modals/view_transp_modal', $data);
}
}
/*
* Array ( [id] => 1 [pid] => 115 [member_id] => 3744 [loc_type] => [firstname] => Adewumi [lastname] => Muyiwa [transport_date] => 2017-10-01 08:30:30 [from_phone] => 7702222380 [from_street] => Lake City Nursing And Rehab [from_aptno] => [from_city] => Lake City [from_zipcode] => 30260 [from_state] => GA [to_street] => 2324 stancrest ln [to_aptno] => [to_city] => lawrenceville [to_zipcode] => 30044 [to_state] => GA [country] => US [added] => 2017-08-23 21:47:07.505538 [status] => 1 [loc] => 38.101.241.200 )
*/
}