diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index ea9a40fa..e581897d 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -5,6 +5,7 @@ Changelog
not yet released
----------------------------------
+* #170: Implement Nexmo SMS.
* #161: Added Swedish translation.
diff --git a/README.rst b/README.rst
index 0874f5db..4473849c 100755
--- a/README.rst
+++ b/README.rst
@@ -46,6 +46,7 @@ The following SMS gateways are currently available:
* SMSit -
* Spryng -
* Textmarketer -
+* Nexmo -
Please note: for these gateways you will need an account with sufficient credits.
diff --git a/docs/credits.rst b/docs/credits.rst
index 3bfa0950..6a62f93f 100644
--- a/docs/credits.rst
+++ b/docs/credits.rst
@@ -62,6 +62,10 @@ The following people have contributed to the development of PHP Server Monitor:
* Icon
+* Luis Rodriguez - https://github.com/ldrrp
+
+ * Nexmo SMS gateway
+
Translators
+++++++++++
diff --git a/docs/intro.rst b/docs/intro.rst
index daaea398..67a7840a 100644
--- a/docs/intro.rst
+++ b/docs/intro.rst
@@ -55,6 +55,7 @@ The following SMS gateways are currently available:
* SMSit -
* Spryng -
* Textmarketer -
+* Nexmo -
Please note: for these gateways you will need an account with sufficient credits.
@@ -62,4 +63,4 @@ Please note: for these gateways you will need an account with sufficient credits
Download
++++++++
-The latest version can be downloaded from http://www.phpservermonitor.org/.
\ No newline at end of file
+The latest version can be downloaded from http://www.phpservermonitor.org/.
diff --git a/src/includes/functions.inc.php b/src/includes/functions.inc.php
index 8a81dc2c..5a4c0e6b 100644
--- a/src/includes/functions.inc.php
+++ b/src/includes/functions.inc.php
@@ -466,6 +466,9 @@ function psm_build_sms() {
case 'smsglobal':
$sms = new \psm\Txtmsg\Smsglobal();
break;
+ case 'nexmo':
+ $sms = new \psm\Txtmsg\Nexmo();
+ break;
}
// copy login information from the config file
diff --git a/src/lang/bg_BG.lang.php b/src/lang/bg_BG.lang.php
index 17ad0edd..5157f935 100644
--- a/src/lang/bg_BG.lang.php
+++ b/src/lang/bg_BG.lang.php
@@ -195,6 +195,7 @@ $sm_lang = array(
'sms_gateway_clickatell' => 'Clickatell',
'sms_gateway_textmarketer' => 'Textmarketer',
'sms_gateway_smsglobal' => 'SMSGlobal',
+ 'sms_gateway_nexmo' => 'Nexmo',
'sms_gateway_username' => 'Потребител',
'sms_gateway_password' => 'Парола',
'sms_from' => 'Номер на изпращача',
diff --git a/src/lang/cs_CZ.lang.php b/src/lang/cs_CZ.lang.php
index ec32ea92..95a8c0ab 100644
--- a/src/lang/cs_CZ.lang.php
+++ b/src/lang/cs_CZ.lang.php
@@ -192,8 +192,9 @@ $sm_lang = array(
'sms_gateway_spryng' => 'Spryng',
'sms_gateway_inetworx' => 'Inetworx',
'sms_gateway_clickatell' => 'Clickatell',
- 'sms_gateway_textmarketer' => 'Textmarketer',
+ 'sms_gateway_textmarketer' => 'Textmarketer',
'sms_gateway_smsglobal' => 'SMSGlobal',
+ 'sms_gateway_nexmo' => 'Nexmo',
'sms_gateway_smsit' => 'Smsit',
'sms_gateway_username' => 'Uživatelské jméno brány',
'sms_gateway_password' => 'Heslo brány',
diff --git a/src/lang/da_DK.lang.php b/src/lang/da_DK.lang.php
index aa5e5b03..781fb5b0 100644
--- a/src/lang/da_DK.lang.php
+++ b/src/lang/da_DK.lang.php
@@ -195,6 +195,7 @@ $sm_lang = array(
'sms_gateway_textmarketer' => 'Textmarketer',
'sms_gateway_smsglobal' => 'SMSGlobal',
'sms_gateway_smsit' => 'Smsit',
+ 'sms_gateway_nexmo' => 'Nexmo',
'sms_gateway_username' => 'Gateway brugernavn/apikey',
'sms_gateway_password' => 'Gateway adgangskode',
'sms_from' => 'Afsenders navn.',
diff --git a/src/lang/de_DE.lang.php b/src/lang/de_DE.lang.php
index ad1cb964..d98227a7 100644
--- a/src/lang/de_DE.lang.php
+++ b/src/lang/de_DE.lang.php
@@ -195,6 +195,7 @@ $sm_lang = array(
'sms_gateway_textmarketer' => 'Textmarketer',
'sms_gateway_smsglobal' => 'SMSGlobal',
'sms_gateway_smsit' => 'Smsit',
+ 'sms_gateway_nexmo' => 'Nexmo',
'sms_gateway_username' => 'Gateway Benutzername',
'sms_gateway_password' => 'Gateway Passwort',
'sms_from' => 'SMS-Sendernummer',
diff --git a/src/lang/en_US.lang.php b/src/lang/en_US.lang.php
index 295f6e23..a11987e8 100644
--- a/src/lang/en_US.lang.php
+++ b/src/lang/en_US.lang.php
@@ -192,9 +192,10 @@ $sm_lang = array(
'sms_gateway_spryng' => 'Spryng',
'sms_gateway_inetworx' => 'Inetworx',
'sms_gateway_clickatell' => 'Clickatell',
- 'sms_gateway_textmarketer' => 'Textmarketer',
+ 'sms_gateway_textmarketer' => 'Textmarketer',
'sms_gateway_smsglobal' => 'SMSGlobal',
'sms_gateway_smsit' => 'Smsit',
+ 'sms_gateway_nexmo' => 'Nexmo',
'sms_gateway_username' => 'Gateway username',
'sms_gateway_password' => 'Gateway password',
'sms_from' => 'Sender\'s phone number',
diff --git a/src/lang/es_ES.lang.php b/src/lang/es_ES.lang.php
index cd2bd0ce..43aed147 100644
--- a/src/lang/es_ES.lang.php
+++ b/src/lang/es_ES.lang.php
@@ -193,9 +193,10 @@ $sm_lang = array(
'sms_gateway_spryng' => 'Spryng',
'sms_gateway_inetworx' => 'Inetworx',
'sms_gateway_clickatell' => 'Clickatell',
- 'sms_gateway_textmarketer' => 'Textmarketer',
+ 'sms_gateway_textmarketer' => 'Textmarketer',
'sms_gateway_smsglobal' => 'SMSGlobal',
'sms_gateway_smsit' => 'Smsit',
+ 'sms_gateway_nexmo' => 'Nexmo',
'sms_gateway_username' => 'Gateway username',
'sms_gateway_password' => 'Gateway password',
'sms_from' => 'Número origen del SMS',
diff --git a/src/lang/fr_FR.lang.php b/src/lang/fr_FR.lang.php
index c663b3c4..1d47a2cf 100644
--- a/src/lang/fr_FR.lang.php
+++ b/src/lang/fr_FR.lang.php
@@ -196,6 +196,7 @@ $sm_lang = array(
'sms_gateway_textmarketer' => 'Textmarketer',
'sms_gateway_smsglobal' => 'SMSGlobal',
'sms_gateway_smsit' => 'Smsit',
+ 'sms_gateway_nexmo' => 'Nexmo',
'sms_gateway_username' => 'Nom utilisateur de la passerelle',
'sms_gateway_password' => 'Mot de passe de la passerelle',
'sms_from' => 'SMS de l\'expéditeur',
diff --git a/src/lang/it_IT.lang.php b/src/lang/it_IT.lang.php
index f6160955..1a6bb2f8 100644
--- a/src/lang/it_IT.lang.php
+++ b/src/lang/it_IT.lang.php
@@ -195,6 +195,7 @@ $sm_lang = array(
'sms_gateway_textmarketer' => 'Textmarketer',
'sms_gateway_smsglobal' => 'SMSGlobal',
'sms_gateway_smsit' => 'Smsit',
+ 'sms_gateway_nexmo' => 'Nexmo',
'sms_gateway_username' => 'Nome Utente Gateway',
'sms_gateway_password' => 'Password Gateway',
'sms_from' => 'Numero di telefono del mittente',
diff --git a/src/lang/ko_KR.lang.php b/src/lang/ko_KR.lang.php
index 99f4ad3b..5bd8e722 100644
--- a/src/lang/ko_KR.lang.php
+++ b/src/lang/ko_KR.lang.php
@@ -193,6 +193,7 @@ $sm_lang = array(
'sms_gateway_inetworx' => 'Inetworx',
'sms_gateway_clickatell' => 'Clickatell',
'sms_gateway_smsit' => 'Smsit',
+ 'sms_gateway_nexmo' => 'Nexmo',
'sms_gateway_textmarketer' => 'Textmarketer',
'sms_gateway_smsglobal' => 'SMSGlobal',
'sms_gateway_username' => 'Gateway username',
diff --git a/src/lang/nl_NL.lang.php b/src/lang/nl_NL.lang.php
index 41b181fd..712ae172 100644
--- a/src/lang/nl_NL.lang.php
+++ b/src/lang/nl_NL.lang.php
@@ -195,6 +195,7 @@ $sm_lang = array(
'sms_gateway_textmarketer' => 'Textmarketer',
'sms_gateway_smsglobal' => 'SMSGlobal',
'sms_gateway_smsit' => 'Smsit',
+ 'sms_gateway_nexmo' => 'Nexmo',
'sms_gateway_username' => 'Gateway gebruikersnaam',
'sms_gateway_password' => 'Gateway wachtwoord',
'sms_from' => 'Telefoonnummer afzender',
diff --git a/src/lang/pl_PL.lang.php b/src/lang/pl_PL.lang.php
index 4a871048..123ffa82 100644
--- a/src/lang/pl_PL.lang.php
+++ b/src/lang/pl_PL.lang.php
@@ -195,6 +195,7 @@ $sm_lang = array(
'sms_gateway_textmarketer' => 'Textmarketer',
'sms_gateway_smsglobal' => 'SMSGlobal',
'sms_gateway_smsit' => 'Smsit',
+ 'sms_gateway_nexmo' => 'Nexmo',
'sms_gateway_username' => 'Login do bramki',
'sms_gateway_password' => 'Hasło do bramki',
'sms_from' => 'Numer nadawcy',
diff --git a/src/lang/pt_BR.lang.php b/src/lang/pt_BR.lang.php
index 8942ed06..e61aa59e 100644
--- a/src/lang/pt_BR.lang.php
+++ b/src/lang/pt_BR.lang.php
@@ -185,19 +185,20 @@ $sm_lang = array(
'email_smtp_username' => 'SMTP username',
'email_smtp_password' => 'SMTP password',
'email_smtp_noauth' => 'Deixe em branco para nenhuma autenticação',
- 'sms_status' => 'Habilitar o envio de mensagem de texto?',
- 'sms_gateway' => 'Gateway para o uso de envio de mensagens',
- 'sms_gateway_mosms' => 'Mosms',
- 'sms_gateway_mollie' => 'Mollie',
- 'sms_gateway_spryng' => 'Spryng',
- 'sms_gateway_inetworx' => 'Inetworx',
- 'sms_gateway_clickatell' => 'Clickatell',
+ 'sms_status' => 'Habilitar o envio de mensagem de texto?',
+ 'sms_gateway' => 'Gateway para o uso de envio de mensagens',
+ 'sms_gateway_mosms' => 'Mosms',
+ 'sms_gateway_mollie' => 'Mollie',
+ 'sms_gateway_spryng' => 'Spryng',
+ 'sms_gateway_inetworx' => 'Inetworx',
+ 'sms_gateway_clickatell' => 'Clickatell',
'sms_gateway_textmarketer' => 'Textmarketer',
'sms_gateway_smsglobal' => 'SMSGlobal',
'sms_gateway_smsit' => 'Smsit',
- 'sms_gateway_username' => 'Usuário do Gateway',
- 'sms_gateway_password' => 'Senha do Gateway',
- 'sms_from' => 'Número de telefone de envio',
+ 'sms_gateway_nexmo' => 'Nexmo',
+ 'sms_gateway_username' => 'Usuário do Gateway',
+ 'sms_gateway_password' => 'Senha do Gateway',
+ 'sms_from' => 'Número de telefone de envio',
'pushover_status' => 'Habilitar envio de mensagens Pushover',
'pushover_description' => 'Pushover é um serviço de notificações em tempo real. Veja o website para mais informações.',
'pushover_clone_app' => 'Clique aqui para criar sua app Pushover',
diff --git a/src/lang/ru_RU.lang.php b/src/lang/ru_RU.lang.php
index 48ecc14b..89bad0a3 100644
--- a/src/lang/ru_RU.lang.php
+++ b/src/lang/ru_RU.lang.php
@@ -195,6 +195,7 @@ $sm_lang = array(
'sms_gateway_textmarketer' => 'Textmarketer',
'sms_gateway_smsglobal' => 'SMSGlobal',
'sms_gateway_smsit' => 'Smsit',
+ 'sms_gateway_nexmo' => 'Nexmo',
'sms_gateway_username' => 'Пользователь',
'sms_gateway_password' => 'Пароль',
'sms_from' => 'Номер отправителя',
diff --git a/src/lang/sv_SE.lang.php b/src/lang/sv_SE.lang.php
index 238b98cd..de95aea9 100644
--- a/src/lang/sv_SE.lang.php
+++ b/src/lang/sv_SE.lang.php
@@ -192,9 +192,10 @@ $sm_lang = array(
'sms_gateway_spryng' => 'Spryng',
'sms_gateway_inetworx' => 'Inetworx',
'sms_gateway_clickatell' => 'Clickatell',
- 'sms_gateway_textmarketer' => 'Textmarketer',
+ 'sms_gateway_textmarketer' => 'Textmarketer',
'sms_gateway_smsglobal' => 'SMSGlobal',
'sms_gateway_smsit' => 'Smsit',
+ 'sms_gateway_nexmo' => 'Nexmo',
'sms_gateway_username' => 'Gateway användarnamn',
'sms_gateway_password' => 'Gateway lösenord',
'sms_from' => 'Avsändarens telefonnummer',
diff --git a/src/lang/tr_TR.lang.php b/src/lang/tr_TR.lang.php
index caa5a6f0..ac6f9d7c 100644
--- a/src/lang/tr_TR.lang.php
+++ b/src/lang/tr_TR.lang.php
@@ -195,6 +195,7 @@ $sm_lang = array(
'sms_gateway_textmarketer' => 'Textmarketer',
'sms_gateway_smsglobal' => 'SMSGlobal',
'sms_gateway_smsit' => 'Smsit',
+ 'sms_gateway_nexmo' => 'Nexmo',
'sms_gateway_username' => 'Servis kullanıcı adı',
'sms_gateway_password' => 'Servis şifresi',
'sms_from' => 'Gönderen numarası',
diff --git a/src/lang/zh_CN.lang.php b/src/lang/zh_CN.lang.php
index 05cbeee5..e64650ca 100644
--- a/src/lang/zh_CN.lang.php
+++ b/src/lang/zh_CN.lang.php
@@ -192,9 +192,10 @@ $sm_lang = array(
'sms_gateway_spryng' => 'Spryng',
'sms_gateway_inetworx' => 'Inetworx',
'sms_gateway_clickatell' => 'Clickatell',
- 'sms_gateway_textmarketer' => 'Textmarketer',
+ 'sms_gateway_textmarketer' => 'Textmarketer',
'sms_gateway_smsglobal' => 'SMSGlobal',
'sms_gateway_smsit' => 'Smsit',
+ 'sms_gateway_nexmo' => 'Nexmo',
'sms_gateway_username' => 'SMS网关用户名',
'sms_gateway_password' => 'SMS网关密码',
'sms_from' => '发信人电话号',
diff --git a/src/psm/Module/Config/Controller/ConfigController.class.php b/src/psm/Module/Config/Controller/ConfigController.class.php
index c8216840..39161228 100644
--- a/src/psm/Module/Config/Controller/ConfigController.class.php
+++ b/src/psm/Module/Config/Controller/ConfigController.class.php
@@ -314,6 +314,7 @@ class ConfigController extends AbstractController {
'label_sms_gateway_textmarketer' => psm_get_lang('config', 'sms_gateway_textmarketer'),
'label_sms_gateway_smsit' => psm_get_lang('config', 'sms_gateway_smsit'),
'label_sms_gateway_smsglobal' => psm_get_lang('config', 'sms_gateway_smsglobal'),
+ 'label_sms_gateway_nexmo' => psm_get_lang('config', 'sms_gateway_nexmo'),
'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/Nexmo.class.php b/src/psm/Txtmsg/Nexmo.class.php
new file mode 100644
index 00000000..f2c7aa9f
--- /dev/null
+++ b/src/psm/Txtmsg/Nexmo.class.php
@@ -0,0 +1,58 @@
+.
+ *
+ * @package phpservermon
+ * @author Andreas Ek
+ * @copyright Copyright (c) 2008-2014 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.1.1
+ **/
+
+namespace psm\Txtmsg;
+
+class Nexmo extends Core {
+ // =========================================================================
+ // [ Fields ]
+ // =========================================================================
+ public $gateway = 1;
+ public $resultcode = null;
+ public $resultmessage = null;
+ public $success = false;
+ public $successcount = 0;
+
+ public function sendSMS($message) {
+ $nexmo_url = "https://rest.nexmo.com/sms/json";
+ $nexmo_data = rawurlencode( $message );
+
+ foreach( $this->recipients as $phone ){
+ $result = file_get_contents( $nexmo_url .
+ "?api_key=" . $this->username .
+ "&api_secret=" . $this->password .
+ "&from=" . $this->originator .
+ "&to=" . $phone .
+ "&type=text" .
+ "&text=" . $nexmo_data
+ );
+ }
+
+ return $result;
+ }
+}