SMS OTP registration

This commit is contained in:
Ibnu Maksum 2022-09-07 14:44:20 +07:00
parent 8b7001b5ef
commit a84095b13b
No known key found for this signature in database
GPG Key ID: 7FC82848810579E5
17 changed files with 404 additions and 128 deletions

View File

View File

@ -18,7 +18,6 @@
<link rel="stylesheet" href="{$_theme}/styles/bootstrap.min.css"> <link rel="stylesheet" href="{$_theme}/styles/bootstrap.min.css">
<link rel="stylesheet" href="{$_theme}/styles/main.min.css"> <link rel="stylesheet" href="{$_theme}/styles/main.min.css">
<!-- <link href='http://fonts.googleapis.com/css?family=Roboto:400,500,700,300' rel='stylesheet' type='text/css'> -->
<!-- Match Media polyfill for IE9 --> <!-- Match Media polyfill for IE9 -->
<!--[if IE 9]> <script src="{$_theme}/scripts/ie/matchMedia.js"></script> <![endif]--> <!--[if IE 9]> <script src="{$_theme}/scripts/ie/matchMedia.js"></script> <![endif]-->

View File

@ -36,6 +36,8 @@
</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">{$_L['Mins']}</option>
<option value="Hrs">{$_L['Hrs']}</option>
<option value="Days">{$_L['Days']}</option> <option value="Days">{$_L['Days']}</option>
<option value="Months">{$_L['Months']}</option> <option value="Months">{$_L['Months']}</option>
</select> </select>

View File

@ -36,6 +36,8 @@
</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}>{$_L['Mins']}</option>
<option value="Hrs" {if $d['validity_unit'] eq 'Hrs'} selected {/if}>{$_L['Hrs']}</option>
<option value="Days" {if $d['validity_unit'] eq 'Days'} selected {/if}>{$_L['Days']}</option> <option value="Days" {if $d['validity_unit'] eq 'Days'} selected {/if}>{$_L['Days']}</option>
<option value="Months" {if $d['validity_unit'] eq 'Months'} selected {/if}>{$_L['Months']}</option> <option value="Months" {if $d['validity_unit'] eq 'Months'} selected {/if}>{$_L['Months']}</option>
</select> </select>

106
ui/ui/register-otp.tpl Normal file
View File

@ -0,0 +1,106 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>{$_title} - {$_L['Register']}</title>
<link rel="shortcut icon" href="{$_theme}/images/logo.png" type="image/x-icon" />
<!-- Icons -->
<link rel="stylesheet" href="{$_theme}/fonts/ionicons/css/ionicons.min.css">
<link rel="stylesheet" href="{$_theme}/fonts/font-awesome/css/font-awesome.min.css">
<!-- Plugins -->
<link rel="stylesheet" href="{$_theme}/styles/plugins/waves.css">
<link rel="stylesheet" href="{$_theme}/styles/plugins/perfect-scrollbar.css">
<!-- Css/Less Stylesheets -->
<link rel="stylesheet" href="{$_theme}/styles/bootstrap.min.css">
<link rel="stylesheet" href="{$_theme}/styles/main.min.css">
<!-- <link href='http://fonts.googleapis.com/css?family=Roboto:400,500,700,300' rel='stylesheet' type='text/css'> -->
<!-- Match Media polyfill for IE9 -->
<!--[if IE 9]> <script src="{$_theme}/scripts/ie/matchMedia.js"></script> <![endif]-->
</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)}
<div class="row">
<div class="col-md-6 col-md-offset-3">
{$notify}
</div>
</div>
{/if}
<div class="row">
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-heading">{$_L['Registration_Info']}</div>
<div class="panel-body" style="height:375px;max-height:375px;overflow:scroll;">
{include file="$_path/../pages/Registration_Info.html"}
</div>
</div>
</div>
<form class="form-horizontal" action="{$_url}register/post" method="post">
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-heading">1. {$_L['Register_Member']}</div>
<div class="panel-body">
<div class="form-container">
<div class="md-input-container md-float-label">
<input type="text" required class="md-input" readonly id="username" value="{$username}" placeholder="{$_L['Phone_Number']}" name="username">
<label>{$_L['Phone_Number']}</label>
</div>
<div class="md-input-container md-float-label">
<input type="text" required class="md-input" id="otp_code" value="" placeholder="'{Lang::T('Verification Code')}'" name="otp_code">
<label>{Lang::T('SMS Verification Code')}</label>
</div>
<div class="md-input-container md-float-label">
<input type="text" required class="md-input" id="fullname" value="{$fullname}" name="fullname">
<label>{$_L['Full_Name']}</label>
</div>
<div class="md-input-container md-float-label">
<input type="text" name="address" id="address" value="{$address}" class="md-input">
<label>{$_L['Address']}</label>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-heading">2. {$_L['Password']}</div>
<div class="panel-body">
<div class="form-container">
<div class="md-input-container md-float-label">
<input type="password" required class="md-input" id="password" name="password">
<label>{$_L['Password']}</label>
</div>
<div class="md-input-container md-float-label">
<input type="password" required class="md-input" id="cpassword" name="cpassword">
<label>{$_L['Confirm_Password']}</label>
</div>
<div class="btn-group btn-group-justified mb15">
<div class="btn-group">
<button class="btn btn-primary waves-effect waves-light" type="submit">{$_L['Register']}</button>
</div>
<div class="btn-group">
<a href="{$_url}register" class="btn btn-success">{$_L['Cancel']}</a>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
<script src="scripts/vendors.js"></script>
</body>
</html>

