Skip to content

DoubleStar93/mobee-integration

Repository files navigation

Mobee

Modulo riutilizzabile per ottenere i dati dall’API Mobee (/api/{company_code}/info) con cache e download locale delle immagini.

Configurazione

File .env (più progetti)

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.

Costanti PHP

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';

Uso

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 in cache/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; con 0 la cache non scade fino a refresh manuale.

Anteprima dati (opzionale)

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, cookie mobee_lang).

Apri come /mobee/ o /mobee/index.php.

Repository Git

Codice upstream: github.com/DoubleStar93/mobee-integration
Clone: git@github.com:DoubleStar93/mobee-integration.git oppure HTTPS in REPOSITORY.md.

Funzioni principali

  • mobee_get_info($forceRefresh = false, $cacheDir = null)
    Restituisce ['success' => bool, 'data' => array]. Con $forceRefresh = true ignora la cache e riscarica da API (e aggiorna le immagini in cache).

  • mobee_clear_cache($includeImages = false)
    Elimina la cache JSON; se $includeImages === true elimina anche i file in cache/images/.

Struttura cartelle

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors