Exemplo n.º 1
0
 public function send($to, $message, $params = array())
 {
     $params += SlConfigure::read('Api.hqSms') + array('encoding' => 'utf-8', 'test' => false, 'details' => false);
     if (is_array($to)) {
         $multiple = true;
         foreach ($to as $i => &$phone) {
             $phone = $this->standartizePhoneNoMd($phone);
             if (empty($phone)) {
                 unset($to[$i]);
             }
         }
         $params['to'] = implode(',', $to);
     } else {
         $multiple = false;
         $params['to'] = $this->standartizePhoneNoMd($to);
     }
     if (empty($params['to'])) {
         return;
     }
     $protocol = $params['secure'] && SlConfigure::read('Sl.options.sslTransport') ? 'https' : 'http';
     unset($params['secure']);
     if (strlen($params['password']) != 32) {
         $params['password'] = md5($params['password']);
     }
     $params['message'] = $message;
     App::import('Core', 'HttpSocket');
     $socket = new HttpSocket();
     Sl::krumo($params);
     $result = $socket->post("{$protocol}://www.hqsms.com/api/send.do", $params);
     if ($multiple) {
         $result = explode(';', $result);
         foreach ($result as &$item) {
             $item = explode(':', $item);
         }
         return $result;
     } else {
         return explode(':', $result);
     }
 }