diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7c5b4135..4aac06d8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,14 @@
 
 # CHANGELOG
 
+## 2023.7.28
+
+- Fix link buy Voucher
+- Add email field to registration form
+- Change registration design Form
+- Add Setting to disable Voucher
+- Fix Title for PPPOE plans
+- Fix Plugin Cache
 ## 2023.6.20
 
 - Hide time for Created date.
diff --git a/README.md b/README.md
index 31ffadfd..d19af204 100644
--- a/README.md
+++ b/README.md
@@ -31,7 +31,7 @@ Most current web servers with PHP & MySQL installed will be capable of running P
 Minimum Requirements
 
 - Linux or Windows OS
-- PHP Version 7.2+
+- PHP Version 7.4
 - Both PDO & MySQLi Support
 - GD2 Image Library
 - CURL support
diff --git a/system/controllers/order.php b/system/controllers/order.php
index c2c9a09a..016c2c4c 100644
--- a/system/controllers/order.php
+++ b/system/controllers/order.php
@@ -56,6 +56,7 @@ switch ($action) {
         } else {
             r2(U . "order/package/", 's', Lang::T("You have no unpaid transaction"));
         }
+        break;
     case 'view':
         $trxid = $routes['2'] * 1;
         $trx = ORM::for_table('tbl_payment_gateway')
diff --git a/system/controllers/pluginmanager.php b/system/controllers/pluginmanager.php
index d160c01f..c3f11a45 100644
--- a/system/controllers/pluginmanager.php
+++ b/system/controllers/pluginmanager.php
@@ -20,7 +20,7 @@ if ($admin['user_type'] != 'Admin') {
 }
 
 $cache = File::pathFixer('system/cache/plugin_repository.json');
