*========================================*
| NOVITA' DELLA 2.5.8 x GLI SVILUPPATORI |
*========================================*
                                                                     v.20060826



CARICAMENTO AUTOMATICO JAVASCRIPT
---------------------------------
E' stata creata la nuova cartella /include/javascripts dove possono essere
inseriti tutti gli scripts JS che si desidera vengano avviati in modo
automatico: il file header.php (che in modo analogo gia' gestiva i fogli di
stile multipli del tema) si occupa di fare una scansione della directory
specifica, e di istanziare il codice javascript per tutte le pagine del sito.


CARICAMENTO AUTOMATICO CODICE PHP
---------------------------------
E' stata creata la nuova cartella /include/phpfunctions dove possono essere
inseriti tutti i file PHP che si desidera vengano inclusi in modo automatico
all'avvio: nel file index.php viene eseguita la nuova funzione load_php_code()
che si occupa di fare una scansione della directory specifica, e di istanziare
il codice PHP per tutte le pagine del sito.
Sempre utilizzando la funzione sopra citata, e' stato inoltre modificata la
procedura di creazione delle sezioni: all'inizio ed alla fine vengono inclusi
in modo automatico tutti i files rispettivamente presenti nelle directories
/include/sectio/header e /include/section/footer; in questo modo e' possibile
gestire piu' agevolmente le differenti parti strutturali di una sezione.
Allo stesso modo, vengono inclusi automaticamente al fondo del blocco Login
tutti i files presenti nella directory /include/blocks/login.


CARICAMENTO AUTOMATICO FOGLI DI STILE CSS
-----------------------------------------
E' stata creata la nuova cartella /include/css dove possono essere inseriti
tutti i fogli di stile CSS che si desidera vengano inclusi in modo automatico:
il file header.php si occupa di fare una scansione della directory
specifica, e di istanziare il codice per tutte le pagine del sito.


NUOVA FUNZIONE IS_ADMIN()
-------------------------
E' stata inserita una nuova funzione che verifica se l'utente attualmente
in linea e' un amministratore o no; quindi, il vecchio controllo:
	if((getlevel($myforum,"home")==10) and versecid($myforum)) ...
e' deprecato, d'ora in poi sara' sufficiente utilizzare:
	if(is_admin()) ...
NB: aggiornare il proprio codice secondo questa nuova funzione!!


NUOVA FUNZIONE FNWRITE()
-------------------------
E' stata inserita questa nuova funzione che permette di eseguire dei controlli
piu' approfonditi per quanto riguarda la scrittura di un file.
NB: aggiornare il proprio codice secondo questa nuova funzione, al posto delle
write() standard di PHP!!


SITO IN MANUTENZIONE
--------------------
E' stata inserita la possibilita' di bloccare temporaneamente l'accesso al sito
per permettere all'amministratore di poter effettuare alcune operazioni, come
ad esempio backup, modifiche, ecc. Per fare cio' e' sufficiente valorizzare la
variabile $maintenance aggiunta al file config.php a 1.


SEZIONE IN HOMEPAGE
-------------------
E' stata inserita la possibilita' di visualizzare in home-page, al posto delle
news del sito, una particolare sezione. Per fare cio' e' sufficiente valorizzare
la variabile $home_section nel file config.php con il nome della sezione interessata;
esempio:
	$home_section = "05_My_Section";
Se la variabile non  valorizzata oppure e' nulla, di default verra' presentata
la pagina contenente le news del sito.
Di conseguenza,  stata costruita una sezione apposita che visualizza le news;
di default  denominata come none_News per nasconderla, nel caso di necessit basta
rinominarla con un numero a 2 cifre secondo lo standard di Flatnuke.


POLITICA DI IMPOSTAZIONE DEI COOKIES
------------------------------------
E' stata inserita la possibilita' di gestire la scadenza dei cookies utilizzati
durante l'autenticazione dell'utente. Per far scadere sempre i cookies al termine della
sessione e' sufficiente valorizzare la variabile $remember_login nel file config.php
a 0. Se si vuole invece far scegliere all'utente stesso se conservare l'informazione
oppure farla scadere, valorizzare la variabile a 1: in fase di login, tramite una
comoda checkbox, l'utente potra' decidere come comportarsi.


