init: workspace opencode sync

This commit is contained in:
2026-08-15 00:28:06 +07:00
commit eb71c40fc1
170 changed files with 23352 additions and 0 deletions
+481
View File
@@ -0,0 +1,481 @@
<?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/>.
*/
session_start();
// hide all error
error_reporting(0);
ini_set('max_execution_time', 300);
if (!isset($_SESSION["mikhmon"])) {
header("Location:../admin.php?id=login");
} else {
// time zone
date_default_timezone_set($_SESSION['timezone']);
$genprof = $_GET['genprof'];
if ($genprof != "") {
$getprofile = $API->comm("/ip/hotspot/user/profile/print", array(
"?name" => "$genprof",
));
$ponlogin = $getprofile[0]['on-login'];
$getprice = explode(",", $ponlogin)[2];
if ($getprice == "0") {
$getprice = "";
} else {
$getprice = $getprice;
}
$getvalid = explode(",", $ponlogin)[3];
$getlocku = explode(",", $ponlogin)[6];
if ($getlocku == "") {
$getprice = "Disable";
} else {
$getlocku = $getlocku;
}
if ($currency == in_array($currency, $cekindo['indo'])) {
$getprice = $currency . " " . number_format((float)$getprice, 0, ",", ".");
} else {
$getprice = $currency . " " . number_format((float)$getprice);
}
$ValidPrice = "<b>Validity : " . $getvalid . " | Price : " . $getprice . " | Lock User : " . $getlocku . "</b>";
} else {
}
$srvlist = $API->comm("/ip/hotspot/print");
if (isset($_POST['qty'])) {
$qty = ($_POST['qty']);
$server = ($_POST['server']);
$user = ($_POST['user']);
$userl = ($_POST['userl']);
$prefix = ($_POST['prefix']);
$char = ($_POST['char']);
$profile = ($_POST['profile']);
$timelimit = ($_POST['timelimit']);
$datalimit = ($_POST['datalimit']);
$adcomment = ($_POST['adcomment']);
$mbgb = ($_POST['mbgb']);
if ($timelimit == "") {
$timelimit = "0";
} else {
$timelimit = $timelimit;
}
if ($datalimit == "") {
$datalimit = "0";
} else {
$datalimit = $datalimit * $mbgb;
}
if ($adcomment == "") {
$adcomment = "";
} else {
$adcomment = $adcomment;
}
$getprofile = $API->comm("/ip/hotspot/user/profile/print", array("?name" => "$profile"));
$ponlogin = $getprofile[0]['on-login'];
$getvalid = explode(",", $ponlogin)[3];
$getprice = explode(",", $ponlogin)[2];
$getsprice = explode(",", $ponlogin)[4];
$getlock = explode(",", $ponlogin)[6];
$_SESSION['ubp'] = $profile;
$commt = $user . "-" . rand(100, 999) . "-" . date("m.d.y") . "-" . $adcomment;
$gentemp = $commt . "|~" . $profile . "~" . $getvalid . "~" . $getprice . "!".$getsprice."~" . $timelimit . "~" . $datalimit . "~" . $getlock;
$gen = '<?php $genu="'.encrypt($gentemp).'";?>';
$temp = './voucher/temp.php';
$handle = fopen($temp, 'w') or die('Cannot open file: ' . $temp);
$data = $gen;
fwrite($handle, $data);
$a = array("1" => "", "", 1, 2, 2, 3, 3, 4);
if ($user == "up") {
for ($i = 1; $i <= $qty; $i++) {
if ($char == "lower") {
$u[$i] = randLC($userl);
} elseif ($char == "upper") {
$u[$i] = randUC($userl);
} elseif ($char == "upplow") {
$u[$i] = randULC($userl);
} elseif ($char == "mix") {
$u[$i] = randNLC($userl);
} elseif ($char == "mix1") {
$u[$i] = randNUC($userl);
} elseif ($char == "mix2") {
$u[$i] = randNULC($userl);
}
if ($userl == 3) {
$p[$i] = randN(3);
} elseif ($userl == 4) {
$p[$i] = randN(4);
} elseif ($userl == 5) {
$p[$i] = randN(5);
} elseif ($userl == 6) {
$p[$i] = randN(6);
} elseif ($userl == 7) {
$p[$i] = randN(7);
} elseif ($userl == 8) {
$p[$i] = randN(8);
}
$u[$i] = "$prefix$u[$i]";
}
for ($i = 1; $i <= $qty; $i++) {
$API->comm("/ip/hotspot/user/add", array(
"server" => "$server",
"name" => "$u[$i]",
"password" => "$p[$i]",
"profile" => "$profile",
"limit-uptime" => "$timelimit",
"limit-bytes-total" => "$datalimit",
"comment" => "$commt",
));
}
}
if ($user == "vc") {
$shuf = ($userl - $a[$userl]);
for ($i = 1; $i <= $qty; $i++) {
if ($char == "lower") {
$u[$i] = randLC($shuf);
} elseif ($char == "upper") {
$u[$i] = randUC($shuf);
} elseif ($char == "upplow") {
$u[$i] = randULC($shuf);
}
if ($userl == 3) {
$p[$i] = randN(1);
} elseif ($userl == 4 || $userl == 5) {
$p[$i] = randN(2);
} elseif ($userl == 6 || $userl == 7) {
$p[$i] = randN(3);
} elseif ($userl == 8) {
$p[$i] = randN(4);
}
$u[$i] = "$prefix$u[$i]$p[$i]";
if ($char == "num") {
if ($userl == 3) {
$p[$i] = randN(3);
} elseif ($userl == 4) {
$p[$i] = randN(4);
} elseif ($userl == 5) {
$p[$i] = randN(5);
} elseif ($userl == 6) {
$p[$i] = randN(6);
} elseif ($userl == 7) {
$p[$i] = randN(7);
} elseif ($userl == 8) {
$p[$i] = randN(8);
}
$u[$i] = "$prefix$p[$i]";
}
if ($char == "mix") {
$p[$i] = randNLC($userl);
$u[$i] = "$prefix$p[$i]";
}
if ($char == "mix1") {
$p[$i] = randNUC($userl);
$u[$i] = "$prefix$p[$i]";
}
if ($char == "mix2") {
$p[$i] = randNULC($userl);
$u[$i] = "$prefix$p[$i]";
}
}
for ($i = 1; $i <= $qty; $i++) {
$API->comm("/ip/hotspot/user/add", array(
"server" => "$server",
"name" => "$u[$i]",
"password" => "$u[$i]",
"profile" => "$profile",
"limit-uptime" => "$timelimit",
"limit-bytes-total" => "$datalimit",
"comment" => "$commt",
));
}
}
if ($qty < 2) {
echo "<script>window.location='./?hotspot-user=" . $u[1] . "&session=" . $session . "'</script>";
} else {
echo "<script>window.location='./?hotspot-user=generate&session=" . $session . "'</script>";
}
}
$getprofile = $API->comm("/ip/hotspot/user/profile/print");
include_once('./voucher/temp.php');
$genuser = explode("-", decrypt($genu));
$genuser1 = explode("~", decrypt($genu));
$umode = $genuser[0];
$ucode = $genuser[1];
$udate = $genuser[2];
$uprofile = $genuser1[1];
$uvalid = $genuser1[2];
$ucommt = $genuser[3];
if ($uvalid == "") {
$uvalid = "-";
} else {
$uvalid = $uvalid;
}
$uprice = explode("!",$genuser1[3])[0];
if ($uprice == "0") {
$uprice = "-";
} else {
$uprice = $uprice;
}
$suprice = explode("!",$genuser1[3])[1];
if ($suprice == "0") {
$suprice = "-";
} else {
$suprice = $suprice;
}
$utlimit = $genuser1[4];
if ($utlimit == "0") {
$utlimit = "-";
} else {
$utlimit = $utlimit;
}
$udlimit = $genuser1[5];
if ($udlimit == "0") {
$udlimit = "-";
} else {
$udlimit = formatBytes($udlimit, 2);
}
$ulock = $genuser1[6];
//$urlprint = "$umode-$ucode-$udate-$ucommt";
$urlprint = explode("|", decrypt($genu))[0];
if ($currency == in_array($currency, $cekindo['indo'])) {
$uprice = $currency . " " . number_format((float)$uprice, 0, ",", ".");
$suprice = $currency . " " . number_format((float)$suprice, 0, ",", ".");
} else {
$uprice = $currency . " " . number_format((float)$uprice);
$suprice = $currency . " " . number_format((float)$suprice);
}
}
?>
<div class="row">
<div class="col-8">
<div class="card box-bordered">
<div class="card-header">
<h3><i class="fa fa-user-plus"></i> <?= $_generate_user ?> <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">
<form autocomplete="off" method="post" action="">
<div>
<?php if ($_SESSION['ubp'] != "") {
echo " <a class='btn bg-warning' href='./?hotspot=users&profile=" . $_SESSION['ubp'] . "&session=" . $session . "'> <i class='fa fa-close'></i> ".$_close."</a>";
} elseif ($_SESSION['vcr'] = "active") {
echo " <a class='btn bg-warning' href='./?hotspot=users-by-profile&session=" . $session . "'> <i class='fa fa-close'></i> ".$_close."</a>";
} else {
echo " <a class='btn bg-warning' href='./?hotspot=users&profile=all&session=" . $session . "'> <i class='fa fa-close'></i> ".$_close."</a>";
}
?>
<a class="btn bg-pink" title="Open User List by Profile
<?php if ($_SESSION['ubp'] == "") {
echo "all";
} else {
echo $uprofile;
} ?>" href="./?hotspot=users&profile=
<?php if ($_SESSION['ubp'] == "") {
echo "all";
} else {
echo $uprofile;
} ?>&session=<?= $session; ?>"> <i class="fa fa-users"></i> <?= $_user_list ?></a>
<button type="submit" name="save" onclick="loader()" class="btn bg-primary" title="Generate User"> <i class="fa fa-save"></i> <?= $_generate ?></button>
<a class="btn bg-secondary" title="Print Default" href="./voucher/print.php?id=<?= $urlprint; ?>&qr=no&session=<?= $session; ?>" target="_blank"> <i class="fa fa-print"></i> <?= $_print ?></a>
<a class="btn bg-danger" title="Print QR" href="./voucher/print.php?id=<?= $urlprint; ?>&qr=yes&session=<?= $session; ?>" target="_blank"> <i class="fa fa-qrcode"></i> <?= $_print_qr ?></a>
<a class="btn bg-info" title="Print Small" href="./voucher/print.php?id=<?= $urlprint; ?>&small=yes&session=<?= $session; ?>" target="_blank"> <i class="fa fa-print"></i> <?= $_print_small ?></a>
</div>
<table class="table">
<tr>
<td class="align-middle"><?= $_qty ?></td><td><div><input class="form-control " type="number" name="qty" min="1" max="500" value="1" required="1"></div></td>
</tr>
<tr>
<td class="align-middle">Server</td>
<td>
<select class="form-control " name="server" required="1">
<option>all</option>
<?php $TotalReg = count($srvlist);
for ($i = 0; $i < $TotalReg; $i++) {
echo "<option>" . $srvlist[$i]['name'] . "</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td class="align-middle"><?= $_user_mode ?></td><td>
<select class="form-control " onchange="defUserl();" id="user" name="user" required="1">
<option value="up"><?= $_user_pass ?></option>
<option value="vc"><?= $_user_user ?></option>
</select>
</td>
</tr>
<tr>
<td class="align-middle"><?= $_user_length ?></td><td>
<select class="form-control " id="userl" name="userl" required="1">
<option>4</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
</select>
</td>
</tr>
<tr>
<td class="align-middle"><?= $_prefix ?></td><td><input class="form-control " type="text" size="6" maxlength="6" autocomplete="off" name="prefix" value=""></td>
</tr>
<tr>
<td class="align-middle"><?= $_character ?></td><td>
<select class="form-control " name="char" required="1">
<option id="lower" style="display:block;" value="lower"><?= $_random ?> abcd</option>
<option id="upper" style="display:block;" value="upper"><?= $_random ?> ABCD</option>
<option id="upplow" style="display:block;" value="upplow"><?= $_random ?> aBcD</option>
<option id="lower1" style="display:none;" value="lower"><?= $_random ?> abcd2345</option>
<option id="upper1" style="display:none;" value="upper"><?= $_random ?> ABCD2345</option>
<option id="upplow1" style="display:none;" value="upplow"><?= $_random ?> aBcD2345</option>
<option id="mix" style="display:block;" value="mix"><?= $_random ?> 5ab2c34d</option>
<option id="mix1" style="display:block;" value="mix1"><?= $_random ?> 5AB2C34D</option>
<option id="mix2" style="display:block;" value="mix2"><?= $_random ?> 5aB2c34D</option>
<option id="num" style="display:none;" value="num"><?= $_random ?> 1234</option>
</select>
</td>
</tr>
<tr>
<td class="align-middle"><?= $_profile ?></td><td>
<select class="form-control " onchange="GetVP();" id="uprof" name="profile" required="1">
<?php if ($genprof != "") {
echo "<option>" . $genprof . "</option>";
} else {
}
$TotalReg = count($getprofile);
for ($i = 0; $i < $TotalReg; $i++) {
echo "<option>" . $getprofile[$i]['name'] . "</option>";
}
?>
</select>
</td>
</tr>
<tr>
<td class="align-middle"><?= $_time_limit ?></td><td><input class="form-control " type="text" size="4" autocomplete="off" name="timelimit" value=""></td>
</tr>
<tr>
<td class="align-middle"><?= $_data_limit ?></td><td>
<div class="input-group">
<div class="input-group-10 col-box-9">
<input class="group-item group-item-l" type="number" min="0" max="9999" name="datalimit" value="<?= $udatalimit; ?>">
</div>
<div class="input-group-2 col-box-3">
<select style="padding:4.2px;" class="group-item group-item-r" name="mbgb" required="1">
<option value=1048576>MB</option>
<option value=1073741824>GB</option>
</select>
</div>
</div>
</td>
</tr>
<tr>
<td class="align-middle"><?= $_comment ?></td><td><input class="form-control " type="text" title="No special characters" id="comment" autocomplete="off" name="adcomment" value=""></td>
</tr>
<tr >
<td colspan="4" class="align-middle w-12" id="GetValidPrice">
<?php if ($genprof != "") {
echo $ValidPrice;
} ?>
</td>
</tr>
</table>
</form>
</div>
</div>
</div>
<div class="col-4">
<div class="card">
<div class="card-header">
<h3><i class="fa fa-ticket"></i> <?= $_last_generate ?></h3>
</div>
<div class="card-body">
<table class="table table-bordered">
<tr>
<td><?= $_generate_code ?></td><td><?= $ucode ?></td>
</tr>
<tr>
<td><?= $_date ?></td><td><?= $udate ?></td>
</tr>
<tr>
<td><?= $_profile ?></td><td><?= $uprofile ?></td>
</tr>
<tr>
<td><?= $_validity ?></td><td><?= $uvalid ?></td>
<tr>
<td><?= $_time_limit ?></td><td><?= $utlimit ?></td>
</tr>
<tr>
<td><?= $_data_limit ?></td><td><?= $udlimit ?></td>
</tr>
<tr>
<td><?= $_price ?></td><td><?= $uprice ?></td>
</tr>
<tr>
<td><?= $_selling_price ?></td><td><?= $suprice ?></td>
</tr>
<tr>
<td><?= $_lock_user ?></td><td><?= $ulock ?></td>
</tr>
<tr>
<td colspan="2">
<p style="padding:0px 5px;">
<?= $_format_time_limit ?>
</p>
<p style="padding:0px 5px;">
<?= $_details_add_user ?>
</p>
</td>
</tr>
</table>
</div>
</div>
</div>
<script>
// get valid $ price
function GetVP(){
var prof = document.getElementById('uprof').value;
$("#GetValidPrice").load("./process/getvalidprice.php?name="+prof+"&session=<?= $session; ?> #getdata");
}
</script>
</div>