nestict 015b57ddfd Upload files to "system/plugin"
Signed-off-by: nestict <icttechnest@gmail.com>
2025-05-24 12:34:29 +02:00

80 lines
3.5 KiB
PHP

<?php
// Assuming you have ORM or database access configured correctly
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['routername'])) {
// Example of fetching data (simplified)
$routerName = $_POST['routername'];
// Fetch routers and plans from database (replace with your actual ORM or database queries)
$routers = ORM::for_table('tbl_routers')->find_many();
$plans_hotspot = ORM::for_table('tbl_plans')->where('type', 'Hotspot')->find_many();
// Fetch bandwidth limits for all plans
$bandwidth_limits = ORM::for_table('tbl_bandwidth')->find_many();
$bandwidth_map = [];
foreach ($bandwidth_limits as $limit) {
$bandwidth_map[$limit['plan_id']] = [
'downlimit' => $limit['rate_down'],
'uplimit' => $limit['rate_up'],
];
}
// Fetch currency from tbl_appconfig using the correct column names
$currency_config = ORM::for_table('tbl_appconfig')->where('setting', 'currency_code')->find_one();
$currency = $currency_config ? $currency_config->value : 'Ksh'; // Default to 'Ksh' if not found
// Initialize empty data array to store router-specific plans
$data = [];
// Process each router to filter and collect hotspot plans
foreach ($routers as $router) {
if ($router['name'] === $routerName) { // Check if router name matches POSTed routername
$routerData = [
'name' => $router['name'],
'router_id' => $router['id'],
'description' => $router['description'],
'plans_hotspot' => [],
];
// Filter and collect hotspot plans associated with the router
foreach ($plans_hotspot as $plan) {
if ($router['name'] == $plan['routers']) {
$plan_id = $plan['id'];
$bandwidth_data = isset($bandwidth_map[$plan_id]) ? $bandwidth_map[$plan_id] : [];
// Construct payment link using $_url
$paymentlink = "https://codevibeisp.co.ke/index.php?_route=plugin/hotspot_pay&routerName={$router['name']}&planId={$plan['id']}&routerId={$router['id']}";
// Prepare plan data to be sent in JSON response
$routerData['plans_hotspot'][] = [
'plantype' => $plan['type'],
'planname' => $plan['name_plan'],
'currency' => $currency,
'price' => $plan['price'],
'validity' => $plan['validity'],
'device' => $plan['shared_users'],
'datalimit' => $plan['data_limit'],
'timelimit' => $plan['validity_unit'] ?? null,
'downlimit' => $bandwidth_data['downlimit'] ?? null,
'uplimit' => $bandwidth_data['uplimit'] ?? null,
'paymentlink' => $paymentlink,
'planId' => $plan['id'],
'routerName' => $router['name'],
'routerId' => $router['id']
];
}
}
// Add router data to $data array
$data[] = $routerData;
}
}
// Respond with JSON data
// header('Content-Type: application/json');
// header('Access-Control-Allow-Origin: *'); // Adjust this based on your CORS requirements
echo json_encode(['data' => $data], JSON_PRETTY_PRINT);
exit();
}
?>