public function SendSMS() { $client = new SoapClient($this->wsdl_link, array('encoding' => 'UTF-8')); $result = $client->Send(array('Auth' => array('number' => $this->from, 'pass' => $this->has_key), 'Recipients' => $this->to, 'Message' => array($this->msg), 'Flash' => $this->isflash)); if ($result->Status != 1000) { return false; } if ($result) { $this->InsertToDB($this->from, $this->msg, $this->to); $this->Hook('wp_sms_send', $result); } return $result; }
public function SendSMS() { // Check credit for the gateway if (!$this->GetCredit()) { return; } /** * Modify sender number * * @since 3.4 * @param string $this->from sender number. */ $this->from = apply_filters('wp_sms_from', $this->from); /** * Modify Receiver number * * @since 3.4 * @param array $this->to receiver number */ $this->to = apply_filters('wp_sms_to', $this->to); /** * Modify text message * * @since 3.4 * @param string $this->msg text message. */ $this->msg = apply_filters('wp_sms_msg', $this->msg); $client = new SoapClient($this->wsdl_link, array('encoding' => 'UTF-8')); $result = $client->Send(array('Auth' => array('number' => $this->from, 'pass' => $this->has_key), 'Recipients' => $this->to, 'Message' => array($this->msg), 'Flash' => $this->isflash)); if ($result->Status != 1000) { return false; } if ($result) { $this->InsertToDB($this->from, $this->msg, $this->to); /** * Run hook after send sms. * * @since 2.4 * @param string $result result output. */ do_action('wp_sms_send', $result); } return $result; }
/** * Processes the message and sends a notification via novinpayamak * * @param stdClass $eventdata the event data submitted by the message sender plus $eventdata->savedmessageid * @return true if ok, false if error */ function send_message($eventdata) { global $CFG; // Skip any messaging of suspended and deleted users. if ($eventdata->userto->auth === 'nologin' or $eventdata->userto->suspended or $eventdata->userto->deleted) { return true; } if (!empty($CFG->nosmsever)) { // hidden setting for development sites, set in config.php if needed debugging('$CFG->nosmsever is active, no novinpayamak message sent.', DEBUG_MINIMAL); return true; } if (PHPUNIT_TEST) { // No connection to external servers allowed in phpunit tests. return true; } //hold onto novinpayamak id preference because /admin/cron.php sends a lot of messages at once static $numbers = array(); if (!array_key_exists($eventdata->userto->id, $numbers)) { $phone2 = $eventdata->userto->phone2; // validate $phone2 $phone2 = $this->mobileValidation($phone2); $numbers[$eventdata->userto->id] = $phone2; } $number = $numbers[$eventdata->userto->id]; //calling s() on smallmessage causes novinpayamak to display things like < novinpayamak != a browser $message = !empty($eventdata->smallmessage) ? $eventdata->smallmessage : $eventdata->fullmessage; $message = strip_tags($message); try { $parameters['userName'] = $CFG->novinpayamakusername; $parameters['password'] = $CFG->novinpayamakpassword; $parameters['fromNumber'] = $CFG->novinpayamaknumber; if (strlen($number) == 11) { $number = substr($number, 1); } if (strlen($number) == 12) { $number = substr($number, 2); } if (strlen($number) == 13) { $number = substr($number, 3); } $number = '0' . $number; $domain = str_replace("www.", "", $_SERVER['HTTP_HOST']); $parameters['toNumbers'] = array($number); $message = substr($message, 0, 260); $parameters['messageContent'] = $message . "\r\n" . 'سایت: ' . $domain; $client = new SoapClient('http://www.novinpayamak.com/services/SMSBox/wsdl', array('encoding' => 'UTF-8')); $flash = false; $res = $client->Send(array('Auth' => array('number' => $parameters['fromNumber'], 'pass' => $parameters['password']), 'Recipients' => $parameters['toNumbers'], 'Message' => array($parameters['messageContent']), 'Flash' => $flash)); } catch (SoapFault $e) { debugging($e->getMessage()); return false; } return true; }