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')}
+
+
@@ -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')}
- This will allow
+ {Lang::T('This will allow
you to download
- plugin from private/paid repository
+ plugin from private/paid repository')}
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 @@
{Lang::T('Status')}
- Enable
+ {Lang::T('Enable')}
- Disable
+ {Lang::T('Disable')}
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 @@
{Lang::T('Status')}
- Enable
+ {Lang::T('Enable')}
- Disable
+ {Lang::T('Disable')}
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 @@
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 @@
@@ -78,9 +78,9 @@
{Lang::T('Account Type')}
- Personal
+ {Lang::T('Personal')}
- Business
+ {Lang::T('Business')}
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 @@
- Delete
+ {Lang::T('Delete')}
{/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('$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('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"}
-{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"}
-{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"}
-{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"}
-{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"}
-{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"}
-{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}
+
{$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'])}
-
- {$_MENU_AFTER_CUSTOMERS}
-
+
+ {$_MENU_AFTER_CUSTOMERS}
+
{/if}
{$_MENU_AFTER_SERVICES}
{if in_array($_admin['user_type'],['SuperAdmin','Admin'])}
-
+
{/if}
{$_MENU_AFTER_PLANS}