ePrometeusCorsoLinuxLinux
testi articoli
Testi Articoli  Download
Home | OpenSource | PhpNuke | Programming | SysAdm | 
CorsoJava è ora Video! Free for all!
Clicca Qui!
PHPNUKE I MODULI
PHPNuke: i moduli
Gestire i moduli
Moduli
Oroscopo
Moduli Amministrativi
Amministrazione Oroscopo
Conclusioni


<<< Oroscopo >>>
Applichiamo  quanto detto, realizzando un modulo che visualizza l'oroscopo. In particolare,  selezionando la voce del menù principale che permette di accedere al modulo dell'oroscopo, vedremo l'elenco dei segni come mostrato in figura 2. Seguendo uno  dei collegamenti potremo mostrare l'oroscopo per un singolo segno, che è mostrato in figura 3.


Figura 2

Figura 3

Vediamo adesso il codice che lo implementa. Come abbiamo detto, il codice del modulo è contenuto nel file modules/Oroscopo_del_Giorno/index.php. Le regole di codifica dei moduli impongono che il modulo abbia una intestazine, che impedisca l'accesso a non autorizzati. Per cui il codice comincia per:

if (!eregi("modules.php", $PHP_SELF)) {
    die ("You can't access this file directly...");
}

Il corpo del modulo implementa innanzitutto una funzione di selezione delle possibili opzioni che fornisce:

$index = 1; // a 3 colonne
include("header.php");
OpenTable();
switch($fn) {
  case "det": dettaglio();  break;
  default: elenco();  break;
}
CloseTable();
include("footer.php");
Notiamo pertanto l'inclusione della intestazione all'inizio, e del piedino alla fine. Il corpo del modulo consiste in una selezione per decidere se  richiamare la funzione dettaglio(), o la funziona elenco(). Il dettaglio, mostrato in figura 3,   viene richiamato quando è stato selezionato un  particolare segno da visualizzare; questo fatto viene deciso dal fatto che il parametro fn vale det. In alternativa, e come comportamento predefinito, viene richiamato l'elenco. Vediamo adesso il codice che produce l'elenco:
function elenco() {
 $q = mysql_query("select segno from oroscopo order by ordine");
 echo "<h1 align='center'>Segni dello Zodiaco</h1>\n";
 echo "Scegli il tuo segno.<br>";
 echo "<ul>\n";
 while($r = mysql_fetch_row($q)) {
  echo "<li><a href='modules.php".
    "?op=modload&name=Oroscopo_del_Giorno".
    "&file=index&fn=det&seg=$r[0]'>$r[0]</a></li>";
 }
 echo "</ul>";
}
Come è prevedibile, viene fatta una interrogazione al database,  selezionando tutti i segni dell'oroscopo. La cosa da notare  è che viene prodotto  un elenco di URL  conformi alle regole dette prima. In particolare si utilizza il  parametro fn  per selezionare  l'opzione dettaglio. Il collegamento richiama il modulo stesso, citando quale segno si vuole visualizzare. Il codice  della funzione che visualizza il dettaglio è il seguente:
function dettaglio() {
     global $seg;
     $previsioni = mysql_fetch_row(
    mysql_query("select previsioni from oroscopo where segno='$seg'"));
     echo "<h1 align='center'>Oroscopo: $seg</h1>";
     echo "<blockquote><b>$previsioni[0]</b></blockquote>";
}
Questo codice non dovrebbe riservare nessuna sorpresa. Si tratta infatti semplicemente di una interrogazione che visualizza la previsione del segno selezionato.
ePrometeus s.r.l. - Web Software House & Open Source System Integrator
MILANO - SAN BENEDETTO DEL TRONTO(AP)
Contatti: info@eprometeus.com