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); } }