flatnux-next 23.03

6 views
Skip to first unread message

John D'Orazio

unread,
Mar 25, 2011, 11:02:17 PM3/25/11
to fla...@googlegroups.com
Mi sembra che c'è un errore nella configurazione di Flatnux, "Enable syntax highlighting" dovrebbe essere "SI' / NO" e invece chiede una cartella con "default = misc".

John D'Orazio

unread,
Mar 25, 2011, 11:05:23 PM3/25/11
to fla...@googlegroups.com
Inoltre suggerirei di cambiare il nome della prima sezione in alto della configurazione da "sitemap" a "Sections Map" o qualcosa del genere, visto che sitemap ha un significato abbastanza preciso nei confronti dei motori di ricerca...

John D'Orazio

unread,
Mar 28, 2011, 10:50:56 AM3/28/11
to fla...@googlegroups.com
Ho l'impressione che ci sono dei limiti strutturali nella nuova flatnux, credo che ci sia da correggere alcuni modi di costruire le pagine e le sezioni. Quando si definiscono le funzioni (sia le funzioni di sistema, sia le funzioni di una singola sezione quale la sezione news per esempio), tutte le variabili all'interno delle funzioni dovrebbero essere o definite all'interno della funzione stessa o passate attraverso i parametri. Non è buon uso utilizzare variabili globali, perché non è detto che in altri contesti avrai accesso alle stesse variabili globali. Lo stesso vale per parametri GET e POST. Una funzione non deve dipendere da una variabile globale quale GET o POST, semmai i valori di una variabile GET o POST dovrebbe essere passata alla funzione come parametro.

Per fare un esempio concreto:

Sto cercando di creare il blocco "newstitles" per la nuova flatnux. Faccio l'include del file delle funzioni delle news, e subito mi esce un errore:

Notice: Undefined index: news_tablename in /membri/johnrdorazio/SitoFlatnukePersonale/sections/news/functions.php on line 267

Se guardiamo il codice di functions.php alla riga 267 (evidenziata in giallo):

function get_news_contents($newsvalues)
{
global $_FN;
static $id_accesskey = 1;
$Table = xmldb_frm("fndatabase", $_FN['news_tablename'], $_FN['datadir'], $_FN['lang'], $_FN['languages']);

vediamo che si tratta della variabile "$_FN['news_tablename']" e chissà dove è stata definita questa variabile nell'array globale "$_FN".

La funzione "get_news_contents()" non deve fare riferimento a "$_FN['news_tablename']" a meno che "$_FN['news_tablename']" non è stata nello stesso file functions.php. Sarebbe molto meglio se invece riceveva questi valori attraverso i parametri, così come riceve i parametri "$newsvalues". Si potrebbe fare per esempio una cosa del genere:

function get_news_contents($newsvalues,$context)
{
static $id_accesskey = 1;
$Table = xmldb_frm("fndatabase", $context['news_tablename'], $context['datadir'], $context['lang'], $context['languages']);
Poi quando viene chiamata la funzione "get_news_contents" la si può chiamare passandogli il contesto globale:

get_news_contents($thesevalues,$_FN);

Qui supponiamo che $_FN['news_tablename'] è stata definita appena prima di chiamare la funzione:

$_FN['news_tablename'] = "thisname";
get_news_contents($thesevalues,$_FN);

Allora la struttura diventa più logica, pulita, indipendente... Penso che non dobbiamo confondere troppo il contesto globale con quello locale, altrimenti diventa una ragnatela dalla quale non si esce più...

Alessandro Vernassa

unread,
Mar 28, 2011, 11:14:26 AM3/28/11
to fla...@googlegroups.com

La sezione news deve essere modificata nel modo in cui vengono passate le variabili.

Ci sono poi alcune cose derivanti dal porting verso FN-NEXT da ripulire.


Alessandro



Alle lunedᅵ 28 marzo 2011, John D'Orazio ha scritto:

> Ho l'impressione che ci sono dei limiti strutturali nella nuova flatnux,

> credo che ci sia da correggere alcuni modi di costruire le pagine e le

> sezioni. Quando si definiscono le funzioni (sia le funzioni di sistema, sia

> le funzioni di una singola sezione quale la sezione news per esempio),

> tutte le variabili all'interno delle funzioni dovrebbero essere o definite

> all'interno della funzione stessa o passate attraverso i parametri. Non ᅵ

> buon uso utilizzare variabili globali, perchᅵ non ᅵ detto che in altri

> contesti avrai accesso alle stesse variabili globali. Lo stesso vale per

> parametri GET e POST. Una funzione non deve dipendere da una variabile

> globale quale GET o POST, semmai i valori di una variabile GET o POST

> dovrebbe essere passata alla funzione come parametro.

>

> Per fare un esempio concreto:

>

> Sto cercando di creare il blocco "newstitles" per la nuova flatnux. Faccio

> l'include del file delle funzioni delle news, e subito mi esce un errore:

>

> *Notice*: Undefined index: news_tablename in *

> /membri/johnrdorazio/SitoFlatnukePersonale/sections/news/functions.php* on

> line *267*

>

>

> Se guardiamo il codice di functions.php alla riga 267 (evidenziata in

> giallo):

>

> function get_news_contents($newsvalues)

> {

> global $_FN;

> static $id_accesskey = 1;

> $Table = xmldb_frm("fndatabase", $_FN['news_tablename'], $_FN['datadir'],

> $_FN['lang'], $_FN['languages']);

>

>

> vediamo che si tratta della variabile "$_FN['news_tablename']" e chissᅵ

> dove ᅵ stata definita questa variabile nell'array globale "$_FN".

>

> La funzione "get_news_contents()" non deve fare riferimento

> a "$_FN['news_tablename']" a meno che "$_FN['news_tablename']" non ᅵ stata

> nello stesso file functions.php. Sarebbe molto meglio se invece riceveva

> questi valori attraverso i parametri, cosᅵ come riceve i parametri

> "$newsvalues". Si potrebbe fare per esempio una cosa del genere:

>

> function get_news_contents($newsvalues,$context)

> {

> static $id_accesskey = 1;

> $Table = xmldb_frm("fndatabase", $context['news_tablename'],

> $context['datadir'], $context['lang'], $context['languages']);

>

> Poi quando viene chiamata la funzione "get_news_contents" la si puᅵ

> chiamare passandogli il contesto globale:

>

> get_news_contents($thesevalues,$_FN);

>

>

> Qui supponiamo che $_FN['news_tablename'] ᅵ stata definita appena prima di

> chiamare la funzione:

>

> $_FN['news_tablename'] = "thisname";

> get_news_contents($thesevalues,$_FN);

>

>

> Allora la struttura diventa piᅵ logica, pulita, indipendente... Penso che

> non dobbiamo confondere troppo il contesto globale con quello locale,

> altrimenti diventa una ragnatela dalla quale non si esce piᅵ...



Reply all
Reply to author
Forward
0 new messages