Fix for Textmarketer and adds a new entry in the servers db table for the last time it was offline (last_offline) to allow the duration of the outage to be included in the notification, also exposed last_online and last_offline so that they can also be used in the notifications should the user wish.
parent
62633f6937
commit
ede1f60804
|
@ -0,0 +1,77 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PHP Server Monitor
|
||||||
|
* Monitor your servers and websites.
|
||||||
|
*
|
||||||
|
* This file is part of PHP Server Monitor.
|
||||||
|
* PHP Server Monitor is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* PHP Server Monitor is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with PHP Server Monitor. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* @package phpservermon
|
||||||
|
* @author Perri Vardy-Mason
|
||||||
|
* @copyright Copyright (c) 2008-2015 Pepijn Over <pep@peplab.net>
|
||||||
|
* @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;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue