Modulo riutilizzabile per ottenere i dati dall’API Mobee (/api/{company_code}/info) con cache e download locale delle immagini.
Nella root del sito (o dentro mobee/) aggiungi un file .env (vedi .env.example). Variabili lette da config.php:
| Variabile | Esempio | Note |
|---|---|---|
MOBEE_COMPANY_CODE |
mio-locale-123 |
Codice azienda nell’URL API |
MOBEE_API_BASE_URL |
https://mobee.space |
Opzionale |
MOBEE_IMAGES_WEB_PATH |
/mobee/cache/images |
Path URL assoluto verso cache/images |
MOBEE_CACHE_TTL |
0 |
Secondi; 0 = nessuna scadenza automatica |
MOBEE_VIEWER_PASSWORD |
mobee |
Password per aprire mobee/index.php (anteprima dati) |
Ordine: si caricano prima ../.env poi mobee/.env. Le variabili già definite sul server non vengono sovrascritte.
In config.php sono definite (e sovrascrivibili prima dell’include):
| Costante | Default | Descrizione |
|---|---|---|
MOBEE_COMPANY_CODE |
osteria-passatelli-1962 |
Codice azienda nell’URL API |
MOBEE_API_BASE_URL |
https://mobee.space |
Base URL API |
MOBEE_CACHE_TTL |
0 |
Validità cache in secondi (0 = solo refresh manuale / prima creazione) |
MOBEE_CACHE_DIR |
__DIR__/cache |
Directory cache (JSON + immagini) |
MOBEE_IMAGES_WEB_PATH |
/mobee/cache/images |
Path web assoluto dalla root del sito (per <img src="...">) |
MOBEE_VIEWER_PASSWORD |
mobee |
Accesso alla pagina index.php (anteprima dati) |
Per usare il modulo in un altro progetto, puoi ridefinire le costanti prima di includere i file:
define('MOBEE_COMPANY_CODE', 'altro-locale-123');
define('MOBEE_CACHE_DIR', __DIR__ . '/var/mobee-cache');
define('MOBEE_IMAGES_WEB_PATH', 'var/mobee-cache/images');
require_once '/path/to/mobee/config.php';
require_once '/path/to/mobee/MobeeInfo.php';require_once __DIR__ . '/mobee/config.php';
require_once __DIR__ . '/mobee/MobeeInfo.php';
$result = mobee_get_info();
if ($result['success'] && $result['data']) {
$company = $result['data']['company'];
$menu = $result['data']['menu'];
$events = $result['data']['events'];
// Logo e cover già puntano alle immagini in cache locale
echo '<img src="' . htmlspecialchars($company['logo']) . '" alt="Logo">';
}- Prima chiamata: viene chiamata l’API, scaricate le immagini in
cache/images/, salvato il JSON incache/info-{locale}.json. I path delle immagini nei dati sono sostituiti con il path web locale. - Chiamate successive: con
MOBEE_CACHE_TTL> 0, entro il TTL i dati vengono letti dalla cache; con0la cache non scade fino a refresh manuale.
index.php è una pagina HTML autonoma (nessun header/footer del sito).
- Se nella directory padre esiste
lang.php(es. progetto Osteria Passatelli), viene incluso per lingua e sessione. - Altrimenti si usa
lang-bootstrap.php(IT/EN, cookiemobee_lang).
Apri come /mobee/ o /mobee/index.php.
Codice upstream: github.com/DoubleStar93/mobee-integration
Clone: git@github.com:DoubleStar93/mobee-integration.git oppure HTTPS in REPOSITORY.md.
-
mobee_get_info($forceRefresh = false, $cacheDir = null)
Restituisce['success' => bool, 'data' => array]. Con$forceRefresh = trueignora la cache e riscarica da API (e aggiorna le immagini in cache). -
mobee_clear_cache($includeImages = false)
Elimina la cache JSON; se$includeImages === trueelimina anche i file incache/images/.
mobee/
├── bootstrap-env.php
├── config.php
├── MobeeInfo.php
├── lang-bootstrap.php
├── viewer-auth.php
├── index.php
├── mobee-viewer.css
├── README.md
├── REPOSITORY.md
├── LICENSE
├── composer.json
├── .env.example
├── .gitignore
└── cache/
├── .gitkeep
├── info-*.json # generati in runtime (non in git)
└── images/ # + .gitkeep; file scaricati non in git
Le immagini vengono salvate con nomi derivati dal path API (caratteri speciali sostituiti) per evitare conflitti.