gestione variabili utente ed eventi/regole

8 contenuti / 0 new
Ultimo contenuto
gestione variabili utente ed eventi/regole

Ciao a tutti,
Ho due problemi, di cui non riesco a venirne fuori...

1-Come faccio a limitare il nr di upload di un singolo utente registrato?

Ho creato un campo di tipo intero chiamato "nr_upload" nella sezione impostazioni profilo, il quale non è visibile dall'utente al momento di compilazione del form di registrazione.
Ho impostato questo campo a 0 come valore di default.
Quello che vorrei fare è che quando un utente registrato carica un contenuto (per es. il contenuto Libro avrà appunto un campo di tipo file upload) la variabile "nr_upload" riferita all'utente incrementasse.
Suppongo che si debba usare il modulo Rules, però quando creo una regola non riesco a trovare l' evento che gestisce l'upload di un singolo file o il salvataggio di un contenuto Libro.

2- Eventualmente è possibile creare nuovi eventi?

Ringrazio in anticipo per eventuali risposte.
Grazie

Drupal Version:

Ho risolto :-)

.

wonderwall87 wrote:
Ho risolto :-)

Come ? Magari puo' essere utile per altri...

M.

--
Michel 'ZioBudda' Morelli -- [email protected]
Sviluppo applicazioni CMS DRUPAL e web dinamiche -- Corsi Drupal -- Amministrazione Drupal -- Hosting Drupal

Ho creato il contenuto Libro, il quale ha tra i vari campi file upload e un campo di tipo INTERO chiamato "nr_invii" impostato di default a valore 0.

Successivamente su Rules ho definito una nuova regola :
" Incrementa variabile nr_invii"

Events: reazione all'evento: Dopo il salvataggio di un nuovo contenuto

Conditions:
Content is of type ,
Parameter: Contenuto :[node] ( ho usato i data selector node per collegarmi all'nodo Libro) , Tipi di contenuto: Libro

Azioni:
Set a data value
Poi ,come prima, ho usato il data selector per collegarmi alla variabile nr_invii creata al momento della registrazione del profilo utente.

DATI:
Data selector:[node:author:field-nr-invii]
Infine ho impostato su PHP evaluation "return $value + 1;"

VALORE:
Data selector:[node:author:field-nr-invii]
Infine ho impostato su PHP evaluation "return $value + 1;"

Il risultato è che l'utente nella pagina Profilo visionerà il nr di upload effettuati. Ogni volta che effettua un upload la variabile nr_invii si incrementa automaticamente.

Spero di aver spiegato in maniera decente :-)

Il problema ora è : come impedire il salvataggio di un nuovo contenuto quando supera la quota prefissata?
Ho impostato una nuova regola riferita alla stessa variabile ( nr_invii) , come condizione ho impostato la quota di 4 contenuti di tipo Libro.
Come azione ho impostato il redirect alla home.
Però il contenuto viene salvato lo stesso e di conseguenza aumenta anche la variabile nr_invii

Usando hook_node_prepare puoi intercettare quello che succede prima che venga mostrato il form di inserimento/modifica. Fai il controllo sul valore di quel campo per quell'utente e, se è al limite, redirezioni prima di mostrare il form, aggiungendo un messaggio di errore.

Grazie mille Pinolo!