Creazione di un nuovo Modulo

La creazione di un nuovo modulo del LybraFramework comporta alcuni passi da seguire:

  1. Generare la classe (o le classi) che estende DataObject per le tabelle del database relative al modulo
  2. Creare una sottodirectory all'interno della directory lybra/moduli/ chiamata col nome del modulo
  3. Creare (se necessaria) una template all'interno della directory lybra/template/ da associare al modulo
  4. Creare un file all'interno della directory con lo stesso nome del modulo e contenente il seguente codice:
$dataObjectName 'Geografica';  //nome del file contente la classe relativa al database
$dataObjectClass 'DataObjects_'.$dataObjectName//nome della classe che verrà utilizzata nelle varie action

include_once (PATH_DATAOBJ.'/'.$dataObjectName.'.php');
include_once (
"DB/DataObject/FormBuilder.php");

#definizione home page
$content['titolo'] = "Gestione XXXXXXXXX"//titolo del modulo da visualizzare in output
/**
 * creo la struttura del menu
 * $menuLst['voce'] nome della action abilitate/create per il modulo
 * $menuLst['permessi'] permesso per la action (admin/user/mod)
 * $menuLst['testo'] titolo della action da visualizzare nella template
 */
$menuLst['voce'] = "cerca";
$menuLst['voce'] = "aggiungi";

$menuLst['permessi'] = "user";
$menuLst['permessi'] = "mod";

$menuLst['testo'] = "cerca";
$menuLst['testo'] = "aggiungi";

/**
 * DICHIARO _PermessoModulo
 * che verrà utilizzato per la gestione dei permessi e la creazione dei menù
 */
$_PermessoModulo "permesso_$modulo";

/**
 *      inizio il controllo dei permessi
 *      come prima cosa richiamo la funzione modulePermission
 *      contenuta in small_funct.inc che mi inizializza
 *      la var. di sessione per il modulo corrente
 *      $_SESSION[$_PermessoModulo].
 *      Se sono admin per tutto il pannello byPasso la funzione
 */

$content['menu'] = modulePermission($modulo,$menuLst);

/**
 * Definisco la voce di menù da abilitare di default all'ingresso del modulo
 */
$default $menuLst['voce'];

$content['dati'] = "";

/**
 *      richiamo una funzione del modulo,
 *      se nessuna è definita o il file non esiste
 *      faccio partire quella di default
 */
$_path_module PATH_MODULES."/$modulo/".$_REQUEST['menu'].".php";

if ( (
file_exists($_path_module))  && (isset($_REQUEST['menu'])) ) {
        include (
PATH_MODULES."/$modulo/".$_REQUEST['menu'].".php");
}
else {
        include (
PATH_MODULES."/$modulo/$default.php");
}

/**
 * Richiamo la template da applicare al modulo
 */
include ("template/standard.tml");

PHP Warnings

lib/WikiUser.php:59: Notice[8]: Only variables should be assigned by reference

lib/Template.php:112: Notice[8]: Only variables should be assigned by reference

lib/Template.php:114: Notice[8]: Only variables should be assigned by reference

lib/Template.php (In template 'html'):112: Notice[8]: Only variables should be assigned by reference

lib/Template.php (In template 'html'):114: Notice[8]: Only variables should be assigned by reference

lib/Template.php (In template 'html'):112: Notice[8]: Only variables should be assigned by reference

lib/Template.php (In template 'html'):114: Notice[8]: Only variables should be assigned by reference

lib/Template.php (In template 'body') (In template 'html'):112: Notice[8]: Only variables should be assigned by reference

lib/Template.php (In template 'body') (In template 'html'):114: Notice[8]: Only variables should be assigned by reference

lib/Template.php (In template 'top') (In template 'body') (In template 'html'):112: Notice[8]: Only variables should be assigned by reference

lib/Template.php (In template 'top') (In template 'body') (In template 'html'):114: Notice[8]: Only variables should be assigned by reference

lib/Template.php (In template 'body') (In template 'html'):112: Notice[8]: Only variables should be assigned by reference

lib/Template.php (In template 'body') (In template 'html'):114: Notice[8]: Only variables should be assigned by reference

lib/CachedMarkup.php (In template 'browse') (In template 'body') (In template 'html'):427: Notice[8]: Only variables should be assigned by reference