. * * @package phpservermon * @author Alexis Urien * @Author Tim Zandbergen * @author Ward Pieters * @copyright Copyright (c) 2016 Alexis Urien * @license http://www.gnu.org/licenses/gpl.txt GNU GPL v3 * @version Release: @package_version@ * @link http://www.phpservermonitor.org/ * @since phpservermon 2.1 **/ namespace psm\Txtmsg; class Octopush extends Core { /** * Send sms using the Octopush API * @var string $message * @var string $this->username * @var string $this->password * @var array $this->recipients * @var array $this->originator * * @var resource $curl * @var SimpleXMLElement $xmlResults * @var string $err * @var string $recipient * @var string $smsType * @var mixed $result * * @var int $success * @var string $error * * @return bool|string */ public function sendSMS($message) { $error = ""; $success = 1; $smsType = "XXX"; //FR = premium, WWW = world, XXX = Low cost $recipients = join(',', $this->recipients); $message = ($smsType == "FR") ? urlencode($message . " STOP au XXXX") : urlencode($message); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "http://www.octopush-dm.com/api/sms/?" . http_build_query( array( "user_login" => $this->username, "api_key" => $this->password, "sms_recipients" => $recipients, "sms_type" => $smsType, "sms_sender" => substr($this->originator, 0, 11), "sms_text" => $message, ) )); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($curl); $httpcode = curl_getinfo($curl, CURLINFO_HTTP_CODE); $xmlResults = simplexml_load_string($result); $err = curl_errno($curl); if ($err != 0 || $httpcode != 200 || $xmlResults === false || $xmlResults->error_code != '000') { $success = 0; $error = "HTTP_code: " . $httpcode . ".\ncURL error (" . $err . "): " . curl_strerror($err) . ". \nResult: " . $xmlResults->error_code . ". Look at http://www.octopush-dm.com/en/errors for the error description."; } curl_close($curl); if ($success) { return 1; } return $error; } }