forked from kevinowino869/mitrobill
Merge branch 'Development'
This commit is contained in:
commit
2925d3a1e3
@ -2,6 +2,11 @@
|
|||||||
|
|
||||||
# CHANGELOG
|
# CHANGELOG
|
||||||
|
|
||||||
|
## 2024.3.13
|
||||||
|
|
||||||
|
- Postpaid System
|
||||||
|
- Additional Cost
|
||||||
|
|
||||||
## 2024.3.12
|
## 2024.3.12
|
||||||
|
|
||||||
- Check if Validity Period, so calculate price will not affected other validity
|
- Check if Validity Period, so calculate price will not affected other validity
|
||||||
|
@ -315,4 +315,5 @@ ALTER TABLE `tbl_customers` ADD `created_by` INT NOT NULL DEFAULT '0' AFTER `aut
|
|||||||
ALTER TABLE `tbl_plans` ADD `list_expired` VARCHAR(32) NOT NULL DEFAULT '' COMMENT 'address list' AFTER `pool_expired`;
|
ALTER TABLE `tbl_plans` ADD `list_expired` VARCHAR(32) NOT NULL DEFAULT '' COMMENT 'address list' AFTER `pool_expired`;
|
||||||
ALTER TABLE `tbl_bandwidth` ADD `burst` VARCHAR(128) NOT NULL DEFAULT '' AFTER `rate_up_unit`;
|
ALTER TABLE `tbl_bandwidth` ADD `burst` VARCHAR(128) NOT NULL DEFAULT '' AFTER `rate_up_unit`;
|
||||||
ALTER TABLE `tbl_transactions` ADD `admin_id` INT NOT NULL DEFAULT '1' AFTER `type`;
|
ALTER TABLE `tbl_transactions` ADD `admin_id` INT NOT NULL DEFAULT '1' AFTER `type`;
|
||||||
ALTER TABLE `tbl_user_recharges` ADD `admin_id` INT NOT NULL DEFAULT '1' AFTER `type`;
|
ALTER TABLE `tbl_user_recharges` ADD `admin_id` INT NOT NULL DEFAULT '1' AFTER `type`;
|
||||||
|
ALTER TABLE `tbl_plans` CHANGE `allow_purchase` `prepaid` ENUM('yes','no') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'yes' COMMENT 'is prepaid';
|
@ -32,12 +32,20 @@ class Package
|
|||||||
$c = ORM::for_table('tbl_customers')->where('id', $id_customer)->find_one();
|
$c = ORM::for_table('tbl_customers')->where('id', $id_customer)->find_one();
|
||||||
$p = ORM::for_table('tbl_plans')->where('id', $plan_id)->find_one();
|
$p = ORM::for_table('tbl_plans')->where('id', $plan_id)->find_one();
|
||||||
|
|
||||||
if(isset($zero) && $zero==1){
|
// Additional cost
|
||||||
$p['price'] = 0;
|
$add_cost = User::getAttribute("Additional Cost", $id_customer);
|
||||||
|
if(empty($add_cost)){
|
||||||
|
$add_cost = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$p['enabled']){
|
// Zero cost recharge
|
||||||
if(!isset($admin) || !isset($admin['id']) || empty($admin['id'])){
|
if (isset($zero) && $zero == 1) {
|
||||||
|
$p['price'] = 0;
|
||||||
|
$add_cost = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$p['enabled']) {
|
||||||
|
if (!isset($admin) || !isset($admin['id']) || empty($admin['id'])) {
|
||||||
r2(U . 'home', 'e', Lang::T('Plan Not found'));
|
r2(U . 'home', 'e', Lang::T('Plan Not found'));
|
||||||
}
|
}
|
||||||
if (!in_array($admin['user_type'], ['SuperAdmin', 'Admin'])) {
|
if (!in_array($admin['user_type'], ['SuperAdmin', 'Admin'])) {
|
||||||
@ -46,16 +54,16 @@ class Package
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($p['validity_unit'] == 'Period') {
|
if ($p['validity_unit'] == 'Period') {
|
||||||
$f = ORM::for_table('tbl_customers_fields')->where('field_name', 'Expired Date')->where('customer_id', $c['id'])->find_one();
|
$day_exp = User::getAttribute("Expired Date", $c['id']); //ORM::for_table('tbl_customers_fields')->where('field_name', 'Expired Date')->where('customer_id', $c['id'])->find_one();
|
||||||
if (!$f) {
|
if (!$day_exp) {
|
||||||
$day = date('d', strtotime($c['created_at']));
|
$day_exp = date('d', strtotime($c['created_at']));
|
||||||
if ($day > 28) {
|
if (empty($day_exp) || $day_exp > 28) {
|
||||||
$day = 1;
|
$day_exp = 1;
|
||||||
}
|
}
|
||||||
$f = ORM::for_table('tbl_customers_fields')->create();
|
$f = ORM::for_table('tbl_customers_fields')->create();
|
||||||
$f->customer_id = $c['id'];
|
$f->customer_id = $c['id'];
|
||||||
$f->field_name = 'Expired Date';
|
$f->field_name = 'Expired Date';
|
||||||
$f->field_value = $day;
|
$f->field_value = $day_exp;
|
||||||
$f->save();
|
$f->save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -114,12 +122,29 @@ class Package
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 1 Customer only can have 1 PPPOE and 1 Hotspot Plan
|
* 1 Customer only can have 1 PPPOE and 1 Hotspot Plan, 1 prepaid and 1 postpaid
|
||||||
*/
|
*/
|
||||||
$b = ORM::for_table('tbl_user_recharges')
|
$b = ORM::for_table('tbl_user_recharges')
|
||||||
|
->select('tbl_user_recharges.id', 'id')
|
||||||
|
->select('customer_id')
|
||||||
|
->select('username')
|
||||||
|
->select('plan_id')
|
||||||
|
->select('namebp')
|
||||||
|
->select('recharged_on')
|
||||||
|
->select('recharged_time')
|
||||||
|
->select('expiration')
|
||||||
|
->select('time')
|
||||||
|
->select('status')
|
||||||
|
->select('method')
|
||||||
|
->select('tbl_user_recharges.routers', 'routers')
|
||||||
|
->select('tbl_user_recharges.type', 'type')
|
||||||
|
->select('admin_id')
|
||||||
|
->select('prepaid')
|
||||||
->where('customer_id', $id_customer)
|
->where('customer_id', $id_customer)
|
||||||
->where('routers', $router_name)
|
->where('tbl_user_recharges.routers', $router_name)
|
||||||
->where('Type', $p['type'])
|
->where('tbl_user_recharges.Type', $p['type'])
|
||||||
|
->where('prepaid', $p['prepaid'])
|
||||||
|
->join('tbl_plans', array('tbl_plans.id', '=', 'tbl_user_recharges.plan_id'))
|
||||||
->find_one();
|
->find_one();
|
||||||
|
|
||||||
run_hook("recharge_user");
|
run_hook("recharge_user");
|
||||||
@ -129,15 +154,15 @@ class Package
|
|||||||
if ($p['validity_unit'] == 'Months') {
|
if ($p['validity_unit'] == 'Months') {
|
||||||
$date_exp = date("Y-m-d", strtotime('+' . $p['validity'] . ' month'));
|
$date_exp = date("Y-m-d", strtotime('+' . $p['validity'] . ' month'));
|
||||||
} else if ($p['validity_unit'] == 'Period') {
|
} else if ($p['validity_unit'] == 'Period') {
|
||||||
$date_tmp = date("Y-m-{$f['field_value']}", strtotime('+' . $p['validity'] . ' month'));
|
$date_tmp = date("Y-m-$day_exp", strtotime('+' . $p['validity'] . ' month'));
|
||||||
$dt1 = new DateTime("$date_only");
|
$dt1 = new DateTime("$date_only");
|
||||||
$dt2 = new DateTime("$date_tmp");
|
$dt2 = new DateTime("$date_tmp");
|
||||||
$diff = $dt2->diff($dt1);
|
$diff = $dt2->diff($dt1);
|
||||||
$sum = $diff->format("%a"); // => 453
|
$sum = $diff->format("%a"); // => 453
|
||||||
if ($sum >= 35) {
|
if ($sum >= 35) {
|
||||||
$date_exp = date("Y-m-{$f['field_value']}", strtotime('+0 month'));
|
$date_exp = date("Y-m-$day_exp", strtotime('+0 month'));
|
||||||
} else {
|
} else {
|
||||||
$date_exp = date("Y-m-{$f['field_value']}", strtotime('+' . $p['validity'] . ' month'));
|
$date_exp = date("Y-m-$day_exp", strtotime('+' . $p['validity'] . ' month'));
|
||||||
};
|
};
|
||||||
$time = date("23:59:00");
|
$time = date("23:59:00");
|
||||||
} else if ($p['validity_unit'] == 'Days') {
|
} else if ($p['validity_unit'] == 'Days') {
|
||||||
@ -160,7 +185,7 @@ class Package
|
|||||||
$date_exp = date("Y-m-d", strtotime($b['expiration'] . ' +' . $p['validity'] . ' months'));
|
$date_exp = date("Y-m-d", strtotime($b['expiration'] . ' +' . $p['validity'] . ' months'));
|
||||||
$time = $b['time'];
|
$time = $b['time'];
|
||||||
} else if ($p['validity_unit'] == 'Period') {
|
} else if ($p['validity_unit'] == 'Period') {
|
||||||
$date_exp = date("Y-m-{$f['field_value']}", strtotime($b['expiration'] . ' +' . $p['validity'] . ' months'));
|
$date_exp = date("Y-m-$day_exp", strtotime($b['expiration'] . ' +' . $p['validity'] . ' months'));
|
||||||
$time = date("23:59:00");
|
$time = date("23:59:00");
|
||||||
} else if ($p['validity_unit'] == 'Days') {
|
} else if ($p['validity_unit'] == 'Days') {
|
||||||
$date_exp = date("Y-m-d", strtotime($b['expiration'] . ' +' . $p['validity'] . ' days'));
|
$date_exp = date("Y-m-d", strtotime($b['expiration'] . ' +' . $p['validity'] . ' days'));
|
||||||
@ -209,7 +234,7 @@ class Package
|
|||||||
$t->invoice = "INV-" . Package::_raid();
|
$t->invoice = "INV-" . Package::_raid();
|
||||||
$t->username = $c['username'];
|
$t->username = $c['username'];
|
||||||
$t->plan_name = $p['name_plan'];
|
$t->plan_name = $p['name_plan'];
|
||||||
$t->price = $p['price'];
|
$t->price = $p['price'] + $add_cost;
|
||||||
$t->recharged_on = $date_only;
|
$t->recharged_on = $date_only;
|
||||||
$t->recharged_time = $time_only;
|
$t->recharged_time = $time_only;
|
||||||
$t->expiration = $date_exp;
|
$t->expiration = $date_exp;
|
||||||
@ -289,12 +314,12 @@ class Package
|
|||||||
$fd = $td->format("%a");
|
$fd = $td->format("%a");
|
||||||
$gi = ($p['price'] / 30) * $fd;
|
$gi = ($p['price'] / 30) * $fd;
|
||||||
if ($gi > $p['price']) {
|
if ($gi > $p['price']) {
|
||||||
$t->price = $p['price'];
|
$t->price = $p['price'] + $add_cost;
|
||||||
} else {
|
} else {
|
||||||
$t->price = $gi;
|
$t->price = $gi + $add_cost;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$t->price = $p['price'];
|
$t->price = $p['price'] + $add_cost;
|
||||||
}
|
}
|
||||||
$t->recharged_on = $date_only;
|
$t->recharged_on = $date_only;
|
||||||
$t->recharged_time = $time_only;
|
$t->recharged_time = $time_only;
|
||||||
@ -345,7 +370,7 @@ class Package
|
|||||||
$date_exp = date("Y-m-d", strtotime($b['expiration'] . ' +' . $p['validity'] . ' months'));
|
$date_exp = date("Y-m-d", strtotime($b['expiration'] . ' +' . $p['validity'] . ' months'));
|
||||||
$time = $b['time'];
|
$time = $b['time'];
|
||||||
} else if ($p['validity_unit'] == 'Period') {
|
} else if ($p['validity_unit'] == 'Period') {
|
||||||
$date_exp = date("Y-m-{$f['field_value']}", strtotime($b['expiration'] . ' +' . $p['validity'] . ' months'));
|
$date_exp = date("Y-m-$day_exp", strtotime($b['expiration'] . ' +' . $p['validity'] . ' months'));
|
||||||
$time = date("23:59:00");
|
$time = date("23:59:00");
|
||||||
} else if ($p['validity_unit'] == 'Days') {
|
} else if ($p['validity_unit'] == 'Days') {
|
||||||
$date_exp = date("Y-m-d", strtotime($b['expiration'] . ' +' . $p['validity'] . ' days'));
|
$date_exp = date("Y-m-d", strtotime($b['expiration'] . ' +' . $p['validity'] . ' days'));
|
||||||
@ -394,7 +419,7 @@ class Package
|
|||||||
$t->invoice = "INV-" . Package::_raid();
|
$t->invoice = "INV-" . Package::_raid();
|
||||||
$t->username = $c['username'];
|
$t->username = $c['username'];
|
||||||
$t->plan_name = $p['name_plan'];
|
$t->plan_name = $p['name_plan'];
|
||||||
$t->price = $p['price'];
|
$t->price = $p['price'] + $add_cost;
|
||||||
$t->recharged_on = $date_only;
|
$t->recharged_on = $date_only;
|
||||||
$t->recharged_time = $time_only;
|
$t->recharged_time = $time_only;
|
||||||
$t->expiration = $date_exp;
|
$t->expiration = $date_exp;
|
||||||
@ -473,12 +498,12 @@ class Package
|
|||||||
$fd = $td->format("%a");
|
$fd = $td->format("%a");
|
||||||
$gi = ($p['price'] / 30) * $fd;
|
$gi = ($p['price'] / 30) * $fd;
|
||||||
if ($gi > $p['price']) {
|
if ($gi > $p['price']) {
|
||||||
$t->price = $p['price'];
|
$t->price = $p['price'] + $add_cost;
|
||||||
} else {
|
} else {
|
||||||
$t->price = $gi;
|
$t->price = $gi + $add_cost;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$t->price = $p['price'];
|
$t->price = $p['price'] + $add_cost;
|
||||||
}
|
}
|
||||||
$t->recharged_on = $date_only;
|
$t->recharged_on = $date_only;
|
||||||
$t->recharged_time = $time_only;
|
$t->recharged_time = $time_only;
|
||||||
@ -608,7 +633,7 @@ class Package
|
|||||||
|
|
||||||
public static function _raid()
|
public static function _raid()
|
||||||
{
|
{
|
||||||
return ORM::for_table('tbl_transactions')->max('id')+1;
|
return ORM::for_table('tbl_transactions')->max('id') + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -8,15 +8,16 @@
|
|||||||
|
|
||||||
class User
|
class User
|
||||||
{
|
{
|
||||||
public static function getID(){
|
public static function getID()
|
||||||
|
{
|
||||||
global $db_password;
|
global $db_password;
|
||||||
if(isset($_SESSION['uid']) && !empty($_SESSION['uid'])){
|
if (isset($_SESSION['uid']) && !empty($_SESSION['uid'])) {
|
||||||
return $_SESSION['uid'];
|
return $_SESSION['uid'];
|
||||||
}else if(isset($_COOKIE['uid'])){
|
} else if (isset($_COOKIE['uid'])) {
|
||||||
// id.time.sha1
|
// id.time.sha1
|
||||||
$tmp = explode('.',$_COOKIE['uid']);
|
$tmp = explode('.', $_COOKIE['uid']);
|
||||||
if(sha1($tmp[0].'.'.$tmp[1].'.'.$db_password)==$tmp[2]){
|
if (sha1($tmp[0] . '.' . $tmp[1] . '.' . $db_password) == $tmp[2]) {
|
||||||
if(time()-$tmp[1] < 86400*30){
|
if (time() - $tmp[1] < 86400 * 30) {
|
||||||
$_SESSION['uid'] = $tmp[0];
|
$_SESSION['uid'] = $tmp[0];
|
||||||
return $tmp[0];
|
return $tmp[0];
|
||||||
}
|
}
|
||||||
@ -25,37 +26,93 @@ class User
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function setCookie($uid){
|
public static function getAttribute($name, $id = 0)
|
||||||
|
{
|
||||||
|
if (!$id) {
|
||||||
|
$id = User::getID();
|
||||||
|
}
|
||||||
|
if (!$id) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
$f = ORM::for_table('tbl_customers_fields')->where('field_name', $name)->where('customer_id', $id)->find_one();
|
||||||
|
if ($f) {
|
||||||
|
return $f['field_value'];
|
||||||
|
}
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getAttributes($endWith, $id = 0)
|
||||||
|
{
|
||||||
|
if (!$id) {
|
||||||
|
$id = User::getID();
|
||||||
|
}
|
||||||
|
if (!$id) {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
$attrs = [];
|
||||||
|
$f = ORM::for_table('tbl_customers_fields')->where_like('field_name', $endWith)->where('customer_id', $id)->find_one();
|
||||||
|
if ($f) {
|
||||||
|
foreach ($f as $k) {
|
||||||
|
$attrs[$k['field_name']] = $k['field_value'];
|
||||||
|
}
|
||||||
|
return $attrs;
|
||||||
|
}
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function setCookie($uid)
|
||||||
|
{
|
||||||
global $db_password;
|
global $db_password;
|
||||||
if(isset($uid)){
|
if (isset($uid)) {
|
||||||
$time = time();
|
$time = time();
|
||||||
setcookie('uid', $uid.'.'.$time.'.'.sha1($uid.'.'.$time.'.'.$db_password), time()+86400*30);
|
setcookie('uid', $uid . '.' . $time . '.' . sha1($uid . '.' . $time . '.' . $db_password), time() + 86400 * 30);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function removeCookie(){
|
public static function removeCookie()
|
||||||
if(isset($_COOKIE['uid'])){
|
{
|
||||||
setcookie('uid', '', time()-86400);
|
if (isset($_COOKIE['uid'])) {
|
||||||
|
setcookie('uid', '', time() - 86400);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function _info($id = 0)
|
public static function _info($id = 0)
|
||||||
{
|
{
|
||||||
if(!$id){
|
if (!$id) {
|
||||||
$id = User::getID();
|
$id = User::getID();
|
||||||
}
|
}
|
||||||
$d = ORM::for_table('tbl_customers')->find_one($id);
|
$d = ORM::for_table('tbl_customers')->find_one($id);
|
||||||
|
|
||||||
if(empty($d['username'])){
|
if (empty($d['username'])) {
|
||||||
r2(U . 'logout', 'd', '');
|
r2(U . 'logout', 'd', '');
|
||||||
}
|
}
|
||||||
return $d;
|
return $d;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function _billing()
|
public static function _billing($id = 0)
|
||||||
{
|
{
|
||||||
$id = User::getID();
|
if (!$id) {
|
||||||
$d = ORM::for_table('tbl_user_recharges')->where('customer_id', $id)->find_many();
|
$id = User::getID();
|
||||||
|
}
|
||||||
|
$d = ORM::for_table('tbl_user_recharges')
|
||||||
|
->select('tbl_user_recharges.id', 'id')
|
||||||
|
->select('customer_id')
|
||||||
|
->select('username')
|
||||||
|
->select('plan_id')
|
||||||
|
->select('namebp')
|
||||||
|
->select('recharged_on')
|
||||||
|
->select('recharged_time')
|
||||||
|
->select('expiration')
|
||||||
|
->select('time')
|
||||||
|
->select('status')
|
||||||
|
->select('method')
|
||||||
|
->select('tbl_user_recharges.routers', 'routers')
|
||||||
|
->select('tbl_user_recharges.type', 'type')
|
||||||
|
->select('admin_id')
|
||||||
|
->select('prepaid')
|
||||||
|
->where('customer_id', $id)
|
||||||
|
->join('tbl_plans', array('tbl_plans.id', '=', 'tbl_user_recharges.plan_id'))
|
||||||
|
->find_many();
|
||||||
return $d;
|
return $d;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,7 @@ $month_n = date('n');
|
|||||||
$iday = ORM::for_table('tbl_transactions')
|
$iday = ORM::for_table('tbl_transactions')
|
||||||
->where('recharged_on', $mdate)
|
->where('recharged_on', $mdate)
|
||||||
->where_not_equal('method', 'Customer - Balance')
|
->where_not_equal('method', 'Customer - Balance')
|
||||||
|
->where_not_equal('method', 'Recharge Balance - Administrator')
|
||||||
->sum('price');
|
->sum('price');
|
||||||
|
|
||||||
if ($iday == '') {
|
if ($iday == '') {
|
||||||
@ -26,7 +27,7 @@ if ($iday == '') {
|
|||||||
}
|
}
|
||||||
$ui->assign('iday', $iday);
|
$ui->assign('iday', $iday);
|
||||||
|
|
||||||
$imonth = ORM::for_table('tbl_transactions')->where_not_equal('method', 'Customer - Balance')->where_gte('recharged_on', $first_day_month)->where_lte('recharged_on', $mdate)->sum('price');
|
$imonth = ORM::for_table('tbl_transactions')->where_not_equal('method', 'Customer - Balance')->where_not_equal('method', 'Recharge Balance - Administrator')->where_gte('recharged_on', $first_day_month)->where_lte('recharged_on', $mdate)->sum('price');
|
||||||
if ($imonth == '') {
|
if ($imonth == '') {
|
||||||
$imonth = '0.00';
|
$imonth = '0.00';
|
||||||
}
|
}
|
||||||
@ -149,6 +150,7 @@ if (file_exists($cacheMSfile) && time() - filemtime($cacheMSfile) < 43200) {
|
|||||||
->select_expr('SUM(price)', 'total')
|
->select_expr('SUM(price)', 'total')
|
||||||
->where_raw("YEAR(recharged_on) = YEAR(CURRENT_DATE())") // Filter by the current year
|
->where_raw("YEAR(recharged_on) = YEAR(CURRENT_DATE())") // Filter by the current year
|
||||||
->where_not_equal('method', 'Customer - Balance')
|
->where_not_equal('method', 'Customer - Balance')
|
||||||
|
->where_not_equal('method', 'Recharge Balance - Administrator')
|
||||||
->group_by_expr('MONTH(recharged_on)')
|
->group_by_expr('MONTH(recharged_on)')
|
||||||
->find_many();
|
->find_many();
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ switch ($action) {
|
|||||||
}
|
}
|
||||||
$ui->assign('_title', 'Top Up');
|
$ui->assign('_title', 'Top Up');
|
||||||
$ui->assign('_system_menu', 'balance');
|
$ui->assign('_system_menu', 'balance');
|
||||||
$plans_balance = ORM::for_table('tbl_plans')->where('enabled', '1')->where('type', 'Balance')->where('allow_purchase', 'yes')->find_many();
|
$plans_balance = ORM::for_table('tbl_plans')->where('enabled', '1')->where('type', 'Balance')->where('prepaid', 'yes')->find_many();
|
||||||
$ui->assign('plans_balance', $plans_balance);
|
$ui->assign('plans_balance', $plans_balance);
|
||||||
$ui->display('user-orderBalance.tpl');
|
$ui->display('user-orderBalance.tpl');
|
||||||
break;
|
break;
|
||||||
@ -49,24 +49,24 @@ switch ($action) {
|
|||||||
$ui->assign('_system_menu', 'package');
|
$ui->assign('_system_menu', 'package');
|
||||||
if (!empty($_SESSION['nux-router'])) {
|
if (!empty($_SESSION['nux-router'])) {
|
||||||
if ($_SESSION['nux-router'] == 'radius') {
|
if ($_SESSION['nux-router'] == 'radius') {
|
||||||
$radius_pppoe = ORM::for_table('tbl_plans')->where('enabled', '1')->where('is_radius', 1)->where('type', 'PPPOE')->where('allow_purchase', 'yes')->find_many();
|
$radius_pppoe = ORM::for_table('tbl_plans')->where('enabled', '1')->where('is_radius', 1)->where('type', 'PPPOE')->where('prepaid', 'yes')->find_many();
|
||||||
$radius_hotspot = ORM::for_table('tbl_plans')->where('enabled', '1')->where('is_radius', 1)->where('type', 'Hotspot')->where('allow_purchase', 'yes')->find_many();
|
$radius_hotspot = ORM::for_table('tbl_plans')->where('enabled', '1')->where('is_radius', 1)->where('type', 'Hotspot')->where('prepaid', 'yes')->find_many();
|
||||||
} else {
|
} else {
|
||||||
$routers = ORM::for_table('tbl_routers')->where('id', $_SESSION['nux-router'])->find_many();
|
$routers = ORM::for_table('tbl_routers')->where('id', $_SESSION['nux-router'])->find_many();
|
||||||
$rs = [];
|
$rs = [];
|
||||||
foreach ($routers as $r) {
|
foreach ($routers as $r) {
|
||||||
$rs[] = $r['name'];
|
$rs[] = $r['name'];
|
||||||
}
|
}
|
||||||
$plans_pppoe = ORM::for_table('tbl_plans')->where('enabled', '1')->where_in('routers', $rs)->where('is_radius', 0)->where('type', 'PPPOE')->where('allow_purchase', 'yes')->find_many();
|
$plans_pppoe = ORM::for_table('tbl_plans')->where('enabled', '1')->where_in('routers', $rs)->where('is_radius', 0)->where('type', 'PPPOE')->where('prepaid', 'yes')->find_many();
|
||||||
$plans_hotspot = ORM::for_table('tbl_plans')->where('enabled', '1')->where_in('routers', $rs)->where('is_radius', 0)->where('type', 'Hotspot')->where('allow_purchase', 'yes')->find_many();
|
$plans_hotspot = ORM::for_table('tbl_plans')->where('enabled', '1')->where_in('routers', $rs)->where('is_radius', 0)->where('type', 'Hotspot')->where('prepaid', 'yes')->find_many();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$radius_pppoe = ORM::for_table('tbl_plans')->where('enabled', '1')->where('is_radius', 1)->where('type', 'PPPOE')->where('allow_purchase', 'yes')->find_many();
|
$radius_pppoe = ORM::for_table('tbl_plans')->where('enabled', '1')->where('is_radius', 1)->where('type', 'PPPOE')->where('prepaid', 'yes')->find_many();
|
||||||
$radius_hotspot = ORM::for_table('tbl_plans')->where('enabled', '1')->where('is_radius', 1)->where('type', 'Hotspot')->where('allow_purchase', 'yes')->find_many();
|
$radius_hotspot = ORM::for_table('tbl_plans')->where('enabled', '1')->where('is_radius', 1)->where('type', 'Hotspot')->where('prepaid', 'yes')->find_many();
|
||||||
|
|
||||||
$routers = ORM::for_table('tbl_routers')->find_many();
|
$routers = ORM::for_table('tbl_routers')->find_many();
|
||||||
$plans_pppoe = ORM::for_table('tbl_plans')->where('enabled', '1')->where('is_radius', 0)->where('type', 'PPPOE')->where('allow_purchase', 'yes')->find_many();
|
$plans_pppoe = ORM::for_table('tbl_plans')->where('enabled', '1')->where('is_radius', 0)->where('type', 'PPPOE')->where('prepaid', 'yes')->find_many();
|
||||||
$plans_hotspot = ORM::for_table('tbl_plans')->where('enabled', '1')->where('is_radius', 0)->where('type', 'Hotspot')->where('allow_purchase', 'yes')->find_many();
|
$plans_hotspot = ORM::for_table('tbl_plans')->where('enabled', '1')->where('is_radius', 0)->where('type', 'Hotspot')->where('prepaid', 'yes')->find_many();
|
||||||
}
|
}
|
||||||
$ui->assign('routers', $routers);
|
$ui->assign('routers', $routers);
|
||||||
$ui->assign('radius_pppoe', $radius_pppoe);
|
$ui->assign('radius_pppoe', $radius_pppoe);
|
||||||
|
@ -32,7 +32,6 @@ if (file_exists($cache) && time() - filemtime($cache) < (24 * 60 * 60)) {
|
|||||||
file_put_contents($cache, $data);
|
file_put_contents($cache, $data);
|
||||||
$json = json_decode($data, true);
|
$json = json_decode($data, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch ($action) {
|
switch ($action) {
|
||||||
case 'delete':
|
case 'delete':
|
||||||
if (!is_writeable($CACHE_PATH)) {
|
if (!is_writeable($CACHE_PATH)) {
|
||||||
@ -89,7 +88,9 @@ switch ($action) {
|
|||||||
if (!is_writeable($PLUGIN_PATH)) {
|
if (!is_writeable($PLUGIN_PATH)) {
|
||||||
r2(U . "pluginmanager", 'e', 'Folder plugin/ is not writable');
|
r2(U . "pluginmanager", 'e', 'Folder plugin/ is not writable');
|
||||||
}
|
}
|
||||||
|
set_time_limit(-1);
|
||||||
|
$tipe = $routes['2'];
|
||||||
|
$plugin = $routes['3'];
|
||||||
$file = $CACHE_PATH . DIRECTORY_SEPARATOR . $plugin . '.zip';
|
$file = $CACHE_PATH . DIRECTORY_SEPARATOR . $plugin . '.zip';
|
||||||
if (file_exists($file)) unlink($file);
|
if (file_exists($file)) unlink($file);
|
||||||
if ($tipe == 'plugin') {
|
if ($tipe == 'plugin') {
|
||||||
@ -121,7 +122,7 @@ switch ($action) {
|
|||||||
File::copyFolder($folder, $PLUGIN_PATH . DIRECTORY_SEPARATOR, ['README.md', 'LICENSE']);
|
File::copyFolder($folder, $PLUGIN_PATH . DIRECTORY_SEPARATOR, ['README.md', 'LICENSE']);
|
||||||
File::deleteFolder($folder);
|
File::deleteFolder($folder);
|
||||||
unlink($file);
|
unlink($file);
|
||||||
r2(U . "pluginmanager", 's', 'Plugin ' . $plugin . ' has been deleted');
|
r2(U . "pluginmanager", 's', 'Plugin ' . $plugin . ' has been installed');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -135,6 +135,10 @@ switch ($action) {
|
|||||||
$channel = $admin['fullname'];
|
$channel = $admin['fullname'];
|
||||||
$cust = User::_info($id_customer);
|
$cust = User::_info($id_customer);
|
||||||
if ($using == 'balance' && $config['enable_balance'] == 'yes') {
|
if ($using == 'balance' && $config['enable_balance'] == 'yes') {
|
||||||
|
$add_cost = User::getAttribute("Additional Cost", $id_customer);
|
||||||
|
if(empty($add_cost)){
|
||||||
|
$add_cost = 0;
|
||||||
|
}
|
||||||
$plan = ORM::for_table('tbl_plans')->find_one($planId);
|
$plan = ORM::for_table('tbl_plans')->find_one($planId);
|
||||||
if (!$cust) {
|
if (!$cust) {
|
||||||
r2(U . 'prepaid/recharge', 'e', Lang::T('Customer not found'));
|
r2(U . 'prepaid/recharge', 'e', Lang::T('Customer not found'));
|
||||||
@ -142,7 +146,7 @@ switch ($action) {
|
|||||||
if (!$plan) {
|
if (!$plan) {
|
||||||
r2(U . 'prepaid/recharge', 'e', Lang::T('Plan not found'));
|
r2(U . 'prepaid/recharge', 'e', Lang::T('Plan not found'));
|
||||||
}
|
}
|
||||||
if ($cust['balance'] < $plan['price']) {
|
if ($cust['balance'] < ($plan['price']+$add_cost)) {
|
||||||
r2(U . 'prepaid/recharge', 'e', Lang::T('insufficient balance'));
|
r2(U . 'prepaid/recharge', 'e', Lang::T('insufficient balance'));
|
||||||
}
|
}
|
||||||
$gateway = 'Recharge Balance';
|
$gateway = 'Recharge Balance';
|
||||||
@ -153,7 +157,7 @@ switch ($action) {
|
|||||||
}
|
}
|
||||||
if (Package::rechargeUser($id_customer, $server, $planId, $gateway, $channel)) {
|
if (Package::rechargeUser($id_customer, $server, $planId, $gateway, $channel)) {
|
||||||
if ($using == 'balance') {
|
if ($using == 'balance') {
|
||||||
Balance::min($cust['id'], $plan['price']);
|
Balance::min($cust['id'], $plan['price']+$add_cost);
|
||||||
}
|
}
|
||||||
$in = ORM::for_table('tbl_transactions')->where('username', $cust['username'])->order_by_desc('id')->find_one();
|
$in = ORM::for_table('tbl_transactions')->where('username', $cust['username'])->order_by_desc('id')->find_one();
|
||||||
Package::createInvoice($in);
|
Package::createInvoice($in);
|
||||||
@ -692,7 +696,11 @@ switch ($action) {
|
|||||||
}
|
}
|
||||||
$ui->assign('_title', Lang::T('Refill Balance'));
|
$ui->assign('_title', Lang::T('Refill Balance'));
|
||||||
$ui->assign('xfooter', $select2_customer);
|
$ui->assign('xfooter', $select2_customer);
|
||||||
$ui->assign('p', ORM::for_table('tbl_plans')->where('enabled', '1')->where('type', 'Balance')->find_many());
|
if (in_array($admin['user_type'], ['SuperAdmin', 'Admin'])) {
|
||||||
|
$ui->assign('p', ORM::for_table('tbl_plans')->where('type', 'Balance')->find_many());
|
||||||
|
}else{
|
||||||
|
$ui->assign('p', ORM::for_table('tbl_plans')->where('enabled', '1')->where('type', 'Balance')->find_many());
|
||||||
|
}
|
||||||
run_hook('view_deposit'); #HOOK
|
run_hook('view_deposit'); #HOOK
|
||||||
$ui->display('deposit.tpl');
|
$ui->display('deposit.tpl');
|
||||||
break;
|
break;
|
||||||
|
@ -201,7 +201,7 @@ switch ($action) {
|
|||||||
$pool_expired = _post('pool_expired');
|
$pool_expired = _post('pool_expired');
|
||||||
$list_expired = _post('list_expired');
|
$list_expired = _post('list_expired');
|
||||||
$enabled = _post('enabled');
|
$enabled = _post('enabled');
|
||||||
$allow_purchase = _post('allow_purchase');
|
$prepaid = _post('prepaid');
|
||||||
|
|
||||||
$msg = '';
|
$msg = '';
|
||||||
if (Validator::UnsignedNumber($validity) == false) {
|
if (Validator::UnsignedNumber($validity) == false) {
|
||||||
@ -269,7 +269,7 @@ switch ($action) {
|
|||||||
$d->pool_expired = $pool_expired;
|
$d->pool_expired = $pool_expired;
|
||||||
$d->list_expired = $list_expired;
|
$d->list_expired = $list_expired;
|
||||||
$d->enabled = $enabled;
|
$d->enabled = $enabled;
|
||||||
$d->allow_purchase = $allow_purchase;
|
$d->prepaid = $prepaid;
|
||||||
$d->save();
|
$d->save();
|
||||||
$plan_id = $d->id();
|
$plan_id = $d->id();
|
||||||
|
|
||||||
@ -309,7 +309,7 @@ switch ($action) {
|
|||||||
$pool_expired = _post('pool_expired');
|
$pool_expired = _post('pool_expired');
|
||||||
$list_expired = _post('list_expired');
|
$list_expired = _post('list_expired');
|
||||||
$enabled = _post('enabled');
|
$enabled = _post('enabled');
|
||||||
$allow_purchase = _post('allow_purchase');
|
$prepaid = _post('prepaid');
|
||||||
$routers = _post('routers');
|
$routers = _post('routers');
|
||||||
$msg = '';
|
$msg = '';
|
||||||
if (Validator::UnsignedNumber($validity) == false) {
|
if (Validator::UnsignedNumber($validity) == false) {
|
||||||
@ -374,7 +374,7 @@ switch ($action) {
|
|||||||
$d->pool_expired = $pool_expired;
|
$d->pool_expired = $pool_expired;
|
||||||
$d->list_expired = $list_expired;
|
$d->list_expired = $list_expired;
|
||||||
$d->enabled = $enabled;
|
$d->enabled = $enabled;
|
||||||
$d->allow_purchase = $allow_purchase;
|
$d->prepaid = $prepaid;
|
||||||
$d->save();
|
$d->save();
|
||||||
|
|
||||||
r2(U . 'services/hotspot', 's', Lang::T('Data Updated Successfully'));
|
r2(U . 'services/hotspot', 's', Lang::T('Data Updated Successfully'));
|
||||||
@ -471,7 +471,7 @@ switch ($action) {
|
|||||||
$pool_expired = _post('pool_expired');
|
$pool_expired = _post('pool_expired');
|
||||||
$list_expired = _post('list_expired');
|
$list_expired = _post('list_expired');
|
||||||
$enabled = _post('enabled');
|
$enabled = _post('enabled');
|
||||||
$allow_purchase = _post('allow_purchase');
|
$prepaid = _post('prepaid');
|
||||||
|
|
||||||
|
|
||||||
$msg = '';
|
$msg = '';
|
||||||
@ -533,7 +533,7 @@ switch ($action) {
|
|||||||
$d->pool_expired = $pool_expired;
|
$d->pool_expired = $pool_expired;
|
||||||
$d->list_expired = $list_expired;
|
$d->list_expired = $list_expired;
|
||||||
$d->enabled = $enabled;
|
$d->enabled = $enabled;
|
||||||
$d->allow_purchase = $allow_purchase;
|
$d->prepaid = $prepaid;
|
||||||
$d->save();
|
$d->save();
|
||||||
$plan_id = $d->id();
|
$plan_id = $d->id();
|
||||||
|
|
||||||
@ -566,7 +566,7 @@ switch ($action) {
|
|||||||
$pool_expired = _post('pool_expired');
|
$pool_expired = _post('pool_expired');
|
||||||
$list_expired = _post('list_expired');
|
$list_expired = _post('list_expired');
|
||||||
$enabled = _post('enabled');
|
$enabled = _post('enabled');
|
||||||
$allow_purchase = _post('allow_purchase');
|
$prepaid = _post('prepaid');
|
||||||
|
|
||||||
$msg = '';
|
$msg = '';
|
||||||
if (Validator::UnsignedNumber($validity) == false) {
|
if (Validator::UnsignedNumber($validity) == false) {
|
||||||
@ -626,7 +626,7 @@ switch ($action) {
|
|||||||
$d->pool_expired = $pool_expired;
|
$d->pool_expired = $pool_expired;
|
||||||
$d->list_expired = $list_expired;
|
$d->list_expired = $list_expired;
|
||||||
$d->enabled = $enabled;
|
$d->enabled = $enabled;
|
||||||
$d->allow_purchase = $allow_purchase;
|
$d->prepaid = $prepaid;
|
||||||
$d->save();
|
$d->save();
|
||||||
|
|
||||||
r2(U . 'services/pppoe', 's', Lang::T('Data Updated Successfully'));
|
r2(U . 'services/pppoe', 's', Lang::T('Data Updated Successfully'));
|
||||||
@ -678,7 +678,7 @@ switch ($action) {
|
|||||||
$name = _post('name');
|
$name = _post('name');
|
||||||
$price = _post('price');
|
$price = _post('price');
|
||||||
$enabled = _post('enabled');
|
$enabled = _post('enabled');
|
||||||
$allow_purchase = _post('allow_purchase');
|
$prepaid = _post('prepaid');
|
||||||
|
|
||||||
$msg = '';
|
$msg = '';
|
||||||
if (Validator::UnsignedNumber($price) == false) {
|
if (Validator::UnsignedNumber($price) == false) {
|
||||||
@ -698,7 +698,7 @@ switch ($action) {
|
|||||||
$d->name_plan = $name;
|
$d->name_plan = $name;
|
||||||
$d->price = $price;
|
$d->price = $price;
|
||||||
$d->enabled = $enabled;
|
$d->enabled = $enabled;
|
||||||
$d->allow_purchase = $allow_purchase;
|
$d->prepaid = 'yes';
|
||||||
$d->save();
|
$d->save();
|
||||||
|
|
||||||
r2(U . 'services/balance', 's', Lang::T('Data Updated Successfully'));
|
r2(U . 'services/balance', 's', Lang::T('Data Updated Successfully'));
|
||||||
@ -710,7 +710,6 @@ switch ($action) {
|
|||||||
$name = _post('name');
|
$name = _post('name');
|
||||||
$price = _post('price');
|
$price = _post('price');
|
||||||
$enabled = _post('enabled');
|
$enabled = _post('enabled');
|
||||||
$allow_purchase = _post('allow_purchase');
|
|
||||||
|
|
||||||
$msg = '';
|
$msg = '';
|
||||||
if (Validator::UnsignedNumber($price) == false) {
|
if (Validator::UnsignedNumber($price) == false) {
|
||||||
@ -736,7 +735,7 @@ switch ($action) {
|
|||||||
$d->routers = '';
|
$d->routers = '';
|
||||||
$d->pool = '';
|
$d->pool = '';
|
||||||
$d->enabled = $enabled;
|
$d->enabled = $enabled;
|
||||||
$d->allow_purchase = $allow_purchase;
|
$d->prepaid = 'yes';
|
||||||
$d->save();
|
$d->save();
|
||||||
|
|
||||||
r2(U . 'services/balance', 's', Lang::T('Data Created Successfully'));
|
r2(U . 'services/balance', 's', Lang::T('Data Created Successfully'));
|
||||||
|
@ -468,7 +468,7 @@
|
|||||||
"Payment_Gateway_Deleted": "Payment Gateway Deleted",
|
"Payment_Gateway_Deleted": "Payment Gateway Deleted",
|
||||||
"Payment_Gateway_not_set__please_set_it_in_Settings": "Payment Gateway not set, please set it in Settings",
|
"Payment_Gateway_not_set__please_set_it_in_Settings": "Payment Gateway not set, please set it in Settings",
|
||||||
"Failed_to_create_Transaction__": "Failed to create Transaction..",
|
"Failed_to_create_Transaction__": "Failed to create Transaction..",
|
||||||
"Show_To_Customer": "Show To Customer",
|
"Show_To_Customer": "Type",
|
||||||
"Using": "Using",
|
"Using": "Using",
|
||||||
"Default": "Default",
|
"Default": "Default",
|
||||||
"Customer_Balance": "Customer Balance"
|
"Customer_Balance": "Customer Balance"
|
||||||
|
@ -72,5 +72,8 @@
|
|||||||
],
|
],
|
||||||
"2024.3.3" : [
|
"2024.3.3" : [
|
||||||
"ALTER TABLE `tbl_plans` CHANGE `validity_unit` `validity_unit` ENUM('Mins','Hrs','Days','Months','Period') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL;"
|
"ALTER TABLE `tbl_plans` CHANGE `validity_unit` `validity_unit` ENUM('Mins','Hrs','Days','Months','Period') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL;"
|
||||||
|
],
|
||||||
|
"2024.3.12" : [
|
||||||
|
"ALTER TABLE `tbl_plans` CHANGE `allow_purchase` `prepaid` ENUM('yes','no') CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'yes' COMMENT 'is prepaid';"
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -1,4 +1,4 @@
|
|||||||
<option value="">Select Plans</option>
|
<option value="">Select Plans</option>
|
||||||
{foreach $d as $ds}
|
{foreach $d as $ds}
|
||||||
<option value="{$ds['id']}">{if $ds['enabled'] neq 1}DISABLED PLAN • {/if}{$ds['name_plan']} • {Lang::moneyFormat($ds['price'])}{if $ds['allow_purchase'] neq 'yes'} • HIDDEN PLAN {/if}</option>
|
<option value="{$ds['id']}">{if $ds['enabled'] neq 1}DISABLED PLAN • {/if}{$ds['name_plan']} • {Lang::moneyFormat($ds['price'])}{if $ds['prepaid'] neq 'yes'} • POSTPAID {/if}</option>
|
||||||
{/foreach}
|
{/foreach}
|
@ -17,17 +17,6 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-md-2 control-label">{Lang::T('')}</label>
|
|
||||||
<div class="col-md-10">
|
|
||||||
<label class="radio-inline warning">
|
|
||||||
<input type="radio" checked name="allow_purchase" value="yes"> Yes
|
|
||||||
</label>
|
|
||||||
<label class="radio-inline">
|
|
||||||
<input type="radio" name="allow_purchase" value="no"> No
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-2 control-label">{Lang::T('Plan Name')}</label>
|
<label class="col-md-2 control-label">{Lang::T('Plan Name')}</label>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
|
@ -18,18 +18,6 @@
|
|||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
|
||||||
<label class="col-md-2 control-label">{Lang::T('Show To Customer')}</label>
|
|
||||||
<div class="col-md-10">
|
|
||||||
<label class="radio-inline warning">
|
|
||||||
<input type="radio" {if $d['allow_purchase'] == yes}checked{/if} name="allow_purchase" value="yes"> Yes
|
|
||||||
</label>
|
|
||||||
<label class="radio-inline">
|
|
||||||
<input type="radio" {if $d['allow_purchase'] == no}checked{/if} name="allow_purchase" value="no">
|
|
||||||
No
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-2 control-label">{Lang::T('Plan Name')}</label>
|
<label class="col-md-2 control-label">{Lang::T('Plan Name')}</label>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
data-placeholder="{Lang::T('Select Plans')}...">
|
data-placeholder="{Lang::T('Select Plans')}...">
|
||||||
<option></option>
|
<option></option>
|
||||||
{foreach $p as $pl}
|
{foreach $p as $pl}
|
||||||
<option value="{$pl['id']}">{$pl['name_plan']} - {Lang::moneyFormat($pl['price'])}</option>
|
<option value="{$pl['id']}">{if $pl['enabled'] neq 1}DISABLED PLAN • {/if}{$pl['name_plan']} - {Lang::moneyFormat($pl['price'])}</option>
|
||||||
{/foreach}
|
{/foreach}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
@ -14,10 +14,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-2 control-label">{Lang::T('Show To Customer')}</label>
|
<label class="col-md-2 control-label">{Lang::T('Type')}</label>
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input type="radio" name="allow_purchase" value="yes" checked> Yes
|
<input type="radio" name="prepaid" onclick="prepaid()" value="yes" checked> Prepaid
|
||||||
<input type="radio" name="allow_purchase" value="no"> No
|
<input type="radio" name="prepaid" onclick="postpaid()" value="no"> Postpaid
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{if $_c['radius_enable']}
|
{if $_c['radius_enable']}
|
||||||
@ -118,17 +118,12 @@
|
|||||||
<label class="col-md-2 control-label">{Lang::T('Plan Validity')}</label>
|
<label class="col-md-2 control-label">{Lang::T('Plan Validity')}</label>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<input type="text" class="form-control" id="validity" name="validity">
|
<input type="text" class="form-control" id="validity" name="validity">
|
||||||
<p class="help-block">{Lang::T('1 Period = 1 Month, Expires the 20th of each month')}</p>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
<select class="form-control" id="validity_unit" name="validity_unit">
|
<select class="form-control" id="validity_unit" name="validity_unit">
|
||||||
<option value="Mins">{Lang::T('Mins')}</option>
|
|
||||||
<option value="Hrs">{Lang::T('Hrs')}</option>
|
|
||||||
<option value="Days">{Lang::T('Days')}</option>
|
|
||||||
<option value="Months">{Lang::T('Months')}</option>
|
|
||||||
<option value="Period">{Lang::T('Period')}</option>
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
<p class="help-block col-md-4">{Lang::T('1 Period = 1 Month, Expires the 20th of each month')}</p>
|
||||||
</div>
|
</div>
|
||||||
<span id="routerChoose" class="">
|
<span id="routerChoose" class="">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
@ -163,8 +158,7 @@
|
|||||||
</div> *}
|
</div> *}
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="col-md-offset-2 col-md-10">
|
<div class="col-md-offset-2 col-md-10">
|
||||||
<button class="btn btn-success"
|
<button class="btn btn-success" type="submit">{Lang::T('Save Changes')}</button>
|
||||||
type="submit">{Lang::T('Save Changes')}</button>
|
|
||||||
Or <a href="{$_url}services/hotspot">{Lang::T('Cancel')}</a>
|
Or <a href="{$_url}services/hotspot">{Lang::T('Cancel')}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -173,6 +167,23 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<script>
|
||||||
|
var preOpt = `<option value="Mins">{Lang::T('Mins')}</option>
|
||||||
|
<option value="Hrs">{Lang::T('Hrs')}</option>
|
||||||
|
<option value="Days">{Lang::T('Days')}</option>
|
||||||
|
<option value="Months">{Lang::T('Months')}</option>`;
|
||||||
|
var postOpt = `<option value="Period">{Lang::T('Period')}</option>`;
|
||||||
|
function prepaid() {
|
||||||
|
$("#validity_unit").html(preOpt);
|
||||||
|
}
|
||||||
|
|
||||||
|
function postpaid() {
|
||||||
|
$("#validity_unit").html(postOpt);
|
||||||
|
}
|
||||||
|
document.addEventListener("DOMContentLoaded", function(event) {
|
||||||
|
prepaid()
|
||||||
|
})
|
||||||
|
</script>
|
||||||
{if $_c['radius_enable']}
|
{if $_c['radius_enable']}
|
||||||
{literal}
|
{literal}
|
||||||
<script>
|
<script>
|
||||||
|
@ -10,15 +10,18 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-2 control-label">{Lang::T('Status')}</label>
|
<label class="col-md-2 control-label">{Lang::T('Status')}</label>
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input type="radio" name="enabled" value="1" {if $d['enabled'] == 1}checked{/if}> Enable
|
<input type="radio" name="enabled" value="1" {if $d['enabled'] == 1}checked{/if}> Enable
|
||||||
<input type="radio" name="enabled" value="0" {if $d['enabled'] == 0}checked{/if}> Disable
|
<input type="radio" name="enabled" value="0" {if $d['enabled'] == 0}checked{/if}> Disable
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-2 control-label">{Lang::T('Show To Customer')}</label>
|
<label class="col-md-2 control-label">{Lang::T('Type')}</label>
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input type="radio" name="allow_purchase" value="yes" {if $d['allow_purchase'] == yes}checked{/if}> Yes
|
<input type="radio" name="prepaid" onclick="prepaid()" value="yes"
|
||||||
<input type="radio" name="allow_purchase" value="no" {if $d['allow_purchase'] == no}checked{/if}> No
|
{if $d['prepaid'] == yes}checked{/if}>
|
||||||
|
Prepaid
|
||||||
|
<input type="radio" name="prepaid" onclick="postpaid()" value="no"
|
||||||
|
{if $d['prepaid'] == no}checked{/if}> Postpaid
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{if $_c['radius_enable'] and $d['is_radius']}
|
{if $_c['radius_enable'] and $d['is_radius']}
|
||||||
@ -128,21 +131,26 @@
|
|||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<input type="text" class="form-control" id="validity" name="validity"
|
<input type="text" class="form-control" id="validity" name="validity"
|
||||||
value="{$d['validity']}">
|
value="{$d['validity']}">
|
||||||
<p class="help-block">{Lang::T('1 Period = 1 Month, Expires the 20th of each month')}</p>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
<select class="form-control" id="validity_unit" name="validity_unit">
|
<select class="form-control" id="validity_unit" name="validity_unit">
|
||||||
<option value="Mins" {if $d['validity_unit'] eq 'Mins'} selected {/if}>{Lang::T('Mins')}
|
{if $d['prepaid'] == yes}
|
||||||
</option>
|
<option value="Mins" {if $d['validity_unit'] eq 'Mins'} selected {/if}>{Lang::T('Mins')}
|
||||||
<option value="Hrs" {if $d['validity_unit'] eq 'Hrs'} selected {/if}>{Lang::T('Hrs')}
|
</option>
|
||||||
</option>
|
<option value="Hrs" {if $d['validity_unit'] eq 'Hrs'} selected {/if}>{Lang::T('Hrs')}
|
||||||
<option value="Days" {if $d['validity_unit'] eq 'Days'} selected {/if}>{Lang::T('Days')}
|
</option>
|
||||||
</option>
|
<option value="Days" {if $d['validity_unit'] eq 'Days'} selected {/if}>{Lang::T('Days')}
|
||||||
<option value="Months" {if $d['validity_unit'] eq 'Months'} selected {/if}>
|
</option>
|
||||||
{Lang::T('Months')}</option>
|
<option value="Months" {if $d['validity_unit'] eq 'Months'} selected {/if}>
|
||||||
<option value="Period" {if $d['validity_unit'] eq 'Period'} selected {/if}>{Lang::T('Period')}</option>
|
{Lang::T('Months')}</option>
|
||||||
|
{else}
|
||||||
|
<option value="Period" {if $d['validity_unit'] eq 'Period'} selected {/if}>
|
||||||
|
{Lang::T('Period')}</option>
|
||||||
|
{/if}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
<p class="help-block col-md-4">{Lang::T('1 Period = 1 Month, Expires the 20th of each month')}
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<span id="routerChoose" class="{if $d['is_radius']}hidden{/if}">
|
<span id="routerChoose" class="{if $d['is_radius']}hidden{/if}">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
@ -176,8 +184,7 @@
|
|||||||
</div> *}
|
</div> *}
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="col-md-offset-2 col-md-10">
|
<div class="col-md-offset-2 col-md-10">
|
||||||
<button class="btn btn-success"
|
<button class="btn btn-success" type="submit">{Lang::T('Save Changes')}</button>
|
||||||
type="submit">{Lang::T('Save Changes')}</button>
|
|
||||||
Or <a href="{$_url}services/hotspot">{Lang::T('Cancel')}</a>
|
Or <a href="{$_url}services/hotspot">{Lang::T('Cancel')}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -188,6 +195,21 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var preOpt = `<option value="Mins">{Lang::T('Mins')}</option>
|
||||||
|
<option value="Hrs">{Lang::T('Hrs')}</option>
|
||||||
|
<option value="Days">{Lang::T('Days')}</option>
|
||||||
|
<option value="Months">{Lang::T('Months')}</option>`;
|
||||||
|
var postOpt = `<option value="Period">{Lang::T('Period')}</option>`;
|
||||||
|
function prepaid() {
|
||||||
|
$("#validity_unit").html(preOpt);
|
||||||
|
}
|
||||||
|
|
||||||
|
function postpaid() {
|
||||||
|
$("#validity_unit").html(postOpt);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
{if $_c['radius_enable'] && $d['is_radius']}
|
{if $_c['radius_enable'] && $d['is_radius']}
|
||||||
{literal}
|
{literal}
|
||||||
<script>
|
<script>
|
||||||
@ -215,4 +237,4 @@
|
|||||||
</script>
|
</script>
|
||||||
{/literal}
|
{/literal}
|
||||||
{/if}
|
{/if}
|
||||||
{include file="sections/footer.tpl"}
|
{include file="sections/footer.tpl"}
|
@ -51,7 +51,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{foreach $d as $ds}
|
{foreach $d as $ds}
|
||||||
<tr {if $ds['enabled'] != 1}class="danger" title="disabled"
|
<tr {if $ds['enabled'] != 1}class="danger" title="disabled"
|
||||||
{elseif $ds['allow_purchase'] != 'yes'}class="warning" title="Customer can't purchase" {/if}>
|
{elseif $ds['prepaid'] != 'yes'}class="warning" title="Postpaid" {/if}>
|
||||||
<td class="headcol">{$ds['name_plan']}</td>
|
<td class="headcol">{$ds['name_plan']}</td>
|
||||||
<td>{$ds['typebp']}</td>
|
<td>{$ds['typebp']}</td>
|
||||||
<td>{$ds['name_bw']}</td>
|
<td>{$ds['name_bw']}</td>
|
||||||
|
@ -14,10 +14,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-2 control-label">{Lang::T('Show To Customer')}</label>
|
<label class="col-md-2 control-label">{Lang::T('Type')}</label>
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input type="radio" checked name="allow_purchase" value="yes"> Yes
|
<input type="radio" name="prepaid" onclick="prepaid()" value="yes" checked> Prepaid
|
||||||
<input type="radio" name="allow_purchase" value="no"> No
|
<input type="radio" name="prepaid" onclick="postpaid()" value="no"> Postpaid
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{if $_c['radius_enable']}
|
{if $_c['radius_enable']}
|
||||||
@ -60,17 +60,12 @@
|
|||||||
<label class="col-md-2 control-label">{Lang::T('Plan Validity')}</label>
|
<label class="col-md-2 control-label">{Lang::T('Plan Validity')}</label>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<input type="text" class="form-control" id="validity" name="validity">
|
<input type="text" class="form-control" id="validity" name="validity">
|
||||||
<p class="help-block">{Lang::T('1 Period = 1 Month, Expires the 20th of each month')}</p>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
<select class="form-control" id="validity_unit" name="validity_unit">
|
<select class="form-control" id="validity_unit" name="validity_unit">
|
||||||
<option value="Mins">{Lang::T('Mins')}</option>
|
|
||||||
<option value="Hrs">{Lang::T('Hrs')}</option>
|
|
||||||
<option value="Days">{Lang::T('Days')}</option>
|
|
||||||
<option value="Months">{Lang::T('Months')}</option>
|
|
||||||
<option value="Period">{Lang::T('Period')}</option>
|
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
<p class="help-block col-md-4">{Lang::T('1 Period = 1 Month, Expires the 20th of each month')}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-2 control-label"><a
|
<label class="col-md-2 control-label"><a
|
||||||
@ -121,6 +116,23 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<script>
|
||||||
|
var preOpt = `<option value="Mins">{Lang::T('Mins')}</option>
|
||||||
|
<option value="Hrs">{Lang::T('Hrs')}</option>
|
||||||
|
<option value="Days">{Lang::T('Days')}</option>
|
||||||
|
<option value="Months">{Lang::T('Months')}</option>`;
|
||||||
|
var postOpt = `<option value="Period">{Lang::T('Period')}</option>`;
|
||||||
|
function prepaid() {
|
||||||
|
$("#validity_unit").html(preOpt);
|
||||||
|
}
|
||||||
|
|
||||||
|
function postpaid() {
|
||||||
|
$("#validity_unit").html(postOpt);
|
||||||
|
}
|
||||||
|
document.addEventListener("DOMContentLoaded", function(event) {
|
||||||
|
prepaid()
|
||||||
|
})
|
||||||
|
</script>
|
||||||
{if $_c['radius_enable']}
|
{if $_c['radius_enable']}
|
||||||
{literal}
|
{literal}
|
||||||
<script>
|
<script>
|
||||||
|
@ -15,10 +15,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-2 control-label">{Lang::T('Show To Customer')}</label>
|
<label class="col-md-2 control-label">{Lang::T('Type')}</label>
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<input type="radio" name="allow_purchase" value="yes" {if $d['allow_purchase'] == yes}checked{/if}> Yes
|
<input type="radio" name="prepaid" value="yes" {if $d['prepaid'] == yes}checked{/if}>
|
||||||
<input type="radio" name="allow_purchase" value="no" {if $d['allow_purchase'] == no}checked{/if}> No
|
Prepaid
|
||||||
|
<input type="radio" name="prepaid" value="no" {if $d['prepaid'] == no}checked{/if}> Postpaid
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{if $_c['radius_enable'] and $d['is_radius']}
|
{if $_c['radius_enable'] and $d['is_radius']}
|
||||||
@ -62,20 +63,25 @@
|
|||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<input type="text" class="form-control" id="validity" name="validity"
|
<input type="text" class="form-control" id="validity" name="validity"
|
||||||
value="{$d['validity']}">
|
value="{$d['validity']}">
|
||||||
<p class="help-block">{Lang::T('1 Period = 1 Month, Expires the 20th of each month')}</p>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-2">
|
<div class="col-md-2">
|
||||||
<select class="form-control" id="validity_unit" name="validity_unit">
|
<select class="form-control" id="validity_unit" name="validity_unit">
|
||||||
<option value="Mins" {if $d['validity_unit'] eq 'Mins'} selected {/if}>{Lang::T('Mins')}
|
{if $d['prepaid'] == yes}
|
||||||
</option>
|
<option value="Mins" {if $d['validity_unit'] eq 'Mins'} selected {/if}>{Lang::T('Mins')}
|
||||||
<option value="Hrs" {if $d['validity_unit'] eq 'Hrs'} selected {/if}>{Lang::T('Hrs')}
|
</option>
|
||||||
</option>
|
<option value="Hrs" {if $d['validity_unit'] eq 'Hrs'} selected {/if}>{Lang::T('Hrs')}
|
||||||
<option value="Days" {if $d['validity_unit'] eq 'Days'} selected {/if}>{Lang::T('Days')}
|
</option>
|
||||||
</option>
|
<option value="Days" {if $d['validity_unit'] eq 'Days'} selected {/if}>{Lang::T('Days')}
|
||||||
<option value="Months" {if $d['validity_unit'] eq 'Months'} selected {/if}>
|
</option>
|
||||||
{Lang::T('Months')}</option>
|
<option value="Months" {if $d['validity_unit'] eq 'Months'} selected {/if}>
|
||||||
<option value="Period" {if $d['validity_unit'] eq 'Period'} selected {/if}>{Lang::T('Period')}</option>
|
{Lang::T('Months')}</option>
|
||||||
|
{else}
|
||||||
|
<option value="Period" {if $d['validity_unit'] eq 'Period'} selected {/if}>
|
||||||
|
{Lang::T('Period')}</option>
|
||||||
|
{/if}
|
||||||
</select>
|
</select>
|
||||||
|
<p class="help-block col-md-4">
|
||||||
|
{Lang::T('1 Period = 1 Month, Expires the 20th of each month')}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
@ -118,8 +124,7 @@
|
|||||||
</div> *}
|
</div> *}
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="col-lg-offset-2 col-lg-10">
|
<div class="col-lg-offset-2 col-lg-10">
|
||||||
<button class="btn btn-success"
|
<button class="btn btn-success" type="submit">{Lang::T('Save Changes')}</button>
|
||||||
type="submit">{Lang::T('Save Changes')}</button>
|
|
||||||
Or <a href="{$_url}services/pppoe">{Lang::T('Cancel')}</a>
|
Or <a href="{$_url}services/pppoe">{Lang::T('Cancel')}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -129,6 +134,21 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var preOpt = `<option value="Mins">{Lang::T('Mins')}</option>
|
||||||
|
<option value="Hrs">{Lang::T('Hrs')}</option>
|
||||||
|
<option value="Days">{Lang::T('Days')}</option>
|
||||||
|
<option value="Months">{Lang::T('Months')}</option>`;
|
||||||
|
var postOpt = `<option value="Period">{Lang::T('Period')}</option>`;
|
||||||
|
function prepaid() {
|
||||||
|
$("#validity_unit").html(preOpt);
|
||||||
|
}
|
||||||
|
|
||||||
|
function postpaid() {
|
||||||
|
$("#validity_unit").html(postOpt);
|
||||||
|
}
|
||||||
|
</script>
|
||||||
{if $_c['radius_enable'] && $d['is_radius']}
|
{if $_c['radius_enable'] && $d['is_radius']}
|
||||||
{literal}
|
{literal}
|
||||||
<script>
|
<script>
|
||||||
@ -147,4 +167,4 @@
|
|||||||
</script>
|
</script>
|
||||||
{/literal}
|
{/literal}
|
||||||
{/if}
|
{/if}
|
||||||
{include file="sections/footer.tpl"}
|
{include file="sections/footer.tpl"}
|
@ -49,7 +49,7 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
{foreach $d as $ds}
|
{foreach $d as $ds}
|
||||||
<tr {if $ds['enabled'] != 1}class="danger" title="disabled"
|
<tr {if $ds['enabled'] != 1}class="danger" title="disabled"
|
||||||
{elseif $ds['allow_purchase'] != 'yes'}class="warning" title="Customer can't purchase" {/if}>
|
{elseif $ds['prepaid'] != 'yes'}class="warning" title="Postpaid" {/if}>
|
||||||
<td>{$ds['name_plan']}</td>
|
<td>{$ds['name_plan']}</td>
|
||||||
<td>{$ds['name_bw']}</td>
|
<td>{$ds['name_bw']}</td>
|
||||||
<td>{Lang::moneyFormat($ds['price'])}</td>
|
<td>{Lang::moneyFormat($ds['price'])}</td>
|
||||||
|
@ -52,6 +52,7 @@
|
|||||||
<option value="zero">{$_c['currency_code']} 0</option>
|
<option value="zero">{$_c['currency_code']} 0</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
<p class="help-block col-md-4">Postpaid Recharge for the first time use {$_c['currency_code']} 0</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<div class="col-lg-offset-2 col-lg-10">
|
<div class="col-lg-offset-2 col-lg-10">
|
||||||
|
@ -37,36 +37,36 @@
|
|||||||
margin-top: 100px;
|
margin-top: 100px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.loading {
|
.loading {
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
opacity: 0.7;
|
opacity: 0.7;
|
||||||
}
|
}
|
||||||
|
|
||||||
.loading::after {
|
.loading::after {
|
||||||
content: "";
|
content: "";
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 16px;
|
width: 16px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
border: 2px solid #fff;
|
border: 2px solid #fff;
|
||||||
border-top-color: transparent;
|
border-top-color: transparent;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
animation: spin 0.8s infinite linear;
|
animation: spin 0.8s infinite linear;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes spin {
|
@keyframes spin {
|
||||||
0% {
|
0% {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
}
|
}
|
||||||
|
|
||||||
100% {
|
100% {
|
||||||
transform: rotate(360deg);
|
transform: rotate(360deg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
{if isset($xheader)}
|
{if isset($xheader)}
|
||||||
{$xheader}
|
{$xheader}
|
||||||
@ -90,7 +90,8 @@
|
|||||||
<li class="dropdown user user-menu">
|
<li class="dropdown user user-menu">
|
||||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||||
{if $_c['enable_balance'] == 'yes'}
|
{if $_c['enable_balance'] == 'yes'}
|
||||||
<span style="color: whitesmoke;"> {Lang::moneyFormat($_user['balance'])} </span>
|
<span
|
||||||
|
style="color: whitesmoke;"> {Lang::moneyFormat($_user['balance'])} </span>
|
||||||
{else}
|
{else}
|
||||||
<span>{$_user['fullname']}</span>
|
<span>{$_user['fullname']}</span>
|
||||||
{/if}
|
{/if}
|
||||||
@ -107,7 +108,7 @@
|
|||||||
<p>
|
<p>
|
||||||
{$_user['fullname']}
|
{$_user['fullname']}
|
||||||
<small>{$_user['phonenumber']}<br>
|
<small>{$_user['phonenumber']}<br>
|
||||||
{$_user['email']}</small>
|
{$_user['email']}</small>
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li class="user-body">
|
<li class="user-body">
|
||||||
@ -197,20 +198,20 @@
|
|||||||
|
|
||||||
|
|
||||||
{if isset($notify)}
|
{if isset($notify)}
|
||||||
<script>
|
<script>
|
||||||
// Display SweetAlert toast notification
|
// Display SweetAlert toast notification
|
||||||
Swal.fire({
|
Swal.fire({
|
||||||
icon: '{if $notify_t == "s"}success{else}warning{/if}',
|
icon: '{if $notify_t == "s"}success{else}warning{/if}',
|
||||||
title: '{$notify}',
|
title: '{$notify}',
|
||||||
toast: true,
|
toast: true,
|
||||||
position: 'top-end',
|
position: 'top-end',
|
||||||
showConfirmButton: false,
|
showConfirmButton: false,
|
||||||
timer: 5000,
|
timer: 5000,
|
||||||
timerProgressBar: true,
|
timerProgressBar: true,
|
||||||
didOpen: (toast) => {
|
didOpen: (toast) => {
|
||||||
toast.addEventListener('mouseenter', Swal.stopTimer)
|
toast.addEventListener('mouseenter', Swal.stopTimer)
|
||||||
toast.addEventListener('mouseleave', Swal.resumeTimer)
|
toast.addEventListener('mouseleave', Swal.resumeTimer)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
{/if}
|
{/if}
|
@ -148,13 +148,19 @@
|
|||||||
{if $_bill['time'] ne ''}{Lang::dateAndTimeFormat($_bill['expiration'],$_bill['time'])}{/if}
|
{if $_bill['time'] ne ''}{Lang::dateAndTimeFormat($_bill['expiration'],$_bill['time'])}{/if}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{if $nux_ip}
|
<tr>
|
||||||
|
<td class="small text-success text-uppercase text-normal">{Lang::T('Type')}</td>
|
||||||
|
<td class="small mb15 text-success">
|
||||||
|
<b>{if $_bill['prepaid'] eq yes}Prepaid{else}Postpaid{/if}</b>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{if $nux_ip neq ''}
|
||||||
<tr>
|
<tr>
|
||||||
<td class="small text-primary text-uppercase text-normal">{Lang::T('Current IP')}</td>
|
<td class="small text-primary text-uppercase text-normal">{Lang::T('Current IP')}</td>
|
||||||
<td class="small mb15">{$nux_ip}</td>
|
<td class="small mb15">{$nux_ip}</td>
|
||||||
</tr>
|
</tr>
|
||||||
{/if}
|
{/if}
|
||||||
{if $nux_mac}
|
{if $nux_mac neq ''}
|
||||||
<tr>
|
<tr>
|
||||||
<td class="small text-primary text-uppercase text-normal">{Lang::T('Current MAC')}</td>
|
<td class="small text-primary text-uppercase text-normal">{Lang::T('Current MAC')}</td>
|
||||||
<td class="small mb15">{$nux_mac}</td>
|
<td class="small mb15">{$nux_mac}</td>
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"version": "2024.3.12"
|
"version": "2024.3.13"
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user