diff --git a/system/controllers/pool.php b/system/controllers/pool.php index 69b06371..925f2ef5 100644 --- a/system/controllers/pool.php +++ b/system/controllers/pool.php @@ -15,9 +15,6 @@ if ($admin['user_type'] != 'Admin') { r2(U . "dashboard", 'e', $_L['Do_Not_Access']); } -use PEAR2\Net\RouterOS; - -require_once 'system/autoload/PEAR2/Autoload.php'; switch ($action) { case 'list': diff --git a/system/controllers/services.php b/system/controllers/services.php index ed44feb3..6dc69fdf 100644 --- a/system/controllers/services.php +++ b/system/controllers/services.php @@ -53,10 +53,10 @@ switch ($action) { $d = ORM::for_table('tbl_plans')->find_one($id); if ($d) { $ui->assign('d', $d); + $p = ORM::for_table('tbl_pool')->where('routers', $d['routers'])->find_many(); + $ui->assign('p', $p); $b = ORM::for_table('tbl_bandwidth')->find_many(); $ui->assign('b', $b); - $r = ORM::for_table('tbl_routers')->find_many(); - $ui->assign('r', $r); run_hook('view_edit_plan'); #HOOK $ui->display('hotspot-edit.tpl'); } else { @@ -96,6 +96,7 @@ switch ($action) { $validity = _post('validity'); $validity_unit = _post('validity_unit'); $routers = _post('routers'); + $pool_expired = _post('pool_expired'); $enabled = _post('enabled'); $msg = ''; @@ -151,6 +152,7 @@ switch ($action) { $d->validity_unit = $validity_unit; $d->shared_users = $sharedusers; $d->routers = $routers; + $d->pool_expired = $pool_expired; $d->enabled = $enabled; $d->save(); @@ -176,6 +178,7 @@ switch ($action) { $validity = _post('validity'); $validity_unit = _post('validity_unit'); $routers = _post('routers'); + $pool_expired = _post('pool_expired'); $enabled = _post('enabled'); $msg = ''; @@ -228,6 +231,7 @@ switch ($action) { $d->validity_unit = $validity_unit; $d->shared_users = $sharedusers; $d->routers = $routers; + $d->pool_expired = $pool_expired; $d->enabled = $enabled; $d->save(); @@ -260,8 +264,6 @@ switch ($action) { $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(); - $ui->assign('p', $p); $r = ORM::for_table('tbl_routers')->find_many(); $ui->assign('r', $r); run_hook('view_add_ppoe'); #HOOK @@ -274,10 +276,10 @@ switch ($action) { $d = ORM::for_table('tbl_plans')->find_one($id); if ($d) { $ui->assign('d', $d); + $p = ORM::for_table('tbl_pool')->where('routers', $d['routers'])->find_many(); + $ui->assign('p', $p); $b = ORM::for_table('tbl_bandwidth')->find_many(); $ui->assign('b', $b); - $p = ORM::for_table('tbl_pool')->find_many(); - $ui->assign('p', $p); $r = ORM::for_table('tbl_routers')->find_many(); $ui->assign('r', $r); run_hook('view_edit_ppoe'); #HOOK @@ -312,6 +314,7 @@ switch ($action) { $validity_unit = _post('validity_unit'); $routers = _post('routers'); $pool = _post('pool_name'); + $pool_expired = _post('pool_expired'); $enabled = _post('enabled'); $msg = ''; @@ -359,6 +362,7 @@ switch ($action) { $d->validity_unit = $validity_unit; $d->routers = $routers; $d->pool = $pool; + $d->pool_expired = $pool_expired; $d->enabled = $enabled; $d->save(); @@ -377,6 +381,7 @@ switch ($action) { $validity_unit = _post('validity_unit'); $routers = _post('routers'); $pool = _post('pool_name'); + $pool_expired = _post('pool_expired'); $enabled = _post('enabled'); $msg = ''; @@ -423,6 +428,7 @@ switch ($action) { $d->validity_unit = $validity_unit; $d->routers = $routers; $d->pool = $pool; + $d->pool_expired = $pool_expired; $d->enabled = $enabled; $d->save(); diff --git a/system/lan/indonesia/common.lan.php b/system/lan/indonesia/common.lan.php index f24fbd1c..05f63cc9 100644 --- a/system/lan/indonesia/common.lan.php +++ b/system/lan/indonesia/common.lan.php @@ -340,3 +340,4 @@ $_L['Customer_can_deposit_money_to_buy_voucher'] = 'Pelanggan dapat topup saldo $_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'; diff --git a/system/updates.json b/system/updates.json index b400aaad..77023a3d 100644 --- a/system/updates.json +++ b/system/updates.json @@ -19,6 +19,7 @@ "ALTER TABLE `tbl_transactions` ADD `recharged_time` time NOT NULL DEFAULT '00:00:00' AFTER `recharged_on`;" ], "2023.9.5" : [ - "DROP TABLE `tbl_language`;" + "DROP TABLE `tbl_language`;", + "ALTER TABLE `tbl_plans` ADD `pool_expired` varchar(40) NOT NULL DEFAULT '' AFTER `pool`;" ] } \ No newline at end of file diff --git a/ui/ui/autoload-pool.tpl b/ui/ui/autoload-pool.tpl index bb1b6d75..c4f825de 100644 --- a/ui/ui/autoload-pool.tpl +++ b/ui/ui/autoload-pool.tpl @@ -1,4 +1,4 @@ - +<option value=''>{$_L['Select_Pool']}</option> {foreach $d as $ds} <option value="{$ds['pool_name']}">{$ds['pool_name']}</option> {/foreach} \ No newline at end of file diff --git a/ui/ui/autoload-server.tpl b/ui/ui/autoload-server.tpl index 9260b1b9..51e6616b 100644 --- a/ui/ui/autoload-server.tpl +++ b/ui/ui/autoload-server.tpl @@ -1,4 +1,4 @@ -<option value="">Select Routers</option> +<option value=''>{$_L['Select_Routers']}</option> {foreach $d as $ds} <option value="{$ds['name']}">{$ds['name']}</option> {/foreach} \ No newline at end of file diff --git a/ui/ui/hotspot-add.tpl b/ui/ui/hotspot-add.tpl index 448dc26b..de325104 100644 --- a/ui/ui/hotspot-add.tpl +++ b/ui/ui/hotspot-add.tpl @@ -112,7 +112,8 @@ <div class="form-group"> <label class="col-md-2 control-label"><a href="{$_url}routers/add">{$_L['Router_Name']}</a></label> <div class="col-md-6"> - <select id="routers" name="routers" class="form-control select2"> + <select id="routers" name="routers" required class="form-control select2"> + <option value=''>{$_L['Select_Routers']}</option> {foreach $r as $rs} <option value="{$rs['name']}">{$rs['name']}</option> {/foreach} @@ -120,9 +121,16 @@ <p class="help-block">{Lang::T('Cannot be change after saved')}</p> </div> </div> - + <div class="form-group"> + <label class="col-md-2 control-label"><a href="{$_url}pool/add">{Lang::T('Expired IP Pool')}</a></label> + <div class="col-md-6"> + <select id="pool_expired" name="pool_expired" class="form-control select2"> + <option value=''>{$_L['Select_Pool']}</option> + </select> + </div> + </div> <div class="form-group"> - <div class="col-lg-offset-2 col-lg-10"> + <div class="col-md-offset-2 col-md-10"> <button class="btn btn-success waves-effect waves-light" type="submit">{$_L['Save']}</button> Or <a href="{$_url}services/hotspot">{$_L['Cancel']}</a> </div> diff --git a/ui/ui/hotspot-edit.tpl b/ui/ui/hotspot-edit.tpl index 769c2ff4..e1868445 100644 --- a/ui/ui/hotspot-edit.tpl +++ b/ui/ui/hotspot-edit.tpl @@ -114,9 +114,20 @@ <input type="text" class="form-control" id="routers" name="routers" value="{$d['routers']}" readonly> </div> </div> + <div class="form-group"> + <label class="col-md-2 control-label"><a href="{$_url}pool/add">{Lang::T('Expired IP Pool')}</a></label> + <div class="col-md-6"> + <select id="pool_expired" name="pool_expired" class="form-control select2"> + <option value=''>{$_L['Select_Pool']}</option> + {foreach $p as $ps} + <option value="{$ps['pool_name']}" {if $d['pool_expired'] eq $ps['pool_name']} selected {/if}>{$ps['pool_name']}</option> + {/foreach} + </select> + </div> + </div> <div class="form-group"> - <div class="col-lg-offset-2 col-lg-10"> + <div class="col-md-offset-2 col-md-10"> <button class="btn btn-success waves-effect waves-light" type="submit">{$_L['Save']}</button> Or <a href="{$_url}services/hotspot">{$_L['Cancel']}</a> </div> diff --git a/ui/ui/hotspot.tpl b/ui/ui/hotspot.tpl index 1d26c376..a7d3acf8 100644 --- a/ui/ui/hotspot.tpl +++ b/ui/ui/hotspot.tpl @@ -35,6 +35,7 @@ <th>{$_L['Data_Limit']}</th> <th>{$_L['Plan_Validity']}</th> <th>{$_L['Routers']}</th> + <th>{Lang::T('Expired IP Pool')}</th> <th>{$_L['Manage']}</th> </tr> </thead> @@ -49,6 +50,7 @@ <td>{$ds['data_limit']} {$ds['data_unit']}</td> <td>{$ds['validity']} {$ds['validity_unit']}</td> <td>{$ds['routers']}</td> + <td>{$ds['pool_expired']}</td> <td> <a href="{$_url}services/edit/{$ds['id']}" class="btn btn-info btn-xs">{$_L['Edit']}</a> <a href="{$_url}services/delete/{$ds['id']}" id="{$ds['id']}" onclick="return confirm('{$_L['Delete']}?')" class="btn btn-danger btn-xs">{$_L['Delete']}</a> diff --git a/ui/ui/pppoe-add.tpl b/ui/ui/pppoe-add.tpl index a79920d1..f3c0716b 100644 --- a/ui/ui/pppoe-add.tpl +++ b/ui/ui/pppoe-add.tpl @@ -60,7 +60,7 @@ <div class="form-group"> <label class="col-md-2 control-label"><a href="{$_url}routers/add">{$_L['Router_Name']}</a></label> <div class="col-md-6"> - <select id="routers" name="routers" class="form-control select2"> + <select id="routers" name="routers" required class="form-control select2"> <option value=''>{$_L['Select_Routers']}</option> {foreach $r as $rs} <option value="{$rs['name']}">{$rs['name']}</option> @@ -72,14 +72,21 @@ <div class="form-group"> <label class="col-md-2 control-label"><a href="{$_url}pool/add">{$_L['Pool']}</a></label> <div class="col-md-6"> - <select id="pool_name" name="pool_name" class="form-control select2"> + <select id="pool_name" name="pool_name" required class="form-control select2"> <option value=''>{$_L['Select_Pool']}</option> </select> </div> </div> - <div class="form-group"> - <div class="col-lg-offset-2 col-lg-10"> + <label class="col-md-2 control-label"><a href="{$_url}pool/add">{Lang::T('Expired IP Pool')}</a></label> + <div class="col-md-6"> + <select id="pool_expired" name="pool_expired" class="form-control select2"> + <option value=''>{$_L['Select_Pool']}</option> + </select> + </div> + </div> + <div class="form-group"> + <div class="col-md-offset-2 col-md-10"> <button class="btn btn-primary waves-effect waves-light" type="submit">{$_L['Save']}</button> Or <a href="{$_url}services/pppoe">{$_L['Cancel']}</a> </div> diff --git a/ui/ui/pppoe-edit.tpl b/ui/ui/pppoe-edit.tpl index aa23412a..70833f63 100644 --- a/ui/ui/pppoe-edit.tpl +++ b/ui/ui/pppoe-edit.tpl @@ -62,7 +62,17 @@ <div class="col-md-6"> <select id="pool_name" name="pool_name" class="form-control select2"> {foreach $p as $ps} - <option value="{$ps['pool_name']}" {if $d['pool_name'] eq $ps['pool_name']} selected {/if}>{$ps['pool_name']}</option> + <option value="{$ps['pool_name']}" {if $d['pool'] eq $ps['pool_name']} selected {/if}>{$ps['pool_name']}</option> + {/foreach} + </select> + </div> + </div> + <div class="form-group"> + <label class="col-md-2 control-label"><a href="{$_url}pool/add">{Lang::T('Expired IP Pool')}</a></label> + <div class="col-md-6"> + <select id="pool_expired" name="pool_expired" class="form-control select2"> + {foreach $p as $ps} + <option value="{$ps['pool_name']}" {if $d['pool_expired'] eq $ps['pool_name']} selected {/if}>{$ps['pool_name']}</option> {/foreach} </select> </div> diff --git a/ui/ui/pppoe.tpl b/ui/ui/pppoe.tpl index 6d14b1c7..e9d2ccb8 100644 --- a/ui/ui/pppoe.tpl +++ b/ui/ui/pppoe.tpl @@ -32,6 +32,7 @@ <th>{$_L['Plan_Price']}</th> <th>{$_L['Plan_Validity']}</th> <th>{$_L['Pool']}</th> + <th>{Lang::T('Expired IP Pool')}</th> <th>{$_L['Routers']}</th> <th>{$_L['Manage']}</th> </tr> @@ -44,6 +45,7 @@ <td>{Lang::moneyFormat($ds['price'])}</td> <td>{$ds['validity']} {$ds['validity_unit']}</td> <td>{$ds['pool']}</td> + <td>{$ds['pool_expired']}</td> <td>{$ds['routers']}</td> <td> <a href="{$_url}services/pppoe-edit/{$ds['id']}" class="btn btn-info btn-xs">{$_L['Edit']}</a> diff --git a/ui/ui/scripts/custom.js b/ui/ui/scripts/custom.js index 54e7f8bd..b7f9b122 100644 --- a/ui/ui/scripts/custom.js +++ b/ui/ui/scripts/custom.js @@ -14,7 +14,7 @@ $(document).ready(function () { $('#TimeLimit').show(); $('#DataLimit').show(); } - + if ($('#Unlimited').is(':checked')) { $('#Type').hide(); $('#TimeLimit').hide(); @@ -26,12 +26,12 @@ $(document).ready(function () { if ($('#Hotspot').is(':checked')) { $('#p').hide(); $('#h').show(); - } + } if ($('#PPPOE').is(':checked')) { $('#p').show(); $('#h').hide(); } - + }); }); $("#Hotspot").prop("checked", true).change(); @@ -48,6 +48,7 @@ $(document).ready(function(){ cache: false, success: function(msg){ $("#pool_name").html(msg); + $("#pool_expired").html(msg); } }); }); @@ -62,10 +63,10 @@ $(function() { dataType: "html", url: "index.php?_route=autoload/server", success: function(msg){ - $("#server").html(msg); + $("#server").html(msg); } }); - + $("#server").change(getAjaxAlamat); function getAjaxAlamat(){ var server = $("#server").val();