Primo Commit
This commit is contained in:
67
config/ajaxModule.inc.php
Normal file
67
config/ajaxModule.inc.php
Normal file
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
// Verifica se è una richiesta AJAX
|
||||
$is_ajax = !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest';
|
||||
|
||||
// Se è una richiesta AJAX, carica solo il contenuto della pagina
|
||||
if ($is_ajax) {
|
||||
switch ($page) {
|
||||
case 'home':
|
||||
include './pages/page/home.php';
|
||||
break;
|
||||
case 'radio':
|
||||
include './pages/page/radio.php';
|
||||
break;
|
||||
case 'tv':
|
||||
include './pages/page/tv.php';
|
||||
break;
|
||||
case 'play':
|
||||
$stationId = (int)$param;
|
||||
$station = getRadioStation($stationId);
|
||||
if ($station !== null) {
|
||||
include './pages/page/player.php';
|
||||
} else {
|
||||
include './pages/page/404.php';
|
||||
}
|
||||
break;
|
||||
case 'playtv':
|
||||
$stationId = (int)$param;
|
||||
$station = getTVStation($stationId);
|
||||
if ($station !== null) {
|
||||
include './pages/page/player_tv.php';
|
||||
} else {
|
||||
include './pages/page/404.php';
|
||||
}
|
||||
break;
|
||||
case 'page':
|
||||
switch ($param) {
|
||||
case 'about':
|
||||
include './pages/page/about.php';
|
||||
break;
|
||||
case 'contact':
|
||||
include './pages/page/contact.php';
|
||||
break;
|
||||
case 'copyright':
|
||||
include './pages/page/copyright.php';
|
||||
break;
|
||||
case 'addradio':
|
||||
include './pages/page/addradio.php';
|
||||
break;
|
||||
case 'termini-condizioni':
|
||||
include './pages/page/terminicondizioni.php';
|
||||
break;
|
||||
case 'policy-privacy':
|
||||
include './pages/page/policyprivacy.php';
|
||||
break;
|
||||
case 'changelog':
|
||||
include './pages/page/changelog.php';
|
||||
break;
|
||||
default:
|
||||
include './pages/page/404.php';
|
||||
}
|
||||
break;
|
||||
default:
|
||||
include './pages/page/404.php';
|
||||
}
|
||||
exit; // Termina l'esecuzione per le richieste AJAX
|
||||
}
|
||||
26
config/config.php
Normal file
26
config/config.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
|
||||
// Information App
|
||||
$title_site = "RPIGroup Play";
|
||||
$description_site = "Ascolta le radio del gruppo RPIGroup";
|
||||
$logo_site = "./img/logoapp.png";
|
||||
|
||||
include_once './config/getBasePath.inc.php';
|
||||
include_once './config/getStation.inc.php';
|
||||
include_once './config/getPage.inc.php';
|
||||
|
||||
// Controllo se l'utente è su mobile o desktop
|
||||
$is_mobile = isMobile();
|
||||
|
||||
// Se l'utente è su mobile, mostra l'app direttamente
|
||||
// Se è su desktop, mostra prima la pagina con il pulsante "Apri l'app"
|
||||
$show_app = $is_mobile || (isset($_GET['app']) && $_GET['app'] == 'true');
|
||||
|
||||
if ($show_app && isset($_GET['redirect']) && !empty($_GET['redirect'])) {
|
||||
$redirect_parts = explode('/', $_GET['redirect']);
|
||||
$page = isset($redirect_parts[0]) ? $redirect_parts[0] : 'home';
|
||||
$param = isset($redirect_parts[1]) ? $redirect_parts[1] : '';
|
||||
}
|
||||
|
||||
// Include AJAX module DOPO aver definito le variabili
|
||||
include_once './config/ajaxModule.inc.php';
|
||||
7
config/getBasePath.inc.php
Normal file
7
config/getBasePath.inc.php
Normal file
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
// Determina il percorso base dell'applicazione
|
||||
$script_name = $_SERVER['SCRIPT_NAME'];
|
||||
$script_path = dirname($script_name);
|
||||
$base_path = rtrim($script_path, '/');
|
||||
$base_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$base_path";
|
||||
31
config/getPage.inc.php
Normal file
31
config/getPage.inc.php
Normal file
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
|
||||
// Rileva se l'utente sta usando un dispositivo mobile
|
||||
function isMobile() {
|
||||
return preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]);
|
||||
}
|
||||
|
||||
// Recupera l'URL richiesto
|
||||
$request_uri = $_SERVER['REQUEST_URI'];
|
||||
$path = substr(urldecode($request_uri), strlen($base_path));
|
||||
$path = parse_url($path, PHP_URL_PATH);
|
||||
$path = trim($path, '/');
|
||||
|
||||
// Rimuovi parametri GET dall'URL se presenti
|
||||
if (strpos($path, '?') !== false) {
|
||||
$path = substr($path, 0, strpos($path, '?'));
|
||||
}
|
||||
|
||||
$path_parts = explode('/', $path);
|
||||
|
||||
// Rimuovi index.php dall'URL se presente
|
||||
if (isset($path_parts[0]) && $path_parts[0] == 'index.php') {
|
||||
array_shift($path_parts);
|
||||
}
|
||||
|
||||
// Determina la pagina da mostrare in base all'URL
|
||||
$page = isset($path_parts[0]) && !empty($path_parts[0]) ? $path_parts[0] : 'home';
|
||||
$param = isset($path_parts[1]) && !empty($path_parts[1]) ? $path_parts[1] : '';
|
||||
|
||||
// Debug (rimuovi in produzione)
|
||||
error_log("Page: $page, Param: $param, Path: $path");
|
||||
54
config/getStation.inc.php
Normal file
54
config/getStation.inc.php
Normal file
@@ -0,0 +1,54 @@
|
||||
<?php
|
||||
|
||||
// Funzione per caricare il file XML delle radio
|
||||
function loadRadioStations() {
|
||||
$xml = simplexml_load_file('./data/radio.xml');
|
||||
if ($xml === false) {
|
||||
error_log("Errore nel caricamento del file XML: data/radio.xml");
|
||||
return [];
|
||||
}
|
||||
return $xml->station;
|
||||
}
|
||||
|
||||
// Funzione per ottenere una singola stazione radio
|
||||
function getRadioStation($id) {
|
||||
$xml = simplexml_load_file('./data/radio.xml');
|
||||
if ($xml === false) {
|
||||
error_log("Errore nel caricamento del file XML: data/radio.xml");
|
||||
return null;
|
||||
}
|
||||
foreach ($xml->station as $station) {
|
||||
if ((int)$station->id === $id) {
|
||||
return $station;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// Funzione per caricare il file XML delle TV
|
||||
function loadTVStations() {
|
||||
$xml = simplexml_load_file('./data/tv.xml');
|
||||
if ($xml === false) {
|
||||
error_log("Errore nel caricamento del file XML: data/tv.xml");
|
||||
return [];
|
||||
}
|
||||
return $xml->station;
|
||||
}
|
||||
|
||||
// Funzione per ottenere una singola stazione TV
|
||||
function getTVStation($id) {
|
||||
$xml = simplexml_load_file('./data/tv.xml');
|
||||
if ($xml === false) {
|
||||
error_log("Errore nel caricamento del file XML: data/tv.xml");
|
||||
return null;
|
||||
}
|
||||
foreach ($xml->station as $station) {
|
||||
if ((int)$station->id === $id) {
|
||||
return $station;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
$changelog = simplexml_load_file("./data/changelog.xml") or die("Errore: Impossibile accedere al file CHANGELOG");
|
||||
$version_app = $changelog->version->number[0];
|
||||
Reference in New Issue
Block a user