[TYPO3-UG Italy] Cambiare path di upload nelle form di BE - RISOLTO

Francesco Pessina typo3news at yahoo.it
Fri Apr 28 14:16:11 CEST 2006


Ciao, ho risolto io stesso il mio problema e questo si che da soddisfazione!!!

Per chi potesse incappare nella medesima difficolta' riporto la mia soluzione.

Per modificare il path di upload proposto di default dal form generato dal kickstarter e' 
sufficiente editare il file tca.php che si trova nella directory del proprio plugin; cercare il nome 
del campo di tipo upload (nell'esempio era "foto" e localizzare l'assegnamento di variabile 
nell'array per "uploadfolder" che dovrebbe essere impostato a "uploads/tx_myextension" (come da 
esempio). Modificare il valore secondo necessita'.
In questo modo e' possibile differenziare il percorso di upload per ogni campo "file" presente nelle 
proprie TCAforms dei plugin auto-prodotti.

E' inoltre possibile recuperare lo username corrente (e loggato nel BE!) facendo uso dell'oggetto
$BE_USER:

global $BE_USER;
$username=$BE_USER->user["username"];

oppure lo user ID con $BE_USER->user["uid"];

Infine e' anche possibile recuperare le info presenti nel proprio oggetto di configurazione $conf 
tramite ($confArr e' un array!):

$confArr = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['tx_myextension']);

NOTA: ovviamente e' necessario modificare "tx_myextension" con il nome della propria estensione!

Saluti,

Francesco.

Francesco Pessina ha scritto:
> Ciao a tutti,
> 
> Ho creato una estensione (con il *mitico* kickstarter!!!) per la 
> gestione delle home page degli utenti che sono tutti di tipo Backend 
> (BE). Ogni utente ha la possibilita' di uploadare del materiale e vorrei 
> che questo materiale venga salvato in una cartella dedicata per ciascun 
> utente.
> 
> Mi spiego meglio: supponiamo che chiamo il mio plugin come 
> "myextension"; quando un utente, diciamo il classico "pippo", 
> autenticato lato BE, realizza l'upload di un file ("foto.jpg") tramite 
> la form generata dal mio plugin (relativa ad un record di dati..), il 
> file caricato viene salvato in /uploads/tx_myextension/foto.jpg. Io 
> vorrei che invece fosse salvato in /uploads/tx_myextension/pippo/foto.jpg.
> 
> Il non plus ultra sarebbe di poter definire un percorso totalmente 
> differente (tipo C:\MyUsers\pippo\photo.jpg) e/o addirittura 
> differenziare delle (sotto) cartelle per l'utente in base al campo di 
> upload utilizzato: ad esempio "pippo" ha a disposizione mella sua form 
> due campi distinti di tipo upload, il primo per la sua foto, il secondo 
> per il suo CV; quindi mi piacerebbe avere la situazione 
> /uploads/tx_myextension/pippo/images/foto.jpg e 
> /uploads/../pippo/pdf/cv.pdf (oppure C:\MyUsers\pippo\images/foto.jpg e 
> C:\...pippo\pdf\cv.pdf).
> 
> Allo stato attuale tutti gli upload sono nella medesima cartella e cosa 
> peggiore tutti vedono gli upload di tutti con la (ovvia) possibilita' di 
> sovrascritture, cancellazioni, ecc. (e la privacy poi dove la mettiamo 
> :-) ?
> 
> Non chiedo grandi automatismi (tipo che alla creazione di un nuovo 
> utente vengono create anche le varie cartelle...tutto a manina e via!) 
> ma semplicemente del sano codice su cui provare a sperimentare questa 
> necessita' di uploads differenziati.
> 
> Grazie infinite per qualsiasi suggerimento e per chi lo fa', buon ponte!
> 
> Salutissimi,
> 
> Francesco.



More information about the TYPO3-UG-italy mailing list