Пример #1
0
 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;
 }