Questo tutorial consente di porre un limite personale per ogni utente sul numero di messaggi privati inviabili. Superato il limite assegnato al singolo utente, non sarà possibile inviarne altri, a meno che l'amministratore non lo consenta
Una volta installato, chi di dovere potrà modificare il valore numerico di un campo profilo che indicherà il numero massimo di messaggi privati inviabili. Se questo numero sarà uguale o minore al numero di messaggi inviati da utente, non potrà più inviare e/o rispondere ai messaggi privati.
Creazione di un campo profiloAndiamo verso Pannello di amministrazione ► Utenti & gruppi ► Utenti ► Profili e creiamo un nuovo campo
Qui riporto alcune impostazioni per il nuovo campo profilo, di alcune modificabili a piacimento:
- Tipo
Questo campo deve essere necessariamente Numero
- Nome - Descrizione - Icona
Questi campi potrete personalizzarli come preferite a piacimento!
- Da riempire obbligatoriamente? No
- Affissione
Consigliato solo "Profilo" ma potete visualizzarlo anche nei messaggi se preferite; è obbligatorio che sia visibile sul profilo
- Tipo di visualizzazione :
A vostro piacimento, non influisce sulla funzione
- Chi può modificare il valore del suo contenuto?
- Se volete che il numero massimo di messaggi privati sia modificabile solo dagli amministratori, togliete tutte le spunte
- Se volete concedere anche ai moderatori di modificarlo, potete inserire "Moderatore"
- Se inserite anche "Utente stesso" allora l'utente potrà gestire a piacimento il suo numero massimo di messaggi privati
- Mostra questo campo per gli utenti che sono almeno :
Necessariamente almeno Membro
- Separatore :
A vostro piacimento, non influisce sulla funzione
- Numero massimo di cifre ::
A vostro piacimento, dipende dall'attività del vostro forum, il consiglio è di mettere un numero di cifre alto (ad esempio 8)
- Valore di default :
Indica il numero che di base avranno gli utenti come tetto massimo per i messaggi privati I nuovi registrati avranno automaticamente questo valore Gli utenti già registrati non avranno alcun valore assegnato, potete modificare nuovamente il campo e sostituire il contenuto predefinito per tutti:
L'ID del campo profilo creatoAndiamo nel nostro profilo (ad esempio https://aiuto.forumattivo.it/u8660) e cerchiamo il nostro campo. A questo punto facciamo tasto destro e selezioniamo "Ispeziona elemento"
Troveremo una schermata di questo tipo, dovremo andare a localizzare l'ID del nostro campo profilo, che in questo caso è 4 - e tenerlo a mente
Il codice JavascriptAndiamo ora verso Pannello di amministrazione ► Moduli ► HTML & Javascript ► Gestione del codice Javascript e creiamone uno nuovo con le seguenti impostazioni:
- Titolo: a tua scelta
- Dove: in tutte le pagine
- Codice:
- Codice:
$(function(){ var forum_url = 'https://aiuto.forumattivo.it'; //link del proprio forum var fieldID = 'field_id4'; //id del campo profilo var redirect_url = forum_url+'/forum'; //pagina a cui si viene mandati se si prova ad inviare un messaggio var allowReply = 0; //0 non permette nemmeno le risposte, 1 permette le risposte
var url = window.location.href;
$.ajax({ url: '/u'+_userdata["user_id"], type:'GET', success: function(data){ var authMP = $(data).find('dl#'+fieldID+' dd div').html(); if(authMP < _userdata["user_nb_privmsg"]) { //numero MP superato console.info('La funzione messaggi privati è disabilitata perchè l\'utente ha superato il numero consentito'); $('form[action="/privmsg?folder=inbox"] .topic-actions a').remove(); if(url === forum_url+'/privmsg?mode=post'){ window.location.href = redirect_url; } if (allowReply = 0 && (url.indexOf("privmsg?mode=reply") > -1 || url.indexOf("privmsg?mode=quote") > -1)) { window.location.href = redirect_url; } } else { //può inviare messaggi privati console.info('La funzione messaggi privati è abilitata'); } } }); });
Modifiche da effettuareAll'interno del nostro codice ci sono alcune parti che possono essere modificate:
- forum_url è l'indirizzo del tuo forum, basta sostituirlo - fai attenzione a togliere il simbolo / alla fine
- var fieldID = 'field_id-13' indica l'ID del campo profilo, dovremo quindi sostituire il numero con quello che abbiamo tenuto a mente da prima
- redirect_url indica la pagina a cui verremo indirizzati se si tenta di creare un messaggio privato - di default è indicato il forum, ma potete anche inserire una pagina HTML per esempio, o un topic con le istruzioni per riattivarli
- allowReply permette di decidere se vuoi disabilitare solo la creazione di nuovi messaggi privati, o anche le risposte
- 0 indica che non è possibile creare né rispondere
- 1 indica che è possibile rispondere ma non creare
Note aggiuntive Il codice funziona anche sui moderatori e gli amministratori, quindi per questi utenti varrà la stessa regola - un consiglio può essere quello di impostare per loro un valore molto alto nel campo profilo.
|