Add Public Header and Footer in user-ui folder, and use it for public page

This commit is contained in:
Ibnu Maksum 2024-09-20 10:23:01 +07:00
parent 7e9f6123e8
commit 686d2a188a
No known key found for this signature in database
GPG Key ID: 7FC82848810579E5
13 changed files with 810 additions and 796 deletions

View File

@ -0,0 +1,114 @@
<?php
/**
* PHP Mikrotik Billing (https://github.com/hotspotbilling/phpnuxbill/)
* by https://t.me/ibnux
**/
$do = '';
if (isset($routes['1'])) {
$do = $routes['1'];
}
$otpPath = $CACHE_PATH . File::pathFixer('/forgot/');
switch ($do) {
case 'post':
$otp_code = _post('otp_code');
$username = alphanumeric(_post('username'), "+_.@-");
$email = _post('email');
$fullname = _post('fullname');
$password = _post('password');
$cpassword = _post('cpassword');
$address = _post('address');
if (!empty($config['sms_url']) && $_c['allow_phone_otp'] == 'yes') {
$phonenumber = Lang::phoneFormat($username);
$username = $phonenumber;
} else if (strlen($username) < 21) {
$phonenumber = $username;
}
$msg = '';
if (Validator::Length($username, 35, 2) == false) {
$msg .= 'Username should be between 3 to 55 characters' . '<br>';
}
if (Validator::Length($fullname, 36, 2) == false) {
$msg .= 'Full Name should be between 3 to 25 characters' . '<br>';
}
if (!Validator::Length($password, 35, 2)) {
$msg .= 'Password should be between 3 to 35 characters' . '<br>';
}
if (!Validator::Email($email)) {
$msg .= 'Email is not Valid<br>';
}
if ($password != $cpassword) {
$msg .= Lang::T('Passwords does not match') . '<br>';
}
if (!empty($config['sms_url']) && $_c['allow_phone_otp'] == 'yes') {
$otpPath .= sha1($username . $db_pass) . ".txt";
run_hook('validate_otp'); #HOOK
//expired 10 minutes
if (file_exists($otpPath) && time() - filemtime($otpPath) > 1200) {
unlink($otpPath);
r2(U . 'register', 's', 'Verification code expired');
} else if (file_exists($otpPath)) {
$code = file_get_contents($otpPath);
if ($code != $otp_code) {
$ui->assign('username', $username);
$ui->assign('fullname', $fullname);
$ui->assign('address', $address);
$ui->assign('email', $email);
$ui->assign('phonenumber', $phonenumber);
$ui->assign('notify', 'Wrong Verification code');
$ui->assign('notify_t', 'd');
$ui->display('user-ui/register-otp.tpl');
exit();
} else {
unlink($otpPath);
}
} else {
r2(U . 'register', 's', 'No Verification code');
}
}
$d = ORM::for_table('tbl_customers')->where('username', $username)->find_one();
if ($d) {
$msg .= Lang::T('Account already axist') . '<br>';
}
if ($msg == '') {
run_hook('register_user'); #HOOK
$d = ORM::for_table('tbl_customers')->create();
$d->username = alphanumeric($username, "+_.@-");
$d->password = $password;
$d->fullname = $fullname;
$d->address = $address;
$d->email = $email;
$d->phonenumber = $phonenumber;
if ($d->save()) {
$user = $d->id();
r2(U . 'login', 's', Lang::T('Register Success! You can login now'));
} else {
$ui->assign('username', $username);
$ui->assign('fullname', $fullname);
$ui->assign('address', $address);
$ui->assign('email', $email);
$ui->assign('phonenumber', $phonenumber);
$ui->assign('notify', 'Failed to register');
$ui->assign('notify_t', 'd');
run_hook('view_otp_register'); #HOOK
$ui->display('user-ui/register-rotp.tpl');
}
} else {
$ui->assign('username', $username);
$ui->assign('fullname', $fullname);
$ui->assign('address', $address);
$ui->assign('email', $email);
$ui->assign('phonenumber', $phonenumber);
$ui->assign('notify', $msg);
$ui->assign('notify_t', 'd');
$ui->display('user-ui/register.tpl');
}
break;
default:
$ui->display('user-ui/forgot.tpl');
break;
}

View File

