From 70eea6dd37b40766ed7b89c88e0d9c68eeab0c84 Mon Sep 17 00:00:00 2001 From: Ahmad Husein <48185559+ahmadhusein17@users.noreply.github.com> Date: Thu, 15 Aug 2024 15:54:52 +0700 Subject: [PATCH 01/27] Update translate --- ui/ui/app-localisation.tpl | 10 ++++++-- ui/ui/app-notifications.tpl | 8 +++---- ui/ui/app-settings.tpl | 10 ++++---- ui/ui/balance-add.tpl | 4 ++-- ui/ui/balance-edit.tpl | 4 ++-- ui/ui/bandwidth.tpl | 4 ++-- ui/ui/change-password.tpl | 2 +- ui/ui/community.tpl | 47 ++++++++++++++++++------------------- ui/ui/customers-add.tpl | 6 ++--- ui/ui/customers-edit.tpl | 2 +- ui/ui/customers-view.tpl | 3 +-- 11 files changed, 52 insertions(+), 48 deletions(-) diff --git a/ui/ui/app-localisation.tpl b/ui/ui/app-localisation.tpl index 44335e18..e16e70f5 100644 --- a/ui/ui/app-localisation.tpl +++ b/ui/ui/app-localisation.tpl @@ -3,9 +3,15 @@
-
{Lang::T('Localisation')}
+
+
+ +
+ {Lang::T('Localisation')} +
+
-
diff --git a/ui/ui/app-notifications.tpl b/ui/ui/app-notifications.tpl index 94e9e299..7dc158f9 100644 --- a/ui/ui/app-notifications.tpl +++ b/ui/ui/app-notifications.tpl @@ -16,8 +16,8 @@
+ placeholder="{Lang::T('Hello')} [[name]], {Lang::T('your internet package')} [[package]] {Lang::T('has been expired')}" + rows="4">{if $_json['expired']!=''}{Lang::htmlspecialchars($_json['expired'])}{else}{Lang::T('Hello')} [[name]], {Lang::T('your internet package')} [[package]] {Lang::T('has been expired')}.{/if}

[[name]] - {Lang::T('will be replaced with Customer Name')}.
@@ -84,7 +84,7 @@

@@ -112,7 +112,7 @@

diff --git a/ui/ui/app-settings.tpl b/ui/ui/app-settings.tpl index 55b9af70..fc756631 100644 --- a/ui/ui/app-settings.tpl +++ b/ui/ui/app-settings.tpl @@ -755,7 +755,7 @@

- Github Authentication + Github {Lang::T('Authentication')}
@@ -776,13 +776,13 @@ onmouseleave="this.type = 'password'" onmouseenter="this.type = 'text'">
Create GitHub personal access token (classic), only need repo - scope + target="_blank">{Lang::T('Create GitHub personal access token')} (classic), {Lang::T('only need repo + scope')}
-
diff --git a/ui/ui/balance-add.tpl b/ui/ui/balance-add.tpl index d74efbfb..828c1d1f 100644 --- a/ui/ui/balance-add.tpl +++ b/ui/ui/balance-add.tpl @@ -10,10 +10,10 @@
diff --git a/ui/ui/balance-edit.tpl b/ui/ui/balance-edit.tpl index a8bc0ecf..2603f61c 100644 --- a/ui/ui/balance-edit.tpl +++ b/ui/ui/balance-edit.tpl @@ -11,10 +11,10 @@
diff --git a/ui/ui/bandwidth.tpl b/ui/ui/bandwidth.tpl index 078ed15a..0647747e 100644 --- a/ui/ui/bandwidth.tpl +++ b/ui/ui/bandwidth.tpl @@ -57,8 +57,8 @@ {include file="pagination.tpl"}
-

Create Bandwitdh Plan for expired Internet Plan

-

When customer expired, you can move it to Expired Internet Plan

+

{Lang::T('Create Bandwitdh Plan for expired Internet Plan')}

+

{Lang::T('When customer expired, you can move it to Expired Internet Plan')}

diff --git a/ui/ui/change-password.tpl b/ui/ui/change-password.tpl index e8e630aa..0257496e 100644 --- a/ui/ui/change-password.tpl +++ b/ui/ui/change-password.tpl @@ -28,7 +28,7 @@
- Or {Lang::T('Cancel')} + {Lang::T('Or')} {Lang::T('Cancel')}
diff --git a/ui/ui/community.tpl b/ui/ui/community.tpl index 4f96379d..f582b15e 100644 --- a/ui/ui/community.tpl +++ b/ui/ui/community.tpl @@ -10,7 +10,7 @@
-

Contributors

+

{Lang::T('Contributors')}

@@ -22,29 +22,29 @@
-

Discussions

+

{Lang::T('Discussions')}

-
Get help from community
+
{Lang::T('Get help from community')}
-

Feedback

+

{Lang::T('')}Feedback

- Feedback and Bug Report + {Lang::T('Feedback and Bug Report')}
@@ -131,19 +131,19 @@
-

Chat with me

+

{Lang::T('Chat with me')}

