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
+209
View File
@@ -0,0 +1,209 @@
<?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();
error_reporting(0);
ob_start("ob_gzhandler");
if (!isset($_SESSION["mikhmon"])) {
header("Location:../admin.php?id=login");
} else {
date_default_timezone_set($_SESSION['timezone']);
// load session MikroTik
$session = $_GET['session'];
// load config
include('../include/config.php');
include('../include/readcfg.php');
include('../lib/formatbytesbites.php');
$id = $_GET['id'];
$qr = $_GET['qr'];
$small = $_GET['small'];
$userp = $_GET['user'];
require('../lib/routeros_api.class.php');
$API = new RouterosAPI();
$API->debug = false;
$API->connect($iphost, $userhost, decrypt($passwdhost));
if ($userp != "") {
$usermode = explode('-', $userp)[0];
$pulluser = explode('-', $userp);
$iuser = count($pulluser);
$prefix = explode('-', $userp)[$iuser - 2];
$user = explode('-', $userp)[$iuser - 1];
if ($iuser == 3) {
$user = $prefix . "-" . $user;
} else {
$user = $user;
}
$getuser = $API->comm("/ip/hotspot/user/print", array("?name" => "$user"));
$TotalReg = count($getuser);
} elseif ($id != "") {
$usermode = explode('-', $id)[0];
$getuser = $API->comm('/ip/hotspot/user/print', array("?comment" => "$id", "?uptime" => "0s"));
$TotalReg = count($getuser);
}
$getuprofile = $getuser[0]['profile'];
$getprofile = $API->comm("/ip/hotspot/user/profile/print", array("?name" => "$getuprofile"));
$getsharedu = $getprofile[0]['shared-users'];
$ponlogin = $getprofile[0]['on-login'];
$validity = explode(",", $ponlogin)[3];
$getprice = explode(",", $ponlogin)[2];
$getsprice = explode(",", $ponlogin)[4];
if($getsprice == "0" && $getprice != "0"){
if ($currency == in_array($currency, $cekindo['indo'])) {
$price = $currency . " " . number_format((float)$getprice, 0, ",", ".");
} else {
$price = $currency . " " . number_format((float)$getprice, 2);
}
}else if($getsprice != "0"){
if ($currency == in_array($currency, $cekindo['indo'])) {
$price = $currency . " " . number_format((float)$getsprice, 0, ",", ".");
} else {
$price = $currency . " " . number_format((float)$getsprice, 2);
}
}else if ($getsprice == "0") {
$price = "";
}
$logo = "../img/logo-" . $session . ".png";
if (file_exists($logo)) {
$logo = "../img/logo-" . $session . ".png?t=". str_replace(" ","_",date("Y-m-d H:i:s"));
} else {
$logo = "../img/logo.png?t=". str_replace(" ","_",date("Y-m-d H:i:s"));
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Voucher-<?= $hotspotname . "-" . $getuprofile . "-" . $id; ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="pragma" content="no-cache" />
<link rel="icon" href="../img/favicon.png" />
<script src="../js/qrious.min.js"></script>
<style>
body {
color: #000000;
background-color: #FFFFFF;
font-size: 14px;
font-family: 'Helvetica', arial, sans-serif;
margin: 0px;
-webkit-print-color-adjust: exact;
}
table.voucher {
display: inline-block;
border: 2px solid black;
margin: 2px;
}
@page
{
size: auto;
margin-left: 7mm;
margin-right: 3mm;
margin-top: 9mm;
margin-bottom: 3mm;
}
@media print
{
table { page-break-after:auto }
tr { page-break-inside:avoid; page-break-after:auto }
td { page-break-inside:avoid; page-break-after:auto }
thead { display:table-header-group }
tfoot { display:table-footer-group }
}
#num {
float:right;
display:inline-block;
}
.qrc {
width:30px;
height:30px;
margin-top:1px;
}
</style>
</head>
<body onload="window.print()">
<?php for ($i = 0; $i < $TotalReg; $i++) {;
$regtable = $getuser[$i];
$uid = str_replace("=","",base64_encode($regtable['.id']));
$idqr = str_replace("=","",base64_encode(($regtable['.id']."qr")));
$username = $regtable['name'];
$password = $regtable['password'];
$profile = $regtable['profile'];
$timelimit = $regtable['limit-uptime'];
$getdatalimit = $regtable['limit-bytes-total'];
$comment = $regtable['comment'];
if ($getdatalimit == 0) {
$datalimit = "";
} else {
$datalimit = formatBytes($getdatalimit, 2);
}
$urilogin = "http://$dnsname/login?username=$username&password=$password";
$qrcode = "
<canvas class='qrcode' id='".$uid."'></canvas>
<script>
(function() {
var ".$uid." = new QRious({
element: document.getElementById('".$uid."'),
value: '".$urilogin."',
size:'256'
});
})();
</script>
";
$num = $i + 1;
?>
<?php
if ($userp != "") {
include('./template-thermal.php');
} else {
if ($small == "yes") {
include('./template-small.php');
} else {
include('./template.php');
}
}
?>
<?php
} ?>
</body>
</html>