From c3fd8536ebf2f26ce7aa5352f71209076ed31bb3 Mon Sep 17 00:00:00 2001 From: Ibnu Maksum Date: Wed, 20 Sep 2023 14:27:15 +0700 Subject: [PATCH 01/15] if not exists, copy --- system/controllers/pages.php | 9 ++++++++- system/lan/english/common.lan.php | 4 ++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/system/controllers/pages.php b/system/controllers/pages.php index 923002c2..86578eb6 100644 --- a/system/controllers/pages.php +++ b/system/controllers/pages.php @@ -15,7 +15,14 @@ if(strpos($action,"-post")===false){ //echo $path; run_hook('view_edit_pages'); #HOOK if(!file_exists($path)){ - touch($path); + $temp = "pages_template/".str_replace(".","",$action).".html"; + if(file_exists($temp)){ + if(!copy($temp, $path)){ + touch($path); + } + }else{ + touch($path); + } } if(file_exists($path)){ $html = file_get_contents($path); diff --git a/system/lan/english/common.lan.php b/system/lan/english/common.lan.php index 71a9a4c1..1c92e64a 100644 --- a/system/lan/english/common.lan.php +++ b/system/lan/english/common.lan.php @@ -310,7 +310,6 @@ $_L['Please_enter_your_email_address'] = 'Please enter your email address'; $_L['Failed_to_create_Paypal_transaction'] = 'Failed to create Paypal transaction.'; $_L['Plugin'] = 'Plugin'; $_L['Plugin_Manager'] = 'Plugin Manager'; -$_L['Plugin_Manager'] = 'Plugin Manager'; $_L['User_Notification'] = 'User Notification'; $_L['Expired_Notification'] = 'Expired Notification'; $_L['User_will_get_notification_when_package_expired'] = 'User will get notification when package expired'; @@ -386,7 +385,6 @@ $_L['Minimum_Balance_Transfer'] = 'Minimum Balance Transfer'; $_L['Minimum_Transfer'] = 'Minimum Transfer'; $_L['Company_Logo'] = 'Company Logo'; $_L['Expired_IP_Pool'] = 'Expired IP Pool'; -$_L['Expired_IP_Pool'] = 'Expired IP Pool'; $_L['Proxy'] = 'Proxy'; $_L['Proxy_Server'] = 'Proxy Server'; $_L['Proxy_Server_Login'] = 'Proxy Server Login'; @@ -400,5 +398,7 @@ $_L['Recharge_a_friend'] = 'Recharge a friend'; $_L['Buy_for_friend'] = 'Buy for friend'; $_L['Buy_this_for_friend_account'] = 'Buy this for friend account?'; $_L['Review_package_before_recharge'] = 'Review package before recharge'; +$_L['Activate'] = 'Activate'; $_L['Deactivate'] = 'Deactivate'; $_L['Sync'] = 'Sync'; +$_L['Failed_to_create_PaymeTrust_transaction'] = 'Failed to create PaymeTrust transaction.'; From 56bcbd810e47d08e4cd0e2fc8075127dc8008a8c Mon Sep 17 00:00:00 2001 From: Ibnu Maksum Date: Wed, 20 Sep 2023 14:32:53 +0700 Subject: [PATCH 02/15] 2023.9.20 --- CHANGELOG.md | 3 ++- ...erms_of_Conditions.html => Terms_and_Conditions.html} | 0 ui/ui/register-otp.tpl | 2 +- ui/ui/register-rotp.tpl | 2 +- ui/ui/register.tpl | 2 +- ui/ui/sections/header.tpl | 4 ++-- ui/ui/user-login.tpl | 9 +++++---- version.json | 2 +- 8 files changed, 13 insertions(+), 11 deletions(-) rename pages_template/{Terms_of_Conditions.html => Terms_and_Conditions.html} (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 586403e3..fb4577c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,12 +2,13 @@ # CHANGELOG -## 2023.9.15 +## 2023.9.20 - Fix Customer balance header - Deactivate Customer active plan - Sync Customer Plan to Mikrotik - Recharge Customer from Customer Details +- Add Privacy Policy and Terms and Conditions Pages ## 2023.9.13 diff --git a/pages_template/Terms_of_Conditions.html b/pages_template/Terms_and_Conditions.html similarity index 100% rename from pages_template/Terms_of_Conditions.html rename to pages_template/Terms_and_Conditions.html diff --git a/ui/ui/register-otp.tpl b/ui/ui/register-otp.tpl index ab55baa0..6342bb51 100644 --- a/ui/ui/register-otp.tpl +++ b/ui/ui/register-otp.tpl @@ -107,7 +107,7 @@
Privacy • - ToC + T & C
diff --git a/ui/ui/register-rotp.tpl b/ui/ui/register-rotp.tpl index 04a720a1..0949761c 100644 --- a/ui/ui/register-rotp.tpl +++ b/ui/ui/register-rotp.tpl @@ -82,7 +82,7 @@
Privacy • - ToC + T & C
diff --git a/ui/ui/register.tpl b/ui/ui/register.tpl index da77841a..7e171af9 100644 --- a/ui/ui/register.tpl +++ b/ui/ui/register.tpl @@ -98,7 +98,7 @@
Privacy • - ToC + T & C
diff --git a/ui/ui/sections/header.tpl b/ui/ui/sections/header.tpl index ce3619fa..a1bc6bad 100644 --- a/ui/ui/sections/header.tpl +++ b/ui/ui/sections/header.tpl @@ -223,8 +223,8 @@ href="{$_url}pages/Registration_Info">{$_L['Registration_Info']}
  • Privacy Policy
  • -
  • Terms and Conditions
  • +
  • Terms and Conditions
  • {$_MENU_PAGES} diff --git a/ui/ui/user-login.tpl b/ui/ui/user-login.tpl index be8bb430..02b8f2a9 100644 --- a/ui/ui/user-login.tpl +++ b/ui/ui/user-login.tpl @@ -77,10 +77,11 @@ -
    - Privacy - • - ToC +
    +
    + Privacy + • + T & C
    diff --git a/version.json b/version.json index 5e926093..64c1fe39 100644 --- a/version.json +++ b/version.json @@ -1,3 +1,3 @@ { - "version": "2023.9.15" + "version": "2023.9.20" } \ No newline at end of file From 529b9c84bd0d06302f2f5c9b8f4a27439af3d7a2 Mon Sep 17 00:00:00 2001 From: Ibnu Maksum Date: Wed, 20 Sep 2023 15:13:17 +0700 Subject: [PATCH 03/15] PageFile --- ui/ui/page-edit.tpl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/ui/page-edit.tpl b/ui/ui/page-edit.tpl index 3eb0ce3c..de3f5c7d 100644 --- a/ui/ui/page-edit.tpl +++ b/ui/ui/page-edit.tpl @@ -10,7 +10,7 @@ SAVE

    {$_L['Info_Page']}

    - + {else} - From c5b96df43fb7912b267bf56cfefb2de3e138d280 Mon Sep 17 00:00:00 2001 From: Ibnu Maksum Date: Thu, 21 Sep 2023 12:09:03 +0700 Subject: [PATCH 04/15] add nux-router --- index.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/index.php b/index.php index d1eac444..cd76b6b8 100644 --- a/index.php +++ b/index.php @@ -11,6 +11,11 @@ if(isset($_GET['nux-mac']) && !empty($_GET['nux-mac'])){ if(isset($_GET['nux-ip']) && !empty($_GET['nux-ip'])){ $_SESSION['nux-ip'] = $_GET['nux-ip']; } + +if(isset($_GET['nux-router']) && !empty($_GET['nux-router'])){ + $_SESSION['nux-router'] = $_GET['nux-router']; +} + require_once 'system/vendor/autoload.php'; require_once 'system/boot.php'; App::_run(); From c9eeefcf3d7b83f17b6e8008ab9892452f1556b3 Mon Sep 17 00:00:00 2001 From: Ibnu Maksum Date: Thu, 21 Sep 2023 12:09:13 +0700 Subject: [PATCH 05/15] check if router has plan --- system/autoload/Validator.php | 19 ++++ ui/ui/user-orderPlan.tpl | 198 +++++++++++++++++----------------- 2 files changed, 119 insertions(+), 98 deletions(-) diff --git a/system/autoload/Validator.php b/system/autoload/Validator.php index e7d46039..996caea2 100644 --- a/system/autoload/Validator.php +++ b/system/autoload/Validator.php @@ -299,4 +299,23 @@ class Validator return (bool)in_array($format, $formats); } + public static function countRouterPlan($plans, $router){ + $n = 0; + foreach ($plans as $plan){ + if($plan['routers'] == $router){ + $n++; + } + } + return $n; + } + + public static function isRouterHasPlan($plans, $router){ + foreach ($plans as $plan){ + if($plan['routers'] == $router){ + return true; + } + } + return false; + } + } diff --git a/ui/ui/user-orderPlan.tpl b/ui/ui/user-orderPlan.tpl index 96a5829d..ffc16779 100644 --- a/ui/ui/user-orderPlan.tpl +++ b/ui/ui/user-orderPlan.tpl @@ -35,112 +35,114 @@ {/if} {foreach $routers as $router} -
    -
    {$router['name']}
    - {if $router['description'] != ''} -
    - {$router['description']} -
    - {/if} - {if count($plans_hotspot)>0} -
    {Lang::T('Hotspot Plan')}
    -
    - {foreach $plans_hotspot as $plan} - {if $router['name'] eq $plan['routers']} -
    -
    -
    {$plan['name_plan']}
    -
    - - - - - - - - - - - - - - - -
    {Lang::T('Type')}{$plan['type']}
    {Lang::T('Price')}{Lang::moneyFormat($plan['price'])}
    {Lang::T('Validity')}{$plan['validity']} {$plan['validity_unit']}
    -
    -
    -
    - Buy - {if $_c['enable_balance'] == 'yes' && $_user['balance']>=$plan['price']} - {Lang::T('Pay With Balance')} + {if Validator::isRouterHasPlan($plans_hotspot, $router['name'])>0 && Validator::isRouterHasPlan($plans_pppoe, $router['name'])>0} +
    +
    {$router['name']}
    + {if $router['description'] != ''} +
    + {$router['description']} +
    + {/if} + {if Validator::countRouterPlan($plans_hotspot, $router['name'])>0} +
    {Lang::T('Hotspot Plan')}
    +
    + {foreach $plans_hotspot as $plan} + {if $router['name'] eq $plan['routers']} +
    +
    +
    {$plan['name_plan']}
    +
    + + + + + + + + + + + + + + + +
    {Lang::T('Type')}{$plan['type']}
    {Lang::T('Price')}{Lang::moneyFormat($plan['price'])}
    {Lang::T('Validity')}{$plan['validity']} {$plan['validity_unit']}
    +
    +
    +
    + Buy + {if $_c['enable_balance'] == 'yes' && $_user['balance']>=$plan['price']} + {Lang::T('Pay With Balance')} + {/if} +
    + {if $_c['enable_balance'] == 'yes' && $_c['allow_balance_transfer'] == 'yes' && $_user['balance']>=$plan['price']} + {Lang::T('Buy for friend')} {/if}
    - {if $_c['enable_balance'] == 'yes' && $_c['allow_balance_transfer'] == 'yes' && $_user['balance']>=$plan['price']} - {Lang::T('Buy for friend')} - {/if}
    -
    - {/if} - {/foreach} -
    - {/if} - {if count($plans_pppoe)>0} -
    {Lang::T('PPPOE Plan')}
    -
    - {foreach $plans_pppoe as $plan} - {if $router['name'] eq $plan['routers']} -
    -
    -
    {$plan['name_plan']}
    -
    - - - - - - - - - - - - - - - -
    {Lang::T('Type')}{$plan['type']}
    {Lang::T('Price')}{Lang::moneyFormat($plan['price'])}
    {Lang::T('Validity')}{$plan['validity']} {$plan['validity_unit']}
    -
    -
    -
    - Buy - {if $_c['enable_balance'] == 'yes' && $_user['balance']>=$plan['price']} - {Lang::T('Pay With Balance')} + {/if} + {/foreach} +
    + {/if} + {if Validator::countRouterPlan($plans_pppoe,$router['name'])>0} +
    {Lang::T('PPPOE Plan')}
    +
    + {foreach $plans_pppoe as $plan} + {if $router['name'] eq $plan['routers']} +
    +
    +
    {$plan['name_plan']}
    +
    + + + + + + + + + + + + + + + +
    {Lang::T('Type')}{$plan['type']}
    {Lang::T('Price')}{Lang::moneyFormat($plan['price'])}
    {Lang::T('Validity')}{$plan['validity']} {$plan['validity_unit']}
    +
    +
    +
    + Buy + {if $_c['enable_balance'] == 'yes' && $_user['balance']>=$plan['price']} + {Lang::T('Pay With Balance')} + {/if} +
    + {if $_c['enable_balance'] == 'yes' && $_c['allow_balance_transfer'] == 'yes' && $_user['balance']>=$plan['price']} + {Lang::T('Buy for friend')} {/if}
    - {if $_c['enable_balance'] == 'yes' && $_c['allow_balance_transfer'] == 'yes' && $_user['balance']>=$plan['price']} - {Lang::T('Buy for friend')} - {/if}
    -
    - {/if} - {/foreach} -
    - {/if} -
    + {/if} + {/foreach} +
    + {/if} +
    + {/if} {/foreach}
    From 1832332d99a3c29ccfde10a95263c87405d6ca73 Mon Sep 17 00:00:00 2001 From: Ibnu Maksum Date: Thu, 21 Sep 2023 13:45:28 +0700 Subject: [PATCH 06/15] show plan by nux-router --- system/controllers/order.php | 16 +++++++++++++--- ui/ui/routers.tpl | 6 +++++- ui/ui/user-orderPlan.tpl | 22 +++++++++++----------- 3 files changed, 29 insertions(+), 15 deletions(-) diff --git a/system/controllers/order.php b/system/controllers/order.php index df5652ee..5460d791 100644 --- a/system/controllers/order.php +++ b/system/controllers/order.php @@ -35,9 +35,19 @@ switch ($action) { } $ui->assign('_title', 'Order Plan'); $ui->assign('_system_menu', 'package'); - $routers = ORM::for_table('tbl_routers')->find_many(); - $plans_pppoe = ORM::for_table('tbl_plans')->where('enabled', '1')->where('type', 'PPPOE')->find_many(); - $plans_hotspot = ORM::for_table('tbl_plans')->where('enabled', '1')->where('type', 'Hotspot')->find_many(); + if(!empty($_SESSION['nux-router'])){ + $routers = ORM::for_table('tbl_routers')->where('id',$_SESSION['nux-router'])->find_many(); + $rs = []; + foreach($routers as $r){ + $rs[] = $r['name']; + } + $plans_pppoe = ORM::for_table('tbl_plans')->where('enabled', '1')->where_in('routers', $rs)->where('type', 'PPPOE')->find_many(); + $plans_hotspot = ORM::for_table('tbl_plans')->where('enabled', '1')->where_in('routers', $rs)->where('type', 'Hotspot')->find_many(); + }else{ + $routers = ORM::for_table('tbl_routers')->find_many(); + $plans_pppoe = ORM::for_table('tbl_plans')->where('enabled', '1')->where('type', 'PPPOE')->find_many(); + $plans_hotspot = ORM::for_table('tbl_plans')->where('enabled', '1')->where('type', 'Hotspot')->find_many(); + } $plans_balance = ORM::for_table('tbl_plans')->where('enabled', '1')->where('type', 'Balance')->find_many(); $ui->assign('routers', $routers); $ui->assign('plans_pppoe', $plans_pppoe); diff --git a/ui/ui/routers.tpl b/ui/ui/routers.tpl index e4857e62..57670c2e 100644 --- a/ui/ui/routers.tpl +++ b/ui/ui/routers.tpl @@ -31,6 +31,7 @@ + @@ -42,6 +43,7 @@ {foreach $d as $ds} + @@ -50,7 +52,9 @@ {/foreach} diff --git a/ui/ui/user-orderPlan.tpl b/ui/ui/user-orderPlan.tpl index ffc16779..764d6c9f 100644 --- a/ui/ui/user-orderPlan.tpl +++ b/ui/ui/user-orderPlan.tpl @@ -6,13 +6,13 @@
    {Lang::T('Order Internet Package')}
    {if $_c['enable_balance'] == 'yes'} -
    +
    {Lang::T('Balance Plans')}
    {foreach $plans_balance as $plan}
    -
    {$plan['name_plan']}
    +
    {$plan['name_plan']}
    ID {$_L['Router_Name']} {$_L['IP_Address']} {$_L['Username']}
    {$ds['id']} {$ds['name']} {$ds['ip_address']} {$ds['username']} {$_L['Edit']} - {$_L['Delete']} + {$_L['Delete']}
    @@ -35,22 +35,22 @@ {/if} {foreach $routers as $router} - {if Validator::isRouterHasPlan($plans_hotspot, $router['name'])>0 && Validator::isRouterHasPlan($plans_pppoe, $router['name'])>0} -
    -
    {$router['name']}
    + {if Validator::isRouterHasPlan($plans_hotspot, $router['name']) || Validator::isRouterHasPlan($plans_pppoe, $router['name'])} +
    +
    {$router['name']}
    {if $router['description'] != ''}
    {$router['description']}
    {/if} {if Validator::countRouterPlan($plans_hotspot, $router['name'])>0} -
    {Lang::T('Hotspot Plan')}
    +
    {Lang::T('Hotspot Plan')}
    {foreach $plans_hotspot as $plan} {if $router['name'] eq $plan['routers']}
    -
    -
    {$plan['name_plan']}
    +
    +
    {$plan['name_plan']}
    @@ -93,13 +93,13 @@ {/if} {if Validator::countRouterPlan($plans_pppoe,$router['name'])>0} -
    {Lang::T('PPPOE Plan')}
    +
    {Lang::T('PPPOE Plan')}
    {foreach $plans_pppoe as $plan} {if $router['name'] eq $plan['routers']}
    -
    -
    {$plan['name_plan']}
    +
    +
    {$plan['name_plan']}
    From caad9686555a0ce23416ffeb266314d71ddf5f76 Mon Sep 17 00:00:00 2001 From: Ibnu Maksum Date: Thu, 21 Sep 2023 13:51:50 +0700 Subject: [PATCH 07/15] space in balance --- ui/ui/sections/user-header.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/ui/sections/user-header.tpl b/ui/ui/sections/user-header.tpl index 7965899a..bdf8b379 100644 --- a/ui/ui/sections/user-header.tpl +++ b/ui/ui/sections/user-header.tpl @@ -61,7 +61,7 @@ + style="width:100%; border: 0px;" onmouseleave="this.type = 'password'" + onmouseenter="this.type = 'text'" onclick="this.select()"> {if $_c['enable_balance'] == 'yes'} @@ -89,41 +88,56 @@ {/if} - - - - - - - - - - - - - {if $nux_ip} + {if $_bill} - - + + - {/if} - {if $nux_mac} - - - - {/if} - {if $_bill['type'] == 'Hotspot' && $_bill['status'] == 'on'} - - - + + + + + + + + + + {if $nux_ip} + + + + + {/if} + {if $nux_mac} + + + + + {/if} + {if $_bill['type'] == 'Hotspot' && $_bill['status'] == 'on'} + + + + + {/if} {/if}
    {$_L['Password']}
    {$_L['Plan_Name']}{$_bill['namebp']}
    {$_L['Created_On']} - {if $_bill['time'] ne ''}{Lang::dateAndTimeFormat($_bill['recharged_on'],$_bill['recharged_time'])} - {/if} 
    {$_L['Expires_On']} - {if $_bill['time'] ne ''}{Lang::dateAndTimeFormat($_bill['expiration'],$_bill['time'])}{/if}  -
    {Lang::T('Current IP')}{$nux_ip}{strtoupper(Lang::T('Location'))}{$_bill['routers']}
    {Lang::T('Current MAC')}{$nux_mac}
    {Lang::T('Login Status')} - Loading.... + {$_L['Plan_Name']} + {$_bill['namebp']} + {if $_bill['status'] == 'on'} + {Lang::T('Deactivate')} + {else} + {Lang::T('expired')} + {/if}
    {$_L['Created_On']} + {if $_bill['time'] ne ''}{Lang::dateAndTimeFormat($_bill['recharged_on'],$_bill['recharged_time'])} + {/if} 
    {$_L['Expires_On']} + {if $_bill['time'] ne ''}{Lang::dateAndTimeFormat($_bill['expiration'],$_bill['time'])}{/if}  +
    {Lang::T('Current IP')}{$nux_ip}
    {Lang::T('Current MAC')}{$nux_mac}
    {Lang::T('Login Status')} + Loading.... +
    {if $_c['disable_voucher'] == 'yes'} From 04fcd77da08640b2d074e591d4f767fc89230338 Mon Sep 17 00:00:00 2001 From: Ibnu Maksum Date: Thu, 21 Sep 2023 14:14:33 +0700 Subject: [PATCH 09/15] red text for expired date --- ui/ui/user-dashboard.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/ui/user-dashboard.tpl b/ui/ui/user-dashboard.tpl index 5445f35b..b054baa0 100644 --- a/ui/ui/user-dashboard.tpl +++ b/ui/ui/user-dashboard.tpl @@ -114,7 +114,7 @@ {$_L['Expires_On']} - + {if $_bill['time'] ne ''}{Lang::dateAndTimeFormat($_bill['expiration'],$_bill['time'])}{/if}  From 97a5c54e24602dbb8076f466bb4010b78dab1eb1 Mon Sep 17 00:00:00 2001 From: Ibnu Maksum Date: Thu, 21 Sep 2023 14:54:00 +0700 Subject: [PATCH 10/15] loading gif --- system/controllers/dashboard.php | 2 +- ui/ui/images/loading.gif | Bin 0 -> 8098 bytes ui/ui/user-dashboard.tpl | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 ui/ui/images/loading.gif diff --git a/system/controllers/dashboard.php b/system/controllers/dashboard.php index f609c719..484eca7d 100644 --- a/system/controllers/dashboard.php +++ b/system/controllers/dashboard.php @@ -50,7 +50,7 @@ if (empty($c_all)) { $ui->assign('c_all', $c_all); //user expire -$expire = ORM::for_table('tbl_user_recharges')->where('expiration', $mdate)->order_by_desc('id')->find_many(); +$expire = ORM::for_table('tbl_user_recharges')->whereLte('expiration', $mdate)->order_by_desc('id')->limit(30)->find_many(); $ui->assign('expire', $expire); //activity log diff --git a/ui/ui/images/loading.gif b/ui/ui/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..c35d658329023256f42d5dfd49bc8dacbe1465ed GIT binary patch literal 8098 zcmb7Jd0Z1`x1LP)jVy#DLV!Tn!V&_4ETjE|WJVyMs0irwRuFKh2nYy>6vGZ7Kp^Y{ zh=R(dAfUB^Eg~xJ))kjlY;9{TRl9HY>zxGbcmIg@_q+LrWSE(Ao^#H7&htL+icrKq zAYKj7fji59*MGd$b?AQj<)_#Gel17jGztwzz>N-%KK<$`&5XA3-Ho?z-ky6tH~!Ih zcvyIGX)%Y(dGz3sgT2F}&mP^rdwcH1oV&!m`%w2!Km0Usbb!O=jGh?vS>ki$+Lh## z3ncOW#@Q;N;MK zpj#d+7uW~{mV)BK;=KI4%&g3)=%}TEOOxMA9zQj%R;h6y?r-A zaM{ydXuKtJ$1?jM!#{)uo3hmOB%!ZliARFhVt=7ufW*r;z~9@)UFa?KTH+}U@bvQW zka`750|KR9!iA4LYAro+OW+zgvS17Swak87W@cKTr)PF{wj_J8BsG1jr&mBgfTz^k z)7#qvy~878PfBKdjz>y{=*=7CNf`<0+tV_)r=|!EZ;aoZx;t~3J?iN^gq>;syf!66 zVuT|}NZsj~6QAbkC6O8+y}2-RTKQ z=ZOwHJqnkJOV3{mqFy2NZxNleYo5F4L~hzJZ# z$;gaPNk|HnFSAGABH6w@G0@LvvDach#NR8}PwM3b`vt(kUO~aIcd)IO`9k~7NzASm``xc%}e7i4x zZ++Gib;i?>-2avAH0@$pBe$Hz{6c=Cf2$45toj|~kTJu=YW*V}XW(82Dm1N-%z9qqcd)|Td`#)f)r zU9G03x=LNCswgijEh#Q4EKu&te?M<;?w*|NtlgOz>ATWWQ+6ircyIf*ty_{36E?@k zZF={=H~!a#^|3M0>!Q}KSsl4*Wkk3lEHq>V0?TE=LCgR3&a$OYV1U2h5?`Oi-d<8q ziHEzJtJuZa$gJ794Xni^(vf)2I|OiAccXuprtX?0(0Q3BWSI z-OxY`Z4e;%E$>JRaks3Q?oPj$9N2lICo}BGhQXPEtjpi!empyr6E11H{%kb&YRcH- zS10pU4nBPO+jzbw12pxnZKmI4uV+mQhi8Xk)j`{{$o!-$DPv6q?HgB4j=#)V5-(Xb z@T0OI$}bNhPzx(m;VvbDO_jBE!5l#b*%{Ebsj&7gI9qzF?%<)rJ-vPX14kl)Oc~!| z+IaFVX#hSDIFb|oky%vZdL^PQfTkZ)d5@fw~o%dwtD@FlJ^ve&<5OkIGG2e@n;*qE-GlOC=ieLr6+RJFP@K_BhS1bhQ5- z_WN-gMd-t9+}^^XRaE>wNKjmtGo%*Zv;gOp5cmHNR z((c&{y}z#{(yb6;(n=9-MP*f87`p;eYl9mqnp--8Z7ZaSE&B_*I(zMEa+y{@r}cnp zu(uOyZi92Q8|nl;96Nnt>fHGY(-$vY?lkFIooUzR%x{nqnHxS4$AR0fZ*wCYyzdyt zncLhjb8buFX#RED+`soZ@S{mMG(FY=I*U7 zZGyOUEN+|V;7|-lpd>qQSqJ7TJ^GG)yxOp&DfE-kXpKu5A5Gl&WIl%7Cf#f>?dCvq zYyfUap_AU+KLU7&cBnQD1*$4LCKz%UD}+n7{P}kzXbTk=GZc0u#ct-x>Y5N5Qw4Dq zzV-M;8l8?tsAnr2>mgoykCHE~w^i`=TlbFaz!J5^Tss9Hr((p9PHq6~9C0@0*l?OV zZporEXBSfaAj+htnzwk$B}?(%_6`Z=GjS)LjsD@%d@ifx&SZJywk%8h=BqCg{GfsY z++Ml3u)sgRQoV{&4v}49Z;f|Va|`02A<$vG2H)Dg%PvN77M8_NKhilm|@1)~c=&@F&>$zMDsooa0X6t#ESAdjOo0PlpSgRu% zp>-3Z703S+F|Mp{p2yEezfuM|qg}Z0DOnIQq(4(cGPk6eoImGGLYql4U>ZhygGDS* z4Xzc6z_G*TYc?PLUi#U}2~46?31VSzF&o0WQFBxZv}kH-7?ldDM3Y$|w`ziT6;TBO)E-13Tyl^pje?htBq_oZhX$6X8IekabaoC0>Dq z)^~zIaT8^eoOE7;+4^bfJfwo>e4d#Z#$tsbb;K{8gOmkmL;}Xta2q#`ESZ%-5=b`$ zi8Mh%w@<5SFqqKEH zuEskS*F=6_Mq@T{+xnvMP54;BQL3DDM8od?aE)1$S!}sRU@zxOn`}>ATuEoE*z{O) zHx)XTM!qzzkBNOtrExh@~gNjA#TTt^sX?L$R!XY7;KuVGK_?SG#V>~ zg+r|d19K!zmQ=NV|5B&CCW?Y%*#zNW48EUnU?h!B=r`;6ph*CW`XQguv+G&Hev!gn z(C-4%nN4`&)SYzzrpbe(z&am<+*mLuK9qC!o7DgjoxqR60s0FU`wG~YFy(UqyO64p zLX&)I+B7itXbn~18e&{!)k;KIbmP?Hl+qO=3XK!8d?Lw3>Ah9X7klrPa?&bPs~J#r zwJiu!nKkGdgE5VeLtLePKjNli(qIOmk${15I&%4ek^O8P;jr9A2Z>;T4o@AOQrYVK z>f}UxBa;q~H45y{-A%C*)-bIKWFVzcd`ZTds3!A1yEhj#KPG?`^K%|~>4USiyuD+^ z{PJ?$=;BH;RfaRB!6iobTincHTC-j!r!w^tR{MG{P%1k8yTI$^}@T!`Zc#Dgzf zgnh1wF0W(N=-p=!-U!+zPK}(m#vG=sjpJ^DM+ZkR^qL0Pe;ZY?9Obm1GC=%!V}<4p3_=Cf25{ z)dsO6=-uk&3_WBEHV#H`lzLpOcfU8{+mGUR>u1u2rb4L)^@3RZIO5ok!Y|ho&Yqi* zlLY;~v1a{d2(KRvfNj6u(fi+FopV~T?@TdEyvL2+{;i9i@SXh?_O`%mE21iJ|89Og?tpeCF4SrVhyXr z`S5aL8ZHw&JiS~o=;z!$wepL2K7O&6VX7hk-N+j<8lbGD;{fe;Cu z=!Avs1qUHJ*sid0mu<{ zywAHbyO!@UV2ik)DwSJn4?dRj2H4h5eqMzoe%Qf13X`68f*UREXM@BbUquo|KF9F) zGMfO>>Oy51x#smUp?-EkR+T4K*p~Dyf=VKCXtca~yO_^v#=!$F5sobtJgriGJ z3ZqH8Agku#SWHjXL6mw7qQMv>JB7Ixbx}s9qeO!!>7boxM}sj)poh^v(V1QRERsIf zjxrC6qg}Sh8=t&s!@@9x;=Z@ZVeq@@NX%~^rj2Y%(;$lzO@l6j zyd?dRO>QpJ5=|y#D z9U2b4U!QHvqRMur>*HU7S#IrQUYQIKhlsby5+_PCgn=7bdS!i?;@5F{^YWsJG6J(A z>g4Q15D#o? z!JoYM!8rdz$E;z_`PiU~S!5{(!On*Sn-LBy;+9uspxv?w-H#%e<|YS=Oi70&RU5|X zYC4?4vFw0wh}jUiNRA;41rDH$wE6UU>ZuL^A{a7+VhHk?M6R8=8BMy_;ev>V43S`V z;E8wTpWpdtGldn!yhxGZ)wJ5epY@ z2!)R_xyXh61dLL-dEh8fRUha=0y|n^PE9k4xr1EMJ#xUO1LZnYf&p)bk?;`l%_!F) zO*EruPurinvjLx?X?0NHL37PfwBV5(c5|GmKEf_9ru z=q1y*lB51Z&;nCObJ`a=hj{7s!#@0TWjQUbr74QV6j^) zsnuQGOARE)K;}^Dqre<(VI2HmSLa~A+@}W;DMTOpoIJnYwnrL=Qn?nUt0JJe4o|#r zf1RDMj%ihha=8|pCn2DC6rwadco{j*<-V59bGZn<SG_9 zhBpvp(5#G9ZX4#%a-@6bn3k&8%xfd7QI(=e7%{Zazf#LnQASf$g_5}HD%Bm|af=~&Xfbg&zYH;w?|U#{lrx?_Hf)m`zcTJ9Py!w+G1-wu--3yAgRHa1 zb{mM>=))I&>J*6Re(`AB>h{WcXpbU*T^YNxm1T$>R9R_YXE=4GRe6|7Tiw_e?5oXK z1Uv23QgkaiwD|pp%N;vWQbH$mnjL`$JBLpyd7UU9VR1X%Ps={mo|#So>(q>WDD%^L z(5^1MuD$tSr%^q)1sgGu9xr|J#g{LB{ORXke*NwDUrg@NYfJ-~;~2JkAt?211xBBZ zZm2LS2$Q6^&@6oA^YIsdj)t* z^Uy7-qk`V4GSl@`83Y0ai>r6<9o+#kRJgn_0HgAt9iQB0l;F;Ug9dU>I{QX}+wuQ# z)ZHSEk|^H*IHpyg!OUDIt^AJCkLNPe7Ez9#U4QkZn^Bb^#ZZ}rkc5+8RUJ&JKy{fI z2B8Aot?2R`>In20pE^j?-m@XFPN&eFrENjCz!XGH^z?0EjqZU(oitMkX5hCNHFJthwXx16|VN^*`Dz&s~ zl~LxZUV*{al{B=4&X%1Miyig+s%YU7!Kbkwm*4rKU-6hcb!M1WM>7wUtF?A zRFLIUiZ(}AW&xg9-Ovb%3n*Y?d)2)0jyFnwqDkX#m7R@(ph0$C8B)@I{;UfsJMW(z z>Az=-%FdUSGv9IzvNLVpZg#P%65&hBY}Iv@SYp1?PTN|vAoR7pQTk0EGHf-SqJg^s z%{tI}!l<{qD&n2v=?1;s|H<5oUvK1HzhHAW2l7R6ui_PCJEFJ|Yjy>%y1oiz6yU%H zUCF$n-2Uc-W2s5lZ#iWc$lA+E0-b>DaEXl9I3-zP-u(ELU*S;yJwFuojx`UnDF)bd z!am5sptiHP6 zl@owk4&{HCzsYgtTXHITw4(6ahpNIQ>MEH_xgepszKA2pLM5bz_T2fC9bL!5DT6Es Gfc^(OMnLrd literal 0 HcmV?d00001 diff --git a/ui/ui/user-dashboard.tpl b/ui/ui/user-dashboard.tpl index b054baa0..5f8381ac 100644 --- a/ui/ui/user-dashboard.tpl +++ b/ui/ui/user-dashboard.tpl @@ -134,7 +134,7 @@ {Lang::T('Login Status')} - Loading.... + {/if} From c51f04747d95e5aa80c1b99278c05353431daa42 Mon Sep 17 00:00:00 2001 From: Ibnu Maksum Date: Thu, 21 Sep 2023 16:04:18 +0700 Subject: [PATCH 11/15] User extend plan --- system/controllers/home.php | 14 +++++++++++++- ui/ui/sections/footer.tpl | 2 +- ui/ui/user-dashboard.tpl | 2 ++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/system/controllers/home.php b/system/controllers/home.php index bd1f3a77..be779bc4 100644 --- a/system/controllers/home.php +++ b/system/controllers/home.php @@ -90,7 +90,19 @@ if (_post('send') == 'balance') { $bill = User::_billing(); $ui->assign('_bill', $bill); -if(isset($_GET['deactivate']) && $_GET['deactivate'] == 1){ +if(isset($_GET['recharge']) && $_GET['recharge'] == 1){ + $router = ORM::for_table('tbl_routers')->where('name', $bill['routers'])->find_one(); + if ($config['enable_balance'] == 'yes') { + $plan = ORM::for_table('tbl_plans')->find_one($bill['plan_id']); + if($user['balance']>$plan['price']){ + r2(U . "order/pay/$router[id]/$bill[plan_id]", 'e', 'Order Plan'); + }else{ + r2(U . "order/buy/$router[id]/$bill[plan_id]", 'e', 'Order Plan'); + } + }else{ + r2(U . "order/buy/$router[id]/$bill[plan_id]", 'e', 'Order Plan'); + } +}else if(isset($_GET['deactivate']) && $_GET['deactivate'] == 1){ if ($bill) { $mikrotik = Mikrotik::info($bill['routers']); $client = Mikrotik::getClient($mikrotik['ip_address'], $mikrotik['username'], $mikrotik['password']); diff --git a/ui/ui/sections/footer.tpl b/ui/ui/sections/footer.tpl index cefb25f0..185e11cd 100644 --- a/ui/ui/sections/footer.tpl +++ b/ui/ui/sections/footer.tpl @@ -1,7 +1,7 @@
    - +
    PHPNuxBill by
    iBNuX, Theme by AdminLTE diff --git a/ui/ui/user-dashboard.tpl b/ui/ui/user-dashboard.tpl index 5f8381ac..7734ad0d 100644 --- a/ui/ui/user-dashboard.tpl +++ b/ui/ui/user-dashboard.tpl @@ -116,6 +116,8 @@ {$_L['Expires_On']} {if $_bill['time'] ne ''}{Lang::dateAndTimeFormat($_bill['expiration'],$_bill['time'])}{/if}  + {Lang::T('Recharge')} {if $nux_ip} From 106aaf827f3f1ef8d6330a4fa6c37c929d479ced Mon Sep 17 00:00:00 2001 From: Ibnu Maksum Date: Thu, 21 Sep 2023 16:36:43 +0700 Subject: [PATCH 12/15] Modal Privacy and Toc --- CHANGELOG.md | 7 ++++ ui/ui/register-otp.tpl | 22 +++++++++-- ui/ui/register-rotp.tpl | 22 +++++++++-- ui/ui/register.tpl | 22 +++++++++-- ui/ui/scripts/custom.js | 28 +++++++++++++- ui/ui/scripts/vendors.js | 30 ++++++++++++++- ui/ui/sections/footer.tpl | 67 +++++++++++++++++----------------- ui/ui/sections/user-footer.tpl | 35 ++++++++++++++---- ui/ui/user-login.tpl | 24 ++++++++++-- version.json | 2 +- 10 files changed, 201 insertions(+), 58 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb4577c6..36258909 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ # CHANGELOG +## 2023.9.21 + +- Customer can extend Plan +- Customer can Deactivate active plan +- add variable nux-router to select only plan from that router +- Show user expired until 30 items + ## 2023.9.20 - Fix Customer balance header diff --git a/ui/ui/register-otp.tpl b/ui/ui/register-otp.tpl index 6342bb51..4a0d167f 100644 --- a/ui/ui/register-otp.tpl +++ b/ui/ui/register-otp.tpl @@ -105,9 +105,9 @@

    - Privacy + Privacy • - T & C + T & C
    @@ -116,6 +116,22 @@ + + + {if $_c['tawkto'] != ''} {/if} - + \ No newline at end of file diff --git a/ui/ui/register-rotp.tpl b/ui/ui/register-rotp.tpl index 0949761c..dbb5646a 100644 --- a/ui/ui/register-rotp.tpl +++ b/ui/ui/register-rotp.tpl @@ -80,9 +80,9 @@
    - Privacy + Privacy • - T & C + T & C
    @@ -90,6 +90,22 @@ + + + {if $_c['tawkto'] != ''} {/if} - + \ No newline at end of file diff --git a/ui/ui/register.tpl b/ui/ui/register.tpl index 7e171af9..09b02474 100644 --- a/ui/ui/register.tpl +++ b/ui/ui/register.tpl @@ -96,9 +96,9 @@
    - Privacy + Privacy • - T & C + T & C
    @@ -107,6 +107,22 @@ + + + {if $_c['tawkto'] != ''} {/if} - + \ No newline at end of file diff --git a/ui/ui/scripts/custom.js b/ui/ui/scripts/custom.js index b7f9b122..aa936ba2 100644 --- a/ui/ui/scripts/custom.js +++ b/ui/ui/scripts/custom.js @@ -104,4 +104,30 @@ $(function() { }); } }); -}); \ No newline at end of file +}); + + +function showPrivacy() { + $('#HTMLModal_title').html('Privacy Policy'); + $('#HTMLModal_konten').html('
    '); + $('#HTMLModal').modal({ + 'show': true, + 'backdrop': false, + }); + $.get('pages/Privacy_Policy.html?' + (new Date()), function(data) { + $('#HTMLModal_konten').html(data); + }); +} + +function showTaC() { + $('#HTMLModal_title').html('Terms and Conditions'); + $('#HTMLModal_konten').html('
    '); + $('#HTMLModal').modal({ + 'show': true, + 'backdrop': false, + }); + $.get('pages/Terms_and_Conditions.html?' + (new Date()), function(data) { + $('#HTMLModal_konten').html(data); + $('#HTMLModal').modal('handleUpdate') + }); +} \ No newline at end of file diff --git a/ui/ui/scripts/vendors.js b/ui/ui/scripts/vendors.js index d0e0e895..c877a9c3 100644 --- a/ui/ui/scripts/vendors.js +++ b/ui/ui/scripts/vendors.js @@ -1,5 +1,5 @@ !function(a,b){ - "object"==typeof module&&"object"==typeof + "object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0): function(a){ if(!a.document)throw new Error("jQuery requires a window with a document"); @@ -95,4 +95,30 @@ for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.2",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.2",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.2",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a(this.options.trigger).filter('[href="#'+b.id+'"], [data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.2",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0,trigger:'[data-toggle="collapse"]'},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":a.extend({},e.data(),{trigger:this});c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.2",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(' - - + + + + + + + + - - - - - + {if isset($xfooter)} + {$xfooter} + {/if} + {literal} + + {/literal} -var listAtts = document.querySelectorAll(`[api-get-text]`); -listAtts.forEach(function(el) { - $.get(el.getAttribute('api-get-text'), function(data) { - el.innerHTML = data; - }); -}); - -{/literal} - - + \ No newline at end of file diff --git a/ui/ui/sections/user-footer.tpl b/ui/ui/sections/user-footer.tpl index 45c89d1e..f4804336 100644 --- a/ui/ui/sections/user-footer.tpl +++ b/ui/ui/sections/user-footer.tpl @@ -4,9 +4,9 @@ {else} @@ -14,21 +14,40 @@ PHPNuxBill by iBNuX, Theme by AdminLTE -
    - Privacy - • - ToC -
    +
    + Privacy + • + T & C +
    {/if} + + + + + + - + {if isset($xfooter)} {$xfooter} diff --git a/ui/ui/user-login.tpl b/ui/ui/user-login.tpl index 02b8f2a9..0d09fb6d 100644 --- a/ui/ui/user-login.tpl +++ b/ui/ui/user-login.tpl @@ -79,9 +79,9 @@
    - Privacy + Privacy • - T & C + T & C
    @@ -89,7 +89,25 @@ - + + + + + + \ No newline at end of file diff --git a/version.json b/version.json index 64c1fe39..ff0448d2 100644 --- a/version.json +++ b/version.json @@ -1,3 +1,3 @@ { - "version": "2023.9.20" + "version": "2023.9.21" } \ No newline at end of file From 8d83763b62533630b7d5e79214e0ed2af2c76482 Mon Sep 17 00:00:00 2001 From: Ibnu Maksum Date: Tue, 26 Sep 2023 13:50:02 +0700 Subject: [PATCH 13/15] fix php 8 --- system/autoload/Lang.php | 6 +++++- system/controllers/prepaid.php | 8 ++++---- system/controllers/routers.php | 4 ++-- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/system/autoload/Lang.php b/system/autoload/Lang.php index de8dca4c..ad91e02f 100644 --- a/system/autoload/Lang.php +++ b/system/autoload/Lang.php @@ -56,7 +56,11 @@ class Lang } public static function arrayCount($arr){ - return count($arr); + if(is_array($arr)){ + return count($arr); + }else{ + return 0; + } } public static function getNotifText($key){ diff --git a/system/controllers/prepaid.php b/system/controllers/prepaid.php index 6dd0709f..abae183d 100644 --- a/system/controllers/prepaid.php +++ b/system/controllers/prepaid.php @@ -260,10 +260,10 @@ switch ($action) { break; case 'print-voucher': - $from_id = _post('from_id') * 1; - $planid = _post('planid') * 1; - $pagebreak = _post('pagebreak') * 1; - $limit = _post('limit') * 1; + $from_id = _post('from_id'); + $planid = _post('planid'); + $pagebreak = _post('pagebreak'); + $limit = _post('limit'); if ($pagebreak < 1) $pagebreak = 6; diff --git a/system/controllers/routers.php b/system/controllers/routers.php index a798aec4..8f4ed11f 100644 --- a/system/controllers/routers.php +++ b/system/controllers/routers.php @@ -70,7 +70,7 @@ switch ($action) { $username = _post('username'); $password = _post('password'); $description = _post('description'); - $enabled = _post('enabled')*1; + $enabled = _post('enabled'); $msg = ''; if(Validator::Length($name,30,4) == false){ @@ -113,7 +113,7 @@ switch ($action) { $username = _post('username'); $password = _post('password'); $description = _post('description'); - $enabled = $_POST['enabled']*1; + $enabled = $_POST['enabled']; $msg = ''; if(Validator::Length($name,30,4) == false){ $msg .= 'Name should be between 5 to 30 characters'. '
    '; From 9842bca5cb2ead1992f622ec0364f810fbe368f7 Mon Sep 17 00:00:00 2001 From: Ibnu Maksum Date: Tue, 26 Sep 2023 13:55:04 +0700 Subject: [PATCH 14/15] fix lang --- system/lan/english/common.lan.php | 4 +- system/lan/indonesia/common.lan.php | 68 +++++++++++++++++++++++++---- system/lan/spanish/common.lan.php | 63 +++++++++++++++++++++++++- system/lan/turkish/common.lan.php | 67 ++++++++++++++++++++++++++-- 4 files changed, 187 insertions(+), 15 deletions(-) diff --git a/system/lan/english/common.lan.php b/system/lan/english/common.lan.php index 64c5509c..e36701e1 100644 --- a/system/lan/english/common.lan.php +++ b/system/lan/english/common.lan.php @@ -401,5 +401,5 @@ $_L['Review_package_before_recharge'] = 'Review package before recharge'; $_L['Activate'] = 'Activate'; $_L['Deactivate'] = 'Deactivate'; $_L['Sync'] = 'Sync'; -$_L['Failed_to_create_PaymeTrust_transaction'] = 'Failed to create PaymeTrust transaction.'; -$_L['Location'] = 'Location'; +$_L['Failed_to_create_PaymeTrust_transaction'] = 'Failed to create PaymeTrust transaction.'; +$_L['Location'] = 'Location'; diff --git a/system/lan/indonesia/common.lan.php b/system/lan/indonesia/common.lan.php index f789d5b7..96bb1a29 100644 --- a/system/lan/indonesia/common.lan.php +++ b/system/lan/indonesia/common.lan.php @@ -338,11 +338,63 @@ $_L['Country_Code_Phone'] = 'Kode Negara Telepon'; $_L['Voucher_activation_menu_will_be_hidden'] = 'Info Pembelian Voucher dan Redeem akan disembunyikan'; $_L['Customer_can_deposit_money_to_buy_voucher'] = 'Pelanggan dapat topup saldo untuk langganan Internet'; $_L['Allow_balance_transfer_between_customers'] = 'Bolehkan transfer saldo antar pelanggan'; -$_L['Refill_Balance'] = 'Refill Balance'; -$_L['Balance_Plans'] = 'Balance Plans'; -$_L['Expired_IP_Pool'] = 'Expired IP Pool'; -$_L['Company_Logo'] = 'Company Logo'; -$_L['Disable_Voucher'] = 'Disable Voucher'; -$_L['Minimum_Balance_Transfer'] = 'Minimum Balance Transfer'; -$_L['Reminder_Notification'] = 'Reminder Notification'; -$_L['Invoice_Footer'] = 'Invoice Footer'; +$_L['Refill_Balance'] = 'Refill Balance'; +$_L['Balance_Plans'] = 'Balance Plans'; +$_L['Expired_IP_Pool'] = 'Expired IP Pool'; +$_L['Company_Logo'] = 'Company Logo'; +$_L['Disable_Voucher'] = 'Disable Voucher'; +$_L['Minimum_Balance_Transfer'] = 'Minimum Balance Transfer'; +$_L['Reminder_Notification'] = 'Reminder Notification'; +$_L['Invoice_Footer'] = 'Invoice Footer'; + +$_L['Reminder_7_days'] = 'Reminder 7 days'; +$_L['Reminder_3_days'] = 'Reminder 3 days'; +$_L['Reminder_1_day'] = 'Reminder 1 day'; +$_L['PPPOE_Password'] = 'PPPOE Password'; +$_L['User_Cannot_change_this_only_admin_if_it_Empty_it_will_use_user_password'] = 'User Cannot change this, only admin. if it Empty it will use user password'; +$_L['Invoice_Balance_Message'] = 'Invoice Balance Message'; +$_L['Invoice_Notification_Payment'] = 'Invoice Notification Payment'; +$_L['Balance_Notification_Payment'] = 'Balance Notification Payment'; +$_L['Buy_Balance'] = 'Buy Balance?'; +$_L['Price'] = 'Price'; +$_L['Validity'] = 'Validity'; +$_L['Disable_auto_renewal'] = 'Disable auto renewal?'; +$_L['Auto_Renewal_On'] = 'Auto Renewal On'; +$_L['Enable_auto_renewal'] = 'Enable auto renewal?'; +$_L['Auto_Renewal_Off'] = 'Auto Renewal Off'; +$_L['Pay_With_Balance'] = 'Pay With Balance'; +$_L['Pay_this_with_Balance_your_active_package_will_be_overwrite'] = 'Pay this with Balance? your active package will be overwrite'; +$_L['Success_to_buy_package'] = 'Success to buy package'; +$_L['Auto_Renewal'] = 'Auto Renewal'; +$_L['View'] = 'View'; +$_L['Back'] = 'Back'; +$_L['Active'] = 'Active'; +$_L['Transfer_Balance'] = 'Transfer Balance'; +$_L['Send_your_balance'] = 'Send your balance?'; +$_L['Send'] = 'Send'; +$_L['Cannot_send_to_yourself'] = 'Cannot send to yourself'; +$_L['Sending_balance_success'] = 'Sending balance success'; +$_L['From'] = 'From'; +$_L['To'] = 'To'; +$_L['insufficient_balance'] = 'insufficient balance'; +$_L['Send_Balance'] = 'Send Balance'; +$_L['Received_Balance'] = 'Received Balance'; +$_L['Minimum_Transfer'] = 'Minimum Transfer'; +$_L['Proxy'] = 'Proxy'; +$_L['Proxy_Server'] = 'Proxy Server'; +$_L['Proxy_Server_Login'] = 'Proxy Server Login'; +$_L['Hotspot_Plan'] = 'Hotspot Plan'; +$_L['PPPOE_Plan'] = 'PPPOE Plan'; +$_L['UNKNOWN'] = 'UNKNOWN'; +$_L['Are_You_Sure'] = 'Are You Sure?'; +$_L['Success_to_send_package'] = 'Success to send package'; +$_L['Target_has_active_plan_different_with_current_plant'] = 'Target has active plan, different with current plant.'; +$_L['Recharge_a_friend'] = 'Recharge a friend'; +$_L['Buy_for_friend'] = 'Buy for friend'; +$_L['Buy_this_for_friend_account'] = 'Buy this for friend account?'; +$_L['Review_package_before_recharge'] = 'Review package before recharge'; +$_L['Activate'] = 'Activate'; +$_L['Deactivate'] = 'Deactivate'; +$_L['Sync'] = 'Sync'; +$_L['Failed_to_create_PaymeTrust_transaction'] = 'Failed to create PaymeTrust transaction.'; +$_L['Location'] = 'Location'; diff --git a/system/lan/spanish/common.lan.php b/system/lan/spanish/common.lan.php index c4ca672a..d9992672 100644 --- a/system/lan/spanish/common.lan.php +++ b/system/lan/spanish/common.lan.php @@ -149,7 +149,6 @@ $_L['Period_Reports'] = 'Informes del período'; $_L['All_Transactions'] = 'Todas las transacciones'; $_L['Total_Income'] = 'Ingresos totales'; $_L['All_Transactions_at_Date'] = 'Todas las transacciones en la fecha'; -$_L['Total_Income'] = 'Ingresos totales'; $_L['Export_for_Print'] = 'Exportar para imprimir'; $_L['Print'] = 'Impresión'; $_L['Export_to_PDF'] = 'Exportar a PDF'; @@ -310,7 +309,6 @@ $_L['Please_enter_your_email_address'] = 'Please enter your email address'; $_L['Failed_to_create_Paypal_transaction'] = 'Failed to create Paypal transaction.'; $_L['Plugin'] = 'Plugin'; $_L['Plugin_Manager'] = 'Plugin Manager'; -$_L['Plugin_Manager'] = 'Plugin Manager'; $_L['User_Notification'] = 'User Notification'; $_L['Expired_Notification'] = 'Expired Notification'; $_L['User_will_get_notification_when_package_expired'] = 'User will get notification when package expired'; @@ -342,3 +340,64 @@ $_L['Voucher_activation_menu_will_be_hidden'] = 'Voucher activation menu will be $_L['Customer_can_deposit_money_to_buy_voucher'] = 'Customer can deposit money to buy voucher'; $_L['Allow_balance_transfer_between_customers'] = 'Allow balance transfer between customers';$_L['Refill_Balance'] = 'Refill Balance'; $_L['Balance_Plans'] = 'Balance Plans'; + +$_L['Failed_to_create_transaction_'] = 'Failed to create transaction. '; +$_L['Failed_to_check_status_transaction_'] = 'Failed to check status transaction. '; +$_L['Disable_Voucher'] = 'Disable Voucher'; +$_L['Reminder_Notification'] = 'Reminder Notification'; +$_L['Reminder_Notification_Message'] = 'Reminder Notification Message'; +$_L['Reminder_7_days'] = 'Reminder 7 days'; +$_L['Reminder_3_days'] = 'Reminder 3 days'; +$_L['Reminder_1_day'] = 'Reminder 1 day'; +$_L['PPPOE_Password'] = 'PPPOE Password'; +$_L['User_Cannot_change_this_only_admin_if_it_Empty_it_will_use_user_password'] = 'User Cannot change this, only admin. if it Empty it will use user password'; +$_L['Invoice_Balance_Message'] = 'Invoice Balance Message'; +$_L['Invoice_Notification_Payment'] = 'Invoice Notification Payment'; +$_L['Balance_Notification_Payment'] = 'Balance Notification Payment'; +$_L['Buy_Balance'] = 'Buy Balance?'; +$_L['Price'] = 'Price'; +$_L['Validity'] = 'Validity'; +$_L['Disable_auto_renewal'] = 'Disable auto renewal?'; +$_L['Auto_Renewal_On'] = 'Auto Renewal On'; +$_L['Enable_auto_renewal'] = 'Enable auto renewal?'; +$_L['Auto_Renewal_Off'] = 'Auto Renewal Off'; +$_L['Invoice_Footer'] = 'Invoice Footer'; +$_L['Pay_With_Balance'] = 'Pay With Balance'; +$_L['Pay_this_with_Balance_your_active_package_will_be_overwrite'] = 'Pay this with Balance? your active package will be overwrite'; +$_L['Success_to_buy_package'] = 'Success to buy package'; +$_L['Auto_Renewal'] = 'Auto Renewal'; +$_L['View'] = 'View'; +$_L['Back'] = 'Back'; +$_L['Active'] = 'Active'; +$_L['Transfer_Balance'] = 'Transfer Balance'; +$_L['Send_your_balance'] = 'Send your balance?'; +$_L['Send'] = 'Send'; +$_L['Cannot_send_to_yourself'] = 'Cannot send to yourself'; +$_L['Sending_balance_success'] = 'Sending balance success'; +$_L['From'] = 'From'; +$_L['To'] = 'To'; +$_L['insufficient_balance'] = 'insufficient balance'; +$_L['Send_Balance'] = 'Send Balance'; +$_L['Received_Balance'] = 'Received Balance'; +$_L['Minimum_Balance_Transfer'] = 'Minimum Balance Transfer'; +$_L['Minimum_Transfer'] = 'Minimum Transfer'; +$_L['Company_Logo'] = 'Company Logo'; +$_L['Expired_IP_Pool'] = 'Expired IP Pool'; +$_L['Proxy'] = 'Proxy'; +$_L['Proxy_Server'] = 'Proxy Server'; +$_L['Proxy_Server_Login'] = 'Proxy Server Login'; +$_L['Hotspot_Plan'] = 'Hotspot Plan'; +$_L['PPPOE_Plan'] = 'PPPOE Plan'; +$_L['UNKNOWN'] = 'UNKNOWN'; +$_L['Are_You_Sure'] = 'Are You Sure?'; +$_L['Success_to_send_package'] = 'Success to send package'; +$_L['Target_has_active_plan_different_with_current_plant'] = 'Target has active plan, different with current plant.'; +$_L['Recharge_a_friend'] = 'Recharge a friend'; +$_L['Buy_for_friend'] = 'Buy for friend'; +$_L['Buy_this_for_friend_account'] = 'Buy this for friend account?'; +$_L['Review_package_before_recharge'] = 'Review package before recharge'; +$_L['Activate'] = 'Activate'; +$_L['Deactivate'] = 'Deactivate'; +$_L['Sync'] = 'Sync'; +$_L['Failed_to_create_PaymeTrust_transaction'] = 'Failed to create PaymeTrust transaction.'; +$_L['Location'] = 'Location'; diff --git a/system/lan/turkish/common.lan.php b/system/lan/turkish/common.lan.php index c21d9b8b..6ac8f461 100755 --- a/system/lan/turkish/common.lan.php +++ b/system/lan/turkish/common.lan.php @@ -131,7 +131,6 @@ $_L['Period_Reports'] = 'Dönem Raporları'; $_L['All_Transactions'] = 'Tüm İşlemler'; $_L['Total_Income'] = 'Toplam gelir'; $_L['All_Transactions_at_Date'] = 'Tarihte Tüm İşlemler'; -$_L['Total_Income'] = 'Toplam gelir'; $_L['Export_for_Print'] = 'Baskı için İhracat'; $_L['Print'] = 'Baskı'; $_L['Export_to_PDF'] = 'PDF\'ye Aktar'; @@ -286,7 +285,6 @@ $_L['Please_enter_your_email_address'] = 'Please enter your email address'; $_L['Failed_to_create_Paypal_transaction'] = 'Failed to create Paypal transaction.'; $_L['Plugin'] = 'Plugin'; $_L['Plugin_Manager'] = 'Plugin Manager'; -$_L['Plugin_Manager'] = 'Plugin Manager'; $_L['User_Notification'] = 'User Notification'; $_L['Expired_Notification'] = 'Expired Notification'; $_L['User_will_get_notification_when_package_expired'] = 'User will get notification when package expired'; @@ -316,4 +314,67 @@ $_L['Invoice'] = 'Invoice'; $_L['Country_Code_Phone'] = 'Country Code Phone'; $_L['Voucher_activation_menu_will_be_hidden'] = 'Voucher activation menu will be hidden'; $_L['Customer_can_deposit_money_to_buy_voucher'] = 'Customer can deposit money to buy voucher'; -$_L['Allow_balance_transfer_between_customers'] = 'Allow balance transfer between customers'; \ No newline at end of file +$_L['Allow_balance_transfer_between_customers'] = 'Allow balance transfer between customers'; + +$_L['Failed_to_create_transaction_'] = 'Failed to create transaction. '; +$_L['Failed_to_check_status_transaction_'] = 'Failed to check status transaction. '; +$_L['Disable_Voucher'] = 'Disable Voucher'; +$_L['Reminder_Notification'] = 'Reminder Notification'; +$_L['Reminder_Notification_Message'] = 'Reminder Notification Message'; +$_L['Reminder_7_days'] = 'Reminder 7 days'; +$_L['Reminder_3_days'] = 'Reminder 3 days'; +$_L['Reminder_1_day'] = 'Reminder 1 day'; +$_L['PPPOE_Password'] = 'PPPOE Password'; +$_L['User_Cannot_change_this_only_admin_if_it_Empty_it_will_use_user_password'] = 'User Cannot change this, only admin. if it Empty it will use user password'; +$_L['Invoice_Balance_Message'] = 'Invoice Balance Message'; +$_L['Invoice_Notification_Payment'] = 'Invoice Notification Payment'; +$_L['Balance_Notification_Payment'] = 'Balance Notification Payment'; +$_L['Balance_Plans'] = 'Balance Plans'; +$_L['Buy_Balance'] = 'Buy Balance?'; +$_L['Price'] = 'Price'; +$_L['Validity'] = 'Validity'; +$_L['Disable_auto_renewal'] = 'Disable auto renewal?'; +$_L['Auto_Renewal_On'] = 'Auto Renewal On'; +$_L['Enable_auto_renewal'] = 'Enable auto renewal?'; +$_L['Auto_Renewal_Off'] = 'Auto Renewal Off'; +$_L['Refill_Balance'] = 'Refill Balance'; +$_L['Invoice_Footer'] = 'Invoice Footer'; +$_L['Pay_With_Balance'] = 'Pay With Balance'; +$_L['Pay_this_with_Balance_your_active_package_will_be_overwrite'] = 'Pay this with Balance? your active package will be overwrite'; +$_L['Success_to_buy_package'] = 'Success to buy package'; +$_L['Auto_Renewal'] = 'Auto Renewal'; +$_L['View'] = 'View'; +$_L['Back'] = 'Back'; +$_L['Active'] = 'Active'; +$_L['Transfer_Balance'] = 'Transfer Balance'; +$_L['Send_your_balance'] = 'Send your balance?'; +$_L['Send'] = 'Send'; +$_L['Cannot_send_to_yourself'] = 'Cannot send to yourself'; +$_L['Sending_balance_success'] = 'Sending balance success'; +$_L['From'] = 'From'; +$_L['To'] = 'To'; +$_L['insufficient_balance'] = 'insufficient balance'; +$_L['Send_Balance'] = 'Send Balance'; +$_L['Received_Balance'] = 'Received Balance'; +$_L['Minimum_Balance_Transfer'] = 'Minimum Balance Transfer'; +$_L['Minimum_Transfer'] = 'Minimum Transfer'; +$_L['Company_Logo'] = 'Company Logo'; +$_L['Expired_IP_Pool'] = 'Expired IP Pool'; +$_L['Proxy'] = 'Proxy'; +$_L['Proxy_Server'] = 'Proxy Server'; +$_L['Proxy_Server_Login'] = 'Proxy Server Login'; +$_L['Hotspot_Plan'] = 'Hotspot Plan'; +$_L['PPPOE_Plan'] = 'PPPOE Plan'; +$_L['UNKNOWN'] = 'UNKNOWN'; +$_L['Are_You_Sure'] = 'Are You Sure?'; +$_L['Success_to_send_package'] = 'Success to send package'; +$_L['Target_has_active_plan_different_with_current_plant'] = 'Target has active plan, different with current plant.'; +$_L['Recharge_a_friend'] = 'Recharge a friend'; +$_L['Buy_for_friend'] = 'Buy for friend'; +$_L['Buy_this_for_friend_account'] = 'Buy this for friend account?'; +$_L['Review_package_before_recharge'] = 'Review package before recharge'; +$_L['Activate'] = 'Activate'; +$_L['Deactivate'] = 'Deactivate'; +$_L['Sync'] = 'Sync'; +$_L['Failed_to_create_PaymeTrust_transaction'] = 'Failed to create PaymeTrust transaction.'; +$_L['Location'] = 'Location'; From 0bb156364151eea5eedfc31a1daee36f87e33ca6 Mon Sep 17 00:00:00 2001 From: Ibnu Maksum Date: Wed, 27 Sep 2023 14:25:26 +0700 Subject: [PATCH 15/15] disable log qrcode --- qrcode/qrconfig.php | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/qrcode/qrconfig.php b/qrcode/qrconfig.php index 62e7f974..31469d09 100644 --- a/qrcode/qrconfig.php +++ b/qrcode/qrconfig.php @@ -4,14 +4,13 @@ * * Config file, feel free to modify */ - + define('QR_CACHEABLE', true); // use cache - more disk reads but less CPU power, masks and format templates are stored there define('QR_CACHE_DIR', dirname(__FILE__).DIRECTORY_SEPARATOR.'cache'.DIRECTORY_SEPARATOR); // used when QR_CACHEABLE === true - define('QR_LOG_DIR', dirname(__FILE__).DIRECTORY_SEPARATOR); // default error logs dir - + //define('QR_LOG_DIR', dirname(__FILE__).DIRECTORY_SEPARATOR); // default error logs dir + define('QR_FIND_BEST_MASK', true); // if true, estimates best mask (spec. default, but extremally slow; set to false to significant performance boost but (propably) worst quality code define('QR_FIND_FROM_RANDOM', false); // if false, checks all masks available, otherwise value tells count of masks need to be checked, mask id are got randomly define('QR_DEFAULT_MASK', 2); // when QR_FIND_BEST_MASK === false - + define('QR_PNG_MAXIMUM_SIZE', 1024); // maximum allowed png image width (in pixels), tune to make sure GD and PHP can handle such big images - \ No newline at end of file