79
ui/ui/register-rotp.tpl Normal file
View File

@ -0,0 +1,79 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>{$_title} - {$_L['Register']}</title>
<link rel="shortcut icon" href="{$_theme}/images/logo.png" type="image/x-icon" />
<!-- Icons -->
<link rel="stylesheet" href="{$_theme}/fonts/ionicons/css/ionicons.min.css">
<link rel="stylesheet" href="{$_theme}/fonts/font-awesome/css/font-awesome.min.css">
<!-- Plugins -->
<link rel="stylesheet" href="{$_theme}/styles/plugins/waves.css">
<link rel="stylesheet" href="{$_theme}/styles/plugins/perfect-scrollbar.css">
<!-- Css/Less Stylesheets -->
<link rel="stylesheet" href="{$_theme}/styles/bootstrap.min.css">
<link rel="stylesheet" href="{$_theme}/styles/main.min.css">
<!-- <link href='http://fonts.googleapis.com/css?family=Roboto:400,500,700,300' rel='stylesheet' type='text/css'> -->
<!-- Match Media polyfill for IE9 -->
<!--[if IE 9]> <script src="{$_theme}/scripts/ie/matchMedia.js"></script> <![endif]-->
</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)}
<div class="row">
<div class="col-md-6 col-md-offset-3">
{$notify}
</div>
</div>
{/if}
<div class="row">
<div class="col-md-2">
</div>
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-heading">{$_L['Registration_Info']}</div>
<div class="panel-body" style="height:375px;max-height:375px;overflow:scroll;">
{include file="$_path/../pages/Registration_Info.html"}
</div>
</div>
</div>
<form class="form-horizontal" action="{$_url}register" method="post">
<div class="col-md-4">
<div class="panel panel-default">
<div class="panel-heading">1. {$_L['Register_Member']}</div>
<div class="panel-body">
<div class="form-container">
<div class="md-input-container md-float-label">
<input type="text" required class="md-input" id="username" placeholder="{$_L['Phone_Number']}" name="username">
<label>{$_L['Phone_Number']}</label>
</div>
<div class="btn-group btn-group-justified mb15">
<div class="btn-group">
<button class="btn btn-primary waves-effect waves-light" type="submit">{Lang::T('Request OTP')}</button>
</div>
<div class="btn-group">
<a href="{$_url}login" class="btn btn-success">{$_L['Cancel']}</a>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
<script src="scripts/vendors.js"></script>
</body>
</html>

View File

@ -55,7 +55,7 @@
<div class="form-container"> <div class="form-container">
<div class="md-input-container md-float-label"> <div class="md-input-container md-float-label">
<input type="text" required class="md-input" id="username" value="{$username}" placeholder="{$_L['Phone_Number']}" name="username"> <input type="text" required class="md-input" id="username" value="{$username}" placeholder="{$_L['Phone_Number']}" name="username">
<label>{$_L['Username']}</label> <label>{$_L['Phone_Number']}</label>
</div> </div>
<div class="md-input-container md-float-label"> <div class="md-input-container md-float-label">
<input type="text" required class="md-input" id="fullname" value="{$fullname}" name="fullname"> <input type="text" required class="md-input" id="fullname" value="{$fullname}" name="fullname">
@ -71,7 +71,7 @@
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
<div class="panel panel-default"> <div class="panel panel-default">
<div class="panel-heading">2. {$_L['Register_Member']}</div> <div class="panel-heading">2. {$_L['Password']}</div>
<div class="panel-body"> <div class="panel-body">
<div class="form-container"> <div class="form-container">
<div class="md-input-container md-float-label"> <div class="md-input-container md-float-label">

View File

