In quest'articolo analizzeremo un plugin che ci permetterà di integrare una piccola ed efficiente chat all'interno di WordPress così da dare l'opportunità a tutti i nostri utenti di interagire tra di loro. Il componente che andremo ad installare e configurare è PHPFreeChat, un plugin semplice sia per quando riguarda l'installazione sia per l'utilizzo, oltre che veloce da personalizzare e configurare.
Il componente
Tra le peculiarità del plugin evidenziamo la presenza di un sistema multilingua così da agevolare tutti gli utenti (client) della chat nelle loro operazioni. La visualizzazione della chat zone è resa semplice e lineare, senza la presenza di fastidiosi "sfarfallii" o refresh, tutto questo grazie al codice AJAX utilizzato in fase d'implementazione, il plugin permette anche lo sviluppo di chat in un ambiente multi stanze, utilizzando, contemporaneamente messaggi privati e pubblici, ed al contempo permettendo ai moderatori di disciplinare le discussioni intraprese dagli utenti. PHPFreeChat include al suo interno due widget al fine di visualizzare gli utenti online e le ultime discussioni in corso.
Per rendere la chat più accattivante e personalizzabile, l'utente sarà in grado di selezionare diversi tipi di scrittura, utilizzare le ormai immancabili faccine, abilitare/disabilitare suoni e la visualizzazione della data e dell'ora.
Il plugin è ormai giunto alla versione 0.2.6 ed è prelevabile dal link ufficiale, tale versione risulta è stata testata e risulta compatibile con WordPress 3.0.1.
Installazione
Una volta prelevato il componente si dovrà provvedere all'integrazione dello stesso all'interno del CMS utilizzando la procedura classica prevista da WordPress, nello specifico copieremo la cartella presente all'interno del file compresso nel percorso della webrootWP/wordpress/wp-content/plugins, completata l'integrazione si attiverà il plugin utilizzando l'apposito tasto "Activate" posto in corrispondenza del componente nella sezione Plugins (figura 1).
![Attiviamo PHPFreeChat](https://static.html.it/app/uploads/documenti/articoli/3543/01.png)
Impostazione del componente
Completata l'installazione ed eseguita la relativa attivazione siamo pronti per configurare il componente, all'interno del menu "Settings" noteremo la comparsa di una nuova voce "PHPFreeChat Settings" (così come mostrato all'interno delle figura 2), che se selezionata ci guiderà nella schermata di installazione del componente.
![PHPFreeChat settings](https://static.html.it/app/uploads/documenti/articoli/3543/02.png)
La prima voce personalizzabile è il campo Server ID, che possiamo lasciare tranquillamente inalterato, questo valore deve essere un numero univoco, sarà interessante invece agire sui campi "Chat Name" e "Channal Name", i quali indicano rispettivamente il nome della chat e la tipologia dei canale utilizzati all'interno della stessa (figura 3).
![Chat name e channel name di PHPFreeChat](https://static.html.it/app/uploads/documenti/articoli/3543/03.png)
Un'operazione fondamentale da effettuare al fine di evitare spiacevoli inconvenienti è quella di modificare la password d'amministrazione della chat, per default impostata su nostalgia, a tal proposito vi suggerisco di scegliere password "robuste", che rispettino le nozioni fondamentali nella creazione delle stesse, vedremo in seguito come utilizzare tale password.
Una volta impostata la password siamo pronti per settare una serie di funzionalità attraverso l'utilizzo di alcune check box (figura 4). Tra le diverse opzioni da abilitare o disabilitare a seconda delle nostre preferenze, troviamo la possibilità di disattivare il tempo di vita di ogni messaggio della chat attraverso la voce "Disable the timestamp on each chat message?", altre opzioni che vale la pena segnalare sono: la presenza della funzionalità "Registered User Only?", che permette l'utilizzo della chat solo ed esclusivamente agli utenti registrati nel nostro CMS, la possibilità di avvalersi della modalità censura "Turn OFF the Censor Proxy?" e l'abilitazione della modalità debug (Turn ON Debug Mode").
![Disabilitiamo il timestamp delle chat](https://static.html.it/app/uploads/documenti/articoli/3543/04.png)
Impostare la censura
Le chat sono un veicolo di confronto e spesso di scontro e goliardia, per questo motivo occorre effettuare una moderazione automatica, grazie alla presenza dell'opzione "censor proxy" tutto ciò risulta semplice, in particolare preimpostando i termini da filtrare ogni volte che un utente ne farà uso il sistema automaticamente provvederà a rimpiazzarli con una serie di asterischi. Per default il sistema riconosce esclusivamente parole proibite in inglese. La liste delle parole è contenuta nel file pfcglobalconfig.class.php memorizzato all'interno della cartella wp-content/plugins/src della web root di WordPress. La modifica può essere effettuata sia utilizzando l'editor di WordPress, sia avvalendosi di un normale client FTP e editor di testi.
La parte di codice su cui agire è contenuta nella riga 236, in particolare la variabile censor include al suo interno le parole coperte da censura.
…
var $proxies_cfg = array("auth" => array(),
"noflood" => array("charlimit" => 450,
"msglimit" => 10,
"delay" => 5),
"censor" => array("words" => array("pippo","pluto","paperino","clarabella"),
"replaceby" => "*",
"regex" => false),
"log" => array("path" => ""));
Supponendo di voler aggiungere la parola testcensura, all'insieme delle words censurabili, dovremmo includere all'interno dell'array questa parola, il risultato ottenuto dalla nostra modifica sarà qualcosa del tipo:
…
array("testcensura","pippo","pluto","paperino"),
…
Un ipotetico utente che tenti di scrivere la stringa testcensura, vedrà visualizzato una serie di * (asterischi) come mostrato dalla figura 5.
![Le parole censurate con gli asterischi](https://static.html.it/app/uploads/documenti/articoli/3543/05.png)
Personalizziamo l'aspetto della chat
PHPFreeChat mette a disposizione degli utenti la possibilità di modificare il tema grafico della chat integrata all'interno del proprio portale, l'operazione è resa semplice dalla presenza del campo "Theme" (figura 6), che permette di selezionare uno degli otto temi già a disposizione. Come emerge dalla figura 6 si ha la possibilità di selezionare la lingua da utilizzare per la chat, essendo il plugins multilingua sviluppato seguendo lo standard i18.
![Scegliamo il tema di PHPFreeChat](https://static.html.it/app/uploads/documenti/articoli/3543/06.png)
Visualizzazione della Chat
Impostati tutti i settaggi, la nostra chat è quasi pronta, per essere utilizzata dagli utenti, ultima operazione da compiere è l'integrazione all'interno delle nostre pagine, per adempiere a tale compito si dovrà creare un normalissimo articolo WordPress contente al suo interno lo "short code" [phpfreechat] proprio come mostrato nella figura 7, una volta pubblicato quest'articolo la nostra chat sarà a disposizione degli utenti del sito, naturalmente potremo inserirla in una categoria e farla comparire nei diversi menù predisposti all'interno del template.
![Lo schermo di PHPFreeChat](https://static.html.it/app/uploads/documenti/articoli/3543/07.png)
Rendere persistenti qualsiasi modifiche
La casella di testo utilizzata dagli utenti per lo scambio dei messaggi (evidenziata in rosso nella sottostante figura) è anche un metodo per impartire diversi comandi al componente come ad esempio il comando /rehash, tale comando rende persistenti tutte le modifiche apportate ai settaggi, naturalmente questa tipologia di operazioni richiede l'inserimento delle credenziali di autenticazioni relative al componente. Analizziamo la procedura da utilizzare al fine di attivare le modifiche apportate. La prima istruzione da inserire è:
/nick admin
Con essa indichiamo al sistema di volerci collegare con il grado di amministratore alla chat, confermato il comando tramite la pressione del tasto invio andremo ad inserire la password di amministratore indicata in fase di configurazione del componente (ricordate nel paragrafo settaggi dove suggerivo di modificare la password "nostalgia"?), operazione resa possibile dal comando:
/identify
Dove la stringa
/rehash
Esistono molti altri comandi, per ottenere una lista completa potete utilizzare la direttiva /help.
Conclusione
PHPFreeChat permetterà ai nostri utenti di condividere in tempo reali esperienze, problemi e soluzioni, rendendo così i nostri utenti parte integrante del nostro sito, l'elevata semplicità d'installazione abbinata ai diversi servizi offerti fanno di questo componente un plugins da prendere in considerazione qualora si vogliano mettere in contatto diretto i vari utenti. La figura 9 mostra la chat in fase di funzionamento.
![La chat in funzione](https://static.html.it/app/uploads/documenti/articoli/3543/08.png)