<?php
date_default_timezone_set("America/Sao_Paulo");
session_start();
require_once "../../config/conexao.php";
$conexao = mysqli_connect($server, $user, $pass, $db);
if ($conexao->connect_error) {
exit("Connection failed: " . $conexao->connect_error);
}
if (!isset($_SESSION["iduser"]) || $_SESSION["nivel"] < 2) {
echo "<script> window.location.href='../../logout.php'; </script>";
exit;
}
if (!isset($_SESSION["login"]) || !isset($_SESSION["senha"])) {
echo "<script> window.location.href = '../../logout.php'; </script>";
exit;
}
if (isset($_SESSION["LAST_ACTIVITY"]) && 300 < time() - $_SESSION["LAST_ACTIVITY"]) {
echo "<script> window.location.href = '../../logout.php'; </script>";
exit;
}
if (!extension_loaded("ssh2")) {
$_SESSION["error"] = "A extensão SSH2 não está instalada. Verifique sua configuração do PHP.";
header("Location: " . $_SERVER["HTTP_REFERER"]);
exit;
}
$byid = $_SESSION["iduser"];
$mainid = $_SESSION["mainid"];
$query = "SELECT c.nome, c.subid \r\n FROM atribuidos a \r\n JOIN categorias c ON a.categoriaid = c.subid \r\n WHERE a.userid = ?";
$stmt = mysqli_prepare($conexao, $query);
mysqli_stmt_bind_param($stmt, "s", $byid);
mysqli_stmt_execute($stmt);
$resultado = mysqli_stmt_get_result($stmt);
if (0 < mysqli_num_rows($resultado)) {
$categorias = [];
while ($categoria = mysqli_fetch_assoc($resultado)) {
$subid = $categoria["subid"];
$nome = $categoria["nome"];
$categorias[$subid][] = $nome;
}
} else {
$query = "SELECT * FROM accounts WHERE id = ?";
$stmt = mysqli_prepare($conexao, $query);
mysqli_stmt_bind_param($stmt, "s", $byid);
mysqli_stmt_execute($stmt);
$resultado = mysqli_stmt_get_result($stmt);
if (0 < mysqli_num_rows($resultado)) {
$account = mysqli_fetch_assoc($resultado);
if ($account["id"] == 1) {
$query = "SELECT nome, subid FROM categorias";
$resultado = mysqli_query($conexao, $query);
$categorias = [];
while ($categoria = mysqli_fetch_assoc($resultado)) {
$subid = $categoria["subid"];
$nome = $categoria["nome"];
$categorias[$subid][] = $nome;
}
} else {
echo "Usuário não encontrado.";
}
}
}
$_SESSION["LAST_ACTIVITY"] = time();
$resultado = mysqli_query($conexao, "SELECT maxcredit FROM config");
$minutos_maximos = mysqli_fetch_assoc($resultado)["maxcredit"];
$dias_minimos = 1;
$dias_maximos = $minutos_maximos;
if (isset($_POST["submit"])) {
$login = $_POST["login"];
$senha = $_POST["senha"];
$limite = $_POST["limite"];
$minutos = mysqli_real_escape_string($conexao, $_POST["minutos"]);
$categoriaid = mysqli_real_escape_string($conexao, $_POST["categoriaid"]);
$sql = "SELECT maxtext FROM config WHERE byid = ?";
$stmt = $conexao->prepare($sql);
$byiduser = 1;
$stmt->bind_param("i", $byiduser);
$stmt->execute();
$result = $stmt->get_result();
if (0 < $result->num_rows) {
$row = $result->fetch_assoc();
$maxtext = $row["maxtext"];
} else {
$maxtext = 255;
}
$stmt->close();
if ($maxtext < strlen($login)) {
$_SESSION["error"] = "O login excede o limite de caracteres permitido (" . $maxtext . " caracteres).";
header("Location: " . $_SERVER["HTTP_REFERER"]);
exit;
}
if ($maxtext < strlen($senha)) {
$_SESSION["error"] = "A senha excede o limite de caracteres permitido (" . $maxtext . " caracteres).";
header("Location: " . $_SERVER["HTTP_REFERER"]);
exit;
}
if ($_SESSION["iduser"] != 1) {
$query = "SELECT categoriaid, suspenso, tipo, expira FROM atribuidos WHERE userid = ?";
$stmt = mysqli_prepare($conexao, $query);
mysqli_stmt_bind_param($stmt, "s", $byid);
mysqli_stmt_execute($stmt);
$resultado = mysqli_stmt_get_result($stmt);
$categoriaEncontrada = false;
while ($atribuido = mysqli_fetch_assoc($resultado)) {
if ($atribuido["categoriaid"] == $categoriaid) {
$categoriaEncontrada = true;
if ($atribuido["suspenso"] == 1) {
$_SESSION["error"] = "A atribuição está suspensa temporariamente e não poderá criar novas contas. Por favor, entre em contato com o administrador para obter mais informações e resolver essa questão.";
header("Location: " . $_SERVER["HTTP_REFERER"]);
exit;
}
if ($atribuido["tipo"] == "Validade" && strtotime($atribuido["expira"]) < time()) {
$_SESSION["error"] = "A atribuição está vencida. Por favor, entre em contato com o administrador para renová-la.";
header("Location: " . $_SERVER["HTTP_REFERER"]);
exit;
}
}
}
if (!$categoriaEncontrada) {
$_SESSION["error"] = "A categoria selecionada não corresponde à atribuição atual.";
header("Location: " . $_SERVER["HTTP_REFERER"]);
exit;
}
}
$resultado = mysqli_query($conexao, "SELECT maxtest FROM config");
$minutos_maximos = mysqli_fetch_assoc($resultado)["maxtest"];
$minutos_minimos = 60;
if ($minutos === "") {
$_SESSION["error"] = "Por favor, insira um valor de minutos.";
header("Location: " . $_SERVER["HTTP_REFERER"]);
exit;
}
if ($atribuido["tipo"] == "Credito" && ($minutos < $minutos_minimos || $minutos_maximos < $minutos)) {
if ($minutos < $minutos_minimos) {
$_SESSION["error"] = "Limite mínimo de minutos não é válido. Por favor, insira um valor mínimo de " . $minutos_minimos . " minutos.";
header("Location: " . $_SERVER["HTTP_REFERER"]);
exit;
}
if ($minutos_maximos < $minutos) {
$_SESSION["error"] = "Limite máximo de minutos excedido. Por favor, insira um valor até " . $minutos_maximos . " minutos.";
header("Location: " . $_SERVER["HTTP_REFERER"]);
exit;
}
}
$horas = floor($minutos / 60);
$data_expiracao_unix = strtotime("+" . $horas . " hours");
$data_expiracao_mysql = date("Y-m-d H:i:s", $data_expiracao_unix);
$sql_ssh = "SELECT * FROM ssh_accounts WHERE login=?";
$stmt_ssh = $conexao->prepare($sql_ssh);
$stmt_ssh->bind_param("s", $login);
$stmt_ssh->execute();
$result_ssh = $stmt_ssh->get_result();
$sql_accounts = "SELECT * FROM accounts WHERE login=?";
$stmt_accounts = $conexao->prepare($sql_accounts);
$stmt_accounts->bind_param("s", $login);
$stmt_accounts->execute();
$result_accounts = $stmt_accounts->get_result();
if (0 < $result_ssh->num_rows || 0 < $result_accounts->num_rows) {
$_SESSION["error"] = "Usuário já existe.";
header("Location: " . $_SERVER["HTTP_REFERER"]);
exit;
}
if ($_SESSION["iduser"] != 1) {
$userid = $_SESSION["iduser"];
$sql_atribuidos = "SELECT * FROM atribuidos WHERE userid = ? AND categoriaid = ?";
$stmt_atribuidos = $conexao->prepare($sql_atribuidos);
$stmt_atribuidos->bind_param("ii", $userid, $categoriaid);
$stmt_atribuidos->execute();
$result_atribuidos = $stmt_atribuidos->get_result();
if (0 < $result_atribuidos->num_rows) {
$atribuido = $result_atribuidos->fetch_assoc();
if ($atribuido["tipo"] == "Validade") {
$sql_limite = "SELECT limite FROM atribuidos WHERE byid = ?";
$stmt_limite = $conexao->prepare($sql_limite);
$stmt_limite->bind_param("i", $userid);
$stmt_limite->execute();
$result_limite = $stmt_limite->get_result();
if (0 < $result_limite->num_rows) {
$limite_atribuidos = $result_limite->fetch_assoc()["limite"];
$sql_usuarios = "SELECT SUM(limite) AS total_limite FROM ssh_accounts WHERE byid = ? AND categoriaid = ?";
$stmt_usuarios = $conexao->prepare($sql_usuarios);
$stmt_usuarios->bind_param("ii", $userid, $categoriaid);
$stmt_usuarios->execute();
$result_usuarios = $stmt_usuarios->get_result();
$usuarios_criados = $result_usuarios->fetch_assoc()["total_limite"];
$total_limite = $usuarios_criados + $limite_atribuidos;
if ($atribuido["limite"] <= $total_limite) {
$_SESSION["error"] = "Limite de usuários excedido para a categoria selecionada.";
header("Location: " . $_SERVER["HTTP_REFERER"]);
exit;
}
if ($atribuido["limite"] < $total_limite + $limite) {
$_SESSION["error"] = "O limite fornecido excede o limite permitido para a categoria selecionada.";
header("Location: " . $_SERVER["HTTP_REFERER"]);
exit;
}
if ($limite_atribuidos < $limite) {
$_SESSION["error"] = "O limite fornecido excede o limite de crédito disponível para a categoria selecionada.";
header("Location: " . $_SERVER["HTTP_REFERER"]);
exit;
}
} else {
$sql_usuarios = "SELECT SUM(limite) AS total_limite FROM ssh_accounts WHERE byid = ? AND categoriaid = ?";
$stmt_usuarios = $conexao->prepare($sql_usuarios);
$stmt_usuarios->bind_param("ii", $userid, $categoriaid);
$stmt_usuarios->execute();
$result_usuarios = $stmt_usuarios->get_result();
$usuarios_criados = $result_usuarios->fetch_assoc()["total_limite"];
if ($atribuido["limite"] <= $usuarios_criados) {
$_SESSION["error"] = "Limite de usuários excedido para a categoria selecionada.";
header("Location: " . $_SERVER["HTTP_REFERER"]);
exit;
}
if ($atribuido["limite"] < $usuarios_criados + $limite) {
$_SESSION["error"] = "O limite fornecido excede o limite permitido para a categoria selecionada.";
header("Location: " . $_SERVER["HTTP_REFERER"]);
exit;
}
}
} else {
if ($atribuido["tipo"] == "Credito") {
if (1 <= $atribuido["limitetest"]) {
$limite_ssh = $atribuido["limitetest"] - $limite;
if ($atribuido["limitetest"] < $limite) {
$_SESSION["error"] = "O limite fornecido excede o limite de Creditos disponíveis para a categoria selecionada.";
header("Location: " . $_SERVER["HTTP_REFERER"]);
exit;
}
$sql_update = "UPDATE atribuidos SET limitetest = ? WHERE userid = ? AND categoriaid = ?";
$stmt_update = $conexao->prepare($sql_update);
$stmt_update->bind_param("iii", $limite_ssh, $userid, $categoriaid);
$stmt_update->execute();
$stmt_update->close();
} else {
$_SESSION["error"] = "Usuário possui apenas " . $atribuido["limitetest"] . " Credito(s) disponível(is) para criar esse acesso.";
header("Location: " . $_SERVER["HTTP_REFERER"]);
exit;
}
}
}
}
}
$dias1 = $dias;
$dias1 = 2;
$sqlServidores = "SELECT * FROM servidores WHERE subid = " . $categoriaid;
$resultadoServidores = $conexao->query($sqlServidores);
$file = fopen("../../home/modulos/CriarTesteSsh.sh", "w");
$command = "./SshturboMakeAccount.sh " . $login . " " . $senha . " " . $dias1 . " " . $limite . "\n";
fwrite($file, $command);
fclose($file);
if (0 < $resultadoServidores->num_rows) {
$errors = [];
while ($row = $resultadoServidores->fetch_assoc()) {
if ($row["subid"] == $categoriaid) {
try {
$connection = ssh2_connect($row["ip"], $row["porta"]);
if (!$connection) {
$errors[] = "Não foi possível conectar ao servidor " . $row["ip"];
} else {
if (!ssh2_auth_password($connection, $row["usuario"], $row["senha"])) {
$errors[] = "Usuário ou senha do servidor " . $row["ip"] . " estão incorretos";
ssh2_disconnect($connection);
} else {
if (!function_exists("ssh2_scp_send")) {
$errors[] = "A função ssh2_scp_send não está disponível no servidor";
ssh2_disconnect($connection);
} else {
if (!ssh2_scp_send($connection, "../../home/modulos/CriarTesteSsh.sh", "CriarTesteSsh.sh", 493)) {
$errors[] = "Falha ao enviar o arquivo para o servidor";
ssh2_disconnect($connection);
} else {
$exec_command = "./CriarTesteSsh.sh >/dev/null 2>&1 &";
ssh2_exec($connection, $exec_command);
ssh2_disconnect($connection);
}
}
}
}
} catch (ErrorException $e) {
$errors[] = "Erro de conexão no servidor " . $row["ip"] . ": " . $e->getMessage();
}
}
}
if (!empty($errors)) {
$_SESSION["error"] = implode("<br>", $errors);
header("Location: " . $_SERVER["HTTP_REFERER"]);
exit;
}
}
$stmt = $conexao->prepare("INSERT INTO ssh_accounts (login, senha, limite, expira, byid, mainid, categoriaid) \r\n VALUES (?, ?, ?, ?, ?, ?, ?)");
$stmt->bind_param("ssisisi", $login, $senha, $limite, $data_expiracao_mysql, $byid, $mainid, $categoriaid);
$msg = [];
$sql = "SELECT app FROM config WHERE byid = '" . $byid . "'";
$result = $conexao->query($sql);
if (0 < $result->num_rows) {
$row = $result->fetch_assoc();
$link = $row["app"];
}
if ($stmt->execute()) {
$stmtCategoria = $conexao->prepare("SELECT nome FROM categorias WHERE subid = ?");
$stmtCategoria->bind_param("i", $categoriaid);
$stmtCategoria->execute();
$resultado = $stmtCategoria->get_result();
$categoria = $resultado->fetch_assoc()["nome"];
$stmtUsuario = $conexao->prepare("SELECT login, senha, limite, expira FROM ssh_accounts WHERE login = ?");
$stmtUsuario->bind_param("s", $login);
$stmtUsuario->execute();
$resultadoUsuario = $stmtUsuario->get_result();
$usuario = $resultadoUsuario->fetch_assoc();
$logincp = $usuario["login"];
$senhacp = $usuario["senha"];
$limitecp = $usuario["limite"];
$html = "<div>Usuário criado com sucesso.</div><br>";
$html .= "<div>Login: <span id=\"login\">" . $logincp . "</span></div>";
$html .= "<div>Senha: <span id=\"senha\">" . $senhacp . "</span></div>";
$html .= "<div>Limite: <span id=\"limite\">" . $limitecp . "</span></div>";
$html .= "<div>Validade: <span id=\"validade\">" . $horas . " Hrs</span></div>";
$html .= "<div>Categoria: <span id=\"categoria\">" . $categoria . "</span></div><br><br>";
$html .= "<div class=\"button-container\">";
$html .= "<button type=\"button\" class=\"btn btn-primary btn-sm\" style=\"background-color: #5e17eb;\" onclick=\"copyInformation()\">Copiar informações</button>";
$html .= "</div><br>";
$html .= "<div class=\"button-container\">";
$html .= "<button type=\"button\" class=\"btn btn-primary btn-sm\" style=\"background-color: #5e17eb;\" onclick=\"sendToWhatsApp()\">Enviar para o WhatsApp</button>";
$html .= "</div>";
$msg = ["title" => "Sucesso!", "html" => $html, "icon" => "success", "showCloseButton" => true, "onClose" => "copyInformation()"];
echo "<script>\r\n var msg = " . json_encode($msg) . ";\r\n\r\n window.onload = function() {\r\n Swal.fire({\r\n title: msg.title,\r\n html: msg.html,\r\n icon: msg.icon,\r\n showCloseButton: msg.showCloseButton,\r\n onClose: msg.onClose,\r\n showConfirmButton: false // This line removes the \"OK\" button\r\n });\r\n };\r\n\r\n function copyInformation() {\r\n var sucesso = \"Usuário criado com sucesso.\";\r\n var login = \"" . $logincp . "\";\r\n var senha = \"" . $senhacp . "\";\r\n var limite = \"" . $limitecp . "\";\r\n var validade = document.getElementById(\"validade\").innerText;\r\n var categoria = document.getElementById(\"categoria\").innerText;\r\n var link1 = \"Link do Aplicativo\";\r\n var link2 = \"" . $link . "\";\r\n\r\n var information = \"Usuário criado com sucesso.\" + \"\\n\" +\r\n \"Login: \" + login + \"\\n\" +\r\n \"Senha: \" + senha + \"\\n\" +\r\n \"Limite: \" + limite + \"\\n\" +\r\n \"Validade: \" + validade + \"\\n\" +\r\n \"Categoria: \" + categoria + \"\\n\\n\\n\" +\r\n link1 + \"\\n\" + \r\n link2;\r\n\r\n\r\n if (navigator.clipboard && window.isSecureContext) {\r\n navigator.clipboard.writeText(information)\r\n .then(function() {\r\n Swal.fire({\r\n title: \"Informações copiadas!\",\r\n text: \"As informações foram copiadas para a área de transferência.\",\r\n icon: \"success\",\r\n timer: 2000,\r\n showConfirmButton: false\r\n });\r\n })\r\n .catch(function(error) {\r\n Swal.fire({\r\n title: \"Erro!\",\r\n text: \"Ocorreu um erro ao copiar as informações: \" + error,\r\n icon: \"error\"\r\n });\r\n });\r\n } else {\r\n var textArea = document.createElement(\"textarea\");\r\n textArea.value = information;\r\n document.body.appendChild(textArea);\r\n textArea.select();\r\n document.execCommand(\"copy\");\r\n document.body.removeChild(textArea);\r\n\r\n Swal.fire({\r\n title: \"Informações copiadas!\",\r\n text: \"As informações foram copiadas para a área de transferência.\",\r\n icon: \"success\",\r\n timer: 2000,\r\n showConfirmButton: false\r\n });\r\n }\r\n }\r\n\r\n function sendToWhatsApp() {\r\n var login = \"" . $logincp . "\";\r\n var senha = \"" . $senhacp . "\";\r\n var limite = \"" . $limitecp . "\";\r\n var validade = document.getElementById(\"validade\").innerText;\r\n var categoria = document.getElementById(\"categoria\").innerText;\r\n var link1 = \"Link do Aplicativo\";\r\n var link2 = \"" . $link . "\";\r\n\r\n var information = \"Login: \" + login + \"\\n\" +\r\n \"Senha: \" + senha + \"\\n\" +\r\n \"Limite: \" + limite + \"\\n\" +\r\n \"Validade: \" + validade + \"\\n\" +\r\n \"Categoria: \" + categoria + \"\\n\\n\\n\" +\r\n link1 + \"\\n\" + \r\n link2;\r\n\r\n var message = encodeURIComponent(information);\r\n var whatsappURL = \"https://wa.me/?text=\" + message;\r\n\r\n window.open(whatsappURL);\r\n }\r\n </script>";
}
}
$hora_atual = date("H");
if (0 <= $hora_atual && $hora_atual < 5) {
$saudacao = "Boa madrugada";
} else {
if (5 <= $hora_atual && $hora_atual < 12) {
$saudacao = "Bom dia";
} else {
if (12 <= $hora_atual && $_atual < 18) {
$saudacao = "Boa tarde";
} else {
$saudacao = "Boa noite";
}
}
}
echo "\r\n\r\n\r\n<!DOCTYPE html>\r\n<html lang=\"en\">\r\n\r\n";
include "../../header.php";
echo "\r\n\r\n<!-- Modal -->\r\n\r\n<body class=\"g-sidenav-show bg-gray-100\">\r\n\r\n<main class=\"main-content d-flex position-relative max-height-vh-100 h-100 border-radius-lg \">\r\n\r\n ";
include "../../menu.php";
echo " \r\n<!-- Inicio -->\r\n\r\n <center>\r\n <div class=\"container-fluid py-5\">\r\n <div class=\"col-lg-5\">\r\n <!-- Inicio -->\r\n\r\n <h2 class=\"card-title\">Gerar Teste</h2>\r\n <br>\r\n <br>\r\n \r\n <!-- HTML Form to get user data -->\r\n ";
if (isset($_SESSION["error"])) {
echo "<script>Swal.fire({ icon: 'error', title: 'Erro!', html: '" . $_SESSION["error"] . "' });</script>";
unset($_SESSION["error"]);
}
echo " \r\n ";
$randomString = generaterandomstring(6);
$login = "teste" . substr($randomString, 4);
$senha = "1234" . substr($randomString, );
echo "\r\n\r\n \r\n <form class=\"login100-form validate-form\" action=\"\" method=\"post\" onsubmit=\"return validateForm();\">\r\n \r\n <h8 class=\"card-title\" style=\"font-family: Arial;\">Categorias</h8>\r\n <div class=\"form-group mb-4\">\r\n <div class=\"form-group\">\r\n <select class=\"form-control\" name=\"categoriaid\" id=\"categoriaid\" required>\r\n ";
foreach ($categorias as $subid => $nomes) {
echo " ";
foreach ($nomes as $nome) {
echo " <option value=\"";
echo $subid;
echo "\" ";
if ($atribuido["categoriaid"] == $subid) {
echo "selected=\"selected\"";
}
echo ">\r\n ";
echo $nome;
echo " </option>\r\n ";
}
echo " ";
}
echo " </select>\r\n </div>\r\n <h8 class=\"card-title\" style=\"font-family: Arial;\">Login</h8>\r\n <div class=\"form-group mb-4\">\r\n <div class=\"input-group\">\r\n <input class=\"form-control\" placeholder=\"Login\" type=\"text\" id=\"login\"\r\n name=\"login\" pattern=\"[a-zA-Z0-9]+\"\r\n title=\"Somente letras e números são permitidos.\" minlength=\"4\"\r\n maxlength=\"";
echo $maxtext;
echo "\" required value=\"";
echo $login;
echo "\">\r\n </div>\r\n </div>\r\n \r\n <h8 class=\"card-title\" style=\"font-family: Arial;\">Senha</h8>\r\n <div class=\"form-group mb-4\">\r\n <div class=\"input-group\">\r\n <input class=\"form-control\" placeholder=\"Senha\" type=\"password\" id=\"senha\"\r\n name=\"senha\" pattern=\"[a-zA-Z0-9]+\"\r\n title=\"Somente letras e números são permitidos.\" minlength=\"4\"\r\n maxlength=\"";
echo $maxtext;
echo "\" required value=\"";
echo $senha;
echo "\">\r\n </div>\r\n </div>\r\n\r\n \r\n \r\n <h8 class=\"card-title\" style=\"font-family: Arial;\">Limite</h8>\r\n <div class=\"form-group mb-4\">\r\n <div class=\"input-group\">\r\n \r\n <input class=\"form-control\" placeholder=\"Limite\" type=\"number\" id=\"limite\"\r\n name=\"limite\" value=\"1\" required>\r\n </div>\r\n </div>\r\n <script>\r\n var input = document.getElementById(\"limite\");\r\n input.addEventListener(\"input\", function(event) {\r\n var value = this.value;\r\n var sanitizedValue = value.replace(/[^0-9]/g, \"\"); // Remove caracteres não numéricos\r\n this.value = sanitizedValue;\r\n });\r\n </script>\r\n \r\n <h8 class=\"card-title\" style=\"font-family: Arial;\">Minutos de acesso</h8>\r\n <div class=\"form-group mb-4\">\r\n <div class=\"input-group\">\r\n <input class=\"form-control\" placeholder=\"Minutos de acesso\" type=\"text\" id=\"minutos\" name=\"minutos\" pattern=\"[0-9]+\" value=\"200\" required>\r\n </div>\r\n </div>\r\n <script>\r\n var input = document.getElementById(\"minutos\");\r\n input.addEventListener(\"input\", function(event) {\r\n var value = this.value;\r\n var sanitizedValue = value.replace(/[^0-9]/g, \"\"); // Remove caracteres não numéricos\r\n this.value = sanitizedValue;\r\n });\r\n </script>\r\n\r\n\r\n <button type=\"submit\" id=\"showAlertButton\" class=\"btn btn-primary\"\r\n name=\"submit\" style=\"background-color: #5e17eb;\">Gerar Teste</button><br><br>\r\n\r\n\r\n </form>\r\n\r\n <!-- Fim -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </main>\r\n\r\n\r\n\r\n <script src=\"../../assets/js/core/bootstrap.min.js\"></script>\r\n <script src=\"../../assets/js/soft-ui-dashboard.min.js?v=1.0.6\"></script>\r\n <script src=\"../../assets/js/menu.js\"></script>\r\n <script src=\"../../assets/js/page.js\"></script>\r\n <!-- Inclua o arquivo JavaScript do jQuery -->\r\n <script src=\"https://code.jquery.com/jquery-3.6.0.min.js\"></script>\r\n <script>\r\n function validateForm() {\r\n var categoriaid = document.getElementById(\"categoriaid\").value;\r\n var minutos = document.getElementById(\"minutos\").value;\r\n \r\n if (categoriaid === \"\" || minutos === \"\") {\r\n Swal.fire({\r\n icon: 'error',\r\n title: 'Erro!',\r\n text: 'Por favor, preencha todos os campos.',\r\n confirmButtonText: 'OK'\r\n });\r\n return false;\r\n } else {\r\n Swal.fire({\r\n title: 'Carregando...',\r\n html: '<div class=\"text-center\"><i class=\"fas fa-spinner fa-spin fa-3x\"></i></div>',\r\n showCancelButton: false,\r\n showConfirmButton: false,\r\n allowOutsideClick: false,\r\n allowEscapeKey: false,\r\n allowEnterKey: false\r\n });\r\n return true;\r\n }\r\n }\r\n </script>\r\n \r\n\r\n</body>\r\n\r\n</html>";
function generateRandomString($length)
{
$letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
$numbers = "0123456789";
$randomString = "";
for ($i = 0; $i < 3; $i++) {
$randomString .= $letters[rand(0, strlen($letters) - 1)];
}
for ($i = 0; $i < 3; $i++) {
$randomString .= $numbers[rand(0, strlen($numbers) - 1)];
}
return $randomString;
}
?>