@ -11,6 +11,7 @@
<label class="col-md-2 control-label">{$_L['Router_Name']}</label> <label class="col-md-2 control-label">{$_L['Router_Name']}</label>
<div class="col-md-6"> <div class="col-md-6">
<input type="text" class="form-control" id="name" name="name"> <input type="text" class="form-control" id="name" name="name">
<p class="help-block">{Lang::T('Name of Area that router operated')}</p>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -35,10 +36,9 @@
<label class="col-md-2 control-label">{$_L['Description']}</label> <label class="col-md-2 control-label">{$_L['Description']}</label>
<div class="col-md-6"> <div class="col-md-6">
<textarea class="form-control" id="description" name="description"></textarea> <textarea class="form-control" id="description" name="description"></textarea>
<p class="help-block">{Lang::T('Explain Coverage of router')}</p>
</div> </div>
</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-primary waves-effect waves-light" type="submit">{$_L['Save']}</button> <button class="btn btn-primary waves-effect waves-light" type="submit">{$_L['Save']}</button>

View File

@ -1,17 +1,17 @@
{include file="sections/header.tpl"} {include file="sections/header.tpl"}
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-12"> <div class="col-sm-12 col-md-12">
<div class="panel panel-default panel-hovered panel-stacked mb30"> <div class="panel panel-default panel-hovered panel-stacked mb30">
<div class="panel-heading">{$_L['Edit_Router']}</div> <div class="panel-heading">{$_L['Edit_Router']}</div>
<div class="panel-body"> <div class="panel-body">
<form class="form-horizontal" method="post" role="form" action="{$_url}routers/edit-post" > <form class="form-horizontal" method="post" role="form" action="{$_url}routers/edit-post" >
<input type="hidden" name="id" value="{$d['id']}"> <input type="hidden" name="id" value="{$d['id']}">
<div class="form-group"> <div class="form-group">
<label class="col-md-2 control-label">{$_L['Router_Name']}</label> <label class="col-md-2 control-label">{$_L['Router_Name']}</label>
<div class="col-md-6"> <div class="col-md-6">
<input type="text" class="form-control" id="name" name="name" value="{$d['name']}"> <input type="text" class="form-control" id="name" name="name" value="{$d['name']}">
<p class="help-block">{Lang::T('Name of Area that router operated')}</p>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
@ -36,6 +36,7 @@
<label class="col-md-2 control-label">{$_L['Description']}</label> <label class="col-md-2 control-label">{$_L['Description']}</label>
<div class="col-md-6"> <div class="col-md-6">
<textarea class="form-control" id="description" name="description">{$d['description']}</textarea> <textarea class="form-control" id="description" name="description">{$d['description']}</textarea>
<p class="help-block">{Lang::T('Explain Coverage of router')}</p>
</div> </div>
</div> </div>
@ -46,10 +47,10 @@
</div> </div>
</div> </div>
</form> </form>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div>
{include file="sections/footer.tpl"} {include file="sections/footer.tpl"}

View File

@ -23,7 +23,6 @@
<link rel="stylesheet" href="{$_theme}/styles/bootstrap.min.css"> <link rel="stylesheet" href="{$_theme}/styles/bootstrap.min.css">
<link rel="stylesheet" href="{$_theme}/styles/main.min.css"> <link rel="stylesheet" href="{$_theme}/styles/main.min.css">
<link href='http://fonts.googleapis.com/css?family=Roboto:400,500,700,300' rel='stylesheet' type='text/css'>
<!-- Match Media polyfill for IE9 --> <!-- Match Media polyfill for IE9 -->
<!--[if IE 9]> <script src="{$_theme}/scripts/ie/matchMedia.js"></script> <![endif]--> <!--[if IE 9]> <script src="{$_theme}/scripts/ie/matchMedia.js"></script> <![endif]-->
@ -120,7 +119,7 @@
</li> </li>
<li {if $_system_menu eq 'voucher'}class="open"{/if}> <li {if $_system_menu eq 'voucher'}class="open"{/if}>
<a href="#" onClick="toggleDropdownMobile(this)"> <a href="#">
<i class="ion ion-card"></i> <i class="ion ion-card"></i>
<span class="text">{$_L['Voucher']}</span> <span class="text">{$_L['Voucher']}</span>
<i class="arrow ion-chevron-left"></i> <i class="arrow ion-chevron-left"></i>
@ -130,11 +129,19 @@
<li {if $_system_menu eq 'voucher'}class="active"{/if}><a href="{$_url}voucher/list-activated">{$_L['List_Activated_Voucher']}</a></li> <li {if $_system_menu eq 'voucher'}class="active"{/if}><a href="{$_url}voucher/list-activated">{$_L['List_Activated_Voucher']}</a></li>
</ul> </ul>
</li> </li>
<li {if $_system_menu eq 'order'}class="active"{/if}> <li {if $_system_menu eq 'order'}class="open"{/if}>
<a href="{$_url}page/Order_Voucher"> <a href="#" onClick="toggleDropdownMobile(this)">
<i class="ion ion-ios-cart"></i> <i class="ion ion-ios-cart"></i>
<span class="text">{$_L['Order_Voucher']}</span> <span class="text">ORDER</span>
<i class="arrow ion-chevron-left"></i>
</a> </a>
<ul class="inner-drop list-unstyled">
<li {if $_system_menu eq 'order'}class="active"{/if}><a href="{$_url}order/voucher">Voucher</a></li>
{if $_c['payment_gateway'] != 'none'}
<li {if $_system_menu eq 'order'}class="active"{/if}><a href="{$_url}order/hotspot">Hotspot</a></li>
<li {if $_system_menu eq 'order'}class="active"{/if}><a href="{$_url}order/ppoe">PPOE</a></li>
{/if}
</ul>
</li> </li>
<li {if $_system_menu eq 'accounts'}class="open"{/if}> <li {if $_system_menu eq 'accounts'}class="open"{/if}>
<a href="#" onClick="toggleDropdownMobile(this)"> <a href="#" onClick="toggleDropdownMobile(this)">

