173 lines
5.6 KiB
PHP
173 lines
5.6 KiB
PHP
<?php
|
|
|
|
namespace App\Controllers;
|
|
|
|
use CodeIgniter\Controller;
|
|
use CodeIgniter\HTTP\CLIRequest;
|
|
use CodeIgniter\HTTP\IncomingRequest;
|
|
use CodeIgniter\HTTP\RequestInterface;
|
|
use CodeIgniter\HTTP\ResponseInterface;
|
|
use Psr\Log\LoggerInterface;
|
|
|
|
/**
|
|
* Class BaseController
|
|
*
|
|
* BaseController provides a convenient place for loading components
|
|
* and performing functions that are needed by all your controllers.
|
|
* Extend this class in any new controllers:
|
|
* class Home extends BaseController
|
|
*
|
|
* For security be sure to declare any new methods as protected or private.
|
|
*/
|
|
class BaseController extends Controller
|
|
{
|
|
/**
|
|
* Instance of the main Request object.
|
|
*
|
|
* @var CLIRequest|IncomingRequest
|
|
*/
|
|
protected $request;
|
|
|
|
/**
|
|
* An array of helpers to be loaded automatically upon
|
|
* class instantiation. These helpers will be available
|
|
* to all other controllers that extend BaseController.
|
|
*
|
|
* @var array
|
|
*/
|
|
protected $helpers = [];
|
|
|
|
/**
|
|
* Constructor.
|
|
*/
|
|
public function initController(RequestInterface $request, ResponseInterface $response, LoggerInterface $logger)
|
|
{
|
|
// Do Not Edit This Line
|
|
parent::initController($request, $response, $logger);
|
|
|
|
// Preload any models, libraries, etc, here.
|
|
// $this->load->library(array('session'));
|
|
// E.g.: $this->session = \Config\Services::session();
|
|
}
|
|
|
|
public function APIcall($method, $url, $data) {
|
|
// $curl = curl_init();
|
|
$curl = curl_init($url);
|
|
switch ($method) {
|
|
case "GET":
|
|
$params2 = '';
|
|
foreach($data as $key2=>$value2)
|
|
$params2 .= $key2.'='.$value2.'&';
|
|
|
|
$params2 = trim($params2, '&');
|
|
$url = $url.'?'.$params2;// add param to URL
|
|
log_message('critical', "API URL FINAL =>".$url );
|
|
//curl_setopt($curl, CURLOPT_FRESH_CONNECT, true);
|
|
//curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
|
//curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
|
|
break;
|
|
case "POST":
|
|
curl_setopt($curl, CURLOPT_POST, 1);
|
|
if ($data)
|
|
// curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
|
|
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
|
|
// curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data));
|
|
break;
|
|
case "PUT":
|
|
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
|
|
if ($data)
|
|
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
|
|
break;
|
|
}
|
|
|
|
curl_setopt($curl, CURLOPT_URL, $url);
|
|
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
|
|
'APIKEY: RegisteredAPIkey',
|
|
'Content-Type: application/json',
|
|
));
|
|
|
|
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
|
|
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
|
|
$result = curl_exec($curl);
|
|
|
|
if(!$result) {
|
|
echo("Connection failure!");
|
|
}
|
|
curl_close($curl);
|
|
return json_decode($result, true);
|
|
}
|
|
|
|
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();
|
|
|
|
|
|
public function smart_htmlspecialchars($str) {
|
|
if (substr($str, 0, 1) == '<')
|
|
return $str;
|
|
return htmlspecialchars($str);
|
|
}
|
|
|
|
public 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;
|
|
}
|
|
|
|
public function renderSitePage($page_name, $data) {
|
|
// $this->load->library('location');
|
|
$data['location'] =''; // (object) $this->location->get_user_location();
|
|
// print_r($data['location']);
|
|
$data["this_page_name"] = $page_name;
|
|
$composed_page = view('site/header', $data).view('site/' . $page_name, $data).view('site/footer', $data);
|
|
echo $composed_page;
|
|
}
|
|
|
|
|
|
}
|