Pagina 1 di 1

Esiste una mod che faccia la seguente cosa?

Inviato: 13/07/2011, 19:58
da stimart
Ciao gente ^__^
sapete mica se esiste già una mod che faccia in modo di non permettere a tutti gli utenti del forum di rispondere o creare nuovi topic se prima non hanno letto o risposto ad un topic specifico?

In parole povere... io vorrei che tutti gli utenti fossero costretti a dover rispondere ad un topic per poter continuare a partecipare ai vari forum.

Re: Esiste una mod che faccia la seguente cosa?

Inviato: 13/07/2011, 20:50
da Micogian
Diciamo che si può fare, si tratta di capire alcune cose.
1) Il topic al quale bisogna rispondere è uno in particolare ?
questo perchè se così fosse hai una base di partenza che è il topic_id.
2) Quando l'utente risponde al quel Topic crea un post. Se crei una query che controlli i posts di quel Topic estrai gli user_id (il poster_id) di chi ha risposto.
Crei una variabile che contenga tutti gli user_id relativi a quel topic separati da una virgola:
ad es. prima crei la variabile $lista_user = "," ;
e poi, con il ciclo while della query, aggiungi i vari poster_id:
$lista_user -=$row['poster_id'] . ",";
Alla fine la variabile $lista_user conterrà tutti gli user_id che hanno risposto.
3) Dato che il sistema riconosce l' user_id di chi si è loggato, con un controllo del tipo
strpos($lista_user, "," . $user_id . ",") puoi ottenere un valore true o false che poi ti serve per assegnare o proibire l'uso del Forum.
Ho messo l'user_id tra le virgole per non confondersi con altri numeri, ad esempio se cerchi il 99 ti troverebbe anche il 199, con le virgole prima e dopo trova solamente l'user_id giusto.

Spero di essere stato chiaro

Re: Esiste una mod che faccia la seguente cosa?

Inviato: 13/07/2011, 20:58
da Micogian
E' che io parto dal principio che i visitatori possano visualizzare tutto il mio Forum, questo è un modo per permettere di intervenire, poi ognuno ha le sue esigenza,
Comunque questo è un modo, sembra macchinoso ma si tratta di poche righe di codice che si possono inserire in un file esterno e inserirlo con un semplice include, così non appesantisce il file originale.
Io di solito faccio così.