File: /home/windevelwb/www/api2/add_portal.php
<?php
header("Content-Type: application/json; charset=utf-8");
// Récupération du portal envoyé en POST
$portal = $_POST["portal"] ?? "";
if ($portal === "") {
echo json_encode(["error" => "portal manquant"]);
exit;
}
// Nettoyage de l'URL (on enlève le / final)
$portal = rtrim($portal, "/");
// 🔹 CHEMIN UNIQUE ET CORRECT
// DOCUMENT_ROOT = /home/.../www
// => /home/.../www/api2/data/portals.json
$path = $_SERVER["DOCUMENT_ROOT"] . "/api2/data/portals.json";
// Lecture du JSON
$data = json_decode(file_get_contents($path), true);
if (!is_array($data)) {
echo json_encode(["error" => "portals.json illisible"]);
exit;
}
// Ajout Xtream
if (!in_array($portal, $data["xtream"])) {
$data["xtream"][] = $portal;
}
// Ajout Stalker (/c)
$portal_stalker = $portal . "/c";
if (!in_array($portal_stalker, $data["stalker"])) {
$data["stalker"][] = $portal_stalker;
}
// Sauvegarde
file_put_contents($path, json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES));
// Réponse JSON
echo json_encode([
"xtream_added" => $portal,
"stalker_added" => $portal_stalker
]);