diff --git a/src/psm/Txtmsg/Textmarketer.class.php b/src/psm/Txtmsg/Textmarketer.class.php new file mode 100644 index 00000000..2fe6d9b6 --- /dev/null +++ b/src/psm/Txtmsg/Textmarketer.class.php @@ -0,0 +1,77 @@ +. + * + * @package phpservermon + * @author Perri Vardy-Mason + * @copyright Copyright (c) 2008-2015 Pepijn Over + * @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 Textmarketer extends Core { + // ========================================================================= + // [ Fields ] + // ========================================================================= + public $gateway = 1; + public $resultcode = null; + public $resultmessage = null; + public $success = false; + public $successcount = 0; + + /** + * Send the SMS message + * @param string $message + * @return boolean (true = message was sent successfully, false = there was a problem sending the message) + */ + public function sendSMS($message) { + $recipients = join(',', $this->recipients); + + if(count($recipients) == 0) { + return false; + } + + $containsLetter = preg_match('/[a-zA-Z]/', $this->originator); + $containsSpecial = preg_match('/[^a-zA-Z\d]/', $this->originator); + + if ($containsLetter || $containsSpecial) { // 11 Alphanumeric, 16 for just numbers + $from = urlencode(substr($this->originator, 0, 11)); + } + else { + $from = urlencode(substr($this->originator, 0, 16)); + } + + $url = "https://api.textmarketer.co.uk/gateway/" . + "?username=" . $this->username . + "&password=" . $this->password . + "&to=" . rawurlencode($recipients) . + "&message=" . urlencode( $message ) . + "&orig=" . $from; + $result = file_get_contents( $url ); + $isOk = strpos($result, 'SUCCESS') !== false; + if(!$isOk) { + $result = trim(str_replace("\n", " ", str_replace("\r", " ", $result))); + error_log("SMS API Error: '".$result."'", E_USER_NOTICE); + } + return $isOk; + } +}