[Typo3-UG Italy] inserire username/email in tt_board come defaults

Alessandro Tuveri at at uniud.it
Mon Dec 19 17:44:44 CET 2005


PART II - perdonate ma ho perso i riferimenti del precedente email cosi' invio
come nuovo topic ---



Ciao a tutti
dopo alcuni giorni di prove e ore perse, ecco quanto scoperto circa 
l'estensione
tt_board, che a me serve in quanto forum "smeplice" da usare per persone "non
utenti esperti", circa l'inserimento del valore USERNAME e USER_EMAIL nei
rispettivi campi di input (testo o nascosti).

Ho effettuato numerose o meglio una "infinita'" di prove, dopo aver cercato a
mia volta soluzioni nella lista pubblicata in TYPO3.ORG, usergroup EN.

La soluzione segnalata da jh in questa lista:

dai una occhiata li:

http://www.snippit.net/typoscript/tutorials/dynamic-forms.html


funziona limitatamente al caricamento in .value di variabili tipo GPvars o
variabili di pagina (quelle che si vedono in pratica con debug impostato = 1).

Il problema e' che in tt_board l'inserimento del campo <!--###USERNAME###-->
funziona solo ed esclusivamente nella "label", ma NON se utilizzato 
come valore
o valore di un campo nascosto.

In alcuni casi viene addirittura restituito un valore del tipo
<!--INT_SCRIPT.abcedhjjj...--> oppure comunque lo username viene preso tale e
quale dopo interpretazione con  htmlentities "sbattuto" come valore di campo,
oppure  in altri casi il valore restituito e' USER_INT o USER (a seconda della
funzione utilizzata).

Xander Damen e Kay Grabfelder hanno affrontato il problema nella lista 
in lingua
inglese suggerendo soluzioni anche piuttosto macchinose, oppure quella 
di creare
due oggetti che richiamano rispettivamente (vedi sotto, ho preso spunto...) un
paio di funzioni-utente in PHP per leggere le variabili $GLOBALS di username e
email.

Per tagliare la testa al toro e stanco di tutte queste cose che non 
portano a d
alcun frutto ho deciso di modificare comunque il codice PHP (anche se non e'
elegante e in attesa  di qualche soluzione del solito genio di turno) 
in questo
modo:


tt board

modificati i seguenti files, per permettere di nascondere username (author) ed
email di chi entra nel forum da registrato:

* ext_typoscript_setup.php *
commentate le righe shared.postform.dataArray delle proprietà .30 e .40 per
nascondere
visivamente i campi.

* ext/pi/board_sumbit.inc *
aggiunte in riga 40 le seguenti:
$this->newData["tt_board"]["NEW"]["author"] =
$GLOBALS['TSFE']->fe_user->user['username'];
$this->newData["tt_board"]["NEW"]["email"] =
$GLOBALS['TSFE']->fe_user->user['email'];

in questo modo "forzo" l'estensione a leggere comunque le variabili globali
'username' e 'email' per caricarle nei campi che nella riga seguente vengono
inviati al database.


I piu' bravi possono fare cosi':
1. tenere comunque le proprietà .30 e .40 dei form visibili
2. aggiungere una ulteriore riga per ogni variabile passata in 
board_submit.inc
per controllare se la variabile ricevuta via form e' caricata; in caso 
negativo inserire
il dato dell'utente registrato.
3. modificare la procedura affinche' esca e nulla venga scritto  nel database
nel caso in cui l'utente  non sia registrato, oppure
4. modificare TS al file ext_typoscript_setup.php per controllare se 
c'e' o meno
un utente registrato e saltare le righe in oggetto.

Questa ultima soluzione e' valida per chi desidera un caricamento dei campi
obbligatorio per gli utenti registrati e non.

Io non approfondisco in quanto uso il forum SOLO per gli utenti registrati...
infine tt_board e' installato in LOCAL (non in global!); ho preso nota e in
caso di upgrade mi regolo...

Buon Natale a tutti!

--
ALEX TUVERI
CSIT - UNIV. DI UDINE
--------------------------------------

----------------------------------------------------------------------
SEMEL (SErvizio di Messaging ELettronico) - CSIT -Universita' di Udine





More information about the TYPO3-UG-italy mailing list