diff --git a/system/autoload/Message.php b/system/autoload/Message.php index aab67ed2..c8f184d9 100644 --- a/system/autoload/Message.php +++ b/system/autoload/Message.php @@ -24,9 +24,20 @@ class Message global $config; run_hook('send_sms'); #HOOK if (!empty($config['sms_url'])) { - $smsurl = str_replace('[number]', urlencode($phone), $config['sms_url']); - $smsurl = str_replace('[text]', urlencode($txt), $smsurl); - Http::getData($smsurl); + if (strlen($config['sms_url']) > 4 && substr($config['sms_url'], 0, 4) != "http") { + try{ + $mikrotik = Mikrotik::info($config['sms_url']); + $client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']); + Mikrotik::sendSMS($client, $phone, $txt); + }catch(Exception $e){ + // ignore, add to logs + _log("Failed to send SMS using Mikrotik.\n". $e->getMessage(), 'SMS', 0); + } + } else { + $smsurl = str_replace('[number]', urlencode($phone), $config['sms_url']); + $smsurl = str_replace('[text]', urlencode($txt), $smsurl); + Http::getData($smsurl); + } } } diff --git a/system/autoload/Mikrotik.php b/system/autoload/Mikrotik.php index 0f67475a..e496d4c1 100644 --- a/system/autoload/Mikrotik.php +++ b/system/autoload/Mikrotik.php @@ -501,4 +501,19 @@ class Mikrotik ->setArgument('numbers', $profileID) ); } + + public static function sendSMS($client, $to, $message) + { + global $_app_stage; + if ($_app_stage == 'demo') { + return null; + } + + $req = new RouterOS\Request('/tool/sms/send'); + $client( + $req + ->setArgument('phone', $to) + ->setArgument('message', $message) + ); + } } diff --git a/system/controllers/settings.php b/system/controllers/settings.php index 989d1514..e49fca14 100644 --- a/system/controllers/settings.php +++ b/system/controllers/settings.php @@ -38,8 +38,14 @@ switch ($action) { $themes[] = $file; } } - $php = trim(shell_exec('which php')); - if (empty($php)) { + $r = ORM::for_table('tbl_routers')->find_many(); + $ui->assign('r', $r); + if (function_exists("shell_exec")) { + $php = trim(shell_exec('which php')); + if (empty($php)) { + $php = 'php'; + } + } else { $php = 'php'; } $ui->assign('php', $php); @@ -473,10 +479,9 @@ switch ($action) { $d->value = $tawkto; $d->save(); } - if ($radius_enable) { try { - Radius::getTableNas()->find_one(1); + Radius::getTableNas()->find_many(); } catch (Exception $e) { $ui->assign("error_title", "RADIUS Error"); $ui->assign("error_message", "Radius table not found.

" . diff --git a/ui/ui/app-settings.tpl b/ui/ui/app-settings.tpl index 5fb0a3fd..0048a0ca 100644 --- a/ui/ui/app-settings.tpl +++ b/ui/ui/app-settings.tpl @@ -225,6 +225,20 @@ replaced.

+
+ +
+ +
+

Must include [text] & [number], it will be + replaced. +

+
You can use WhatsApp in here too. Free Server