diff --git a/README.rst b/README.rst index 26e51041..189d326d 100644 --- a/README.rst +++ b/README.rst @@ -62,7 +62,7 @@ The following SMS gateways are currently available: * Callr - * SMSAPI - * OVH SMS PRO - - +* Infobip - Please note: for these gateways you will need an account with sufficient credits. diff --git a/src/includes/functions.inc.php b/src/includes/functions.inc.php index 6a70408f..44b6d129 100644 --- a/src/includes/functions.inc.php +++ b/src/includes/functions.inc.php @@ -755,6 +755,9 @@ namespace { case 'smsglobal': $sms = new \psm\Txtmsg\Smsglobal(); break; + case 'infobip': + $sms = new \psm\Txtmsg\Infobip(); + break; case 'freevoipdeal': $sms = new \psm\Txtmsg\FreeVoipDeal(); break; diff --git a/src/psm/Txtmsg/Infobip.php b/src/psm/Txtmsg/Infobip.php new file mode 100644 index 00000000..b5edc89d --- /dev/null +++ b/src/psm/Txtmsg/Infobip.php @@ -0,0 +1,91 @@ +. + * + * @package phpservermon + * @author Victor Macko + * @copyright Copyright (c) 2008-2017 Pepijn Over + * @license http://www.gnu.org/licenses/gpl.txt GNU GPL v3 + * @version Release: @package_version@ + * @link http://www.phpservermonitor.org/ + * @since phpservermon 3.6.0 + **/ + +namespace psm\Txtmsg; + +class Infobip extends Core +{ + + /** + * Send sms using the infobip.com API + * + * @var string $message + * @var string $this->password + * @var array $this->recipients + * @var array $this->originator + * @var string $recipients + * + * @var resource $curl + * @var string $err + * @var mixed $result + * + * @var int $success + * @var string $error + * + * @return bool|string + */ + + + + public function sendSMS($message) + { + $success = 1; + $error = ''; + foreach ($this->recipients as $recipient) { + $ch = curl_init(); + curl_setopt( + $ch, + CURLOPT_URL, + "https://api.infobip.com/sms/1/text/query?username=" . $this->username . + "&password=" . $this->password . + "&to=" . $recipient . + "&text=" . urlencode($message) . + //add your sender id here + "&from=" + ); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + $headers = array(); + $headers[] = "Content-Type: application/x-www-form-urlencoded"; + curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); + $result = curl_exec($ch); + curl_close($ch); + + // Check for errors + if (is_numeric(strpos($result, "FAILED"))) { + $error = $result; + $success = 0; + } + } + if ($success == 1) { + return 1; + } + return $error; + } +} +