debug = false; // Konfigurasi MikroTik $ip = '103.155.198.185'; $username = 'apirjn'; $password = '@APIRJN123'; $port = '6644'; if ($API->connect2($ip, $username, $password, $port)) { // === PPPoE Active === $pppoe_data = $API->comm("/ppp/active/print"); $pppoe_active = []; foreach ($pppoe_data as $item) { $name = $item['name'] ?? ''; $address = $item['address'] ?? ''; if ($name && $address) { $pppoe_active[] = "{$name}_{$address}"; } } // === Hotspot Users (bukan active) === $hotspot_users = $API->comm("/ip/hotspot/user/print"); $hotspot_active = []; foreach ($hotspot_users as $item) { $user = $item['name'] ?? ''; $comment = $item['comment'] ?? ''; if ($user && $comment && strpos($comment, 'Login.') === 0) { $clean_comment = substr($comment, strlen('Login.')); $hotspot_active[] = "{$user}_{$clean_comment}"; } } // === System Resource === $sys = $API->comm("/system/resource/print"); $board_name = $sys[0]['board-name'] ?? ''; $uptime = $sys[0]['uptime'] ?? ''; $API->disconnect(); // === Final Output === $response = [ 'pppoe_active' => implode('|', $pppoe_active), 'hotspot_active' => implode('|', $hotspot_active), 'board_name' => $board_name, 'uptime' => $uptime ]; // Pastikan $pdo tersedia if (!isset($pdo)) { echo json_encode(['status' => 'error', 'message' => 'Koneksi database gagal']); exit; } // Simpan ke DB try { $board_id = '03FK-Q7XE1'; $stmt = $pdo->prepare("UPDATE setting_mikrotik SET pppa = :pppa, hsa = :hsa, uptime = :ut, board_name = :bm, status = 'Connected' WHERE board_id = :id"); $stmt->execute([ ':pppa' => $response['pppoe_active'], ':hsa' => $response['hotspot_active'], ':ut' => $response['uptime'], ':bm' => $response['board_name'], ':id' => $board_id ]); } catch (PDOException $e) { echo json_encode(['status' => 'error', 'message' => 'DB Error: ' . $e->getMessage()]); exit; } header('Content-Type: application/json'); echo json_encode($response, JSON_PRETTY_PRINT); } else { echo json_encode([ 'status' => 'error', 'message' => 'Tidak dapat terhubung ke RouterOS' ]); } ?>