STATISTICHE
-----------
Per evitare di falsare i risultati, dalla versione 2.5.8, non vengono piu' conteggiate 
le visite degli amministratori. Non saranno piu' incrementati i contatori delle letture 
delle news e le statistiche di accesso al portale.
In questo modo gli amministratori potranno navigare liberamnte senza timore di falsare
le statistiche con i loro spostamenti.
Per gli utenti normali e gli ospiti non cambia nulla.

Per ridurre la presenza di spam nei refer e' stata inoltre introdotta una blacklist
situata nel file sections/none_Statistiche/referblacklist.php
Ogni linea rappresenta un'espressione regolare che, se verificata, scarta automaticamente
il refer controllato. Le linee bianche vengono scartate e quelle che cominciano con un
cancelletto (#) sono considerate commenti.
Attenzione: il punto (.) indica il carattere jolly. Se volete indicare il punto vero e
proprio dovete  anteporgli il carattere di escape "\".
Esempio: per filtrare spamdomain.com dovete indicare come regola:
	spamdomain\.com


IMMAGINI DELLE (SOTTO)SEZIONI
-----------------------------
E' stata inserita la possibilita' di personalizzare l'immagine stampata al fianco del
nome di una sezione/sottosezione, rispetto a quella standard prevista dal tema in uso;
 sufficiente copiare un'immagine chiamata section.png nella sezione/sottosezione scelta.
Questa feature puo' essere utile per diversificare alla vista dell'utente una sezione
rispetto alle altre, utilizzando un'immagine che ne "spieghi" il contenuto.


XHTML
-----
E' iniziato il porting del codice per renderlo compatibile con le specifiche XHTML;
tutti gli sviluppatori sono caldamente invitati ad aggiornare le proprie estensioni
per allinearsi a Flatnuke.
Per le specifiche, far riferimento alla pagina: http://www.w3.org/TR/xhtml1/
Per creare un tema di tipo XHTML  necessario che questo contenga una funzione
chiamata theme_doctype() che stampi una stringa del tipo:
<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">
Se non presente, di default Flatnuke utilizza la definizione di un documento standard
HTML; vedi /themes/nautica/theme.php per un esempio di funzione.


FUNZIONI RIDEFINIBILI
---------------------

E' possibile ridefinire le funzioni edit_content(), view_section(), create_menu(), create_blocks() e create_news() senza dover modificare il file functions.php.
Se Flatnuke trova nella cartella include/redefine/ un file con lo stesso nome di queste funzioni, eseguir il codice
contenuto nel file anzich quello presente nella funzione standard.
Ad esempio per personalizzare la funzione edit_content()  sufficiente copiare nella cartella include/redefine/
un file chiamato "edit_content.php". Il contenuto di questo file sar richiamato al posto di quello della funzione 
standard.
In questo modo diventa possibile modificare il comportamento di Flatnuke e creare plugin senza modificare 
i file di sistema.


CARICAMENTO PROFILI UTENTE
--------------------------

E' stata inserita la funzione load_user_profile($user) che carica il profilo del'utente $user restituendo un array
contenente i suoi dati.
La struttura dell'array e' la seguente:

	$data['password'] = la password codificata in md5 dell'utente
	$data['name'] = il nome scelto dal'utente
	$data['mail'] = l'indirizzo e-mail specificato
	$data['homepage'] = l'home page
	$data['work'] = il lavoro
	$data['avatar'] = l'avatar scelto dall'utente
	$data['sign'] = la firma che sar accodata ai messaggi
	$data['level'] = il livello dell'utente

Aggiornate i vostri script utilizzando questa funzione per caricare i profili degli utenti. In questo modo
quando il file del profilo sara' convertito al formato xml i vostri script non perderanno in compatibilita'.


FLATNUKE FAST NEWS
------------------

E' stato inserito un metodo per postare news in maniera rapida e semplice.
In fondo al form di inserimento delle news e' possibile trovare un link "FLatNuke Fast News", per utilizzarlo
basta fare click col tasto destro e inserirlo fra i bookmark preferiti.
Se si e' autenticati come amministratori su un portale Flatnuke, bastera' selezionare del testo in un qualsiasi
altro sito e cliccare sul bookmark salvato. Flatnuke provvedera' ad impostare titolo e corpo della notizia
con il testo selezionato.
