*/ protected $db; private $con_name = 'digifi_db'; // 'wrench_blog'; protected $helpers = []; /** * Be sure to declare properties for any property fetch you initialized. * The creation of dynamic property is deprecated in PHP 8.2. */ // protected $session; /** * @return void */ 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. // E.g.: $this->session = \Config\Services::session(); try { $this->db = \Config\Database::connect($this->con_name); } catch (Exception $e) { echo 'Caught Data Connect Exception ::: ', $e->getMessage(), "\n"; } } protected function insert_db($table_name, $insert_data) : array{ $row = []; $this->db->table($table_name)->insert($insert_data); $query = $this->db->query("SELECT * FROM $table_name ORDER BY id DESC LIMIT 1"); $row = $query->getRowArray(); // echo $row->name; return $row; } protected function update_db($table_name, $update_data, $where_data) : array{ $row = []; $this->db->table($table_name)->insert($insert_data); $query = $this->db->query("SELECT * FROM $table_name ORDER BY id DESC LIMIT 1"); $row = $query->getRowArray(); // echo $row->name; return $row; } 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); 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); } public function randomPassword( $length = 8 ) { $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_-=+;:,.?"; $length = rand(10, 16); $password = substr( str_shuffle(sha1(rand() . time()) . $chars ), 0, $length ); return $password; } public function sendSMS($to_number):string{ $API_KEY ="TLYsgMTZBeasJHHimcWXG1QPHmjH7FPwnbKwiqTEwGCu6TrK0v13hCn8N6SYZp"; $BASE_URL = "https://api.ng.termii.com"; // $curl = curl_init(); // $data = array("api_key" => $API_KEY, "to" => $to_number, "from" => "talert", // "sms" => "Hi there, testing Termii ", "type" => "plain", "channel" => "generic" ); // // $post_data = json_encode($data); // // curl_setopt_array($curl, array( // CURLOPT_URL => $BASE_URL."/api/sms/send", // CURLOPT_RETURNTRANSFER => true, // CURLOPT_ENCODING => "", // CURLOPT_MAXREDIRS => 10, // CURLOPT_TIMEOUT => 0, // CURLOPT_FOLLOWLOCATION => true, // CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, // CURLOPT_CUSTOMREQUEST => "POST", // CURLOPT_POSTFIELDS => $post_data, // CURLOPT_HTTPHEADER => array( // "Content-Type: application/json" // ), // )); // // $response = curl_exec($curl); // // curl_close($curl); // return $response; log_message('error', "SMS TO API---=>". $to_number); $curl = curl_init(); $data = array( "to"=> $to_number, "from"=> "DigiFI", "sms"=> "Hi there, testing 123456", "type"=> "plain", "channel"=> "generic", "api_key"=> $API_KEY, ); $post_data = json_encode($data); curl_setopt_array($curl, array( CURLOPT_URL => 'https://termii.com/api/sms/send', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => '', CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => 'GET', CURLOPT_POSTFIELDS => $post_data, CURLOPT_HTTPHEADER => array( 'Content-Type: application/json' ), )); $response = curl_exec($curl); log_message('error', "SMS TO API Response---=>". $response); curl_close($curl); return $response; } }