@ -290,9 +290,11 @@ switch ($do) {
default:
run_hook('customer_view_login'); #HOOK
if ($config['disable_registration'] == 'yes') {
$ui->assign('_title', Lang::T('Activation'));
$ui->assign('code', alphanumeric(_get('code'), "-"));
$ui->display('user-ui/login-noreg.tpl');
} else {
$ui->assign('_title', Lang::T('Login'));
$ui->display('user-ui/login.tpl');
}
break;

View File

@ -62,6 +62,7 @@ switch ($do) {
$ui->assign('phonenumber', $phonenumber);
$ui->assign('notify', 'Wrong Verification code');
$ui->assign('notify_t', 'd');
$ui->assign('_title', Lang::T('Register'));
$ui->display('user-ui/register-otp.tpl');
exit();
} else {
@ -95,6 +96,7 @@ switch ($do) {
$ui->assign('phonenumber', $phonenumber);
$ui->assign('notify', 'Failed to register');
$ui->assign('notify_t', 'd');
$ui->assign('_title', Lang::T('Register'));
run_hook('view_otp_register'); #HOOK
$ui->display('user-ui/register-rotp.tpl');
}
@ -106,6 +108,7 @@ switch ($do) {
$ui->assign('phonenumber', $phonenumber);
$ui->assign('notify', $msg);
$ui->assign('notify_t', 'd');
$ui->assign('_title', Lang::T('Register'));
$ui->display('user-ui/register.tpl');
}
break;
@ -128,6 +131,7 @@ switch ($do) {
$ui->assign('username', $username);
$ui->assign('notify', 'Please wait ' . (600 - (time() - filemtime($otpPath))) . ' seconds before sending another SMS');
$ui->assign('notify_t', 'd');
$ui->assign('_title', Lang::T('Register'));
$ui->display('user-ui/register-otp.tpl');
} else {
$otp = rand(100000, 999999);
@ -136,9 +140,11 @@ switch ($do) {
$ui->assign('username', $username);
$ui->assign('notify', 'Registration code has been sent to your phone');
$ui->assign('notify_t', 's');
$ui->assign('_title', Lang::T('Register'));
$ui->display('user-ui/register-otp.tpl');
}
} else {
$ui->assign('_title', Lang::T('Register'));
run_hook('view_otp_register'); #HOOK
$ui->display('user-ui/register-rotp.tpl');
}
@ -148,6 +154,7 @@ switch ($do) {
$ui->assign('address', "");
$ui->assign('email', "");
$ui->assign('otp', false);
$ui->assign('_title', Lang::T('Register'));
run_hook('view_register'); #HOOK
$ui->display('user-ui/register.tpl');
}

View File

@ -132,7 +132,8 @@ class MikrotikVpn
}
function getIdByCustomer($customer, $client){
function getIdByCustomer($customer, $client)
{
$printRequest = new RouterOS\Request('/ppp/secret/print');
$printRequest->setQuery(RouterOS\Query::where('name', $customer['username']));
$id = $client->sendSync($printRequest)->getProperty('.id');
@ -205,7 +206,8 @@ class MikrotikVpn
);
}
function add_pool($pool){
function add_pool($pool)
{
global $_app_stage;
if ($_app_stage == 'demo') {
return null;
@ -220,7 +222,8 @@ class MikrotikVpn
);
}
function update_pool($old_pool, $new_pool){
function update_pool($old_pool, $new_pool)
{
global $_app_stage;
if ($_app_stage == 'demo') {
return null;
@ -245,7 +248,8 @@ class MikrotikVpn
}
}
function remove_pool($pool){
function remove_pool($pool)
{
global $_app_stage;
if ($_app_stage == 'demo') {
return null;
@ -329,7 +333,6 @@ class MikrotikVpn
} else {
$ips = $this->checkIpAddr($plan['pool'], $customer['id']);
$setRequest->setArgument('remote-address', $ips);
}
$this->addNat($client, $plan, $customer, $ips);
$client->sendSync($setRequest);
@ -368,7 +371,6 @@ class MikrotikVpn
->setArgument('comment', $comment)
->setArgument('list', $listName)
);
}
function removeIpFromAddressList($client, $ip)
@ -408,11 +410,14 @@ class MikrotikVpn
$dst = $cf['field_value'];
$cmnt = $cf['field_name'];
if ($cmnt == 'Winbox') {
$tp = '8291'; }
$tp = '8291';
}
if ($cmnt == 'Web') {
$tp = '80'; }
$tp = '80';
}
if ($cmnt == 'Api') {
$tp = '8728'; }
$tp = '8728';
}
if ($cmnt == 'Winbox' || $cmnt == 'Web' || $cmnt == 'Api') {
$addRequest = new RouterOS\Request('/ip/firewall/nat/add');
$client->sendSync(
@ -464,8 +469,7 @@ class MikrotikVpn
repeat:
$portr = rand($port['0'], $port['1']);
if (ORM::for_table('tbl_customers_fields')->where('field_value', $portr)->find_one()) {
if($portr == $port['1'])
{
if ($portr == $port['1']) {
return;
}
goto repeat;
@ -478,7 +482,8 @@ class MikrotikVpn
}
}
function checkIpAddr($pname, $id) {
function checkIpAddr($pname, $id)
{
$c = ORM::for_table('tbl_customers')->find_one($id);
$ipp = ORM::for_table('tbl_pool')
->where('pool_name', $pname)
@ -491,8 +496,7 @@ class MikrotikVpn
$ips = $ip_1['0'] . '.' . $ip_1['1'] . '.' . $ip_1['2'] . '.' . $ipt;
if (empty($c['pppoe_ip'])) {
if (ORM::for_table('tbl_customers')->where('pppoe_ip', $ips)->find_one()) {
if ($ip_2['3'] == $ipt)
{
if ($ip_2['3'] == $ipt) {
return;
}
goto repeat;
@ -500,5 +504,4 @@ class MikrotikVpn
return $ips;
}
}
}

View File

@ -1,4 +1,5 @@
{include file="user-ui/header.tpl"}
{include file="user-ui/header-public.tpl"}
<div class="hidden-xs" style="height:100px"></div>
<div class="page page-err clearfix">
<div class="err-container">
@ -6,5 +7,4 @@
<p class="text-desc mb20">{Lang::T('Coming Soon! Next Version...')}</p>
</div>
</div>
{include file="user-ui/footer.tpl"}
{include file="user-ui/footer-public.tpl"}

View File

@ -0,0 +1,39 @@
</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">&times;</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">&times;</button>
</div>
</div>
</div>
</div>
{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/vendors.js?v=1"></script>
</body>
</html>

73
ui/ui/user-ui/forgot.tpl Normal file
View File

@ -0,0 +1,73 @@
{include file="user-ui/header-public.tpl"}
<div class="row">
<div class="col-sm-6 col-sm-offset-1">
<div class="panel panel-info">
<div class="panel-heading">{Lang::T('Announcement')}</div>
<div class="panel-body">
{$Announcement = "{$PAGES_PATH}/Announcement.html"}
{if file_exists($Announcement)}
{include file=$Announcement}
{/if}
</div>
</div>
</div>
<div class="col-sm-4">
<div class="panel panel-primary">
<div class="panel-heading">{Lang::T('Log in to Member Panel')}</div>
<div class="panel-body">
<form action="{$_url}login/post" method="post">
<div class="form-group">
<label>{if $_c['country_code_phone']!= ''}{Lang::T('Phone Number')}{else}{Lang::T('Username')}{/if}</label>
<div class="input-group">
{if $_c['country_code_phone']!= ''}
<span class="input-group-addon" id="basic-addon1"><i
class="glyphicon glyphicon-phone-alt"></i></span>
{else}
<span class="input-group-addon" id="basic-addon1"><i
class="glyphicon glyphicon-user"></i></span>
{/if}
<input type="text" class="form-control" name="username"
placeholder="{if $_c['country_code_phone']!= ''}{$_c['country_code_phone']} {Lang::T('Phone Number')}{else}{Lang::T('Username')}{/if}">
</div>
</div>
<div class="form-group">
<label>{Lang::T('Password')}</label>
<div class="input-group">
<span class="input-group-addon" id="basic-addon2"><i
class="glyphicon glyphicon-lock"></i></span>
<input type="password" class="form-control" name="password"
placeholder="{Lang::T('Password')}">
</div>
</div>
<div class="clearfix hidden">
<div class="ui-checkbox ui-checkbox-primary right">
<label>
<input type="checkbox">
<span>Remember me</span>
</label>
</div>
</div>
<div class="btn-group btn-group-justified mb15">
<div class="btn-group">
<a href="{$_url}register" class="btn btn-success">{Lang::T('Register')}</a>
</div>
<div class="btn-group">
<button type="submit" class="btn btn-primary">{Lang::T('Login')}</button>
</div>
</div>
<br>
<center>
<a href="{$_url}forgot" class="btn btn-link">{Lang::T('Forgot Password')}</a>
<br>
<a href="javascript:showPrivacy()">Privacy</a>
&bull;
<a href="javascript:showTaC()">T &amp; C</a>
</center>
</form>
</div>
</div>
</div>
</div>
{include file="user-ui/footer-public.tpl"}

View File

@ -0,0 +1,43 @@
<!DOCTYPE html>
<html>
<head>
<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="ui/ui/images/logo.png" type="image/x-icon" />
<link rel="stylesheet" href="ui/ui/styles/bootstrap.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>
</head>
<body id="app" class="app off-canvas body-full">
<div class="container">
<div class="form-head mb20">
<h1 class="site-logo h2 mb5 mt5 text-center text-uppercase text-bold"
style="text-shadow: 2px 2px 4px #757575;">{$_c['CompanyName']}</h1>
<hr>
</div>
{if isset($notify)}
<script>
// Display SweetAlert toast notification
Swal.fire({
icon: '{if $notify_t == "s"}success{else}warning{/if}',
title: '{$notify}',
toast: true,
position: 'top-end',
showConfirmButton: false,
timer: 5000,
timerProgressBar: true,
didOpen: (toast) => {
toast.addEventListener('mouseenter', Swal.stopTimer)
toast.addEventListener('mouseleave', Swal.resumeTimer)
}
});
</script>
{/if}

View File

@ -1,34 +1,5 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>{Lang::T('Login')} - {$_c['CompanyName']}</title>
<link rel="shortcut icon" href="ui/ui/images/logo.png" type="image/x-icon" />
<link rel="stylesheet" href="ui/ui/styles/bootstrap.min.css">
<link rel="stylesheet" href="ui/ui/styles/modern-AdminLTE.min.css">
</head>
<body>
<div class="container">
<div class="hidden-xs" style="height:150px"></div>
<div class="form-head mb20">
<h1 class="site-logo h2 mb5 mt5 text-center text-uppercase text-bold"
style="text-shadow: 2px 2px 4px #757575;">{$_c['CompanyName']}</h1>
<hr>
</div>
{if isset($notify)}
<div class="alert alert-{if $notify_t == 's'}success{else}danger{/if}">
<button type="button" class="close" data-dismiss="alert">
<span aria-hidden="true">×</span>
</button>
<div>{$notify}</div>
</div>
{/if}
{include file="user-ui/header-public.tpl"}
<div class="hidden-xs" style="height:100px"></div>
<div class="row">
<div class="col-sm-8">
<div class="panel panel-info">
@ -60,8 +31,8 @@
<div class="form-group">
<label>{Lang::T('Enter voucher code here')}</label>
<div class="input-group">
<input type="text" class="form-control" id="voucher" name="voucher" required
value="{$code}" placeholder="{Lang::T('Enter voucher code here')}">
<input type="text" class="form-control" id="voucher" name="voucher" required value="{$code}"
placeholder="{Lang::T('Enter voucher code here')}">
<span class="input-group-btn">
<a class="btn btn-default"
href="{APP_URL}/scan/?back={urlencode($_url)}{urlencode("login&code=")}"><i
@ -71,8 +42,7 @@
</div>
<div class="btn-group btn-group-justified mb15">
<div class="btn-group">
<button type="submit"
class="btn btn-primary">{Lang::T('Login / Activate Voucher')}</button>
<button type="submit" class="btn btn-primary">{Lang::T('Login / Activate Voucher')}</button>
</div>
</div>
</form>
@ -96,8 +66,7 @@
</div>
<div class="btn-group btn-group-justified mb15">
<div class="btn-group">
<button type="submit"
class="btn btn-primary">{Lang::T('Activate Voucher')}</button>
<button type="submit" class="btn btn-primary">{Lang::T('Activate Voucher')}</button>
</div>
</div>
</form>
@ -111,8 +80,4 @@
</center>
</div>
</div>
</div>
<script src="ui/ui/scripts/vendors.js"></script>
</body>
</html>
{include file="user-ui/footer-public.tpl"}

View File

@ -1,32 +1,6 @@
<!DOCTYPE html>
<html>
{include file="user-ui/header-public.tpl"}
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>{Lang::T('Login')} - {$_c['CompanyName']}</title>
<link rel="shortcut icon" href="ui/ui/images/logo.png" type="image/x-icon" />
<link rel="stylesheet" href="ui/ui/styles/bootstrap.min.css">
<link rel="stylesheet" href="ui/ui/styles/modern-AdminLTE.min.css">
</head>
<body>
<div class="container">
<div class="hidden-xs" style="height:150px"></div>
<div class="form-head mb20">
<h1 class="site-logo h2 mb5 mt5 text-center text-uppercase text-bold"
style="text-shadow: 2px 2px 4px #757575;">{$_c['CompanyName']}</h1>
<hr>
</div>
{if isset($notify)}
<div class="alert alert-{if $notify_t == 's'}success{else}danger{/if}">
<button type="button" class="close" data-dismiss="alert">
<span aria-hidden="true">×</span>
</button>
<div>{$notify}</div>
</div>
{/if}
<div class="hidden-xs" style="height:100px"></div>
<div class="row">
<div class="col-sm-6 col-sm-offset-1">
<div class="panel panel-info">
@ -62,8 +36,10 @@
<div class="form-group">
<label>{Lang::T('Password')}</label>
<div class="input-group">
<span class="input-group-addon" id="basic-addon2"><i class="glyphicon glyphicon-lock"></i></span>
<input type="password" class="form-control" name="password" placeholder="{Lang::T('Password')}">
<span class="input-group-addon" id="basic-addon2"><i
class="glyphicon glyphicon-lock"></i></span>
<input type="password" class="form-control" name="password"
placeholder="{Lang::T('Password')}">
</div>
</div>
@ -85,6 +61,8 @@
</div>
<br>
<center>
<a href="{$_url}forgot" class="btn btn-link">{Lang::T('Forgot Password')}</a>
<br>
<a href="javascript:showPrivacy()">Privacy</a>
&bull;
<a href="javascript:showTaC()">T &amp; C</a>
@ -94,7 +72,6 @@
</div>
</div>
</div>
</div>
<!-- Modal -->
<div class="modal fade" id="HTMLModal" tabindex="-1" role="dialog">
@ -112,8 +89,4 @@
</div>
</div>
<script src="ui/ui/scripts/vendors.js?v=1"></script>
</body>
</html>
{include file="user-ui/footer-public.tpl"}

View File

@ -1,48 +1,6 @@
<!DOCTYPE html>
<html>
{include file="user-ui/header-public.tpl"}
<div class="hidden-xs" style="height:100px"></div>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>{Lang::T('Register')} - {$_c['CompanyName']}</title>
<link rel="shortcut icon" href="ui/ui/images/logo.png" type="image/x-icon" />
<link rel="stylesheet" href="ui/ui/styles/bootstrap.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>
</head>
<body id="app" class="app off-canvas body-full">
<div class="container">
<div class="hidden-xs" style="height:150px"></div>
<div class="form-head mb20">
<h1 class="site-logo h2 mb5 mt5 text-center text-uppercase text-bold"
style="text-shadow: 2px 2px 4px #757575;">{$_c['CompanyName']}</h1>
<hr>
</div>
{if isset($notify)}
<script>
// Display SweetAlert toast notification
Swal.fire({
icon: '{if $notify_t == "s"}success{else}warning{/if}',
title: '{$notify}',
toast: true,
position: 'top-end',
showConfirmButton: false,
timer: 5000,
timerProgressBar: true,
didOpen: (toast) => {
toast.addEventListener('mouseenter', Swal.stopTimer)
toast.addEventListener('mouseleave', Swal.resumeTimer)
}
});
</script>
{/if}
<div class="row">
<div class="col-md-4">
<div class="panel panel-info">
@ -84,13 +42,12 @@
</div>
<div class="form-group">
<label>{Lang::T('Email')}</label>
<input type="text" class="form-control" placeholder="xxxxxx@xxx.xx"
id="email" value="{$email}" name="email">
<input type="text" class="form-control" placeholder="xxxxxx@xxx.xx" id="email"
value="{$email}" name="email">
</div>
<div class="form-group">
<label>{Lang::T('Address')}</label>
<input type="text" name="address" id="address" value="{$address}"
class="form-control">
<input type="text" name="address" id="address" value="{$address}" class="form-control">
</div>
</div>
</div>
@ -107,8 +64,7 @@
</div>
<div class="form-group">
<label>{Lang::T('Confirm Password')}</label>
<input type="password" required class="form-control" id="cpassword"
name="cpassword">
<input type="password" required class="form-control" id="cpassword" name="cpassword">
</div>
<div class="btn-group btn-group-justified mb15">
<div class="btn-group">
@ -130,7 +86,6 @@
</div>
</form>
</div>
</div>
<!-- Modal -->
<div class="modal fade" id="HTMLModal" tabindex="-1" role="dialog">
@ -164,7 +119,4 @@
</script>
<!--End of Tawk.to Script-->
{/if}
<script src="ui/ui/scripts/vendors.js?v=1"></script>
</body>
</html>
{include file="user-ui/footer-public.tpl"}

View File

@ -1,47 +1,7 @@
<!DOCTYPE html>
<html>
{include file="user-ui/header-public.tpl"}
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>{Lang::T('Register')} - {$_c['CompanyName']}</title>
<link rel="shortcut icon" href="ui/ui/images/logo.png" type="image/x-icon" />
<div class="hidden-xs" style="height:100px"></div>
<link rel="stylesheet" href="ui/ui/styles/bootstrap.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>
</head>
<body id="app" class="app off-canvas body-full">
<div class="container">
<div class="hidden-xs" style="height:150px"></div>
<div class="form-head mb20">
<h1 class="site-logo h2 mb5 mt5 text-center text-uppercase text-bold"
style="text-shadow: 2px 2px 4px #757575;">{$_c['CompanyName']}</h1>
<hr>
</div>
{if isset($notify)}
<script>
// Display SweetAlert toast notification
Swal.fire({
icon: '{if $notify_t == "s"}success{else}warning{/if}',
title: '{$notify}',
toast: true,
position: 'top-end',
showConfirmButton: false,
timer: 5000,
timerProgressBar: true,
didOpen: (toast) => {
toast.addEventListener('mouseenter', Swal.stopTimer)
toast.addEventListener('mouseleave', Swal.resumeTimer)
}
});
</script>
{/if}
<div class="row">
<div class="col-md-2">
</div>
@ -91,41 +51,5 @@
</div>
</form>
</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">&times;</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">&times;</button>
</div>
</div>
</div>
</div>
{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/vendors.js?v=1"></script>
</body>
</html>
{include file="user-ui/footer-public.tpl"}

View File

@ -1,48 +1,6 @@
<!DOCTYPE html>
<html>
{include file="user-ui/header-public.tpl"}
<div class="hidden-xs" style="height:100px"></div>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>{Lang::T('Register')} - {$_c['CompanyName']}</title>
<link rel="shortcut icon" href="ui/ui/images/logo.png" type="image/x-icon" />
<link rel="stylesheet" href="ui/ui/styles/bootstrap.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>
</head>
<body id="app" class="app off-canvas body-full">
<div class="container">
<div class="hidden-xs" style="height:150px"></div>
<div class="form-head mb20">
<h1 class="site-logo h2 mb5 mt5 text-center text-uppercase text-bold"
style="text-shadow: 2px 2px 4px #757575;">{$_c['CompanyName']}</h1>
<hr>
</div>
{if isset($notify)}
<script>
// Display SweetAlert toast notification
Swal.fire({
icon: '{if $notify_t == "s"}success{else}warning{/if}',
title: '{$notify}',
toast: true,
position: 'top-end',
showConfirmButton: false,
timer: 5000,
timerProgressBar: true,
didOpen: (toast) => {
toast.addEventListener('mouseenter', Swal.stopTimer)
toast.addEventListener('mouseleave', Swal.resumeTimer)
}
});
</script>
{/if}
<div class="row">
<div class="col-md-4">
<div class="panel panel-primary">
@ -84,8 +42,7 @@
</div>
<div class="md-input-container md-float-label">
<label>{Lang::T('Address')}</label>
<input type="text" name="address" id="address" value="{$address}"
class="form-control">
<input type="text" name="address" id="address" value="{$address}" class="form-control">
</div>
</div>
</div>
@ -102,8 +59,7 @@
</div>
<div class="md-input-container md-float-label">
<label>{Lang::T('Confirm Password')}</label>
<input type="password" required class="form-control" id="cpassword"
name="cpassword">
<input type="password" required class="form-control" id="cpassword" name="cpassword">
</div>
<br>
<div class="btn-group btn-group-justified mb15">
@ -126,41 +82,4 @@
</div>
</form>
</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">&times;</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">&times;</button>
</div>
</div>
</div>
</div>
{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/vendors.js?v=1"></script>
</body>
</html>
{include file="user-ui/footer-public.tpl"}