"", 'thead_open' => '', 'thead_close' => '', 'heading_row_start' => '', 'heading_row_end' => '', 'heading_cell_start' => '', 'tbody_open' => '', 'tbody_close' => '', 'row_start' => '', 'row_end' => '', 'cell_start' => '', 'row_alt_start' => '', 'row_alt_end' => '', 'cell_alt_start' => '', 'table_close' => '
', 'heading_cell_end' => '
', 'cell_end' => '
', 'cell_alt_end' => '
' ); var $template_nohead = array( 'table_open' => "", 'thead_open' => '', 'thead_close' => '', 'heading_row_start' => '', 'heading_row_end' => '', 'heading_cell_start' => '', 'tbody_open' => '', 'tbody_close' => '', 'row_start' => '', 'row_end' => '', 'cell_start' => '', 'row_alt_start' => '', 'row_alt_end' => '', 'cell_alt_start' => '', 'table_close' => '
', 'heading_cell_end' => '
', 'cell_end' => '
', 'cell_alt_end' => '
' ); public $data = array(); function __construct() { parent::__construct(); } protected function smart_htmlspecialchars($str) { if (substr($str, 0, 1) == '<') return $str; return htmlspecialchars($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 medtrans_call_api($action, $in, &$out) { $ret = -1; $in['pid'] = 115; // THE BASE ENDPOINT WILL COME FROM CONFIG FILE $endpointbase = "https://extlayer.kleenapp.co/agent/"; switch ($action) { case MEDTRANS_TRANSP_DEVICELIST: $endpoint = $endpointbase . "getdevicelist"; $data = array( "agent_id" => $_SESSION["agent_id"], "location_id" => $in["location_id"], "sessionid" => $_SESSION["agent_sessionid"] ); break; case MEDTRANS_TRANSP_LOGIN: $endpoint = $endpointbase . "agentlogin"; $data = array( "username" => $in["username"], "password" => $in["password"] ); break; case MEDTRANS_TRANSP_CREATE: $endpoint = $endpointbase . "createagent"; //"agentcreate"; $data = $in; // $data['login'] = 1; // force login after creattion break; case MEDTRANS_TRANSP_GET_TRANSLIST: $endpoint = $endpointbase . "gettransportlist"; $data = array( "agent_id" => $in["agent_id"], "limit" => $in["limit"], "transport_id" => $in["transport_id"] ); break; case MEDTRANS_TRANSP_VERIFYSESSION: $endpoint = $endpointbase . "verifysession"; $data = array( "agent_id" => $_SESSION["agent_id"], "sessionid" => $_SESSION["agent_sessionid"] ); break; case MEDTRANS_TRANSP_GET_TRANSPORTER: $endpoint = $endpointbase . "getlocation"; $data = array( "agent_id" => $_SESSION["agent_id"], "transporter_id" => $in["location_id"], "sessionid" => $_SESSION["agent_sessionid"] ); break; case MEDTRANS_TRANSP_ADDLOCATION: $endpoint = $endpointbase . "addtransportlocation"; $data = array( "agent_id" => $_SESSION["agent_id"], "sessionid" => $_SESSION["agent_sessionid"], "loc_name" => $in["loc_name"], "phone" => $in["phone"], "street" => $in["street"], "city" => $in["city"], "zipcode" => $in["zipcode"], "state" => $in["state"], "country" => "US" ); break; case MEDTRANS_TRANSP_EDITLOCATION: $endpoint = $endpointbase . "editlocation"; $data = array( "agent_id" => $_SESSION["agent_id"], "transporter_id" => $in["location_id"], "sessionid" => $_SESSION["agent_sessionid"], "loc_name" => $in["loc_name"], "phone" => $in["phone"], "street" => $in["street"], "city" => $in["city"], "zipcode" => $in["zipcode"], "state" => $in["state"], "country" => "US" ); break; case MEDTRANS_TRANSP_LISTLOCATION: $endpoint = $endpointbase . "listtransportlocation"; $data = array( "agent_id" => $_SESSION["agent_id"], "sessionid" => $_SESSION["agent_sessionid"], "limit" => $in["limit"] ); break; case MEDTRANS_TRANSP_GET_TRANSLATOR: $endpoint = $endpointbase . "getinterpreter"; $data = array( "agent_id" => $_SESSION["agent_id"], "interpreter_id" => $in["interpreter_id"], "sessionid" => $_SESSION["agent_sessionid"] ); break; case MEDTRANS_TRANSP_ADD_TRANSLATOR: $endpoint = $endpointbase . "addinterpreter"; $data = array( "agent_id" => $_SESSION["agent_id"], "sessionid" => $_SESSION["agent_sessionid"], "email" => $in["email"], "firstname" => $in["firstname"], "lastname" => $in["lastname"], "phone" => $in["phone"], "street" => $in["street"], "city" => $in["city"], "zipcode" => $in["zipcode"], "state" => $in["state"], "country" => "US" ); break; case MEDTRANS_TRANSP_EDIT_TRANSLATOR: $endpoint = $endpointbase . "editinterpreter"; $data = array( "agent_id" => $_SESSION["agent_id"], "interpreter_id" => $in["interpreter_id"], "sessionid" => $_SESSION["agent_sessionid"], "email" => $in["email"], "firstname" => $in["firstname"], "lastname" => $in["lastname"], "phone" => $in["phone"], "street" => $in["street"], "city" => $in["city"], "zipcode" => $in["zipcode"], "state" => $in["state"], "country" => "US" ); break; case MEDTRANS_TRANSP_LIST_TRANSLATOR: $endpoint = $endpointbase . "listinterpreters"; $data = array( "agent_id" => $_SESSION["agent_id"], "sessionid" => $_SESSION["agent_sessionid"], "limit" => $in["limit"] ); break; case MEDTRANS_USER_GET_LANGUAGE: $endpoint = $endpointbase . "getsupportedlanguage"; $data = array( "agent_id" => $_SESSION["agent_id"], "sessionid" => $_SESSION["agent_sessionid"], "limit" => 1000, 'status' => 0 ); break; case MEDTRANS_TRANSP_LANGUAGELIST: $endpoint = $endpointbase . "getinterpreterlanguage"; $data = array( "agent_id" => $_SESSION["agent_id"], "sessionid" => $_SESSION["agent_sessionid"], "interpreter_id" => $in["interpreter_id"], "language_id" => $in["language_id"], "limit" => 1000, 'status' => 0 ); break; case MEDTRANS_TRANSP_MANAGELANGUAGE: $endpoint = $endpointbase . "interpreterlang"; $data = array( "agent_id" => $_SESSION["agent_id"], "interpreter_id" => $in["interpreter_id"], "sessionid" => $_SESSION["agent_sessionid"], "mode" => $in["mode"], "lang_code" => $in["lang_code"] ); if (isset($in["language_id"])) $data["language_id"] = $in["language_id"]; if (isset($in["flags"])) $data["flags"] = $in["flags"]; break; case MEDTRANS_UPLOADS: $endpoint = $endpointbase . "uploadfile"; $data = array( "agent_id" => $_SESSION["agent_id"], "interpreter_id" => $in["interpreter_id"], "sessionid" => $_SESSION["agent_sessionid"], "language_id" => $in["language_id"], "file_type" => INTERPRETER_CERTIFICATE, "name" => $in["name"], "data" => $in["data"] ); return $this->fileUpload($endpoint, $data, $out); break; case MEDTRANS_DOWNLOAD: $endpoint = $endpointbase . "download"; $data = array( "agent_id" => $_SESSION["agent_id"], "interpreter_id" => $in["interpreter_id"], "sessionid" => $_SESSION["agent_sessionid"], "language_id" => $in["language_id"], "file_type" => INTERPRETER_CERTIFICATE, "document_id" => $in["document_id"] ); list($ret, $name, $data) = $this->fileDownload($endpoint, $data, $out); $out["file"] = $name; $out["data"] = $data; return $ret; break; case MEDTRANS_TRANSP_AGENTLANGUAGE: $endpoint = $endpointbase . "getagentlanguage"; $data = array( "agent_id" => $_SESSION["agent_id"], "sessionid" => $_SESSION["agent_sessionid"], "language_id" => $in["language_id"] ); break; case MEDTRANS_TRANSP_DRIVERSCALL: if ($in["mode"] == MODE_LIST) { $endpoint = $endpointbase . "getdriverslist"; $data = array( "agent_id" => $_SESSION["agent_id"], "sessionid" => $_SESSION["agent_sessionid"], "driver_id" => $in["driver_id"] ); } else if ($in['mode'] == MODE_ADD) { $endpoint = $endpointbase . "createdriver"; $data = array( "agent_id" => $_SESSION["agent_id"], "sessionid" => $_SESSION["agent_sessionid"], "email" => $in["email"], "firstname" => $in["firstname"], "lastname" => $in["lastname"], "phone" => $in["phone"], "street" => $in["street"], "city" => $in["city"], "zipcode" => $in["zipcode"], "state" => $in["state"], "country" => "US", "lic_number" => $in["lic_number"], "lic_state" => $in["lic_state"], "expr_month" => $in["expr_month"], "expr_year" => $in["expr_year"] ); } else if ($in['mode'] == MODE_UPDATE) { $endpoint = $endpointbase . "updatedriver"; $data = array( "agent_id" => $_SESSION["agent_id"], "driver_id" => $in["driver_id"], "sessionid" => $_SESSION["agent_sessionid"], "email" => $in["email"], "firstname" => $in["firstname"], "lastname" => $in["lastname"], "phone" => $in["phone"], "street" => $in["street"], "city" => $in["city"], "zipcode" => $in["zipcode"], "state" => $in["state"], "country" => "US", "lic_number" => $in["lic_number"], "lic_state" => $in["lic_state"], "expr_month" => $in["expr_month"], "expr_year" => $in["expr_year"] ); } break; } // call the endpoint here $content = json_encode($data); $curl = curl_init($endpoint); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-type" => "application/json")); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $content); $json_response = curl_exec($curl); $status = curl_getinfo($curl, CURLINFO_HTTP_CODE); if ($status != 200) { $out["status"] = "Service error: call to URL $endpoint failed with status $status, response $json_response, curl_error " . curl_error($curl) . ", curl_errno " . curl_errno($curl); return $ret; } $out["status"] = ""; $ret = -1; // PHP_API_OK curl_close($curl); $out = json_decode($json_response, true); $ret = isset($out['internal_return']) ? $out['internal_return'] : -1; //$out = array_merge($out, $response); return $ret; } protected function fileDownload($endpoint, $data) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $endpoint); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_VERBOSE, true); $output = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); $header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE); if ($status != 200) { $out["status"] = "Service error: call to URL $endpoint failed with status $status, curl_error " . curl_error($ch) . ", curl_errno " . curl_errno($ch); return -1; } curl_close($ch); $header = substr($output, 0, $header_size); $body = substr($output, $header_size); $headers = array(); $data = explode("\r\n", $header); //$headers['status'] = $data[0]; //array_shift($data); foreach ($data as $part) { if (strpos($part, ":") !== false) { $middle = explode(":", $part); $headers[trim($middle[0])] = trim($middle[1]); } } return array(0, $headers["X-File-Name"], $body); } protected function fileUpload($endpoint, $data, $out) { $ret = -1; $uploaddir = realpath('./') . '/tmp/'; $uploadfile = $uploaddir . $data['name']; if (file_put_contents($uploadfile, $data['data']) === FALSE) { return $ret; } unset($data['name']); unset($data['data']); /* $uploadfile = $uploaddir . basename($_FILES['file_contents']['name']); if (move_uploaded_file($_FILES['file_contents']['tmp_name'], $uploadfile)) { // OK } else { return $ret; } */ $file_name_with_full_path = realpath($uploadfile); $data['file_contents'] = '@' . $file_name_with_full_path; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $endpoint); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $json_response = curl_exec($curl); $status = curl_getinfo($curl, CURLINFO_HTTP_CODE); curl_close($curl); unlink($file_name_with_full_path); if ($status != 200) { $out["status"] = "Error: call to URL $url failed with status $status, response $json_response, curl_error " . curl_error($curl) . ", curl_errno " . curl_errno($curl); $ret = -1; } else { $out = json_decode($json_response, true); $ret = 0; } return $ret; } protected function populateAgentsession($out) { $_SESSION['agent_id'] = $out['id']; $_SESSION['city'] = $out['city']; $_SESSION['email'] = $out['email']; $_SESSION['firstname'] = $out['firstname']; $_SESSION['lastname'] = $out['lastname']; $_SESSION['loc'] = $out['loc']; $_SESSION['phone'] = $out['phone']; $_SESSION['state'] = $out['state']; $_SESSION['username'] = $out['username']; $_SESSION['zipcode'] = $out['zipcode']; $_SESSION['transporter'] = $out['transporter']; $_SESSION['agent_sessionid'] = $out['sessionid']; $_SESSION['sessionid'] = $out['sessionid']; $_SESSION['agent_name'] = $out["agent_name"]; $_SESSION['agent_type'] = $out["agent_type"]; // print_r($out); } protected function formatedMesage($msgType, $theMessage) { return "
" . $theMessage . "
"; } protected function renderAgentPage($page_name, $data) { $this->load->view('template/view_agent_header', $data); $this->load->view('agent/' . $page_name, $data); $this->load->view('template/view_agent_footer', $data); } protected function testLoginInput(&$username, &$password, &$error_message, &$valid_entry) { $valid_entry = true; $username = urlencode(trim($this->input->post('username'))); $password = trim($this->input->post('password')); if ($username == '' or $password == '') { $valid_entry = false; $error_message = 'Enter a Username/Password to continue'; } } }