1233


SUBMITTED BY: wesleyslash41

DATE: Aug. 22, 2024, 8:53 p.m.

FORMAT: Text only

SIZE: 30.6 kB

HITS: 159

  1. <?php
  2. date_default_timezone_set("America/Sao_Paulo");
  3. session_start();
  4. require_once "../../config/conexao.php";
  5. $conexao = mysqli_connect($server, $user, $pass, $db);
  6. if ($conexao->connect_error) {
  7. exit("Connection failed: " . $conexao->connect_error);
  8. }
  9. if (!isset($_SESSION["iduser"]) || $_SESSION["nivel"] < 2) {
  10. echo "<script> window.location.href='../../logout.php'; </script>";
  11. exit;
  12. }
  13. if (!isset($_SESSION["login"]) || !isset($_SESSION["senha"])) {
  14. echo "<script> window.location.href = '../../logout.php'; </script>";
  15. exit;
  16. }
  17. if (isset($_SESSION["LAST_ACTIVITY"]) && 300 < time() - $_SESSION["LAST_ACTIVITY"]) {
  18. echo "<script> window.location.href = '../../logout.php'; </script>";
  19. exit;
  20. }
  21. if (!extension_loaded("ssh2")) {
  22. $_SESSION["error"] = "A extensão SSH2 não está instalada. Verifique sua configuração do PHP.";
  23. header("Location: " . $_SERVER["HTTP_REFERER"]);
  24. exit;
  25. }
  26. $byid = $_SESSION["iduser"];
  27. $mainid = $_SESSION["mainid"];
  28. $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 = ?";
  29. $stmt = mysqli_prepare($conexao, $query);
  30. mysqli_stmt_bind_param($stmt, "s", $byid);
  31. mysqli_stmt_execute($stmt);
  32. $resultado = mysqli_stmt_get_result($stmt);
  33. if (0 < mysqli_num_rows($resultado)) {
  34. $categorias = [];
  35. while ($categoria = mysqli_fetch_assoc($resultado)) {
  36. $subid = $categoria["subid"];
  37. $nome = $categoria["nome"];
  38. $categorias[$subid][] = $nome;
  39. }
  40. } else {
  41. $query = "SELECT * FROM accounts WHERE id = ?";
  42. $stmt = mysqli_prepare($conexao, $query);
  43. mysqli_stmt_bind_param($stmt, "s", $byid);
  44. mysqli_stmt_execute($stmt);
  45. $resultado = mysqli_stmt_get_result($stmt);
  46. if (0 < mysqli_num_rows($resultado)) {
  47. $account = mysqli_fetch_assoc($resultado);
  48. if ($account["id"] == 1) {
  49. $query = "SELECT nome, subid FROM categorias";
  50. $resultado = mysqli_query($conexao, $query);
  51. $categorias = [];
  52. while ($categoria = mysqli_fetch_assoc($resultado)) {
  53. $subid = $categoria["subid"];
  54. $nome = $categoria["nome"];
  55. $categorias[$subid][] = $nome;
  56. }
  57. } else {
  58. echo "Usuário não encontrado.";
  59. }
  60. }
  61. }
  62. $_SESSION["LAST_ACTIVITY"] = time();
  63. $resultado = mysqli_query($conexao, "SELECT maxcredit FROM config");
  64. $minutos_maximos = mysqli_fetch_assoc($resultado)["maxcredit"];
  65. $dias_minimos = 1;
  66. $dias_maximos = $minutos_maximos;
  67. if (isset($_POST["submit"])) {
  68. $login = $_POST["login"];
  69. $senha = $_POST["senha"];
  70. $limite = $_POST["limite"];
  71. $minutos = mysqli_real_escape_string($conexao, $_POST["minutos"]);
  72. $categoriaid = mysqli_real_escape_string($conexao, $_POST["categoriaid"]);
  73. $sql = "SELECT maxtext FROM config WHERE byid = ?";
  74. $stmt = $conexao->prepare($sql);
  75. $byiduser = 1;
  76. $stmt->bind_param("i", $byiduser);
  77. $stmt->execute();
  78. $result = $stmt->get_result();
  79. if (0 < $result->num_rows) {
  80. $row = $result->fetch_assoc();
  81. $maxtext = $row["maxtext"];
  82. } else {
  83. $maxtext = 255;
  84. }
  85. $stmt->close();
  86. if ($maxtext < strlen($login)) {
  87. $_SESSION["error"] = "O login excede o limite de caracteres permitido (" . $maxtext . " caracteres).";
  88. header("Location: " . $_SERVER["HTTP_REFERER"]);
  89. exit;
  90. }
  91. if ($maxtext < strlen($senha)) {
  92. $_SESSION["error"] = "A senha excede o limite de caracteres permitido (" . $maxtext . " caracteres).";
  93. header("Location: " . $_SERVER["HTTP_REFERER"]);
  94. exit;
  95. }
  96. if ($_SESSION["iduser"] != 1) {
  97. $query = "SELECT categoriaid, suspenso, tipo, expira FROM atribuidos WHERE userid = ?";
  98. $stmt = mysqli_prepare($conexao, $query);
  99. mysqli_stmt_bind_param($stmt, "s", $byid);
  100. mysqli_stmt_execute($stmt);
  101. $resultado = mysqli_stmt_get_result($stmt);
  102. $categoriaEncontrada = false;
  103. while ($atribuido = mysqli_fetch_assoc($resultado)) {
  104. if ($atribuido["categoriaid"] == $categoriaid) {
  105. $categoriaEncontrada = true;
  106. if ($atribuido["suspenso"] == 1) {
  107. $_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.";
  108. header("Location: " . $_SERVER["HTTP_REFERER"]);
  109. exit;
  110. }
  111. if ($atribuido["tipo"] == "Validade" && strtotime($atribuido["expira"]) < time()) {
  112. $_SESSION["error"] = "A atribuição está vencida. Por favor, entre em contato com o administrador para renová-la.";
  113. header("Location: " . $_SERVER["HTTP_REFERER"]);
  114. exit;
  115. }
  116. }
  117. }
  118. if (!$categoriaEncontrada) {
  119. $_SESSION["error"] = "A categoria selecionada não corresponde à atribuição atual.";
  120. header("Location: " . $_SERVER["HTTP_REFERER"]);
  121. exit;
  122. }
  123. }
  124. $resultado = mysqli_query($conexao, "SELECT maxtest FROM config");
  125. $minutos_maximos = mysqli_fetch_assoc($resultado)["maxtest"];
  126. $minutos_minimos = 60;
  127. if ($minutos === "") {
  128. $_SESSION["error"] = "Por favor, insira um valor de minutos.";
  129. header("Location: " . $_SERVER["HTTP_REFERER"]);
  130. exit;
  131. }
  132. if ($atribuido["tipo"] == "Credito" && ($minutos < $minutos_minimos || $minutos_maximos < $minutos)) {
  133. if ($minutos < $minutos_minimos) {
  134. $_SESSION["error"] = "Limite mínimo de minutos não é válido. Por favor, insira um valor mínimo de " . $minutos_minimos . " minutos.";
  135. header("Location: " . $_SERVER["HTTP_REFERER"]);
  136. exit;
  137. }
  138. if ($minutos_maximos < $minutos) {
  139. $_SESSION["error"] = "Limite máximo de minutos excedido. Por favor, insira um valor até " . $minutos_maximos . " minutos.";
  140. header("Location: " . $_SERVER["HTTP_REFERER"]);
  141. exit;
  142. }
  143. }
  144. $horas = floor($minutos / 60);
  145. $data_expiracao_unix = strtotime("+" . $horas . " hours");
  146. $data_expiracao_mysql = date("Y-m-d H:i:s", $data_expiracao_unix);
  147. $sql_ssh = "SELECT * FROM ssh_accounts WHERE login=?";
  148. $stmt_ssh = $conexao->prepare($sql_ssh);
  149. $stmt_ssh->bind_param("s", $login);
  150. $stmt_ssh->execute();
  151. $result_ssh = $stmt_ssh->get_result();
  152. $sql_accounts = "SELECT * FROM accounts WHERE login=?";
  153. $stmt_accounts = $conexao->prepare($sql_accounts);
  154. $stmt_accounts->bind_param("s", $login);
  155. $stmt_accounts->execute();
  156. $result_accounts = $stmt_accounts->get_result();
  157. if (0 < $result_ssh->num_rows || 0 < $result_accounts->num_rows) {
  158. $_SESSION["error"] = "Usuário já existe.";
  159. header("Location: " . $_SERVER["HTTP_REFERER"]);
  160. exit;
  161. }
  162. if ($_SESSION["iduser"] != 1) {
  163. $userid = $_SESSION["iduser"];
  164. $sql_atribuidos = "SELECT * FROM atribuidos WHERE userid = ? AND categoriaid = ?";
  165. $stmt_atribuidos = $conexao->prepare($sql_atribuidos);
  166. $stmt_atribuidos->bind_param("ii", $userid, $categoriaid);
  167. $stmt_atribuidos->execute();
  168. $result_atribuidos = $stmt_atribuidos->get_result();
  169. if (0 < $result_atribuidos->num_rows) {
  170. $atribuido = $result_atribuidos->fetch_assoc();
  171. if ($atribuido["tipo"] == "Validade") {
  172. $sql_limite = "SELECT limite FROM atribuidos WHERE byid = ?";
  173. $stmt_limite = $conexao->prepare($sql_limite);
  174. $stmt_limite->bind_param("i", $userid);
  175. $stmt_limite->execute();
  176. $result_limite = $stmt_limite->get_result();
  177. if (0 < $result_limite->num_rows) {
  178. $limite_atribuidos = $result_limite->fetch_assoc()["limite"];
  179. $sql_usuarios = "SELECT SUM(limite) AS total_limite FROM ssh_accounts WHERE byid = ? AND categoriaid = ?";
  180. $stmt_usuarios = $conexao->prepare($sql_usuarios);
  181. $stmt_usuarios->bind_param("ii", $userid, $categoriaid);
  182. $stmt_usuarios->execute();
  183. $result_usuarios = $stmt_usuarios->get_result();
  184. $usuarios_criados = $result_usuarios->fetch_assoc()["total_limite"];
  185. $total_limite = $usuarios_criados + $limite_atribuidos;
  186. if ($atribuido["limite"] <= $total_limite) {
  187. $_SESSION["error"] = "Limite de usuários excedido para a categoria selecionada.";
  188. header("Location: " . $_SERVER["HTTP_REFERER"]);
  189. exit;
  190. }
  191. if ($atribuido["limite"] < $total_limite + $limite) {
  192. $_SESSION["error"] = "O limite fornecido excede o limite permitido para a categoria selecionada.";
  193. header("Location: " . $_SERVER["HTTP_REFERER"]);
  194. exit;
  195. }
  196. if ($limite_atribuidos < $limite) {
  197. $_SESSION["error"] = "O limite fornecido excede o limite de crédito disponível para a categoria selecionada.";
  198. header("Location: " . $_SERVER["HTTP_REFERER"]);
  199. exit;
  200. }
  201. } else {
  202. $sql_usuarios = "SELECT SUM(limite) AS total_limite FROM ssh_accounts WHERE byid = ? AND categoriaid = ?";
  203. $stmt_usuarios = $conexao->prepare($sql_usuarios);
  204. $stmt_usuarios->bind_param("ii", $userid, $categoriaid);
  205. $stmt_usuarios->execute();
  206. $result_usuarios = $stmt_usuarios->get_result();
  207. $usuarios_criados = $result_usuarios->fetch_assoc()["total_limite"];
  208. if ($atribuido["limite"] <= $usuarios_criados) {
  209. $_SESSION["error"] = "Limite de usuários excedido para a categoria selecionada.";
  210. header("Location: " . $_SERVER["HTTP_REFERER"]);
  211. exit;
  212. }
  213. if ($atribuido["limite"] < $usuarios_criados + $limite) {
  214. $_SESSION["error"] = "O limite fornecido excede o limite permitido para a categoria selecionada.";
  215. header("Location: " . $_SERVER["HTTP_REFERER"]);
  216. exit;
  217. }
  218. }
  219. } else {
  220. if ($atribuido["tipo"] == "Credito") {
  221. if (1 <= $atribuido["limitetest"]) {
  222. $limite_ssh = $atribuido["limitetest"] - $limite;
  223. if ($atribuido["limitetest"] < $limite) {
  224. $_SESSION["error"] = "O limite fornecido excede o limite de Creditos disponíveis para a categoria selecionada.";
  225. header("Location: " . $_SERVER["HTTP_REFERER"]);
  226. exit;
  227. }
  228. $sql_update = "UPDATE atribuidos SET limitetest = ? WHERE userid = ? AND categoriaid = ?";
  229. $stmt_update = $conexao->prepare($sql_update);
  230. $stmt_update->bind_param("iii", $limite_ssh, $userid, $categoriaid);
  231. $stmt_update->execute();
  232. $stmt_update->close();
  233. } else {
  234. $_SESSION["error"] = "Usuário possui apenas " . $atribuido["limitetest"] . " Credito(s) disponível(is) para criar esse acesso.";
  235. header("Location: " . $_SERVER["HTTP_REFERER"]);
  236. exit;
  237. }
  238. }
  239. }
  240. }
  241. }
  242. $dias1 = $dias;
  243. $dias1 = 2;
  244. $sqlServidores = "SELECT * FROM servidores WHERE subid = " . $categoriaid;
  245. $resultadoServidores = $conexao->query($sqlServidores);
  246. $file = fopen("../../home/modulos/CriarTesteSsh.sh", "w");
  247. $command = "./SshturboMakeAccount.sh " . $login . " " . $senha . " " . $dias1 . " " . $limite . "\n";
  248. fwrite($file, $command);
  249. fclose($file);
  250. if (0 < $resultadoServidores->num_rows) {
  251. $errors = [];
  252. while ($row = $resultadoServidores->fetch_assoc()) {
  253. if ($row["subid"] == $categoriaid) {
  254. try {
  255. $connection = ssh2_connect($row["ip"], $row["porta"]);
  256. if (!$connection) {
  257. $errors[] = "Não foi possível conectar ao servidor " . $row["ip"];
  258. } else {
  259. if (!ssh2_auth_password($connection, $row["usuario"], $row["senha"])) {
  260. $errors[] = "Usuário ou senha do servidor " . $row["ip"] . " estão incorretos";
  261. ssh2_disconnect($connection);
  262. } else {
  263. if (!function_exists("ssh2_scp_send")) {
  264. $errors[] = "A função ssh2_scp_send não está disponível no servidor";
  265. ssh2_disconnect($connection);
  266. } else {
  267. if (!ssh2_scp_send($connection, "../../home/modulos/CriarTesteSsh.sh", "CriarTesteSsh.sh", 493)) {
  268. $errors[] = "Falha ao enviar o arquivo para o servidor";
  269. ssh2_disconnect($connection);
  270. } else {
  271. $exec_command = "./CriarTesteSsh.sh >/dev/null 2>&1 &";
  272. ssh2_exec($connection, $exec_command);
  273. ssh2_disconnect($connection);
  274. }
  275. }
  276. }
  277. }
  278. } catch (ErrorException $e) {
  279. $errors[] = "Erro de conexão no servidor " . $row["ip"] . ": " . $e->getMessage();
  280. }
  281. }
  282. }
  283. if (!empty($errors)) {
  284. $_SESSION["error"] = implode("<br>", $errors);
  285. header("Location: " . $_SERVER["HTTP_REFERER"]);
  286. exit;
  287. }
  288. }
  289. $stmt = $conexao->prepare("INSERT INTO ssh_accounts (login, senha, limite, expira, byid, mainid, categoriaid) \r\n VALUES (?, ?, ?, ?, ?, ?, ?)");
  290. $stmt->bind_param("ssisisi", $login, $senha, $limite, $data_expiracao_mysql, $byid, $mainid, $categoriaid);
  291. $msg = [];
  292. $sql = "SELECT app FROM config WHERE byid = '" . $byid . "'";
  293. $result = $conexao->query($sql);
  294. if (0 < $result->num_rows) {
  295. $row = $result->fetch_assoc();
  296. $link = $row["app"];
  297. }
  298. if ($stmt->execute()) {
  299. $stmtCategoria = $conexao->prepare("SELECT nome FROM categorias WHERE subid = ?");
  300. $stmtCategoria->bind_param("i", $categoriaid);
  301. $stmtCategoria->execute();
  302. $resultado = $stmtCategoria->get_result();
  303. $categoria = $resultado->fetch_assoc()["nome"];
  304. $stmtUsuario = $conexao->prepare("SELECT login, senha, limite, expira FROM ssh_accounts WHERE login = ?");
  305. $stmtUsuario->bind_param("s", $login);
  306. $stmtUsuario->execute();
  307. $resultadoUsuario = $stmtUsuario->get_result();
  308. $usuario = $resultadoUsuario->fetch_assoc();
  309. $logincp = $usuario["login"];
  310. $senhacp = $usuario["senha"];
  311. $limitecp = $usuario["limite"];
  312. $html = "<div>Usuário criado com sucesso.</div><br>";
  313. $html .= "<div>Login: <span id=\"login\">" . $logincp . "</span></div>";
  314. $html .= "<div>Senha: <span id=\"senha\">" . $senhacp . "</span></div>";
  315. $html .= "<div>Limite: <span id=\"limite\">" . $limitecp . "</span></div>";
  316. $html .= "<div>Validade: <span id=\"validade\">" . $horas . " Hrs</span></div>";
  317. $html .= "<div>Categoria: <span id=\"categoria\">" . $categoria . "</span></div><br><br>";
  318. $html .= "<div class=\"button-container\">";
  319. $html .= "<button type=\"button\" class=\"btn btn-primary btn-sm\" style=\"background-color: #5e17eb;\" onclick=\"copyInformation()\">Copiar informações</button>";
  320. $html .= "</div><br>";
  321. $html .= "<div class=\"button-container\">";
  322. $html .= "<button type=\"button\" class=\"btn btn-primary btn-sm\" style=\"background-color: #5e17eb;\" onclick=\"sendToWhatsApp()\">Enviar para o WhatsApp</button>";
  323. $html .= "</div>";
  324. $msg = ["title" => "Sucesso!", "html" => $html, "icon" => "success", "showCloseButton" => true, "onClose" => "copyInformation()"];
  325. 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>";
  326. }
  327. }
  328. $hora_atual = date("H");
  329. if (0 <= $hora_atual && $hora_atual < 5) {
  330. $saudacao = "Boa madrugada";
  331. } else {
  332. if (5 <= $hora_atual && $hora_atual < 12) {
  333. $saudacao = "Bom dia";
  334. } else {
  335. if (12 <= $hora_atual && $_atual < 18) {
  336. $saudacao = "Boa tarde";
  337. } else {
  338. $saudacao = "Boa noite";
  339. }
  340. }
  341. }
  342. echo "\r\n\r\n\r\n<!DOCTYPE html>\r\n<html lang=\"en\">\r\n\r\n";
  343. include "../../header.php";
  344. 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 ";
  345. include "../../menu.php";
  346. 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 ";
  347. if (isset($_SESSION["error"])) {
  348. echo "<script>Swal.fire({ icon: 'error', title: 'Erro!', html: '" . $_SESSION["error"] . "' });</script>";
  349. unset($_SESSION["error"]);
  350. }
  351. echo " \r\n ";
  352. $randomString = generaterandomstring(6);
  353. $login = "teste" . substr($randomString, 4);
  354. $senha = "1234" . substr($randomString, );
  355. 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 ";
  356. foreach ($categorias as $subid => $nomes) {
  357. echo " ";
  358. foreach ($nomes as $nome) {
  359. echo " <option value=\"";
  360. echo $subid;
  361. echo "\" ";
  362. if ($atribuido["categoriaid"] == $subid) {
  363. echo "selected=\"selected\"";
  364. }
  365. echo ">\r\n ";
  366. echo $nome;
  367. echo " </option>\r\n ";
  368. }
  369. echo " ";
  370. }
  371. 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=\"";
  372. echo $maxtext;
  373. echo "\" required value=\"";
  374. echo $login;
  375. 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=\"";
  376. echo $maxtext;
  377. echo "\" required value=\"";
  378. echo $senha;
  379. 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>";
  380. function generateRandomString($length)
  381. {
  382. $letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  383. $numbers = "0123456789";
  384. $randomString = "";
  385. for ($i = 0; $i < 3; $i++) {
  386. $randomString .= $letters[rand(0, strlen($letters) - 1)];
  387. }
  388. for ($i = 0; $i < 3; $i++) {
  389. $randomString .= $numbers[rand(0, strlen($numbers) - 1)];
  390. }
  391. return $randomString;
  392. }
  393. ?>

comments powered by Disqus