Example #1
0
 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;
 }
Example #2
0
 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;
 }