public static function sendMessage($to, $message) { /* Find settings for provider datas */ $gateway = Setting::get('gateway'); $from = Setting::get('from'); // Need to change that name if ($gateway == 'clickatell') { $providerUsername = Setting::get('clickatell_user_name'); $providerPasswd = Setting::get('clickatell_passwd'); $providerApiId = Setting::get('clickatell_api_id'); $baseUrl = Setting::get('clickatell_base_url'); $sessId = ''; $codeStatus = ''; $text = $message; $text = self::hex_chars($text); $text = urlencode($text); // auth call $url = $baseUrl . '/http/auth?user='******'&password='******'&api_id=' . $providerApiId; // do auth call $ret = file($url); // explode our response. return string is on first line of the data returned $sess = explode(":", $ret[0]); //echo '<pre>'; //var_dump($sess); //echo '</pre>'; $url = $baseUrl . '/http/sendmsg?session_id=' . $sessId . '&to=' . $to . '&unicode=1&text=' . $text; //echo '<br>URL : '.$url; //die; $status = ''; if ($sess[0] == 'OK') { $sessId = trim($sess[1]); // remove any whitespace //$url = $baseUrl.'/http/sendmsg?session_id='.$sessId.'&to='.$to.'&text='.$text; $url = "{$baseUrl}/http/sendmsg?session_id={$sessId}&to={$to}&unicode=1&text={$text}"; //echo '<br>URL : '.$url; //die; // do sendmsg call $ret = file($url); $send = explode(":", $ret[0]); if ($send[0] == "ID") { // All is fine, the message is sent $codeStatus = 1; $status = 'Sent'; $sessId = $send[1]; } else { // Hum, sending failed $codeStatus = 2; $status = $ret[0]; //echo '<pre>'; //var_dump($ret); } } else { // Authentication failure, got to check Api Id, user credentials and co. $codeStatus = 3; $status = $ret[0]; } // Store datas in table $messageDatas = ['from' => $from, 'to' => $to, 'sess_id' => $sessId, 'message' => $message, 'status' => $status, 'short_status' => (int) $codeStatus]; MessageHistory::saveHistory($messageDatas); //die('<br>Code : '.$codeStatus); } $codeStatus == 1 ? true : false; }