Merge branch 'Development' into Development
This commit is contained in:
commit
c548f8e307
@ -233,7 +233,7 @@ try {
|
||||
$v->status = "1";
|
||||
$v->used_date = date('Y-m-d H:i:s');
|
||||
$v->save();
|
||||
$tur = ORM::for_table('tbl_user_recharges')->whereRaw("BINARY `code` = '$username'")->find_one();
|
||||
$tur = ORM::for_table('tbl_user_recharges')->whereRaw("BINARY `username` = '$username'")->find_one();
|
||||
if ($tur) {
|
||||
process_radiust_rest($tur, $code);
|
||||
} else {
|
||||
@ -323,8 +323,8 @@ try {
|
||||
$d->macaddr = _post('macAddr');
|
||||
$d->dateAdded = date('Y-m-d H:i:s');
|
||||
$d->save();
|
||||
if ($d->acctstatustype == 'Start') {
|
||||
$tur = ORM::for_table('tbl_user_recharges')->whereRaw("BINARY `code` = '$username'")->where('status', 'on')->where('routers', 'radius')->find_one();
|
||||
if (_post('acctStatusType') == 'Start') {
|
||||
$tur = ORM::for_table('tbl_user_recharges')->whereRaw("BINARY `username` = '$username'")->where('status', 'on')->where('routers', 'radius')->find_one();
|
||||
$plan = ORM::for_table('tbl_plans')->where('id', $tur['plan_id'])->find_one();
|
||||
if ($plan['limit_type'] == "Data_Limit" || $plan['limit_type'] == "Both_Limit") {
|
||||
$totalUsage = $d['acctOutputOctets'] + $d['acctInputOctets'];
|
||||
|
@ -702,5 +702,25 @@
|
||||
"New_Voucher_Created": "New Voucher Created",
|
||||
"New_Voucher_for_10mbps_Created": "New Voucher for 10mbps Created",
|
||||
"Show_Chart": "Show Chart",
|
||||
"": ""
|
||||
"For_PDF_Reports___Best_size_1078_x_200___uploaded_image_will_be_autosize": "For PDF Reports | Best size 1078 x 200 | uploaded image will be autosize",
|
||||
"For_invoice_print_using_Thermal_Printer": "For invoice print using Thermal Printer",
|
||||
"Theme": "Theme",
|
||||
"Theme_Info": "Theme Info",
|
||||
"This_used_for_admin_to_select_payment_in_recharge__using_comma_for_every_new_options": "This used for admin to select payment in recharge, using comma for every new options",
|
||||
"Income_will_reset_every_this_day": "Income will reset every this day",
|
||||
"edit_at_config_php": "edit at config.php",
|
||||
"Hide_Dashboard_Content": "Hide Dashboard Content",
|
||||
"Radius_Instructions": "Radius Instructions",
|
||||
"Customer_can_request_to_extend_expirations": "Customer can request to extend expirations",
|
||||
"i_agree_to_extends_and_will_paid_full_after_this": "i agree to extends and will paid full after this",
|
||||
"Telegram_Bot_Token": "Telegram Bot Token",
|
||||
"You_will_get_Payment_and_Error_notification_": "You will get Payment and Error notification<",
|
||||
"Must_include": "Must include",
|
||||
"it_will_be_replaced_": "it will be replaced.",
|
||||
"Or_use_Mikrotik_SMS": "Or use Mikrotik SMS",
|
||||
"You_can_use": "You can use",
|
||||
"in_here_too_": "in here too.",
|
||||
"Empty_this_to_use_internal_mail___PHP": "Empty this to use internal mail() PHP",
|
||||
"Mail_Reply_To": "Mail Reply To",
|
||||
"Customer_will_reply_email_to_this_address__empty_if_you_want_to_use_From_Address": "Customer will reply email to this address, empty if you want to use From Address"
|
||||
}
|
BIN
system/vendor/mpdf/mpdf/ttfonts/DejaVuSansMono.ttf
vendored
Normal file
BIN
system/vendor/mpdf/mpdf/ttfonts/DejaVuSansMono.ttf
vendored
Normal file
Binary file not shown.
@ -83,7 +83,8 @@
|
||||
</select>
|
||||
</div>
|
||||
<p class="help-block col-md-4"><a
|
||||
href="https://github.com/hotspotbilling/phpnuxbill/wiki/Themes" target="_blank">{Lang::T('Theme Info')}</a></p>
|
||||
href="https://github.com/hotspotbilling/phpnuxbill/wiki/Themes"
|
||||
target="_blank">{Lang::T('Theme Info')}</a></p>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label">{Lang::T('Recharge Using')}</label>
|
||||
@ -92,8 +93,9 @@
|
||||
value="{$_c['payment_usings']}"
|
||||
placeholder="{Lang::T('Cash')}, {Lang::T('Bank Transfer')}">
|
||||
</div>
|
||||
<p class="help-block col-md-4">{Lang::T('This used for admin to select payment in recharge, using comma
|
||||
for every new options')}</p>
|
||||
<p class="help-block col-md-4">
|
||||
{Lang::T('This used for admin to select payment in recharge, using comma for every new options')}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
@ -191,8 +193,7 @@
|
||||
</select>
|
||||
</div>
|
||||
<p class="help-block col-md-4">
|
||||
{Lang::T('Customer just Login with Phone number and Voucher Code, Voucher will be
|
||||
password')}
|
||||
{Lang::T('Customer just Login with Phone number and Voucher Code, Voucher will be password')}
|
||||
</p>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@ -202,8 +203,7 @@
|
||||
placeholder="https://192.168.88.1/status" value="{$_c['voucher_redirect']}">
|
||||
</div>
|
||||
<p class="help-block col-md-4">
|
||||
{Lang::T('After Customer activate voucher or login, customer will be redirected to this
|
||||
url')}
|
||||
{Lang::T('After Customer activate voucher or login, customer will be redirected to this url')}
|
||||
</p>
|
||||
</div>
|
||||
{/if}
|
||||
@ -326,8 +326,9 @@
|
||||
value="{$_c['telegram_target_id']}" placeholder="12345678">
|
||||
</div>
|
||||
</div>
|
||||
<small id="emailHelp" class="form-text text-muted">{Lang::T('You will get Payment and Error
|
||||
notification')}</small>
|
||||
<small id="emailHelp" class="form-text text-muted">
|
||||
{Lang::T('You will get Payment and Error notification')}
|
||||
</small>
|
||||
</div>
|
||||
<div class="panel-heading">
|
||||
<div class="btn-group pull-right">
|
||||
@ -344,7 +345,8 @@
|
||||
<input type="text" class="form-control" id="sms_url" name="sms_url" value="{$_c['sms_url']}"
|
||||
placeholder="https://domain/?param_number=[number]¶m_text=[text]&secret=">
|
||||
</div>
|
||||
<p class="help-block col-md-4">{Lang::T('Must include')} <b>[text]</b> & <b>[number]</b>, {Lang::T('it will be replaced.')}
|
||||
<p class="help-block col-md-4">{Lang::T('Must include')} <b>[text]</b> & <b>[number]</b>,
|
||||
{Lang::T('it will be replaced.')}
|
||||
</p>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@ -359,11 +361,13 @@
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
<p class="help-block col-md-4">{Lang::T('Must include')} <b>[text]</b> & <b>[number]</b>, {Lang::T('it will be replaced.')}
|
||||
<p class="help-block col-md-4">{Lang::T('Must include')} <b>[text]</b> & <b>[number]</b>,
|
||||
{Lang::T('it will be replaced.')}
|
||||
</p>
|
||||
</div>
|
||||
<small id="emailHelp" class="form-text text-muted">{Lang::T('You can use')} WhatsApp {Lang::T('in here too.')} <a
|
||||
href="https://wa.nux.my.id/login" target="_blank">Free Server</a></small>
|
||||
<small id="emailHelp" class="form-text text-muted">{Lang::T('You can use')} WhatsApp
|
||||
{Lang::T('in here too.')} <a href="https://wa.nux.my.id/login" target="_blank">Free
|
||||
Server</a></small>
|
||||
</div>
|
||||
<div class="panel-heading">
|
||||
<div class="btn-group pull-right">
|
||||
@ -380,10 +384,12 @@
|
||||
<input type="text" class="form-control" id="wa_url" name="wa_url" value="{$_c['wa_url']}"
|
||||
placeholder="https://domain/?param_number=[number]¶m_text=[text]&secret=">
|
||||
</div>
|
||||
<p class="help-block col-md-4">{Lang::T('Must include')} <b>[text]</b> & <b>[number]</b>, {Lang::T('it will be replaced.')}
|
||||
<p class="help-block col-md-4">{Lang::T('Must include')} <b>[text]</b> & <b>[number]</b>,
|
||||
{Lang::T('it will be replaced.')}
|
||||
</div>
|
||||
<small id="emailHelp" class="form-text text-muted">{Lang::T('You can use')} WhatsApp {Lang::T('in here too.')} <a
|
||||
href="https://wa.nux.my.id/login" target="_blank">Free Server</a></small>
|
||||
<small id="emailHelp" class="form-text text-muted">{Lang::T('You can use')} WhatsApp
|
||||
{Lang::T('in here too.')} <a href="https://wa.nux.my.id/login" target="_blank">Free
|
||||
Server</a></small>
|
||||
</div>
|
||||
<div class="panel-heading">
|
||||
<div class="btn-group pull-right">
|
||||
@ -449,8 +455,9 @@
|
||||
<input type="text" class="form-control" id="mail_reply_to" name="mail_reply_to"
|
||||
value="{$_c['mail_reply_to']}" placeholder="support@host.tld">
|
||||
</div>
|
||||
<p class="help-block col-md-4">{Lang::T('Customer will reply email to this address, empty if you want to
|
||||
use From Address')}</p>
|
||||
<p class="help-block col-md-4">
|
||||
{Lang::T('Customer will reply email to this address, empty if you want to use From Address')}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panel-heading">
|
||||
@ -585,19 +592,23 @@
|
||||
<label class="col-md-2 control-label">{Lang::T('Enable Session Timeout')}</label>
|
||||
<div class="col-md-6">
|
||||
<label class="switch">
|
||||
<input type="checkbox" id="enable_session_timeout" value="1" name="enable_session_timeout" {if $_c['enable_session_timeout']==1}checked{/if}>
|
||||
<input type="checkbox" id="enable_session_timeout" value="1"
|
||||
name="enable_session_timeout" {if $_c['enable_session_timeout']==1}checked{/if}>
|
||||
<span class="slider"></span>
|
||||
</label>
|
||||
</div>
|
||||
<p class="help-block col-md-4">{Lang::T('Logout Admin if not Available/Online a period of time')}</p>
|
||||
<p class="help-block col-md-4">
|
||||
{Lang::T('Logout Admin if not Available/Online a period of time')}</p>
|
||||
</div>
|
||||
<div class="form-group" id="timeout_duration_input" style="display: none;">
|
||||
<label class="col-md-2 control-label">{Lang::T('Timeout Duration')}</label>
|
||||
<div class="col-md-6">
|
||||
<input type="number" value="{$_c['session_timeout_duration']}" class="form-control" name="session_timeout_duration" id="session_timeout_duration"
|
||||
placeholder="{Lang::T('Enter the session timeout duration (minutes)')}" min="1">
|
||||
<input type="number" value="{$_c['session_timeout_duration']}" class="form-control"
|
||||
name="session_timeout_duration" id="session_timeout_duration"
|
||||
placeholder="{Lang::T('Enter the session timeout duration (minutes)')}" min="1">
|
||||
</div>
|
||||
<p class="help-block col-md-4">{Lang::T('Idle Timeout, Logout Admin if Idle for xx minutes')}</p>
|
||||
<p class="help-block col-md-4">{Lang::T('Idle Timeout, Logout Admin if Idle for xx minutes')}
|
||||
</p>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label">{Lang::T('New Version Notification')}</label>
|
||||
@ -624,8 +635,9 @@
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
<p class="help-block col-md-4">{Lang::T('OTP is required when user want to change phone
|
||||
number')}</p>
|
||||
<p class="help-block col-md-4">
|
||||
{Lang::T('OTP is required when user want to change phone number')}
|
||||
</p>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label">{Lang::T('OTP Method')}</label>
|
||||
@ -749,11 +761,11 @@
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label">Github Username</label>
|
||||
<div class="col-md-6">
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon">https://github.com/</span>
|
||||
<input type="text" class="form-control" id="github_username" name="github_username"
|
||||
value="{$_c['github_username']}" placeholder="ibnux">
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<span class="input-group-addon">https://github.com/</span>
|
||||
<input type="text" class="form-control" id="github_username" name="github_username"
|
||||
value="{$_c['github_username']}" placeholder="ibnux">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
@ -764,7 +776,8 @@
|
||||
onmouseleave="this.type = 'password'" onmouseenter="this.type = 'text'">
|
||||
</div>
|
||||
<span class="help-block col-md-4"><a href="https://github.com/settings/tokens/new"
|
||||
target="_blank">Create GitHub personal access token (classic)</a>, only need repo scope</span>
|
||||
target="_blank">Create GitHub personal access token (classic)</a>, only need repo
|
||||
scope</span>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-offset-2 col-md-8" style="text-align: left;">This will allow
|
||||
@ -776,8 +789,9 @@
|
||||
|
||||
<div class="panel-body">
|
||||
<div class="form-group">
|
||||
<button class="btn btn-success btn-block" type="submit">{Lang::T('Save
|
||||
Changes')}</button>
|
||||
<button class="btn btn-success btn-block" type="submit">
|
||||
{Lang::T('Save Changes')}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -823,7 +837,8 @@ add dst-host=*.{$_domain}</pre>
|
||||
});
|
||||
|
||||
document.querySelector('form').addEventListener('submit', function(event) {
|
||||
if (sectionTimeoutCheckbox.checked && (!timeoutDurationField.value || isNaN(timeoutDurationField.value))) {
|
||||
if (sectionTimeoutCheckbox.checked && (!timeoutDurationField.value || isNaN(
|
||||
timeoutDurationField.value))) {
|
||||
event.preventDefault();
|
||||
alert('Please enter a valid session timeout duration.');
|
||||
timeoutDurationField.focus();
|
||||
@ -880,4 +895,4 @@ add dst-host=*.{$_domain}</pre>
|
||||
document.getElementById("tax_rate").addEventListener("change", toggleCustomTaxRate);
|
||||
});
|
||||
</script>
|
||||
{include file="sections/footer.tpl"}
|
||||
{include file="sections/footer.tpl"}
|
@ -1,101 +1,101 @@
|
||||
</section>
|
||||
</div>
|
||||
<footer class="main-footer">
|
||||
<div class="pull-right" id="version" onclick="location.href = '{$_url}community#latestVersion';"></div>
|
||||
PHPNuxBill by <a href="https://github.com/hotspotbilling/phpnuxbill" rel="nofollow noreferrer noopener"
|
||||
target="_blank">iBNuX</a>, Theme by <a href="https://adminlte.io/" rel="nofollow noreferrer noopener"
|
||||
target="_blank">AdminLTE</a>
|
||||
</footer>
|
||||
</div>
|
||||
<script src="{$app_url}/ui/ui/scripts/jquery.min.js"></script>
|
||||
<script src="{$app_url}/ui/ui/scripts/bootstrap.min.js"></script>
|
||||
<script src="{$app_url}/ui/ui/scripts/adminlte.min.js"></script>
|
||||
<script src="{$app_url}/ui/ui/scripts/plugins/select2.min.js"></script>
|
||||
<script src="{$app_url}/ui/ui/scripts/pace.min.js"></script>
|
||||
<script src="{$app_url}/ui/ui/scripts/custom.js"></script>
|
||||
</section>
|
||||
</div>
|
||||
<footer class="main-footer">
|
||||
<div class="pull-right" id="version" onclick="location.href = '{$_url}community#latestVersion';"></div>
|
||||
PHPNuxBill by <a href="https://github.com/hotspotbilling/phpnuxbill" rel="nofollow noreferrer noopener"
|
||||
target="_blank">iBNuX</a>, Theme by <a href="https://adminlte.io/" rel="nofollow noreferrer noopener"
|
||||
target="_blank">AdminLTE</a>
|
||||
</footer>
|
||||
</div>
|
||||
<script src="ui/ui/scripts/jquery.min.js"></script>
|
||||
<script src="ui/ui/scripts/bootstrap.min.js"></script>
|
||||
<script src="ui/ui/scripts/adminlte.min.js"></script>
|
||||
<script src="ui/ui/scripts/plugins/select2.min.js"></script>
|
||||
<script src="ui/ui/scripts/pace.min.js"></script>
|
||||
<script src="ui/ui/scripts/custom.js"></script>
|
||||
|
||||
{if isset($xfooter)}
|
||||
{$xfooter}
|
||||
{/if}
|
||||
{literal}
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('.select2').select2({theme: "bootstrap"});
|
||||
$('.select2tag').select2({theme: "bootstrap", tags: true});
|
||||
var listAtts = document.querySelectorAll(`button[type="submit"]`);
|
||||
listAtts.forEach(function(el) {
|
||||
if (el.addEventListener) { // all browsers except IE before version 9
|
||||
el.addEventListener("click", function() {
|
||||
$(this).html(
|
||||
`<span class="loading"></span>`
|
||||
);
|
||||
// setTimeout(() => {
|
||||
// $(this).prop("disabled", true);
|
||||
// }, 100);
|
||||
}, false);
|
||||
} else {
|
||||
if (el.attachEvent) { // IE before version 9
|
||||
el.attachEvent("click", function() {
|
||||
$(this).html(
|
||||
`<span class="loading"></span>`
|
||||
);
|
||||
// setTimeout(() => {
|
||||
// $(this).prop("disabled", true);
|
||||
// }, 100);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
setTimeout(() => {
|
||||
var listAttApi = document.querySelectorAll(`[api-get-text]`);
|
||||
listAttApi.forEach(function(el) {
|
||||
$.get(el.getAttribute('api-get-text'), function(data) {
|
||||
el.innerHTML = data;
|
||||
});
|
||||
{if isset($xfooter)}
|
||||
{$xfooter}
|
||||
{/if}
|
||||
{literal}
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('.select2').select2({theme: "bootstrap"});
|
||||
$('.select2tag').select2({theme: "bootstrap", tags: true});
|
||||
var listAtts = document.querySelectorAll(`button[type="submit"]`);
|
||||
listAtts.forEach(function(el) {
|
||||
if (el.addEventListener) { // all browsers except IE before version 9
|
||||
el.addEventListener("click", function() {
|
||||
$(this).html(
|
||||
`<span class="loading"></span>`
|
||||
);
|
||||
// setTimeout(() => {
|
||||
// $(this).prop("disabled", true);
|
||||
// }, 100);
|
||||
}, false);
|
||||
} else {
|
||||
if (el.attachEvent) { // IE before version 9
|
||||
el.attachEvent("click", function() {
|
||||
$(this).html(
|
||||
`<span class="loading"></span>`
|
||||
);
|
||||
// setTimeout(() => {
|
||||
// $(this).prop("disabled", true);
|
||||
// }, 100);
|
||||
});
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
setTimeout(() => {
|
||||
var listAttApi = document.querySelectorAll(`[api-get-text]`);
|
||||
listAttApi.forEach(function(el) {
|
||||
$.get(el.getAttribute('api-get-text'), function(data) {
|
||||
el.innerHTML = data;
|
||||
});
|
||||
});
|
||||
}, 500);
|
||||
});
|
||||
|
||||
|
||||
function setKolaps() {
|
||||
var kolaps = getCookie('kolaps');
|
||||
if (kolaps) {
|
||||
setCookie('kolaps', false, 30);
|
||||
} else {
|
||||
setCookie('kolaps', true, 30);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
function setKolaps() {
|
||||
var kolaps = getCookie('kolaps');
|
||||
if (kolaps) {
|
||||
setCookie('kolaps', false, 30);
|
||||
} else {
|
||||
setCookie('kolaps', true, 30);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function setCookie(name, value, days) {
|
||||
var expires = "";
|
||||
if (days) {
|
||||
var date = new Date();
|
||||
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
|
||||
expires = "; expires=" + date.toUTCString();
|
||||
}
|
||||
document.cookie = name + "=" + (value || "") + expires + "; path=/";
|
||||
}
|
||||
function setCookie(name, value, days) {
|
||||
var expires = "";
|
||||
if (days) {
|
||||
var date = new Date();
|
||||
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
|
||||
expires = "; expires=" + date.toUTCString();
|
||||
}
|
||||
document.cookie = name + "=" + (value || "") + expires + "; path=/";
|
||||
}
|
||||
|
||||
function getCookie(name) {
|
||||
var nameEQ = name + "=";
|
||||
var ca = document.cookie.split(';');
|
||||
for (var i = 0; i < ca.length; i++) {
|
||||
var c = ca[i];
|
||||
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
|
||||
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
function getCookie(name) {
|
||||
var nameEQ = name + "=";
|
||||
var ca = document.cookie.split(';');
|
||||
for (var i = 0; i < ca.length; i++) {
|
||||
var c = ca[i];
|
||||
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
|
||||
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
$(function() {
|
||||
$('[data-toggle="tooltip"]').tooltip()
|
||||
})
|
||||
$("[data-toggle=popover]").popover();
|
||||
</script>
|
||||
{/literal}
|
||||
$(function() {
|
||||
$('[data-toggle="tooltip"]').tooltip()
|
||||
})
|
||||
$("[data-toggle=popover]").popover();
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
</body>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -5,18 +5,18 @@
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title>{$_title} - {$_c['CompanyName']}</title>
|
||||
<link rel="shortcut icon" href="{$app_url}/ui/ui/images/logo.png" type="image/x-icon" />
|
||||
<link rel="shortcut icon" href="ui/ui/images/logo.png" type="image/x-icon" />
|
||||
|
||||
<link rel="stylesheet" href="{$app_url}/ui/ui/styles/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="ui/ui/styles/bootstrap.min.css">
|
||||
|
||||
<link rel="stylesheet" href="{$app_url}/ui/ui/fonts/ionicons/css/ionicons.min.css">
|
||||
<link rel="stylesheet" href="{$app_url}/ui/ui/fonts/font-awesome/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="{$app_url}/ui/ui/styles/modern-AdminLTE.min.css">
|
||||
<link rel="stylesheet" href="{$app_url}/ui/ui/styles/select2.min.css" />
|
||||
<link rel="stylesheet" href="{$app_url}/ui/ui/styles/select2-bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="{$app_url}/ui/ui/styles/sweetalert2.min.css" />
|
||||
<link rel="stylesheet" href="{$app_url}/ui/ui/styles/plugins/pace.css" />
|
||||
<script src="{$app_url}/ui/ui/scripts/sweetalert2.all.min.js"></script>
|
||||
<link rel="stylesheet" href="ui/ui/fonts/ionicons/css/ionicons.min.css">
|
||||
<link rel="stylesheet" href="ui/ui/fonts/font-awesome/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="ui/ui/styles/modern-AdminLTE.min.css">
|
||||
<link rel="stylesheet" href="ui/ui/styles/select2.min.css" />
|
||||
<link rel="stylesheet" href="ui/ui/styles/select2-bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="ui/ui/styles/sweetalert2.min.css" />
|
||||
<link rel="stylesheet" href="ui/ui/styles/plugins/pace.css" />
|
||||
<script src="ui/ui/scripts/sweetalert2.all.min.js"></script>
|
||||
<style>
|
||||
::-moz-selection {
|
||||
/* Code for Firefox */
|
||||
|
@ -1,114 +1,116 @@
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
{if isset($_c['CompanyFooter'])}
|
||||
<footer class="main-footer">
|
||||
{$_c['CompanyFooter']}
|
||||
<div class="pull-right">
|
||||
<a href="javascript:showPrivacy()">Privacy</a>
|
||||
•
|
||||
<a href="javascript:showTaC()">T & C</a>
|
||||
</div>
|
||||
{if isset($_c['CompanyFooter'])}
|
||||
<footer class="main-footer">
|
||||
{$_c['CompanyFooter']}
|
||||
<div class="pull-right">
|
||||
<a href="javascript:showPrivacy()">Privacy</a>
|
||||
•
|
||||
<a href="javascript:showTaC()">T & C</a>
|
||||
</div>
|
||||
</footer>
|
||||
{else}
|
||||
<footer class="main-footer">
|
||||
PHPNuxBill by <a href="https://github.com/hotspotbilling/phpnuxbill" rel="nofollow noreferrer noopener"
|
||||
target="_blank">iBNuX</a>, Theme by <a href="https://adminlte.io/" rel="nofollow noreferrer noopener"
|
||||
target="_blank">AdminLTE</a>
|
||||
<div class="pull-right">
|
||||
<a href="javascript:showPrivacy()">Privacy</a>
|
||||
•
|
||||
<a href="javascript:showTaC()">T & C</a>
|
||||
</div>
|
||||
</footer>
|
||||
{/if}
|
||||
</footer>
|
||||
{else}
|
||||
<footer class="main-footer">
|
||||
PHPNuxBill by <a href="https://github.com/hotspotbilling/phpnuxbill" rel="nofollow noreferrer noopener"
|
||||
target="_blank">iBNuX</a>, Theme by <a href="https://adminlte.io/" rel="nofollow noreferrer noopener"
|
||||
target="_blank">AdminLTE</a>
|
||||
<div class="pull-right">
|
||||
<a href="javascript:showPrivacy()">Privacy</a>
|
||||
•
|
||||
<a href="javascript:showTaC()">T & C</a>
|
||||
</div>
|
||||
</footer>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="HTMLModal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
|
||||
aria-hidden="true">×</span></button>
|
||||
</div>
|
||||
<div class="modal-body" id="HTMLModal_konten"></div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">×</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Modal -->
|
||||
<div class="modal fade" id="HTMLModal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
|
||||
aria-hidden="true">×</span></button>
|
||||
</div>
|
||||
<div class="modal-body" id="HTMLModal_konten"></div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">×</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="{$app_url}/ui/ui/scripts/jquery.min.js"></script>
|
||||
<script src="{$app_url}/ui/ui/scripts/bootstrap.min.js"></script>
|
||||
<script src="{$app_url}/ui/ui/scripts/adminlte.min.js"></script>
|
||||
|
||||
<script src="{$app_url}/ui/ui/scripts/plugins/select2.min.js"></script>
|
||||
<script src="{$app_url}/ui/ui/scripts/custom.js?v=2"></script>
|
||||
|
||||
{if isset($xfooter)}
|
||||
{$xfooter}
|
||||
{/if}
|
||||
<script src="ui/ui/scripts/jquery.min.js"></script>
|
||||
<script src="ui/ui/scripts/bootstrap.min.js"></script>
|
||||
<script src="ui/ui/scripts/adminlte.min.js"></script>
|
||||
|
||||
{if $_c['tawkto'] != ''}
|
||||
<!--Start of Tawk.to Script-->
|
||||
<script type="text/javascript">
|
||||
var Tawk_API = Tawk_API || {},
|
||||
Tawk_LoadStart = new Date();
|
||||
(function() {
|
||||
var s1 = document.createElement("script"),
|
||||
s0 = document.getElementsByTagName("script")[0];
|
||||
s1.async = true;
|
||||
s1.src='https://embed.tawk.to/{$_c['tawkto']}';
|
||||
s1.charset = 'UTF-8';
|
||||
s1.setAttribute('crossorigin', '*');
|
||||
s0.parentNode.insertBefore(s1, s0);
|
||||
})();
|
||||
</script>
|
||||
<!--End of Tawk.to Script-->
|
||||
{/if}
|
||||
<script src="ui/ui/scripts/plugins/select2.min.js"></script>
|
||||
<script src="ui/ui/scripts/custom.js?v=2"></script>
|
||||
|
||||
{literal}
|
||||
<script>
|
||||
var listAtts = document.querySelectorAll(`[api-get-text]`);
|
||||
listAtts.forEach(function(el) {
|
||||
$.get(el.getAttribute('api-get-text'), function(data) {
|
||||
el.innerHTML = data;
|
||||
});
|
||||
});
|
||||
$(document).ready(function() {
|
||||
var listAtts = document.querySelectorAll(`button[type="submit"]`);
|
||||
listAtts.forEach(function(el) {
|
||||
if (el.addEventListener) { // all browsers except IE before version 9
|
||||
el.addEventListener("click", function() {
|
||||
$(this).html(
|
||||
`<span class="loading"></span>`
|
||||
);
|
||||
setTimeout(() => {
|
||||
$(this).prop("disabled", true);
|
||||
}, 100);
|
||||
}, false);
|
||||
} else {
|
||||
if (el.attachEvent) { // IE before version 9
|
||||
el.attachEvent("click", function() {
|
||||
$(this).html(
|
||||
`<span class="loading"></span>`
|
||||
);
|
||||
setTimeout(() => {
|
||||
$(this).prop("disabled", true);
|
||||
}, 100);
|
||||
});
|
||||
}
|
||||
}
|
||||
$(function() {
|
||||
$('[data-toggle="tooltip"]').tooltip()
|
||||
})
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
{if isset($xfooter)}
|
||||
{$xfooter}
|
||||
{/if}
|
||||
|
||||
</body>
|
||||
{if $_c['tawkto'] != ''}
|
||||
<!--Start of Tawk.to Script-->
|
||||
<script type="text/javascript">
|
||||
var Tawk_API = Tawk_API || {},
|
||||
Tawk_LoadStart = new Date();
|
||||
(function() {
|
||||
var s1 = document.createElement("script"),
|
||||
s0 = document.getElementsByTagName("script")[0];
|
||||
s1.async = true;
|
||||
s1.src='https://embed.tawk.to/{$_c['tawkto']}';
|
||||
s1.charset = 'UTF-8';
|
||||
s1.setAttribute('crossorigin', '*');
|
||||
s0.parentNode.insertBefore(s1, s0);
|
||||
})();
|
||||
</script>
|
||||
<!--End of Tawk.to Script-->
|
||||
{/if}
|
||||
|
||||
{literal}
|
||||
<script>
|
||||
var listAtts = document.querySelectorAll(`[api-get-text]`);
|
||||
listAtts.forEach(function(el) {
|
||||
$.get(el.getAttribute('api-get-text'), function(data) {
|
||||
el.innerHTML = data;
|
||||
});
|
||||
});
|
||||
$(document).ready(function() {
|
||||
var listAtts = document.querySelectorAll(`button[type="submit"]`);
|
||||
listAtts.forEach(function(el) {
|
||||
if (el.addEventListener) { // all browsers except IE before version 9
|
||||
el.addEventListener("click", function() {
|
||||
$(this).html(
|
||||
`<span class="loading"></span>`
|
||||
);
|
||||
setTimeout(() => {
|
||||
$(this).prop("disabled", true);
|
||||
}, 100);
|
||||
}, false);
|
||||
} else {
|
||||
if (el.attachEvent) { // IE before version 9
|
||||
el.attachEvent("click", function() {
|
||||
$(this).html(
|
||||
`<span class="loading"></span>`
|
||||
);
|
||||
setTimeout(() => {
|
||||
$(this).prop("disabled", true);
|
||||
}, 100);
|
||||
});
|
||||
}
|
||||
}
|
||||
$(function() {
|
||||
$('[data-toggle="tooltip"]').tooltip()
|
||||
})
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
@ -5,15 +5,15 @@
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{$_title} - {$_c['CompanyName']}</title>
|
||||
<link rel="shortcut icon" href="{$app_url}ui/ui/images/logo.png" type="image/x-icon" />
|
||||
<link rel="shortcut icon" href="ui/ui/images/logo.png" type="image/x-icon" />
|
||||
|
||||
<link rel="stylesheet" href="{$app_url}ui/ui/styles/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="ui/ui/styles/bootstrap.min.css">
|
||||
|
||||
<link rel="stylesheet" href="{$app_url}ui/ui/fonts/ionicons/css/ionicons.min.css">
|
||||
<link rel="stylesheet" href="{$app_url}ui/ui/fonts/font-awesome/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="{$app_url}ui/ui/styles/modern-AdminLTE.min.css">
|
||||
<link rel="stylesheet" href="{$app_url}ui/ui/styles/sweetalert2.min.css" />
|
||||
<script src="{$app_url}ui/ui/scripts/sweetalert2.all.min.js"></script>
|
||||
<link rel="stylesheet" href="ui/ui/fonts/ionicons/css/ionicons.min.css">
|
||||
<link rel="stylesheet" href="ui/ui/fonts/font-awesome/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="ui/ui/styles/modern-AdminLTE.min.css">
|
||||
<link rel="stylesheet" href="ui/ui/styles/sweetalert2.min.css" />
|
||||
<script src="ui/ui/scripts/sweetalert2.all.min.js"></script>
|
||||
|
||||
|
||||
<style>
|
||||
@ -77,7 +77,7 @@
|
||||
<body class="hold-transition modern-skin-dark sidebar-mini">
|
||||
<div class="wrapper">
|
||||
<header class="main-header" style="position:fixed; width: 100%">
|
||||
<a href="{$app_url}home" class="logo">
|
||||
<a href="{$_url}home" class="logo">
|
||||
<span class="logo-mini"><b>N</b>uX</span>
|
||||
<span class="logo-lg">{$_c['CompanyName']}</span>
|
||||
</a>
|
||||
@ -90,14 +90,14 @@
|
||||
<li class="dropdown notifications-menu">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
|
||||
<i class="fa fa-envelope-o"></i>
|
||||
<span class="label label-warning" api-get-text="{$app_url}autoload_user/inbox_unread"></span>
|
||||
<span class="label label-warning" api-get-text="{$_url}autoload_user/inbox_unread"></span>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
<!-- inner menu: contains the actual data -->
|
||||
<ul class="menu" api-get-text="{$app_url}autoload_user/inbox"></ul>
|
||||
<ul class="menu" api-get-text="{$_url}autoload_user/inbox"></ul>
|
||||
</li>
|
||||
<li class="footer"><a href="{$app_url}mail">{Lang::T('Inbox')}</a></li>
|
||||
<li class="footer"><a href="{$_url}mail">{Lang::T('Inbox')}</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="dropdown user user-menu">
|
||||
@ -127,18 +127,18 @@
|
||||
<li class="user-body">
|
||||
<div class="row">
|
||||
<div class="col-xs-7 text-center text-sm">
|
||||
<a href="{$app_url}accounts/change-password"><i class="ion ion-settings"></i>
|
||||
<a href="{$_url}accounts/change-password"><i class="ion ion-settings"></i>
|
||||
{Lang::T('Change Password')}</a>
|
||||
</div>
|
||||
<div class="col-xs-5 text-center text-sm">
|
||||
<a href="{$app_url}accounts/profile"><i class="ion ion-person"></i>
|
||||
<a href="{$_url}accounts/profile"><i class="ion ion-person"></i>
|
||||
{Lang::T('My Account')}</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="user-footer">
|
||||
<div class="pull-right">
|
||||
<a href="{$app_url}logout" class="btn btn-default btn-flat"><i
|
||||
<a href="{$_url}logout" class="btn btn-default btn-flat"><i
|
||||
class="ion ion-power"></i> {Lang::T('Logout')}</a>
|
||||
</div>
|
||||
</li>
|
||||
@ -153,14 +153,14 @@
|
||||
<section class="sidebar">
|
||||
<ul class="sidebar-menu" data-widget="tree">
|
||||
<li {if $_system_menu eq 'home'}class="active" {/if}>
|
||||
<a href="{$app_url}home">
|
||||
<a href="{$_url}home">
|
||||
<i class="ion ion-monitor"></i>
|
||||
<span>{Lang::T('Dashboard')}</span>
|
||||
</a>
|
||||
</li>
|
||||
{$_MENU_AFTER_DASHBOARD}
|
||||
<li {if $_system_menu eq 'inbox'}class="active" {/if}>
|
||||
<a href="{$app_url}mail">
|
||||
<a href="{$_url}mail">
|
||||
<i class="fa fa-envelope"></i>
|
||||
<span>{Lang::T('Inbox')}</span>
|
||||
</a>
|
||||
@ -168,7 +168,7 @@
|
||||
{$_MENU_AFTER_INBOX}
|
||||
{if $_c['disable_voucher'] != 'yes'}
|
||||
<li {if $_system_menu eq 'voucher'}class="active" {/if}>
|
||||
<a href="{$app_url}voucher/activation">
|
||||
<a href="{$_url}voucher/activation">
|
||||
<i class="fa fa-ticket"></i>
|
||||
<span>{Lang::T('Voucher')}</span>
|
||||
</a>
|
||||
@ -177,20 +177,20 @@
|
||||
{if $_c['payment_gateway'] != 'none' or $_c['payment_gateway'] == '' }
|
||||
{if $_c['enable_balance'] == 'yes'}
|
||||
<li {if $_system_menu eq 'balance'}class="active" {/if}>
|
||||
<a href="{$app_url}order/balance">
|
||||
<a href="{$_url}order/balance">
|
||||
<i class="ion ion-ios-cart"></i>
|
||||
<span>{Lang::T('Buy Balance')}</span>
|
||||
</a>
|
||||
</li>
|
||||
{/if}
|
||||
<li {if $_system_menu eq 'package'}class="active" {/if}>
|
||||
<a href="{$app_url}order/package">
|
||||
<a href="{$_url}order/package">
|
||||
<i class="ion ion-ios-cart"></i>
|
||||
<span>{Lang::T('Buy Package')}</span>
|
||||
</a>
|
||||
</li>
|
||||
<li {if $_system_menu eq 'history'}class="active" {/if}>
|
||||
<a href="{$app_url}order/history">
|
||||
<a href="{$_url}order/history">
|
||||
<i class="fa fa-file-text"></i>
|
||||
<span>{Lang::T('Order History')}</span>
|
||||
</a>
|
||||
@ -198,7 +198,7 @@
|
||||
{/if}
|
||||
{$_MENU_AFTER_ORDER}
|
||||
<li {if $_system_menu eq 'list-activated'}class="active" {/if}>
|
||||
<a href="{$app_url}voucher/list-activated">
|
||||
<a href="{$_url}voucher/list-activated">
|
||||
<i class="fa fa-list-alt"></i>
|
||||
<span>{Lang::T('Activation History')}</span>
|
||||
</a>
|
||||
|
@ -1,3 +1,3 @@
|
||||
{
|
||||
"version": "2024.8.13"
|
||||
"version": "2024.8.15"
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user