-
$50 Paid Support
donation confirmation?
Or ask any Donation Alternative
+
{Lang::T('$50 Paid Support
donation confirmation?')}
{Lang::T('Or ask any Donation Alternative')}
-

Free WhatsApp Gateway and Telegram Bot creater

+

{Lang::T('Free')} WhatsApp {Lang::T('Gateway and Telegram Bot creater')}

- There is a Telegram bot wizard in here + {Lang::T('There is a Telegram bot wizard in here')}
diff --git a/ui/ui/customers-add.tpl b/ui/ui/customers-add.tpl index e3b97517..1b0a97b6 100644 --- a/ui/ui/customers-add.tpl +++ b/ui/ui/customers-add.tpl @@ -70,7 +70,7 @@ - +
@@ -78,9 +78,9 @@
diff --git a/ui/ui/customers-edit.tpl b/ui/ui/customers-edit.tpl index 463a9564..2941898e 100644 --- a/ui/ui/customers-edit.tpl +++ b/ui/ui/customers-edit.tpl @@ -164,7 +164,7 @@ {/foreach} diff --git a/ui/ui/customers-view.tpl b/ui/ui/customers-view.tpl index 77f9632a..f1840ca9 100644 --- a/ui/ui/customers-view.tpl +++ b/ui/ui/customers-view.tpl @@ -100,8 +100,7 @@
  • {Lang::T('Coordinates')} Get - Directions + href="https://www.google.com/maps/dir//{$d['coordinates']}/" target="_blank">{Lang::T('Get Directions')}
  • From d496d89f959c26cb0110fbd4e0f7beaaf4ae54a6 Mon Sep 17 00:00:00 2001 From: Ahmad Husein <48185559+ahmadhusein17@users.noreply.github.com> Date: Thu, 15 Aug 2024 16:19:01 +0700 Subject: [PATCH 02/27] Update community.tpl --- ui/ui/community.tpl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ui/ui/community.tpl b/ui/ui/community.tpl index f582b15e..894c49ee 100644 --- a/ui/ui/community.tpl +++ b/ui/ui/community.tpl @@ -133,14 +133,14 @@

    {Lang::T('Chat with me')}

    -
    {Lang::T('$50 Paid Support
    donation confirmation?')}
    {Lang::T('Or ask any Donation Alternative')}
    +
    {Lang::T('$50 Paid Support')}
    {Lang::T('donation confirmation?')}
    {Lang::T('Or ask any Donation Alternative')}
    -

    {Lang::T('Free')} WhatsApp {Lang::T('Gateway and Telegram Bot creater')}

    +

    {Lang::T('Free WhatsApp Gateway and Telegram Bot creater')}

    {Lang::T('There is a Telegram bot wizard in here')} @@ -159,7 +159,7 @@
    PHPNuxBill {Lang::T('is a billing Hotspot and PPPOE for Mikrotik using PHP and Mikrotik API to comunicate with router. If you get more profit with this application, please donate us.')}
    {Lang::T('Watch project')} in here + href="https://github.com/hotspotbilling/phpnuxbill" target="_blank">{Lang::T('in here')}
    @@ -182,7 +182,7 @@
    @@ -199,4 +199,4 @@ }); }); -{include file="sections/footer.tpl"} \ No newline at end of file +{include file="sections/footer.tpl"} From 0eead7cea1b128c2524f9e073bda8c8de75b73c8 Mon Sep 17 00:00:00 2001 From: Focuslinkstech <45756999+Focuslinkstech@users.noreply.github.com> Date: Fri, 16 Aug 2024 09:39:41 +0100 Subject: [PATCH 03/27] Template Redesigned we have move all user template files to folder ui/ui/user-ui for easy customisation --- system/controllers/accounts.php | 6 +++--- system/controllers/home.php | 2 +- system/controllers/login.php | 4 ++-- system/controllers/mail.php | 4 ++-- system/controllers/order.php | 14 +++++++------- system/controllers/page.php | 4 ++-- system/controllers/register.php | 14 +++++++------- system/controllers/voucher.php | 6 +++--- ui/ui/{ => user-ui}/404.tpl | 4 ++-- .../activation-list.tpl} | 4 ++-- .../activation.tpl} | 4 ++-- .../change-password.tpl} | 4 ++-- .../{user-dashboard.tpl => user-ui/dashboard.tpl} | 4 ++-- .../user-footer.tpl => user-ui/footer.tpl} | 0 .../user-header.tpl => user-ui/header.tpl} | 0 ui/ui/{user-inbox.tpl => user-ui/inbox.tpl} | 4 ++-- ui/ui/user-ui/index.html | 8 ++++++++ ui/ui/{ => user-ui}/invoice-customer.tpl | 4 ++-- .../login-noreg.tpl} | 0 ui/ui/{user-login.tpl => user-ui/login.tpl} | 0 .../orderBalance.tpl} | 4 ++-- .../orderHistory.tpl} | 4 ++-- .../{user-orderPlan.tpl => user-ui/orderPlan.tpl} | 4 ++-- .../{user-orderView.tpl => user-ui/orderView.tpl} | 4 ++-- ui/ui/{user-pages.tpl => user-ui/pages.tpl} | 4 ++-- .../phone-update.tpl} | 4 ++-- ui/ui/{user-profile.tpl => user-ui/profile.tpl} | 4 ++-- ui/ui/{ => user-ui}/register-otp.tpl | 0 ui/ui/{ => user-ui}/register-rotp.tpl | 0 ui/ui/{ => user-ui}/register.tpl | 0 .../selectGateway.tpl} | 4 ++-- ui/ui/{user-sendPlan.tpl => user-ui/sendPlan.tpl} | 4 ++-- 32 files changed, 67 insertions(+), 59 deletions(-) rename ui/ui/{ => user-ui}/404.tpl (77%) rename ui/ui/{user-activation-list.tpl => user-ui/activation-list.tpl} (96%) rename ui/ui/{user-activation.tpl => user-ui/activation.tpl} (95%) rename ui/ui/{user-change-password.tpl => user-ui/change-password.tpl} (95%) rename ui/ui/{user-dashboard.tpl => user-ui/dashboard.tpl} (99%) rename ui/ui/{sections/user-footer.tpl => user-ui/footer.tpl} (100%) rename ui/ui/{sections/user-header.tpl => user-ui/header.tpl} (100%) rename ui/ui/{user-inbox.tpl => user-ui/inbox.tpl} (98%) create mode 100644 ui/ui/user-ui/index.html rename ui/ui/{ => user-ui}/invoice-customer.tpl (91%) rename ui/ui/{user-login-noreg.tpl => user-ui/login-noreg.tpl} (100%) rename ui/ui/{user-login.tpl => user-ui/login.tpl} (100%) rename ui/ui/{user-orderBalance.tpl => user-ui/orderBalance.tpl} (95%) rename ui/ui/{user-orderHistory.tpl => user-ui/orderHistory.tpl} (97%) rename ui/ui/{user-orderPlan.tpl => user-ui/orderPlan.tpl} (99%) rename ui/ui/{user-orderView.tpl => user-ui/orderView.tpl} (99%) rename ui/ui/{user-pages.tpl => user-ui/pages.tpl} (80%) rename ui/ui/{user-phone-update.tpl => user-ui/phone-update.tpl} (97%) rename ui/ui/{user-profile.tpl => user-ui/profile.tpl} (98%) rename ui/ui/{ => user-ui}/register-otp.tpl (100%) rename ui/ui/{ => user-ui}/register-rotp.tpl (100%) rename ui/ui/{ => user-ui}/register.tpl (100%) rename ui/ui/{user-selectGateway.tpl => user-ui/selectGateway.tpl} (98%) rename ui/ui/{user-sendPlan.tpl => user-ui/sendPlan.tpl} (97%) diff --git a/system/controllers/accounts.php b/system/controllers/accounts.php index 1c40cef8..8e4414be 100644 --- a/system/controllers/accounts.php +++ b/system/controllers/accounts.php @@ -18,7 +18,7 @@ switch ($action) { case 'change-password': run_hook('customer_view_change_password'); #HOOK - $ui->display('user-change-password.tpl'); + $ui->display('user-ui/change-password.tpl'); break; case 'change-password-post': @@ -71,7 +71,7 @@ switch ($action) { if ($d) { run_hook('customer_view_edit_profile'); #HOOK $ui->assign('d', $d); - $ui->display('user-profile.tpl'); + $ui->display('user-ui/profile.tpl'); } else { r2(U . 'home', 'e', Lang::T('Account Not Found')); } @@ -119,7 +119,7 @@ switch ($action) { //run_hook('customer_view_edit_profile'); #HOOK $ui->assign('d', $d); $ui->assign('new_phone', $_SESSION['new_phone']); - $ui->display('user-phone-update.tpl'); + $ui->display('user-ui/phone-update.tpl'); } else { r2(U . 'home', 'e', Lang::T('Account Not Found')); } diff --git a/system/controllers/home.php b/system/controllers/home.php index 3e99d443..7c51018a 100644 --- a/system/controllers/home.php +++ b/system/controllers/home.php @@ -325,4 +325,4 @@ $abills = User::getAttributes("Bill"); $ui->assign('abills', $abills); run_hook('view_customer_dashboard'); #HOOK -$ui->display('user-dashboard.tpl'); +$ui->display('user-ui/dashboard.tpl'); diff --git a/system/controllers/login.php b/system/controllers/login.php index e44da6d1..75bf4a35 100644 --- a/system/controllers/login.php +++ b/system/controllers/login.php @@ -291,9 +291,9 @@ switch ($do) { run_hook('customer_view_login'); #HOOK if ($config['disable_registration'] == 'yes') { $ui->assign('code', alphanumeric(_get('code'), "-")); - $ui->display('user-login-noreg.tpl'); + $ui->display('user-ui/login-noreg.tpl'); } else { - $ui->display('user-login.tpl'); + $ui->display('user-ui/login.tpl'); } break; } diff --git a/system/controllers/mail.php b/system/controllers/mail.php index c54318fd..6549adac 100644 --- a/system/controllers/mail.php +++ b/system/controllers/mail.php @@ -29,7 +29,7 @@ switch ($action) { $ui->assign('tipe', 'view'); $ui->assign('_system_menu', 'inbox'); $ui->assign('_title', Lang::T('Inbox')); - $ui->display('user-inbox.tpl'); + $ui->display('user-ui/inbox.tpl'); break; case 'delete': if($routes['2']){ @@ -57,5 +57,5 @@ switch ($action) { $ui->assign('mails', $mails); $ui->assign('_system_menu', 'inbox'); $ui->assign('_title', Lang::T('Inbox')); - $ui->display('user-inbox.tpl'); + $ui->display('user-ui/inbox.tpl'); } \ No newline at end of file diff --git a/system/controllers/order.php b/system/controllers/order.php index 7848d2a8..ac4151e2 100644 --- a/system/controllers/order.php +++ b/system/controllers/order.php @@ -15,7 +15,7 @@ switch ($action) { $ui->assign('_system_menu', 'voucher'); $ui->assign('_title', Lang::T('Order Voucher')); run_hook('customer_view_order'); #HOOK - $ui->display('user-order.tpl'); + $ui->display('user-ui/order.tpl'); break; case 'history': $ui->assign('_system_menu', 'history'); @@ -24,7 +24,7 @@ switch ($action) { $ui->assign('d', $d); $ui->assign('_title', Lang::T('Order History')); run_hook('customer_view_order_history'); #HOOK - $ui->display('user-orderHistory.tpl'); + $ui->display('user-ui/orderHistory.tpl'); break; case 'balance': if (strpos($user['email'], '@') === false) { @@ -34,7 +34,7 @@ switch ($action) { $ui->assign('_system_menu', 'balance'); $plans_balance = ORM::for_table('tbl_plans')->where('enabled', '1')->where('type', 'Balance')->where('prepaid', 'yes')->find_many(); $ui->assign('plans_balance', $plans_balance); - $ui->display('user-orderBalance.tpl'); + $ui->display('user-ui/orderBalance.tpl'); break; case 'package': if (strpos($user['email'], '@') === false) { @@ -73,7 +73,7 @@ switch ($action) { $ui->assign('plans_pppoe', $plans_pppoe); $ui->assign('plans_hotspot', $plans_hotspot); run_hook('customer_view_order_plan'); #HOOK - $ui->display('user-orderPlan.tpl'); + $ui->display('user-ui/orderPlan.tpl'); break; case 'unpaid': $d = ORM::for_table('tbl_payment_gateway') @@ -138,7 +138,7 @@ switch ($action) { $ui->assign('plan', $plan); $ui->assign('bandw', $bandw); $ui->assign('_title', 'TRX #' . $trxid); - $ui->display('user-orderView.tpl'); + $ui->display('user-ui/orderView.tpl'); break; case 'pay': if ($config['enable_balance'] != 'yes') { @@ -328,7 +328,7 @@ switch ($action) { $ui->assign('router', $router_name); $ui->assign('plan', $plan); $ui->assign('tax', $tax); - $ui->display('user-sendPlan.tpl'); + $ui->display('user-ui/sendPlan.tpl'); break; case 'gateway': $ui->assign('_title', Lang::T('Select Payment Gateway')); @@ -366,7 +366,7 @@ switch ($action) { $ui->assign('add_cost', $add_cost); $ui->assign('bills', $bills); $ui->assign('plan', $plan); - $ui->display('user-selectGateway.tpl'); + $ui->display('user-ui/selectGateway.tpl'); break; } else { if (empty($pgs[0])) { diff --git a/system/controllers/page.php b/system/controllers/page.php index d1bd9ad9..dcf9663d 100644 --- a/system/controllers/page.php +++ b/system/controllers/page.php @@ -16,6 +16,6 @@ if(file_exists(__DIR__."/../../pages/".str_replace(".","",$action).".html")){ $ui->assign("PageFile",$action); $ui->assign("pageHeader",$action); run_hook('customer_view_page'); #HOOK - $ui->display('user-pages.tpl'); + $ui->display('user-ui/pages.tpl'); }else - $ui->display('404.tpl'); \ No newline at end of file + $ui->display('user-ui/404.tpl'); \ No newline at end of file diff --git a/system/controllers/register.php b/system/controllers/register.php index 25e41480..29985801 100644 --- a/system/controllers/register.php +++ b/system/controllers/register.php @@ -62,7 +62,7 @@ switch ($do) { $ui->assign('phonenumber', $phonenumber); $ui->assign('notify', 'Wrong Verification code'); $ui->assign('notify_t', 'd'); - $ui->display('register-otp.tpl'); + $ui->display('user-ui/register-otp.tpl'); exit(); } else { unlink($otpPath); @@ -96,7 +96,7 @@ switch ($do) { $ui->assign('notify', 'Failed to register'); $ui->assign('notify_t', 'd'); run_hook('view_otp_register'); #HOOK - $ui->display('register-rotp.tpl'); + $ui->display('user-ui/register-rotp.tpl'); } } else { $ui->assign('username', $username); @@ -106,7 +106,7 @@ switch ($do) { $ui->assign('phonenumber', $phonenumber); $ui->assign('notify', $msg); $ui->assign('notify_t', 'd'); - $ui->display('register.tpl'); + $ui->display('user-ui/register.tpl'); } break; @@ -128,7 +128,7 @@ switch ($do) { $ui->assign('username', $username); $ui->assign('notify', 'Please wait ' . (1200 - (time() - filemtime($otpPath))) . ' seconds before sending another SMS'); $ui->assign('notify_t', 'd'); - $ui->display('register-otp.tpl'); + $ui->display('user-ui/register-otp.tpl'); } else { $otp = rand(100000, 999999); file_put_contents($otpPath, $otp); @@ -136,11 +136,11 @@ switch ($do) { $ui->assign('username', $username); $ui->assign('notify', 'Verification code has been sent to your phone'); $ui->assign('notify_t', 's'); - $ui->display('register-otp.tpl'); + $ui->display('user-ui/register-otp.tpl'); } } else { run_hook('view_otp_register'); #HOOK - $ui->display('register-rotp.tpl'); + $ui->display('user-ui/register-rotp.tpl'); } } else { $ui->assign('username', ""); @@ -149,7 +149,7 @@ switch ($do) { $ui->assign('email', ""); $ui->assign('otp', false); run_hook('view_register'); #HOOK - $ui->display('register.tpl'); + $ui->display('user-ui/register.tpl'); } break; } diff --git a/system/controllers/voucher.php b/system/controllers/voucher.php index d4b1ddc7..c04795b8 100644 --- a/system/controllers/voucher.php +++ b/system/controllers/voucher.php @@ -17,7 +17,7 @@ switch ($action) { case 'activation': run_hook('view_activate_voucher'); #HOOK $ui->assign('code', alphanumeric(_get('code'), "-_.,")); - $ui->display('user-activation.tpl'); + $ui->display('user-ui/activation.tpl'); break; case 'activation-post': @@ -46,7 +46,7 @@ switch ($action) { $ui->assign('d', $d); run_hook('customer_view_activation_list'); #HOOK - $ui->display('user-activation-list.tpl'); + $ui->display('user-ui/activation-list.tpl'); break; case 'invoice': @@ -58,7 +58,7 @@ switch ($action) { } if ($in) { Package::createInvoice($in); - $ui->display('invoice-customer.tpl'); + $ui->display('user-ui/invoice-customer.tpl'); } else { r2(U . 'voucher/list-activated', 'e', Lang::T('Not Found')); } diff --git a/ui/ui/404.tpl b/ui/ui/user-ui/404.tpl similarity index 77% rename from ui/ui/404.tpl rename to ui/ui/user-ui/404.tpl index 0e8c674e..4d975e4c 100644 --- a/ui/ui/404.tpl +++ b/ui/ui/user-ui/404.tpl @@ -1,4 +1,4 @@ -{include file="sections/user-header.tpl"} +{include file="user-ui/header.tpl"}
    @@ -7,4 +7,4 @@
    -{include file="sections/user-footer.tpl"} +{include file="user-ui/footer.tpl"} diff --git a/ui/ui/user-activation-list.tpl b/ui/ui/user-ui/activation-list.tpl similarity index 96% rename from ui/ui/user-activation-list.tpl rename to ui/ui/user-ui/activation-list.tpl index 11513f14..5a0fe1ca 100644 --- a/ui/ui/user-activation-list.tpl +++ b/ui/ui/user-ui/activation-list.tpl @@ -1,4 +1,4 @@ -{include file="sections/user-header.tpl"} +{include file="user-ui/header.tpl"}
    @@ -41,4 +41,4 @@
    -{include file="sections/user-footer.tpl"} \ No newline at end of file +{include file="user-ui/footer.tpl"} \ No newline at end of file diff --git a/ui/ui/user-activation.tpl b/ui/ui/user-ui/activation.tpl similarity index 95% rename from ui/ui/user-activation.tpl rename to ui/ui/user-ui/activation.tpl index 7f36045b..82ee6831 100644 --- a/ui/ui/user-activation.tpl +++ b/ui/ui/user-ui/activation.tpl @@ -1,4 +1,4 @@ -{include file="sections/user-header.tpl"} +{include file="user-ui/user-header.tpl"}
    @@ -38,4 +38,4 @@
    -{include file="sections/user-footer.tpl"} \ No newline at end of file +{include file="user-ui/footer.tpl"} \ No newline at end of file diff --git a/ui/ui/user-change-password.tpl b/ui/ui/user-ui/change-password.tpl similarity index 95% rename from ui/ui/user-change-password.tpl rename to ui/ui/user-ui/change-password.tpl index 6094354e..60a252cc 100644 --- a/ui/ui/user-change-password.tpl +++ b/ui/ui/user-ui/change-password.tpl @@ -1,4 +1,4 @@ -{include file="sections/user-header.tpl"} +{include file="user-ui/header.tpl"}
    @@ -40,4 +40,4 @@
    -{include file="sections/user-footer.tpl"} \ No newline at end of file +{include file="user-ui/footer.tpl"} \ No newline at end of file diff --git a/ui/ui/user-dashboard.tpl b/ui/ui/user-ui/dashboard.tpl similarity index 99% rename from ui/ui/user-dashboard.tpl rename to ui/ui/user-ui/dashboard.tpl index 1fdc44c8..82d5e9f1 100644 --- a/ui/ui/user-dashboard.tpl +++ b/ui/ui/user-ui/dashboard.tpl @@ -1,4 +1,4 @@ -{include file="sections/user-header.tpl"} +{include file="user-ui/header.tpl"}
    @@ -398,4 +398,4 @@ document.write(''); {/if} -{include file="sections/user-footer.tpl"} \ No newline at end of file +{include file="user-ui/footer.tpl"} \ No newline at end of file diff --git a/ui/ui/sections/user-footer.tpl b/ui/ui/user-ui/footer.tpl similarity index 100% rename from ui/ui/sections/user-footer.tpl rename to ui/ui/user-ui/footer.tpl diff --git a/ui/ui/sections/user-header.tpl b/ui/ui/user-ui/header.tpl similarity index 100% rename from ui/ui/sections/user-header.tpl rename to ui/ui/user-ui/header.tpl diff --git a/ui/ui/user-inbox.tpl b/ui/ui/user-ui/inbox.tpl similarity index 98% rename from ui/ui/user-inbox.tpl rename to ui/ui/user-ui/inbox.tpl index a9fd9e95..89210942 100644 --- a/ui/ui/user-inbox.tpl +++ b/ui/ui/user-ui/inbox.tpl @@ -1,4 +1,4 @@ -{include file="sections/user-header.tpl"} +{include file="user-ui/header.tpl"} {if $tipe == 'view'}
    @@ -110,4 +110,4 @@ {/if} -{include file="sections/user-footer.tpl"} \ No newline at end of file +{include file="user-ui/footer.tpl"} \ No newline at end of file diff --git a/ui/ui/user-ui/index.html b/ui/ui/user-ui/index.html new file mode 100644 index 00000000..97579708 --- /dev/null +++ b/ui/ui/user-ui/index.html @@ -0,0 +1,8 @@ + + + 403 Forbidden + + +

    Directory access is forbidden.

    + + \ No newline at end of file diff --git a/ui/ui/invoice-customer.tpl b/ui/ui/user-ui/invoice-customer.tpl similarity index 91% rename from ui/ui/invoice-customer.tpl rename to ui/ui/user-ui/invoice-customer.tpl index 8b369d06..171f4900 100644 --- a/ui/ui/invoice-customer.tpl +++ b/ui/ui/user-ui/invoice-customer.tpl @@ -1,4 +1,4 @@ -{include file="sections/user-header.tpl"} +{include file="user-ui/header.tpl"}
    @@ -18,4 +18,4 @@
    -{include file="sections/user-footer.tpl"} \ No newline at end of file +{include file="user-ui/footer.tpl"} \ No newline at end of file diff --git a/ui/ui/user-login-noreg.tpl b/ui/ui/user-ui/login-noreg.tpl similarity index 100% rename from ui/ui/user-login-noreg.tpl rename to ui/ui/user-ui/login-noreg.tpl diff --git a/ui/ui/user-login.tpl b/ui/ui/user-ui/login.tpl similarity index 100% rename from ui/ui/user-login.tpl rename to ui/ui/user-ui/login.tpl diff --git a/ui/ui/user-orderBalance.tpl b/ui/ui/user-ui/orderBalance.tpl similarity index 95% rename from ui/ui/user-orderBalance.tpl rename to ui/ui/user-ui/orderBalance.tpl index 91b97aa7..d7f5edc9 100644 --- a/ui/ui/user-orderBalance.tpl +++ b/ui/ui/user-ui/orderBalance.tpl @@ -1,4 +1,4 @@ -{include file="sections/user-header.tpl"} +{include file="user-ui/header.tpl"}
    @@ -34,4 +34,4 @@
    -{include file="sections/user-footer.tpl"} \ No newline at end of file +{include file="user-ui/footer.tpl"} \ No newline at end of file diff --git a/ui/ui/user-orderHistory.tpl b/ui/ui/user-ui/orderHistory.tpl similarity index 97% rename from ui/ui/user-orderHistory.tpl rename to ui/ui/user-ui/orderHistory.tpl index 03aa2379..3f60a74c 100644 --- a/ui/ui/user-orderHistory.tpl +++ b/ui/ui/user-ui/orderHistory.tpl @@ -1,4 +1,4 @@ -{include file="sections/user-header.tpl"} +{include file="user-ui/header.tpl"}
    @@ -53,4 +53,4 @@
    -{include file="sections/user-footer.tpl"} \ No newline at end of file +{include file="user-ui/footer.tpl"} \ No newline at end of file diff --git a/ui/ui/user-orderPlan.tpl b/ui/ui/user-ui/orderPlan.tpl similarity index 99% rename from ui/ui/user-orderPlan.tpl rename to ui/ui/user-ui/orderPlan.tpl index 191c945c..74dda812 100644 --- a/ui/ui/user-orderPlan.tpl +++ b/ui/ui/user-ui/orderPlan.tpl @@ -1,4 +1,4 @@ -{include file="sections/user-header.tpl"} +{include file="user-ui/header.tpl"}
    @@ -421,4 +421,4 @@ {/foreach}
    -{include file="sections/user-footer.tpl"} \ No newline at end of file +{include file="user-ui/footer.tpl"} \ No newline at end of file diff --git a/ui/ui/user-orderView.tpl b/ui/ui/user-ui/orderView.tpl similarity index 99% rename from ui/ui/user-orderView.tpl rename to ui/ui/user-ui/orderView.tpl index f1de1117..6f62ad76 100644 --- a/ui/ui/user-orderView.tpl +++ b/ui/ui/user-ui/orderView.tpl @@ -1,4 +1,4 @@ -{include file="sections/user-header.tpl"} +{include file="user-ui/header.tpl"}
    @@ -150,4 +150,4 @@
    -{include file="sections/user-footer.tpl"} \ No newline at end of file +{include file="user-ui/footer.tpl"} \ No newline at end of file diff --git a/ui/ui/user-pages.tpl b/ui/ui/user-ui/pages.tpl similarity index 80% rename from ui/ui/user-pages.tpl rename to ui/ui/user-ui/pages.tpl index 7d6bb8a9..93e79d55 100644 --- a/ui/ui/user-pages.tpl +++ b/ui/ui/user-ui/pages.tpl @@ -1,4 +1,4 @@ -{include file="sections/user-header.tpl"} +{include file="user-ui/header.tpl"}
    @@ -12,4 +12,4 @@
    -{include file="sections/user-footer.tpl"} +{include file="user-ui/footer.tpl"} diff --git a/ui/ui/user-phone-update.tpl b/ui/ui/user-ui/phone-update.tpl similarity index 97% rename from ui/ui/user-phone-update.tpl rename to ui/ui/user-ui/phone-update.tpl index 1553842c..2f69a782 100644 --- a/ui/ui/user-phone-update.tpl +++ b/ui/ui/user-ui/phone-update.tpl @@ -1,4 +1,4 @@ -{include file="sections/user-header.tpl"} +{include file="user-ui/header.tpl"} @@ -77,4 +77,4 @@ -{include file="sections/user-footer.tpl"} \ No newline at end of file +{include file="user-ui/footer.tpl"} \ No newline at end of file diff --git a/ui/ui/user-profile.tpl b/ui/ui/user-ui/profile.tpl similarity index 98% rename from ui/ui/user-profile.tpl rename to ui/ui/user-ui/profile.tpl index 78c1477d..cede2f77 100644 --- a/ui/ui/user-profile.tpl +++ b/ui/ui/user-ui/profile.tpl @@ -1,4 +1,4 @@ -{include file="sections/user-header.tpl"} +{include file="user-ui/header.tpl"}
    @@ -84,4 +84,4 @@
    -{include file="sections/user-footer.tpl"} \ No newline at end of file +{include file="user-ui/footer.tpl"} \ No newline at end of file diff --git a/ui/ui/register-otp.tpl b/ui/ui/user-ui/register-otp.tpl similarity index 100% rename from ui/ui/register-otp.tpl rename to ui/ui/user-ui/register-otp.tpl diff --git a/ui/ui/register-rotp.tpl b/ui/ui/user-ui/register-rotp.tpl similarity index 100% rename from ui/ui/register-rotp.tpl rename to ui/ui/user-ui/register-rotp.tpl diff --git a/ui/ui/register.tpl b/ui/ui/user-ui/register.tpl similarity index 100% rename from ui/ui/register.tpl rename to ui/ui/user-ui/register.tpl diff --git a/ui/ui/user-selectGateway.tpl b/ui/ui/user-ui/selectGateway.tpl similarity index 98% rename from ui/ui/user-selectGateway.tpl rename to ui/ui/user-ui/selectGateway.tpl index 6fd37475..11816a41 100644 --- a/ui/ui/user-selectGateway.tpl +++ b/ui/ui/user-ui/selectGateway.tpl @@ -1,4 +1,4 @@ -{include file="sections/user-header.tpl"} +{include file="user-ui/header.tpl"}
    @@ -113,4 +113,4 @@
    -{include file="sections/user-footer.tpl"} \ No newline at end of file +{include file="user-ui/footer.tpl"} \ No newline at end of file diff --git a/ui/ui/user-sendPlan.tpl b/ui/ui/user-ui/sendPlan.tpl similarity index 97% rename from ui/ui/user-sendPlan.tpl rename to ui/ui/user-ui/sendPlan.tpl index fb3ac4e3..c756a0f3 100644 --- a/ui/ui/user-sendPlan.tpl +++ b/ui/ui/user-ui/sendPlan.tpl @@ -1,4 +1,4 @@ -{include file="sections/user-header.tpl"} +{include file="user-ui/header.tpl"}
    @@ -64,4 +64,4 @@
    -{include file="sections/user-footer.tpl"} \ No newline at end of file +{include file="suser-ui/footer.tpl"} \ No newline at end of file From 5070cd9ed719d4711f39599f21684b1fa0c5a363 Mon Sep 17 00:00:00 2001 From: Ibnu Maksum Date: Fri, 16 Aug 2024 09:35:25 +0700 Subject: [PATCH 04/27] set customer language to cookie --- init.php | 2 ++ ui/ui/sections/user-footer.tpl | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/init.php b/init.php index c33acdfc..a4edd798 100644 --- a/init.php +++ b/init.php @@ -134,6 +134,8 @@ if ((!empty($radius_user) && $config['radius_enable']) || _post('radius_enable') // Check if the user has selected a language if (!empty($_SESSION['user_language'])) { $config['language'] = $_SESSION['user_language']; +}else if (!empty($_COOKIE['user_language'])) { + $config['language'] = $_COOKIE['user_language']; } if (empty($_SESSION['Lang'])) { diff --git a/ui/ui/sections/user-footer.tpl b/ui/ui/sections/user-footer.tpl index b6017e68..bda37fc4 100644 --- a/ui/ui/sections/user-footer.tpl +++ b/ui/ui/sections/user-footer.tpl @@ -108,6 +108,28 @@ }) }); }); + + function setCookie(name, value, days) { + var expires = ""; + if (days) { + var date = new Date(); + date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); + expires = "; expires=" + date.toUTCString(); + } + document.cookie = name + "=" + (value || "") + expires + "; path=/"; + } + + function getCookie(name) { + var nameEQ = name + "="; + var ca = document.cookie.split(';'); + for (var i = 0; i < ca.length; i++) { + var c = ca[i]; + while (c.charAt(0) == ' ') c = c.substring(1, c.length); + if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); + } + return null; + } + setCookie('user_language', '{/literal}{$user_language}{literal}', 365); {/literal} From 5242b19f6f6f20f75523f92f2ee6336363165962 Mon Sep 17 00:00:00 2001 From: Ibnu Maksum Date: Sat, 17 Aug 2024 11:18:30 +0700 Subject: [PATCH 05/27] 10 minutes for request resend OTP, 20 minutes for expired --- system/controllers/accounts.php | 4 ++-- system/controllers/register.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/system/controllers/accounts.php b/system/controllers/accounts.php index 1c40cef8..06ec95ae 100644 --- a/system/controllers/accounts.php +++ b/system/controllers/accounts.php @@ -153,8 +153,8 @@ switch ($action) { $phoneFile = $otpPath . sha1($username . $db_pass) . "_phone.txt"; // expired 10 minutes - if (file_exists($otpFile) && time() - filemtime($otpFile) < 1200) { - r2(U . 'accounts/phone-update', 'e', Lang::T('Please wait ' . (1200 - (time() - filemtime($otpFile))) . ' seconds before sending another SMS')); + if (file_exists($otpFile) && time() - filemtime($otpFile) < 600) { + r2(U . 'accounts/phone-update', 'e', Lang::T('Please wait ' . (600 - (time() - filemtime($otpFile))) . ' seconds before sending another SMS')); } else { $otp = rand(100000, 999999); file_put_contents($otpFile, $otp); diff --git a/system/controllers/register.php b/system/controllers/register.php index 25e41480..9a432edf 100644 --- a/system/controllers/register.php +++ b/system/controllers/register.php @@ -124,9 +124,9 @@ switch ($do) { } $otpPath .= sha1($username . $db_pass) . ".txt"; //expired 10 minutes - if (file_exists($otpPath) && time() - filemtime($otpPath) < 1200) { + if (file_exists($otpPath) && time() - filemtime($otpPath) < 600) { $ui->assign('username', $username); - $ui->assign('notify', 'Please wait ' . (1200 - (time() - filemtime($otpPath))) . ' seconds before sending another SMS'); + $ui->assign('notify', 'Please wait ' . (600 - (time() - filemtime($otpPath))) . ' seconds before sending another SMS'); $ui->assign('notify_t', 'd'); $ui->display('register-otp.tpl'); } else { From 03497cb28981efc7f7cf296c428841b9b2502058 Mon Sep 17 00:00:00 2001 From: Focuslinkstech <45756999+Focuslinkstech@users.noreply.github.com> Date: Sat, 17 Aug 2024 14:17:59 +0100 Subject: [PATCH 06/27] Update customers.php fix typo error --- system/controllers/customers.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/controllers/customers.php b/system/controllers/customers.php index f486b2c2..379db52e 100644 --- a/system/controllers/customers.php +++ b/system/controllers/customers.php @@ -440,7 +440,7 @@ switch ($action) { // Send welcome message if (isset($_POST['send_welcome_message']) && $_POST['send_welcome_message'] == true) { $welcomeMessage = Lang::getNotifText('welcome_message'); - $welcomeMessage = str_replace('[[company_name]]', $config['CompanyName'], $welcomeMessage); + $welcomeMessage = str_replace('[[company]]', $config['CompanyName'], $welcomeMessage); $welcomeMessage = str_replace('[[name]]', $d['fullname'], $welcomeMessage); $welcomeMessage = str_replace('[[username]]', $d['username'], $welcomeMessage); $welcomeMessage = str_replace('[[password]]', $d['password'], $welcomeMessage); From 5c30be70c00fb24e44a9a270c6c20a7ef018f28b Mon Sep 17 00:00:00 2001 From: Ibnu Maksum Date: Sat, 17 Aug 2024 22:18:15 +0700 Subject: [PATCH 07/27] change from niceedit to summernet, it support table --- system/autoload/Lang.php | 2 +- ui/ui/page-edit.tpl | 21 +- ui/ui/sections/footer.tpl | 1 + ui/ui/sections/header.tpl | 1 + ui/ui/summernote/font/summernote.eot | Bin 0 -> 12072 bytes ui/ui/summernote/font/summernote.ttf | Bin 0 -> 11896 bytes ui/ui/summernote/font/summernote.woff | Bin 0 -> 7428 bytes ui/ui/summernote/font/summernote.woff2 | Bin 0 -> 6156 bytes ui/ui/summernote/lang/summernote-ar-AR.js | 274 +++++++++++++++++ ui/ui/summernote/lang/summernote-ar-AR.min.js | 2 + .../lang/summernote-ar-AR.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-az-AZ.js | 283 ++++++++++++++++++ ui/ui/summernote/lang/summernote-az-AZ.min.js | 2 + .../lang/summernote-az-AZ.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-bg-BG.js | 274 +++++++++++++++++ ui/ui/summernote/lang/summernote-bg-BG.min.js | 2 + .../lang/summernote-bg-BG.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-ca-ES.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-ca-ES.min.js | 2 + .../lang/summernote-ca-ES.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-cs-CZ.js | 268 +++++++++++++++++ ui/ui/summernote/lang/summernote-cs-CZ.min.js | 2 + .../lang/summernote-cs-CZ.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-da-DK.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-da-DK.min.js | 2 + .../lang/summernote-da-DK.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-de-DE.js | 274 +++++++++++++++++ ui/ui/summernote/lang/summernote-de-DE.min.js | 2 + .../lang/summernote-de-DE.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-el-GR.js | 281 +++++++++++++++++ ui/ui/summernote/lang/summernote-el-GR.min.js | 2 + .../lang/summernote-el-GR.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-es-ES.js | 280 +++++++++++++++++ ui/ui/summernote/lang/summernote-es-ES.min.js | 2 + .../lang/summernote-es-ES.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-es-EU.js | 272 +++++++++++++++++ ui/ui/summernote/lang/summernote-es-EU.min.js | 2 + .../lang/summernote-es-EU.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-fa-IR.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-fa-IR.min.js | 2 + .../lang/summernote-fa-IR.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-fi-FI.js | 271 +++++++++++++++++ ui/ui/summernote/lang/summernote-fi-FI.min.js | 2 + .../lang/summernote-fi-FI.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-fr-FR.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-fr-FR.min.js | 2 + .../lang/summernote-fr-FR.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-gl-ES.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-gl-ES.min.js | 2 + .../lang/summernote-gl-ES.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-he-IL.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-he-IL.min.js | 2 + .../lang/summernote-he-IL.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-hr-HR.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-hr-HR.min.js | 2 + .../lang/summernote-hr-HR.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-hu-HU.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-hu-HU.min.js | 2 + .../lang/summernote-hu-HU.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-id-ID.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-id-ID.min.js | 2 + .../lang/summernote-id-ID.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-it-IT.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-it-IT.min.js | 2 + .../lang/summernote-it-IT.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-ja-JP.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-ja-JP.min.js | 2 + .../lang/summernote-ja-JP.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-ko-KR.js | 275 +++++++++++++++++ ui/ui/summernote/lang/summernote-ko-KR.min.js | 2 + .../lang/summernote-ko-KR.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-lt-LT.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-lt-LT.min.js | 2 + .../lang/summernote-lt-LT.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-lt-LV.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-lt-LV.min.js | 2 + .../lang/summernote-lt-LV.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-mn-MN.js | 274 +++++++++++++++++ ui/ui/summernote/lang/summernote-mn-MN.min.js | 2 + .../lang/summernote-mn-MN.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-nb-NO.js | 272 +++++++++++++++++ ui/ui/summernote/lang/summernote-nb-NO.min.js | 2 + .../lang/summernote-nb-NO.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-nl-NL.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-nl-NL.min.js | 2 + .../lang/summernote-nl-NL.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-pl-PL.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-pl-PL.min.js | 2 + .../lang/summernote-pl-PL.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-pt-BR.js | 274 +++++++++++++++++ ui/ui/summernote/lang/summernote-pt-BR.min.js | 2 + .../lang/summernote-pt-BR.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-pt-PT.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-pt-PT.min.js | 2 + .../lang/summernote-pt-PT.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-ro-RO.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-ro-RO.min.js | 2 + .../lang/summernote-ro-RO.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-ru-RU.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-ru-RU.min.js | 2 + .../lang/summernote-ru-RU.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-sk-SK.js | 271 +++++++++++++++++ ui/ui/summernote/lang/summernote-sk-SK.min.js | 2 + .../lang/summernote-sk-SK.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-sl-SI.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-sl-SI.min.js | 2 + .../lang/summernote-sl-SI.min.js.LICENSE.txt | 1 + .../summernote/lang/summernote-sr-RS-Latin.js | 273 +++++++++++++++++ .../lang/summernote-sr-RS-Latin.min.js | 2 + .../summernote-sr-RS-Latin.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-sr-RS.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-sr-RS.min.js | 2 + .../lang/summernote-sr-RS.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-sv-SE.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-sv-SE.min.js | 2 + .../lang/summernote-sv-SE.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-ta-IN.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-ta-IN.min.js | 2 + .../lang/summernote-ta-IN.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-th-TH.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-th-TH.min.js | 2 + .../lang/summernote-th-TH.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-tr-TR.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-tr-TR.min.js | 2 + .../lang/summernote-tr-TR.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-uk-UA.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-uk-UA.min.js | 2 + .../lang/summernote-uk-UA.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-uz-UZ.js | 230 ++++++++++++++ ui/ui/summernote/lang/summernote-uz-UZ.min.js | 2 + .../lang/summernote-uz-UZ.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-vi-VN.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-vi-VN.min.js | 2 + .../lang/summernote-vi-VN.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-zh-CN.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-zh-CN.min.js | 2 + .../lang/summernote-zh-CN.min.js.LICENSE.txt | 1 + ui/ui/summernote/lang/summernote-zh-TW.js | 273 +++++++++++++++++ ui/ui/summernote/lang/summernote-zh-TW.min.js | 2 + .../lang/summernote-zh-TW.min.js.LICENSE.txt | 1 + ui/ui/summernote/summernote.min.css | 1 + ui/ui/summernote/summernote.min.js | 3 + .../summernote/summernote.min.js.LICENSE.txt | 1 + ui/ui/summernote/summernote.min.js.map | 1 + 144 files changed, 12136 insertions(+), 17 deletions(-) create mode 100644 ui/ui/summernote/font/summernote.eot create mode 100644 ui/ui/summernote/font/summernote.ttf create mode 100644 ui/ui/summernote/font/summernote.woff create mode 100644 ui/ui/summernote/font/summernote.woff2 create mode 100644 ui/ui/summernote/lang/summernote-ar-AR.js create mode 100644 ui/ui/summernote/lang/summernote-ar-AR.min.js create mode 100644 ui/ui/summernote/lang/summernote-ar-AR.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-az-AZ.js create mode 100644 ui/ui/summernote/lang/summernote-az-AZ.min.js create mode 100644 ui/ui/summernote/lang/summernote-az-AZ.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-bg-BG.js create mode 100644 ui/ui/summernote/lang/summernote-bg-BG.min.js create mode 100644 ui/ui/summernote/lang/summernote-bg-BG.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-ca-ES.js create mode 100644 ui/ui/summernote/lang/summernote-ca-ES.min.js create mode 100644 ui/ui/summernote/lang/summernote-ca-ES.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-cs-CZ.js create mode 100644 ui/ui/summernote/lang/summernote-cs-CZ.min.js create mode 100644 ui/ui/summernote/lang/summernote-cs-CZ.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-da-DK.js create mode 100644 ui/ui/summernote/lang/summernote-da-DK.min.js create mode 100644 ui/ui/summernote/lang/summernote-da-DK.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-de-DE.js create mode 100644 ui/ui/summernote/lang/summernote-de-DE.min.js create mode 100644 ui/ui/summernote/lang/summernote-de-DE.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-el-GR.js create mode 100644 ui/ui/summernote/lang/summernote-el-GR.min.js create mode 100644 ui/ui/summernote/lang/summernote-el-GR.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-es-ES.js create mode 100644 ui/ui/summernote/lang/summernote-es-ES.min.js create mode 100644 ui/ui/summernote/lang/summernote-es-ES.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-es-EU.js create mode 100644 ui/ui/summernote/lang/summernote-es-EU.min.js create mode 100644 ui/ui/summernote/lang/summernote-es-EU.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-fa-IR.js create mode 100644 ui/ui/summernote/lang/summernote-fa-IR.min.js create mode 100644 ui/ui/summernote/lang/summernote-fa-IR.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-fi-FI.js create mode 100644 ui/ui/summernote/lang/summernote-fi-FI.min.js create mode 100644 ui/ui/summernote/lang/summernote-fi-FI.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-fr-FR.js create mode 100644 ui/ui/summernote/lang/summernote-fr-FR.min.js create mode 100644 ui/ui/summernote/lang/summernote-fr-FR.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-gl-ES.js create mode 100644 ui/ui/summernote/lang/summernote-gl-ES.min.js create mode 100644 ui/ui/summernote/lang/summernote-gl-ES.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-he-IL.js create mode 100644 ui/ui/summernote/lang/summernote-he-IL.min.js create mode 100644 ui/ui/summernote/lang/summernote-he-IL.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-hr-HR.js create mode 100644 ui/ui/summernote/lang/summernote-hr-HR.min.js create mode 100644 ui/ui/summernote/lang/summernote-hr-HR.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-hu-HU.js create mode 100644 ui/ui/summernote/lang/summernote-hu-HU.min.js create mode 100644 ui/ui/summernote/lang/summernote-hu-HU.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-id-ID.js create mode 100644 ui/ui/summernote/lang/summernote-id-ID.min.js create mode 100644 ui/ui/summernote/lang/summernote-id-ID.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-it-IT.js create mode 100644 ui/ui/summernote/lang/summernote-it-IT.min.js create mode 100644 ui/ui/summernote/lang/summernote-it-IT.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-ja-JP.js create mode 100644 ui/ui/summernote/lang/summernote-ja-JP.min.js create mode 100644 ui/ui/summernote/lang/summernote-ja-JP.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-ko-KR.js create mode 100644 ui/ui/summernote/lang/summernote-ko-KR.min.js create mode 100644 ui/ui/summernote/lang/summernote-ko-KR.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-lt-LT.js create mode 100644 ui/ui/summernote/lang/summernote-lt-LT.min.js create mode 100644 ui/ui/summernote/lang/summernote-lt-LT.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-lt-LV.js create mode 100644 ui/ui/summernote/lang/summernote-lt-LV.min.js create mode 100644 ui/ui/summernote/lang/summernote-lt-LV.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-mn-MN.js create mode 100644 ui/ui/summernote/lang/summernote-mn-MN.min.js create mode 100644 ui/ui/summernote/lang/summernote-mn-MN.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-nb-NO.js create mode 100644 ui/ui/summernote/lang/summernote-nb-NO.min.js create mode 100644 ui/ui/summernote/lang/summernote-nb-NO.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-nl-NL.js create mode 100644 ui/ui/summernote/lang/summernote-nl-NL.min.js create mode 100644 ui/ui/summernote/lang/summernote-nl-NL.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-pl-PL.js create mode 100644 ui/ui/summernote/lang/summernote-pl-PL.min.js create mode 100644 ui/ui/summernote/lang/summernote-pl-PL.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-pt-BR.js create mode 100644 ui/ui/summernote/lang/summernote-pt-BR.min.js create mode 100644 ui/ui/summernote/lang/summernote-pt-BR.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-pt-PT.js create mode 100644 ui/ui/summernote/lang/summernote-pt-PT.min.js create mode 100644 ui/ui/summernote/lang/summernote-pt-PT.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-ro-RO.js create mode 100644 ui/ui/summernote/lang/summernote-ro-RO.min.js create mode 100644 ui/ui/summernote/lang/summernote-ro-RO.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-ru-RU.js create mode 100644 ui/ui/summernote/lang/summernote-ru-RU.min.js create mode 100644 ui/ui/summernote/lang/summernote-ru-RU.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-sk-SK.js create mode 100644 ui/ui/summernote/lang/summernote-sk-SK.min.js create mode 100644 ui/ui/summernote/lang/summernote-sk-SK.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-sl-SI.js create mode 100644 ui/ui/summernote/lang/summernote-sl-SI.min.js create mode 100644 ui/ui/summernote/lang/summernote-sl-SI.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-sr-RS-Latin.js create mode 100644 ui/ui/summernote/lang/summernote-sr-RS-Latin.min.js create mode 100644 ui/ui/summernote/lang/summernote-sr-RS-Latin.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-sr-RS.js create mode 100644 ui/ui/summernote/lang/summernote-sr-RS.min.js create mode 100644 ui/ui/summernote/lang/summernote-sr-RS.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-sv-SE.js create mode 100644 ui/ui/summernote/lang/summernote-sv-SE.min.js create mode 100644 ui/ui/summernote/lang/summernote-sv-SE.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-ta-IN.js create mode 100644 ui/ui/summernote/lang/summernote-ta-IN.min.js create mode 100644 ui/ui/summernote/lang/summernote-ta-IN.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-th-TH.js create mode 100644 ui/ui/summernote/lang/summernote-th-TH.min.js create mode 100644 ui/ui/summernote/lang/summernote-th-TH.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-tr-TR.js create mode 100644 ui/ui/summernote/lang/summernote-tr-TR.min.js create mode 100644 ui/ui/summernote/lang/summernote-tr-TR.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-uk-UA.js create mode 100644 ui/ui/summernote/lang/summernote-uk-UA.min.js create mode 100644 ui/ui/summernote/lang/summernote-uk-UA.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-uz-UZ.js create mode 100644 ui/ui/summernote/lang/summernote-uz-UZ.min.js create mode 100644 ui/ui/summernote/lang/summernote-uz-UZ.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-vi-VN.js create mode 100644 ui/ui/summernote/lang/summernote-vi-VN.min.js create mode 100644 ui/ui/summernote/lang/summernote-vi-VN.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-zh-CN.js create mode 100644 ui/ui/summernote/lang/summernote-zh-CN.min.js create mode 100644 ui/ui/summernote/lang/summernote-zh-CN.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/lang/summernote-zh-TW.js create mode 100644 ui/ui/summernote/lang/summernote-zh-TW.min.js create mode 100644 ui/ui/summernote/lang/summernote-zh-TW.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/summernote.min.css create mode 100644 ui/ui/summernote/summernote.min.js create mode 100644 ui/ui/summernote/summernote.min.js.LICENSE.txt create mode 100644 ui/ui/summernote/summernote.min.js.map diff --git a/system/autoload/Lang.php b/system/autoload/Lang.php index e037bf60..146b8aca 100644 --- a/system/autoload/Lang.php +++ b/system/autoload/Lang.php @@ -15,7 +15,7 @@ class Lang if (empty($lan_file)) { $lan_file = $root_path . File::pathFixer('system/lan/' . $config['language'] . '.json'); } - + if (is_array($_SESSION['Lang'])) { $_L = array_merge($_L, $_SESSION['Lang']); } diff --git a/ui/ui/page-edit.tpl b/ui/ui/page-edit.tpl index acbc7f39..d0ae1923 100644 --- a/ui/ui/page-edit.tpl +++ b/ui/ui/page-edit.tpl @@ -1,4 +1,6 @@ {include file="sections/header.tpl"} + +
    @@ -9,8 +11,7 @@
    {$pageHeader}
    -
    -
    {$htmls}
    + {if $writeable}
    - -
    - {literal} {/literal} diff --git a/ui/ui/sections/footer.tpl b/ui/ui/sections/footer.tpl index 6974fbfa..413e9cec 100644 --- a/ui/ui/sections/footer.tpl +++ b/ui/ui/sections/footer.tpl @@ -12,6 +12,7 @@ + {if isset($xfooter)} diff --git a/ui/ui/sections/header.tpl b/ui/ui/sections/header.tpl index cd337197..52c566fd 100644 --- a/ui/ui/sections/header.tpl +++ b/ui/ui/sections/header.tpl @@ -16,6 +16,7 @@ + {if isset($xheader)} - {$xheader} + {$xheader} {/if} @@ -318,81 +318,81 @@ {$_MENU_AFTER_DASHBOARD} {if !in_array($_admin['user_type'],['Report'])} -
  • - - {Lang::T('Customer')} - - - - - -
  • - {$_MENU_AFTER_CUSTOMERS} -
  • - - {Lang::T('Services')} - - - - - -
  • +
  • + + {Lang::T('Customer')} + + + + + +
  • + {$_MENU_AFTER_CUSTOMERS} +
  • + + {Lang::T('Services')} + + + + + +
  • {/if} {$_MENU_AFTER_SERVICES} {if in_array($_admin['user_type'],['SuperAdmin','Admin'])} -
  • - - {Lang::T('Internet Plan')} - - - - - -
  • +
  • + + {Lang::T('Internet Plan')} + + + + + +
  • {/if} {$_MENU_AFTER_PLANS}
  • {if in_array($_admin['user_type'],['SuperAdmin','Admin', 'Report'])} - - {Lang::T('Reports')} - - - - + + {Lang::T('Reports')} + + + + {/if} @@ -569,11 +571,11 @@ {if $_c['maintenance_mode'] == 1} -
    -

    {Lang::T('The website is currently in maintenance mode, this means that some or all functionality may be +

    +

    {Lang::T('The website is currently in maintenance mode, this means that some or all functionality may be unavailable to regular users during this time.')}   {Lang::T('Turn Off')}

    -
    + href="{$_url}settings/maintenance">{Lang::T('Turn Off')}

    +
    {/if}
    @@ -585,19 +587,19 @@
    {if isset($notify)} - - {/if} \ No newline at end of file + +{/if} \ No newline at end of file From d83c2ec0376ba95a938eec15e5d90f5e1d8fe586 Mon Sep 17 00:00:00 2001 From: Ibnu Maksum Date: Mon, 19 Aug 2024 16:13:51 +0700 Subject: [PATCH 27/27] Payment info --- system/controllers/order.php | 12 ++--- system/controllers/pages.php | 91 +++++++++++++++++---------------- ui/ui/page-edit.tpl | 6 +-- ui/ui/user-ui/selectGateway.tpl | 12 ++++- 4 files changed, 63 insertions(+), 58 deletions(-) diff --git a/system/controllers/order.php b/system/controllers/order.php index f8a2db2f..19aae154 100644 --- a/system/controllers/order.php +++ b/system/controllers/order.php @@ -403,7 +403,7 @@ switch ($action) { _log(Lang::T("Payment Gateway not set, please set it in Settings")); r2(U . "home", 'e', Lang::T("Failed to create Transaction..")); } - if (count($pgs) > 1) { + if (count($pgs) > 0) { $ui->assign('pgs', $pgs); if ($tax_enable === 'yes') { $ui->assign('tax', $tax); @@ -416,13 +416,9 @@ switch ($action) { $ui->display('user-ui/selectGateway.tpl'); break; } else { - if (empty($pgs[0])) { - sendTelegram("Payment Gateway not set, please set it in Settings"); - _log(Lang::T("Payment Gateway not set, please set it in Settings")); - r2(U . "home", 'e', Lang::T("Failed to create Transaction..")); - } else { - $_POST['gateway'] = $pgs[0]; - } + sendTelegram("Payment Gateway not set, please set it in Settings"); + _log(Lang::T("Payment Gateway not set, please set it in Settings")); + r2(U . "home", 'e', Lang::T("Failed to create Transaction..")); } case 'buy': $gateway = _post('gateway'); diff --git a/system/controllers/pages.php b/system/controllers/pages.php index 6dd8e73b..9b18fd1e 100644 --- a/system/controllers/pages.php +++ b/system/controllers/pages.php @@ -1,4 +1,5 @@ assign('_system_menu', 'pages'); $action = $routes['1']; $ui->assign('_admin', $admin); -if(strpos($action,"-reset")!==false){ +if (strpos($action, "-reset") !== false) { if (!in_array($admin['user_type'], ['SuperAdmin', 'Admin'])) { - _alert(Lang::T('You do not have permission to access this page'),'danger', "dashboard"); + _alert(Lang::T('You do not have permission to access this page'), 'danger', "dashboard"); } - $action = str_replace("-reset","",$action); - $path = "pages/".str_replace(".","",$action).".html"; - $temp = "pages_template/".str_replace(".","",$action).".html"; - if(file_exists($temp)){ - if(!copy($temp, $path)){ - file_put_contents($path, Http::getData('https://raw.githubusercontent.com/hotspotbilling/phpnuxbill/master/pages_template/'.$action.'.html')); + $action = str_replace("-reset", "", $action); + $path = "$PAGES_PATH/" . str_replace(".", "", $action) . ".html"; + $temp = "pages_template/" . str_replace(".", "", $action) . ".html"; + if (file_exists($temp)) { + if (!copy($temp, $path)) { + file_put_contents($path, Http::getData('https://raw.githubusercontent.com/hotspotbilling/phpnuxbill/master/pages_template/' . $action . '.html')); } - }else{ - file_put_contents($path, Http::getData('https://raw.githubusercontent.com/hotspotbilling/phpnuxbill/master/pages_template/'.$action.'.html')); + } else { + file_put_contents($path, Http::getData('https://raw.githubusercontent.com/hotspotbilling/phpnuxbill/master/pages_template/' . $action . '.html')); } - r2(U . 'pages/'.$action); -}else if(strpos($action,"-post")===false){ + r2(U . 'pages/' . $action); +} else if (strpos($action, "-post") === false) { if (!in_array($admin['user_type'], ['SuperAdmin', 'Admin'])) { - _alert(Lang::T('You do not have permission to access this page'),'danger', "dashboard"); + _alert(Lang::T('You do not have permission to access this page'), 'danger', "dashboard"); } - $path = "pages/".str_replace(".","",$action).".html"; + $path = "$PAGES_PATH/" . str_replace(".", "", $action) . ".html"; $ui->assign("action", $action); //echo $path; run_hook('view_edit_pages'); #HOOK - if(!file_exists($path)){ - $temp = "pages_template/".str_replace(".","",$action).".html"; - if(file_exists($temp)){ - if(!copy($temp, $path)){ + if (!file_exists($path)) { + $temp = "pages_template/" . str_replace(".", "", $action) . ".html"; + if (file_exists($temp)) { + if (!copy($temp, $path)) { touch($path); } - }else{ + } else { touch($path); } } - if(file_exists($path)){ - if($action=='Voucher'){ - if(!file_exists("pages/vouchers/")){ - mkdir("pages/vouchers/"); - if(file_exists("pages_template/vouchers/")){ - File::copyFolder("pages_template/vouchers/", "pages/vouchers/"); + if (file_exists($path)) { + if ($action == 'Voucher') { + if (!file_exists("$PAGES_PATH/vouchers/")) { + mkdir("$PAGES_PATH/vouchers/"); + if (file_exists("pages_template/vouchers/")) { + File::copyFolder("pages_template/vouchers/", "$PAGES_PATH/vouchers/"); } } - $ui->assign("vouchers", scandir("pages/vouchers/")); + $ui->assign("vouchers", scandir("$PAGES_PATH/vouchers/")); } $html = file_get_contents($path); - $ui->assign("htmls",str_replace([""],"",$html)); - $ui->assign("writeable",is_writable($path)); - $ui->assign("pageHeader",str_replace('_', ' ', $action)); - $ui->assign("PageFile",$action); + $ui->assign("htmls", str_replace([""], "", $html)); + $ui->assign("writeable", is_writable($path)); + $ui->assign("pageHeader", str_replace('_', ' ', $action)); + $ui->assign("PageFile", $action); $ui->display('page-edit.tpl'); - }else + } else $ui->display('a404.tpl'); -}else{ +} else { if (!in_array($admin['user_type'], ['SuperAdmin', 'Admin'])) { - _alert(Lang::T('You do not have permission to access this page'),'danger', "dashboard"); + _alert(Lang::T('You do not have permission to access this page'), 'danger', "dashboard"); } - $action = str_replace("-post","",$action); - $path = "pages/".str_replace(".","",$action).".html"; - if(file_exists($path)){ + $action = str_replace("-post", "", $action); + $path = "$PAGES_PATH/" . str_replace(".", "", $action) . ".html"; + if (file_exists($path)) { $html = _post("html"); run_hook('save_pages'); #HOOK - if(file_put_contents($path, $html)){ - if(_post('template_save')=='yes'){ - if(!empty(_post('template_name'))){ - file_put_contents("pages/vouchers/"._post('template_name').'.html', $html); + if (file_put_contents($path, $html)) { + if (_post('template_save') == 'yes') { + if (!empty(_post('template_name'))) { + file_put_contents("pages/vouchers/" . _post('template_name') . '.html', $html); } } - r2(U . 'pages/'.$action, 's', Lang::T("Saving page success")); - }else{ - r2(U . 'pages/'.$action, 'e', Lang::T("Failed to save page, make sure i can write to folder pages, chmod 664 pages/*.html")); + r2(U . 'pages/' . $action, 's', Lang::T("Saving page success")); + } else { + r2(U . 'pages/' . $action, 'e', Lang::T("Failed to save page, make sure i can write to folder pages, chmod 664 pages/*.html")); } - }else + } else $ui->display('a404.tpl'); -} \ No newline at end of file +} diff --git a/ui/ui/page-edit.tpl b/ui/ui/page-edit.tpl index 9346aa3c..9d0153fb 100644 --- a/ui/ui/page-edit.tpl +++ b/ui/ui/page-edit.tpl @@ -31,7 +31,7 @@

    {Lang::T('Sometimes you need to refresh 3 times until content change')}

    + value="{$app_url}/{$PAGES_PATH}/{$PageFile}.html">
    {else}
  • {Lang::T('Location')} {if - $plan['is_radius']}Radius{else}{$plan['routers']} + $plan['is_radius']}Radius{else}{$plan['routers']} {/if}
  • {/if}