-if (file_exists($cache) && time() - filemtime($cache) > (24 * 60 * 60)) {
+if (file_exists($cache) && time() - filemtime($cache) < (24 * 60 * 60)) {
     $json = json_decode(file_get_contents($cache), true);
 } else {
     $data = file_get_contents($plugin_repository);
diff --git a/system/controllers/register.php b/system/controllers/register.php
index f554be4d..5f41f97f 100644
--- a/system/controllers/register.php
+++ b/system/controllers/register.php
@@ -20,12 +20,15 @@ switch ($do) {
     case 'post':
         $otp_code = _post('otp_code');
         $username = alphanumeric(_post('username'),"+_.");
+        $email = _post('email');
         $fullname = _post('fullname');
         $password = _post('password');
         $cpassword = _post('cpassword');
         $address = _post('address');
         if(!empty($config['sms_url'])){
             $phonenumber = $username;
+        }else if(strlen($username)<21){
+            $phonenumber = $username;
         }
         $msg = '';
         if (Validator::Length($username, 35, 2) == false) {
@@ -37,6 +40,9 @@ switch ($do) {
         if (!Validator::Length($password, 35, 2)) {
             $msg .= 'Password should be between 3 to 35 characters' . '<br>';
         }
+        if (!Validator::Email($email)) {
+            $msg .= 'Email is not Valid<br>';
+        }
         if ($password != $cpassword) {
             $msg .= $_L['PasswordsNotMatch'] . '<br>';
         }
@@ -53,6 +59,7 @@ switch ($do) {
                     $ui->assign('username', $username);
                     $ui->assign('fullname', $fullname);
                     $ui->assign('address', $address);
+                    $ui->assign('email', $email);
                     $ui->assign('phonenumber', $phonenumber);
                     $ui->assign('notify', '<div class="alert alert-success">
                     <button type="button" class="close" data-dismiss="alert">
@@ -79,7 +86,7 @@ switch ($do) {
             $d->password = $password;
             $d->fullname = $fullname;
             $d->address = $address;
-            $d->email = '';
+            $d->email = $email;
             $d->phonenumber = $phonenumber;
             if ($d->save()) {
                 $user = $d->id();
@@ -88,6 +95,7 @@ switch ($do) {
                 $ui->assign('username', $username);
                 $ui->assign('fullname', $fullname);
                 $ui->assign('address', $address);
+                $ui->assign('email', $email);
                 $ui->assign('phonenumber', $phonenumber);
                 $ui->assign('notify', '<div class="alert alert-danger">
                 <button type="button" class="close" data-dismiss="alert">
@@ -101,6 +109,7 @@ switch ($do) {
             $ui->assign('username', $username);
             $ui->assign('fullname', $fullname);
             $ui->assign('address', $address);
+            $ui->assign('email', $email);
             $ui->assign('phonenumber', $phonenumber);
             $ui->assign('notify', '<div class="alert alert-danger">
             <button type="button" class="close" data-dismiss="alert">
@@ -152,6 +161,7 @@ switch ($do) {
             $ui->assign('username', "");
             $ui->assign('fullname', "");
             $ui->assign('address', "");
+            $ui->assign('email', "");
             $ui->assign('otp', false);
             run_hook('view_register'); #HOOK
             $ui->display('register.tpl');
diff --git a/system/controllers/services.php b/system/controllers/services.php
index 35137f82..7621a535 100644
--- a/system/controllers/services.php
+++ b/system/controllers/services.php
@@ -238,6 +238,7 @@ switch ($action) {
         break;
 
     case 'pppoe':
+        $ui->assign('_title', $_L['PPPOE_Plans']);
         $ui->assign('xfooter', '<script type="text/javascript" src="ui/lib/c/pppoe.js"></script>');
 
         $name = _post('name');
@@ -256,6 +257,7 @@ switch ($action) {
         break;
 
     case 'pppoe-add':
+        $ui->assign('_title', $_L['PPPOE_Plans']);
         $d = ORM::for_table('tbl_bandwidth')->find_many();
         $ui->assign('d', $d);
         $p = ORM::for_table('tbl_pool')->find_many();
@@ -267,6 +269,7 @@ switch ($action) {
         break;
 
     case 'pppoe-edit':
+        $ui->assign('_title', $_L['PPPOE_Plans']);
         $id  = $routes['2'];
         $d = ORM::for_table('tbl_plans')->find_one($id);
         if ($d) {
diff --git a/system/controllers/settings.php b/system/controllers/settings.php
index 8a5e818e..6a5625c6 100644
--- a/system/controllers/settings.php
+++ b/system/controllers/settings.php
@@ -206,6 +206,7 @@ switch ($action) {
     case 'app-post':
         $company = _post('company');
         $footer = _post('footer');
+        $disable_voucher = _post('disable_voucher');
         $telegram_bot = _post('telegram_bot');
         $telegram_target_id = _post('telegram_target_id');
         $sms_url = _post('sms_url');
@@ -245,6 +246,17 @@ switch ($action) {
                 $d->save();
             }
 
+            $d = ORM::for_table('tbl_appconfig')->where('setting', 'disable_voucher')->find_one();
+            if($d){
+                $d->value = $disable_voucher;
+                $d->save();
+            }else{
+                $d = ORM::for_table('tbl_appconfig')->create();
+                $d->setting = 'disable_voucher';
+                $d->value = $disable_voucher;
+                $d->save();
+            }
+
             $d = ORM::for_table('tbl_appconfig')->where('setting', 'telegram_bot')->find_one();
             if($d){
                 $d->value = $telegram_bot;
diff --git a/system/lan/english/common.lan.php b/system/lan/english/common.lan.php
index f6dda107..a72756a0 100644
--- a/system/lan/english/common.lan.php
+++ b/system/lan/english/common.lan.php
@@ -329,3 +329,6 @@ $_L['You_are_Online_Logout'] = 'You are Online, Logout?';
 $_L['Connect_to_Internet'] = 'Connect to Internet?';
 $_L['Your_account_not_connected_to_internet'] = 'Your account not connected to internet';
 
+$_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';
diff --git a/ui/ui/app-settings.tpl b/ui/ui/app-settings.tpl
index 683276d6..f8ffb419 100644
--- a/ui/ui/app-settings.tpl
+++ b/ui/ui/app-settings.tpl
@@ -56,6 +56,16 @@
                             <p class="help-block">edit at config.php</p>
                         </div>
                     </div>
+                    <div class="form-group">
+                        <label class="col-md-2 control-label">{Lang::T('Disable Voucher')}</label>
+                        <div class="col-md-6">
+                            <select name="disable_voucher" id="disable_voucher" class="form-control">
+                                <option value="no" {if $_c['disable_voucher'] == 'no'}selected="selected" {/if}>No</option>
+                                <option value="yes" {if $_c['disable_voucher'] == 'yes'}selected="selected" {/if}>Yes</option>
+                            </select>
+                            <p class="help-block">Voucher activation menu will be hidden</p>
+                        </div>
+                    </div>
                 </div>
                 <div class="panel-heading">Telegram Notification</div>
                 <div class="panel-body">
@@ -155,17 +165,19 @@ add dst-host=*.tawk.to</pre>
                             <span class="help-block">{$_L['You_can_use_html_tag']}</span>
                         </div>
                     </div>
-                    <div class="form-group">
-                        <div class="col-lg-offset-2 col-lg-10">
-                            <button class="btn btn-primary waves-effect waves-light"
-                                type="submit">{$_L['Save']}</button>
-                        </div>
-                    </div>
                 </div>
-                <pre>/ip hotspot walled-garden
-add dst-host={$_domain}
-add dst-host=*.{$_domain}</pre>
             </div>
+
+            <div class="panel-body">
+                <div class="form-group">
+                    <button class="btn btn-success btn-block waves-effect waves-light"
+                        type="submit">{$_L['Save']}</button>
+                </div>
+        </div>
+
+            <pre>/ip hotspot walled-garden
+            add dst-host={$_domain}
+            add dst-host=*.{$_domain}</pre>
         </div>
     </div>
 </form>
diff --git a/ui/ui/register-otp.tpl b/ui/ui/register-otp.tpl
index 917f1023..49896d18 100644
--- a/ui/ui/register-otp.tpl
+++ b/ui/ui/register-otp.tpl
@@ -58,6 +58,11 @@
                                     <input type="text" required class="form-control" id="fullname" value="{$fullname}"
                                         name="fullname">
                                 </div>
+                                <div class="form-group">
+                                    <label>{$_L['Email']}</label>
+                                    <input type="text" required class="form-control" placeholder="xxxxxx@xxx.xx" id="email" value="{$email}"
+                                        name="email">
+                                </div>
                                 <div class="form-group">
                                 <label>{$_L['Address']}</label>
                                     <input type="text" name="address" id="address" value="{$address}" class="form-control">
diff --git a/ui/ui/register-rotp.tpl b/ui/ui/register-rotp.tpl
index d01cca02..a9a99e6c 100644
--- a/ui/ui/register-rotp.tpl
+++ b/ui/ui/register-rotp.tpl
@@ -63,11 +63,11 @@
                             </div>
                             <div class="btn-group btn-group-justified mb15">
                                 <div class="btn-group">
-                                    <button class="btn btn-primary waves-effect waves-light"
-                                        type="submit">{Lang::T('Request OTP')}</button>
+                                    <a href="{$_url}login" class="btn btn-warning">{$_L['Cancel']}</a>
                                 </div>
                                 <div class="btn-group">
-                                    <a href="{$_url}login" class="btn btn-success">{$_L['Cancel']}</a>
+                                    <button class="btn btn-success waves-effect waves-light"
+                                        type="submit">{Lang::T('Request OTP')}</button>
                                 </div>
                             </div>
                         </div>
diff --git a/ui/ui/register.tpl b/ui/ui/register.tpl
index 8e88d9d1..849c1c01 100644
--- a/ui/ui/register.tpl
+++ b/ui/ui/register.tpl
@@ -43,19 +43,25 @@
                         <div class="panel-heading">1. {$_L['Register_Member']}</div>
                         <div class="panel-body">
                             <div class="form-container">
-                                <div class="md-input-container md-float-label">
-                                    <input type="text" required class="md-input" id="username" value="{$username}"
-                                        placeholder="{$_L['Phone_Number']}" name="username">
+                                <div class="md-input-container">
                                     <label>{$_L['Phone_Number']}</label>
+                                    <input type="text" required class="form-control" id="username" value="{$username}"
+                                        placeholder="{$_L['Phone_Number']}" name="username">
                                 </div>
                                 <div class="md-input-container md-float-label">
-                                    <input type="text" required class="md-input" id="fullname" value="{$fullname}"
-                                        name="fullname">
                                     <label>{$_L['Full_Name']}</label>
+                                    <input type="text" required class="form-control" id="fullname" value="{$fullname}"
+                                        name="fullname">
+                                </div>
+                                <div class="md-input-container md-float-label">
+                                    <label>{$_L['Email']}</label>
+                                    <input type="text" required class="form-control" id="email"
+                                        placeholder="xxxxxxx@xxxx.xx" value="{$email}" name="email">
                                 </div>
                                 <div class="md-input-container md-float-label">
-                                    <input type="text" name="address" id="address" value="{$address}" class="md-input">
                                     <label>{$_L['Address']}</label>
+                                    <input type="text" name="address" id="address" value="{$address}"
+                                        class="form-control">
                                 </div>
                             </div>
                         </div>
@@ -67,21 +73,23 @@
                         <div class="panel-body">
                             <div class="form-container">
                                 <div class="md-input-container md-float-label">
-                                    <input type="password" required class="md-input" id="password" name="password">
                                     <label>{$_L['Password']}</label>
+                                    <input type="password" required class="form-control" id="password" name="password">
                                 </div>
                                 <div class="md-input-container md-float-label">
-                                    <input type="password" required class="md-input" id="cpassword" name="cpassword">
                                     <label>{$_L['Confirm_Password']}</label>
+                                    <input type="password" required class="form-control" id="cpassword"
+                                        name="cpassword">
                                 </div>
+                                <br>
                                 <div class="btn-group btn-group-justified mb15">
+                                <div class="btn-group">
+                                    <a href="{$_url}login" class="btn btn-warning">{$_L['Cancel']}</a>
+                                </div>
                                     <div class="btn-group">
-                                        <button class="btn btn-primary waves-effect waves-light"
+                                        <button class="btn btn-success waves-effect waves-light"
                                             type="submit">{$_L['Register']}</button>
                                     </div>
-                                    <div class="btn-group">
-                                        <a href="{$_url}login" class="btn btn-success">{$_L['Cancel']}</a>
-                                    </div>
                                 </div>
                             </div>
                         </div>
diff --git a/ui/ui/sections/header.tpl b/ui/ui/sections/header.tpl
index 2da993e0..187b5dad 100644
--- a/ui/ui/sections/header.tpl
+++ b/ui/ui/sections/header.tpl
@@ -129,10 +129,12 @@
                             <ul class="treeview-menu">
                                 <li {if $_routes[1] eq 'list'}class="active" {/if}><a
                                         href="{$_url}prepaid/list">{$_L['Prepaid_User']}</a></li>
-                                <li {if $_routes[1] eq 'voucher'}class="active" {/if}><a
-                                        href="{$_url}prepaid/voucher">{$_L['Prepaid_Vouchers']}</a></li>
-                                <li {if $_routes[1] eq 'refill'}class="active" {/if}><a
-                                        href="{$_url}prepaid/refill">{$_L['Refill_Account']}</a></li>
+                                {if $_c['disable_voucher'] != 'yes'}
+                                    <li {if $_routes[1] eq 'voucher'}class="active" {/if}><a
+                                            href="{$_url}prepaid/voucher">{$_L['Prepaid_Vouchers']}</a></li>
+                                    <li {if $_routes[1] eq 'refill'}class="active" {/if}><a
+                                            href="{$_url}prepaid/refill">{$_L['Refill_Account']}</a></li>
+                                {/if}
                                 <li {if $_routes[1] eq 'recharge'}class="active" {/if}><a
                                         href="{$_url}prepaid/recharge">{$_L['Recharge_Account']}</a></li>
                                 {$_MENU_PREPAID}
diff --git a/ui/ui/sections/user-header.tpl b/ui/ui/sections/user-header.tpl
index 330c5aad..d5b261ee 100644
--- a/ui/ui/sections/user-header.tpl
+++ b/ui/ui/sections/user-header.tpl
@@ -102,12 +102,14 @@
                         </a>
                     </li>
                     {$_MENU_AFTER_DASHBOARD}
+                    {if $_c['disable_voucher'] != 'yes'}
                     <li {if $_system_menu eq 'voucher'}class="active" {/if}>
                         <a href="{$_url}voucher/activation">
                             <i class="fa fa-ticket"></i>
                             <span>{Lang::T('Voucher')}</span>
                         </a>
                     </li>
+                    {/if}
                     {if $_c['payment_gateway'] != 'none' or $_c['payment_gateway'] == '' }
                         <li {if $_system_menu eq 'package'}class="active" {/if}>
                             <a href="{$_url}order/package">
diff --git a/ui/ui/user-dashboard.tpl b/ui/ui/user-dashboard.tpl
index fa993322..ed4a7858 100644
--- a/ui/ui/user-dashboard.tpl
+++ b/ui/ui/user-dashboard.tpl
@@ -99,6 +99,16 @@
                     </tr>
                 {/if}
             </table>
+            {if $_c['disable_voucher'] == 'yes'}
+                <div class="box-footer">
+                    {if $_c['payment_gateway'] != 'none' or $_c['payment_gateway'] == '' }
+                        <a href="{$_url}order/package" class="btn btn-primary btn-block">
+                            <i class="ion ion-ios-cart"></i>
+                            {Lang::T('Order Package')}
+                        </a>
+                    {/if}
+                </div>
+            {/if}
         </div>
         {if $_bill['type'] == 'Hotspot' && $_bill['status'] == 'on'}
             <script>
@@ -114,7 +124,8 @@
             </script>
         {/if}
         <br>
-        <div class="box box-primary  box-solid mb30">
+        {if $_c['disable_voucher'] != 'yes'}
+        <div class="box box-primary box-solid mb30">
             <div class="box-header">
                 <h3 class="box-title">{$_L['Voucher_Activation']}</h3>
             </div>
@@ -134,7 +145,7 @@
             </div>
             <div class="box-body">
                 <div class="btn-group btn-group-justified" role="group">
-                    <a class="btn btn-warning" href="{$_url}order/voucher">
+                    <a class="btn btn-warning" href="{$_url}voucher/activation">
                         <i class="ion ion-ios-cart"></i>
                         {$_L['Order_Voucher']}
                     </a>
@@ -147,6 +158,7 @@
                 </div>
             </div>
         </div>
+        {/if}
     </div>
 </div>
 {include file="sections/user-footer.tpl"}
\ No newline at end of file
diff --git a/version.json b/version.json
index 0503f161..1d34fd01 100644
--- a/version.json
+++ b/version.json
@@ -1,3 +1,3 @@
 {
-    "version": "2023.6.20"
+    "version": "2023.7.28"
 }
\ No newline at end of file