View File

@ -42,6 +42,9 @@
</div> </div>
</form> </form>
</div> </div>
<div class="panel-footer">
<a class="btn btn-info btn-block btn-sm waves-effect waves-light" href="{$_url}order/voucher"><i class="ion ion-ios-cart"></i> {$_L['Order_Voucher']}</a>
</div>
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">

View File

@ -2,9 +2,9 @@
<div class="row"> <div class="row">
<div class="col-sm-12"> <div class="col-sm-12">
<div class="panel mb20 panel-primary panel-hovered"> <div class="panel mb20 panel-primary panel-hovered">
<div class="panel-heading">{$_L[$pageHeader]}</div> <div class="panel-heading">{$_L['Order_Voucher']}</div>
<div class="panel-body"> <div class="panel-body">
{include file="$_path/../pages/$PageFile.html"} {include file="$_path/../pages/Order_Voucher.html"}
</div> </div>
</div> </div>
</div> </div>

View File

@ -0,0 +1,47 @@
{include file="sections/user-header.tpl"}
<div class="row">
<div class="col-sm-12">
<div class="panel mb20 panel-default panel-hovered">
<div class="panel-heading">Order Hotspot</div>
</div>
{foreach $routers as $router}
<div class="panel mb20 panel-info panel-hovered">
<div class="panel-heading">{$router['name']}</div>
{if $router['description'] != ''}
<div class="panel-body">
{$router['description']}
</div>
{/if}
</div>
<div class="row">
{foreach $plans as $plan}
{if $router['name'] eq $plan['routers']}
<div class="col-sm-3">
<div class="panel mb10 panel-default panel-hovered">
<div class="panel-heading"> {$plan['name_plan']}</div>
<div class="table-responsive">
<table class="table table-bordered table-striped">
<tbody>
<tr>
<td>Price</td>
<td>{$plan['price']}</td>
</tr>
<tr>
<td>Validity</td>
<td>{$plan['validity']} {$plan['validity_unit']}</td>
</tr>
</tbody>
</table>
</div>
<div class="panel-footer">
<a href="{$_url}order/hotspot-buy/{$router['id']}/{$plan['id']}" class="btn btn-sm btn-block btn-primary">Buy</a>
</div>
</div>
</div>
{/if}
{/foreach}
</div>
{/foreach}
</div>
</div>
{include file="sections/user-footer.tpl"}

30
ui/ui/user-orderPPOE.tpl Normal file
View File

@ -0,0 +1,30 @@
{include file="sections/user-header.tpl"}
<div class="row">
<div class="col-sm-12">
<div class="panel mb20 panel-primary panel-hovered">
<div class="panel-heading">Order PPOE</div>
</div>
{foreach $routers as $router}
<div class="panel mb20 panel-info panel-hovered">
<div class="panel-heading">{$router['name']}</div>
<div class="panel-body">
{$router['description']}
</div>
</div>
<div class="row">
<div class="col-sm-3">
<div class="panel mb10 panel-default panel-hovered">
<div class="panel-heading">Router Name</div>
<div class="panel-body">
Router Description
</div>
<div class="panel-footer">
<a href="" class="btn btn-sm btn-block btn-primary">Buy</a>
</div>
</div>
</div>
</div>
{/foreach}
</div>
</div>
{include file="sections/user-footer.tpl"}