<?php

header('Content-Type: application/json');
header('Access-Control-Allow-Origin: *'); // Allow CORS from any origin
header('Access-Control-Allow-Methods: GET, POST');
header('Access-Control-Allow-Headers: Content-Type');
require('db_connection.php');
include('routeros_api.class.php');
$API = new routeros_api();
$API->debug = false;

if ($API->connect($ip_mikrotik, $user_mikrotik, $password_mikrotik, $mikrotik_port)) {
    // Mendapatkan daftar profil dari MikroTik
    $API->write('/ip/hotspot/user/profile/print');
    $READ = $API->read(false);
    $PROFILES = $API->parseResponse($READ);

    // Profil-profil yang ingin dikecualikan
    $exception_profiles = ['default', 'TEKNISI', 'PENJAGA-SERVER', 'SEKOLAH', 'VIP', 'V30D2', 'V30D3', 'KANTOR', '1MINGGU',
    '2MINGGU','V5-SSB','V12-SSB','V24-SSB','V30D-SSB','V12h','PENGELOLA-HOSPOT',
    'V24h-copy','V13h','V24h-Oheo','PT.AJB','24-JAM', 'uprof1','PT-AJB'];
    
    $packages = [];

    foreach ($PROFILES as $profile) {
        // Cek apakah profil ini termasuk dalam daftar kecualian
        if (!in_array($profile['name'], $exception_profiles)) {
            $price = '10000000'; // Harga default jika tidak ditemukan
            $selling_price = '10000000'; // Harga jual default jika tidak ditemukan

            if (isset($profile['on-login'])) {
                $onLogin = $profile['on-login'];
                if (preg_match('/,(\d+),\d+\w,(\d+),/', $onLogin, $matches)) {
                    $price = $matches[2];
                    $selling_price = $matches[2]; 
                }
            }

            // Validasi harga
            if (!is_numeric($price) || $price <= 0) {
                $price = 'Invalid price'; // Harga tidak valid
            }
            if (!is_numeric($selling_price) || $selling_price <= 0) {
                $selling_price = 'Invalid selling price'; // Harga jual tidak valid
            }

            $packages[] = [
                'title' => $profile['name'],
                'note' => 'Full Unlimited',
                'profile' => $profile['name'],
                'price' => $price,
                'selling_price' => is_numeric($selling_price) ? 'Rp. ' . number_format($selling_price, 0, ',', '.') : $selling_price
            ];
        }
    }

    // Menampilkan hasil dalam format JSON
    echo json_encode($packages, JSON_PRETTY_PRINT);

    // Memutus koneksi MikroTik API
    $API->disconnect();
} else {
    // Jika gagal terhubung ke MikroTik API
    echo json_encode(['error' => 'Tidak dapat terhubung ke MikroTik']);
}

?>
