diff --git a/src/includes/functions.inc.php b/src/includes/functions.inc.php old mode 100644 new mode 100755 index 5346012f..6fc7c29d --- a/src/includes/functions.inc.php +++ b/src/includes/functions.inc.php @@ -526,6 +526,9 @@ function psm_build_sms() { case 'freemobilesms': $sms = new \psm\Txtmsg\FreeMobileSMS(); break; + case 'clicksend': + $sms = new \psm\Txtmsg\ClickSend(); + break; case 'octopush': $sms = new \psm\Txtmsg\Octopush(); break; } diff --git a/src/lang/en_US.lang.php b/src/lang/en_US.lang.php old mode 100644 new mode 100755 index eb2f77c0..07c1d5d1 --- a/src/lang/en_US.lang.php +++ b/src/lang/en_US.lang.php @@ -212,6 +212,7 @@ $sm_lang = array( 'sms_gateway_smsit' => 'Smsit', 'sms_gateway_freevoipdeal' => 'FreeVoipDeal', 'sms_gateway_freemobilesms' => 'FreeMobileSMS', + 'sms_gateway_clicksend' => 'ClickSend', 'sms_gateway_nexmo' => 'Nexmo', 'sms_gateway_username' => 'Gateway username', 'sms_gateway_password' => 'Gateway password', diff --git a/src/psm/Module/Config/Controller/ConfigController.php b/src/psm/Module/Config/Controller/ConfigController.php index 35d9d7e3..d058de63 100644 --- a/src/psm/Module/Config/Controller/ConfigController.php +++ b/src/psm/Module/Config/Controller/ConfigController.php @@ -323,6 +323,7 @@ class ConfigController extends AbstractController { 'label_sms_gateway_nexmo' => psm_get_lang('config', 'sms_gateway_nexmo'), 'label_sms_gateway_octopush' => psm_get_lang('config', 'sms_gateway_octopush'), 'label_sms_gateway_freemobilesms' => psm_get_lang('config', 'sms_gateway_freemobilesms'), + 'label_sms_gateway_clicksend' => psm_get_lang('config', 'sms_gateway_clicksend'), 'label_sms_gateway_username' => psm_get_lang('config', 'sms_gateway_username'), 'label_sms_gateway_password' => psm_get_lang('config', 'sms_gateway_password'), 'label_sms_from' => psm_get_lang('config', 'sms_from'), diff --git a/src/psm/Txtmsg/ClickSend.php b/src/psm/Txtmsg/ClickSend.php new file mode 100644 index 00000000..185bce81 --- /dev/null +++ b/src/psm/Txtmsg/ClickSend.php @@ -0,0 +1,78 @@ +. + * + * @package phpservermon + * @author Victor Macko + * @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 3.2 + **/ + +namespace psm\Txtmsg; + +class ClickSend extends Core { + // ========================================================================= + // [ Fields ] + // ========================================================================= + public $gateway = 1; + public $resultcode = null; + public $resultmessage = null; + public $success = false; + public $successcount = 0; + + public function sendSMS($message) { + // Documentation: http://docs.clicksend.apiary.io/#reference/sms/send-an-sms/send-an-sms + // https://rest.clicksend.com/v3/sms/send + // Use your API KEY as the password ($this->password) + $apiurl = "https://rest.clicksend.com/v3/sms/send"; + $from = substr($this->originator,0,11); // Max 11 Char. + + $request = array('messages' => array()); + foreach($this->recipients as $phone) { + $request['messages'][] = array( + 'source' => 'phpservermon', + 'from' => $from, + 'to' => $phone, + 'body' => $message + ); + } + + $data_string = json_encode($request); + $ch = curl_init($apiurl); + curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); + curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + curl_setopt($ch, CURLOPT_HTTPHEADER, array( + 'Content-Type: application/json', + 'Content-Length: ' . strlen($data_string)) + ); + curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); + curl_setopt($ch, CURLOPT_USERPWD, $this->username . ':' . $this->password); + $result = curl_exec($ch); + + $response = json_decode($result); + $this->success = $response->data->response_code == 'SUCCESS'; + $this->successcount = $response->data->total_count; + + return $response; + } + +} diff --git a/src/psm/Util/Server/Updater/StatusNotifier.php b/src/psm/Util/Server/Updater/StatusNotifier.php old mode 100644 new mode 100755 diff --git a/src/templates/default/module/config/config.tpl.html b/src/templates/default/module/config/config.tpl.html index 08fc0fc1..103c52a8 100644 --- a/src/templates/default/module/config/config.tpl.html +++ b/src/templates/default/module/config/config.tpl.html @@ -172,6 +172,7 @@ +