init: workspace opencode sync
This commit is contained in:
@@ -0,0 +1,269 @@
|
||||
<?php
|
||||
/*
|
||||
* Copyright (C) 2018 Laksamadi Guko.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
// hide all error
|
||||
error_reporting(0);
|
||||
ini_set('max_execution_time', 300);
|
||||
|
||||
if (!isset($_SESSION["mikhmon"])) {
|
||||
header("Location:../admin.php?id=login");
|
||||
} else {
|
||||
|
||||
if ($prof == "all") {
|
||||
$getuser = $API->comm("/ip/hotspot/user/print");
|
||||
$TotalReg = count($getuser);
|
||||
|
||||
$counttuser = $API->comm("/ip/hotspot/user/print", array(
|
||||
"count-only" => ""
|
||||
));
|
||||
|
||||
} elseif ($prof != "all") {
|
||||
$getuser = $API->comm("/ip/hotspot/user/print", array(
|
||||
"?profile" => "$prof",
|
||||
));
|
||||
$TotalReg = count($getuser);
|
||||
|
||||
$counttuser = $API->comm("/ip/hotspot/user/print", array(
|
||||
"count-only" => "",
|
||||
"?profile" => "$prof",
|
||||
));
|
||||
|
||||
}
|
||||
if ($comm != "") {
|
||||
$getuser = $API->comm("/ip/hotspot/user/print", array(
|
||||
"?comment" => "$comm",
|
||||
//"?uptime" => "00:00:00"
|
||||
));
|
||||
$TotalReg = count($getuser);
|
||||
|
||||
$counttuser = $API->comm("/ip/hotspot/user/print", array(
|
||||
"count-only" => "",
|
||||
"?comment" => "$comm",
|
||||
));
|
||||
|
||||
}
|
||||
$exp = $_GET['exp'];
|
||||
if ($exp != "") {
|
||||
$getuser = $API->comm("/ip/hotspot/user/print", array(
|
||||
"?limit-uptime" => "1s",
|
||||
));
|
||||
|
||||
$counttuser = $API->comm("/ip/hotspot/user/print", array(
|
||||
"count-only" => "",
|
||||
"?limit-uptime" => "1s",
|
||||
));
|
||||
|
||||
}
|
||||
$getprofile = $API->comm("/ip/hotspot/user/profile/print");
|
||||
$TotalReg2 = count($getprofile);
|
||||
}
|
||||
?>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3><i class="fa fa-users"></i> <?= $_users ?>
|
||||
<span style="font-size: 14px">
|
||||
<?php
|
||||
if ($counttuser == 0) {
|
||||
echo "<script>window.location='./?hotspot=users&profile=all&session=" . $session . "</script>";
|
||||
} ?>
|
||||
| <a href="./?hotspot-user=add&session=<?= $session; ?>" title="Add User"><i class="fa fa-user-plus"></i> <?= $_add ?></a>
|
||||
| <a href="./?hotspot-user=generate&session=<?= $session; ?>" title="Generate User"><i class="fa fa-users"></i> <?= $_generate ?></a>
|
||||
| <a href="<?= str_replace("=users", "=export-users", $url); ?>&export=script" title="Download User List as Mikrotik Script"><i class="fa fa-download"></i> Script</a> | <a href="<?= str_replace("=users", "=export-users", $url); ?>&export=csv" title="Download User List as CSV"><i class="fa fa-download"></i> CSV</a>
|
||||
</span>
|
||||
<small id="loader" style="display: none;" ><i><i class='fa fa-circle-o-notch fa-spin'></i> <?= $_processing ?> </i></small>
|
||||
</h3>
|
||||
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-6 pd-t-5 pd-b-5">
|
||||
<div class="input-group">
|
||||
<div class="input-group-4 col-box-4">
|
||||
<input id="filterTable" type="text" style="padding:5.8px;" class="group-item group-item-l" placeholder="<?= $_search ?>">
|
||||
</div>
|
||||
<div class="input-group-4 col-box-4">
|
||||
<select style="padding:5px;" class="group-item group-item-m" onchange="location = this.value; loader()" title="Filter by Profile">
|
||||
<option><?= $_profile ?> </option>
|
||||
<option value="./?hotspot=users&profile=all&session=<?= $session; ?>"><?= $_show_all ?></option>
|
||||
<?php
|
||||
for ($i = 0; $i < $TotalReg2; $i++) {
|
||||
$profile = $getprofile[$i];
|
||||
echo "<option value='./?hotspot=users&profile=" . $profile['name'] . "&session=" . $session . "'>" . $profile['name'] . "</option>";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
<div class="input-group-4 col-box-4">
|
||||
<select style="padding:5px;" class="group-item group-item-r" id="comment" name="comment" onchange="location = './?hotspot=users&comment='+ this.value +'&session=<?= $session;?>';">
|
||||
<?php
|
||||
if ($comm != "") {
|
||||
} else {
|
||||
echo "<option value=''>".$_comment."</option>";
|
||||
}
|
||||
$TotalReg = count($getuser);
|
||||
for ($i = 0; $i < $TotalReg; $i++) {
|
||||
$ucomment = $getuser[$i]['comment'];
|
||||
$uprofile = $getuser[$i]['profile'];
|
||||
$acomment .= ",".$ucomment."#". $uprofile;
|
||||
}
|
||||
|
||||
$ocomment= explode(",",$acomment);
|
||||
|
||||
$comments=array_count_values($ocomment) ;
|
||||
foreach ($comments as $tcomment=>$value) {
|
||||
|
||||
if (is_numeric(substr($tcomment, 3, 3))) {
|
||||
|
||||
echo "<option value='" . explode("#",$tcomment)[0] . "' >". explode("#",$tcomment)[0]." ".explode("#",$tcomment)[1]. " [".$value. "]</option>";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-6">
|
||||
<?php if ($comm != "") { ?>
|
||||
<button class="btn bg-red" onclick="if(confirm('Are you sure to delete username by comment (<?= $comm; ?>)?')){loadpage('./?remove-hotspot-user-by-comment=<?= $comm; ?>&session=<?= $session; ?>');loader();}else{}" title="Remove user by comment <?= $comm; ?>"> <i class="fa fa-trash"></i> <?= $_by_comment ?></button>
|
||||
<?php ; }else if ($exp == "1"){ ?>
|
||||
<button class="btn bg-red" onclick="if(confirm('Are you sure to delete users?')){loadpage('./?remove-hotspot-user-expired=1&session=<?= $session; ?>');loader();}else{}" title="Remove user expired"> <i class="fa fa-trash"></i> Expired Users</button>
|
||||
<?php } ?>
|
||||
<script>
|
||||
function printV(a,b){
|
||||
var comm = document.getElementById('comment').value;
|
||||
var url = "./voucher/print.php?id="+comm+"&"+a+"="+b+"&session=<?= $session; ?>";
|
||||
if (comm === "" ){
|
||||
<?php if ($currency == in_array($currency, $cekindo['indo'])) { ?>
|
||||
alert('Silakan pilih salah satu Comment terlebih dulu!');
|
||||
<?php
|
||||
} else { ?>
|
||||
alert('Please choose one of the Comments first!');
|
||||
<?php
|
||||
} ?>
|
||||
}else{
|
||||
var win = window.open(url, '_blank');
|
||||
win.focus();
|
||||
}}
|
||||
</script>
|
||||
<button class="btn bg-primary" title='Print' onclick="printV('qr','no');"><i class="fa fa-print"></i> <?= $_print_default ?></button>
|
||||
<button class="btn bg-primary" title='Print QR' onclick="printV('qr','yes');"><i class="fa fa-print"></i> <?= $_print_qr ?></button>
|
||||
<button class="btn bg-primary" title='Print Small'onclick="printV('small','yes');"><i class="fa fa-print"></i> <?= $_print_small ?></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="overflow mr-t-10 box-bordered" style="max-height: 75vh">
|
||||
<table id="dataTable" class="table table-bordered table-hover text-nowrap">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="min-width:50px;" class="align-middle text-center" id="cuser"><?= $counttuser; ?></th>
|
||||
<th style="min-width:50px;" class="pointer" title="Click to sort"><i class="fa fa-sort"></i> Server</th>
|
||||
<th class="pointer" title="Click to sort"><i class="fa fa-sort"></i> <?= $_name ?></th>
|
||||
<th>Print</th>
|
||||
<th class="pointer" title="Click to sort"><i class="fa fa-sort"></i> <?= $_profile ?></th>
|
||||
<th class="pointer" title="Click to sort"><i class="fa fa-sort"></i> Mac Address</th>
|
||||
<th class="text-right align-middle pointer" title="Click to sort"><i class="fa fa-sort"></i> <?= $_uptime_user ?></th>
|
||||
<th class="text-right align-middle pointer" title="Click to sort"><i class="fa fa-sort"></i> Bytes In</th>
|
||||
<th class="text-right align-middle pointer" title="Click to sort"><i class="fa fa-sort"></i> Bytes Out</th>
|
||||
<th class="pointer" title="Click to sort"><i class="fa fa-sort"></i> <?= $_comment ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="tbody">
|
||||
<?php
|
||||
for ($i = 0; $i < $TotalReg; $i++) {
|
||||
$userdetails = $getuser[$i];
|
||||
$uid = $userdetails['.id'];
|
||||
$userver = $userdetails['server'];
|
||||
$uname = $userdetails['name'];
|
||||
$upass = $userdetails['password'];
|
||||
$uprofile = $userdetails['profile'];
|
||||
$umacadd = $userdetails['mac-address'];
|
||||
$uuptime = formatDTM($userdetails['uptime']);
|
||||
$ubytesi = formatBytes($userdetails['bytes-in'], 2);
|
||||
$ubyteso = formatBytes($userdetails['bytes-out'], 2);
|
||||
|
||||
$ucomment = $userdetails['comment'];
|
||||
$udisabled = $userdetails['disabled'];
|
||||
$utimelimit = $userdetails['limit-uptime'];
|
||||
if ($utimelimit == '1s') {
|
||||
$utimelimit = ' expired';
|
||||
} else {
|
||||
$utimelimit = ' ' . $utimelimit;
|
||||
}
|
||||
$udatalimit = $userdetails['limit-bytes-total'];
|
||||
if ($udatalimit == '') {
|
||||
$udatalimit = '';
|
||||
} else {
|
||||
$udatalimit = ' ' . formatBytes($udatalimit, 2);
|
||||
}
|
||||
|
||||
echo "<tr>";
|
||||
?>
|
||||
<td style='text-align:center;'> <i class='fa fa-minus-square text-danger pointer' onclick="if(confirm('Are you sure to delete username (<?= $uname; ?>)?')){loadpage('./?remove-hotspot-user=<?= $uid; ?>&session=<?= $session; ?>')}else{}" title='Remove <?= $uname; ?>'></i>      
|
||||
<?php
|
||||
if ($udisabled == "true") {
|
||||
$uriprocess = "'./?enable-hotspot-user=" . $uid . "&session=" . $session."'";
|
||||
echo '<span class="text-warning pointer" title="Enable User ' . $uname . '" onclick="loadpage('.$uriprocess.')"><i class="fa fa-lock "></i></span></td>';
|
||||
} else {
|
||||
$uriprocess = "'./?disable-hotspot-user=" . $uid . "&session=" . $session."'";
|
||||
echo '<span class="pointer" title="Disable User ' . $uname . '" onclick="loadpage('.$uriprocess.')"><i class="fa fa-unlock "></i></span></td>';
|
||||
}
|
||||
echo "<td>" . $userver . "</td>";
|
||||
if ($uname == $upass) {
|
||||
$usermode = "vc";
|
||||
} else {
|
||||
$usermode = "up";
|
||||
}
|
||||
$popup = "javascript:window.open('./voucher/print.php?user=" . $usermode . "-" . $uname . "&qr=no&session=" . $session . "','_blank','width=320,height=550').print();";
|
||||
$popupQR = "javascript:window.open('./voucher/print.php?user=" . $usermode . "-" . $uname . "&qr=yes&session=" . $session . "','_blank','width=320,height=550').print();";
|
||||
echo "<td><a title='Open User " . $uname . "' href=./?hotspot-user=" . $uid . "&session=" . $session . "><i class='fa fa-edit'></i> " . $uname . " </a>";
|
||||
echo '</td><td class"text-center"><a title="Print ' . $uname . '" href="' . $popup . '"><i class="fa fa-print"></i></a>   <a title="Print ' . $uname . '" href="' . $popupQR . '"><i class="fa fa-qrcode"></i> </a></td>';
|
||||
echo "<td>" . $uprofile . "</td>";
|
||||
echo "<td style=' text-align:left'>" . $umacadd . "</td>";
|
||||
echo "<td style=' text-align:right'>" . $uuptime . "</td>";
|
||||
echo "<td style=' text-align:right'>" . $ubytesi . "</td>";
|
||||
echo "<td style=' text-align:right'>" . $ubyteso . "</td>";
|
||||
echo "<td>";
|
||||
if ($uname == "default-trial") {
|
||||
} else if (substr($ucomment,0,3) == "vc-" || substr($ucomment,0,3) == "up-") {
|
||||
echo "<a href=./?hotspot=users&comment=" . $ucomment . "&session=" . $session . " title='Filter by " . $ucomment . "'><i class='fa fa-search'></i> ". $ucomment." ". $udatalimit ." ".$utimelimit . "</a>";
|
||||
} else if ($utimelimit == ' expired') {
|
||||
echo "<a href=./?hotspot=users&profile=all&exp=1&session=" . $session . " title='Filter by expired'><i class='fa fa-search'></i> " . $ucomment." ". $udatalimit ." ".$utimelimit . "</a>";
|
||||
}else{
|
||||
echo $ucomment.' ';
|
||||
}
|
||||
echo "</td>";
|
||||
|
||||
|
||||
}
|
||||
?>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user