Come
promesso è arrivata finalmente l'ora di presentare il
nuovo Script di Auto-Abilitazione, che al contrario di quel che molti credono
è stato ideato e realizzato, ai tempi, completamente da me.
Ma, molti si chiederanno
"Bene. Ma cos'è questo fantastico lo script di Auto-Abilitazione?". La risposta è semplice:
Niente di che.
E' un
semplice trucchetto che unisce le potenzialità di due codici pre-esistenti, cioè il
"Bottone per votare il forum" e il
"Bottone per iscrizione ad un gruppo", per fare in modo che gli utenti per accedere ed iscriversi ad un gruppo
aperto a cui sono stati dati particolari permessi/privilegi d'accesso è necessario votare
preventivamente il forum/blog in
top.
Questo script venne creato, ai tempi, per il forum
Hentai Fantasy ma in seguito, a causa dell'inarrestabile
copiaggio (
Un ottimo articolo a riguardo, vari esempi e script per arginare il copiaggio) si diffuse in tutti i circuiti.
Non voglio dilungarmi più di tanto, quindi mi limiterò a segnalarvi
questo messaggio contenente varie informazioni storiche a riguardo e critiche ad un forum che, senza diritto, ha preteso che molti forum inserissero dei crediti per uno script tanto semplice e non di loro proprietà.
Installazione Seconda VersioneFinita questa
noiosa e
lunga parte introduttiva, ma purtroppo necessaria di seguito troverete i codici per implementare questo sistema sul vostro forum
PreparazionePer iniziare ad utilizzare lo script sul vostro forum dovrete inizialmente recarvi in
Amministrazione > Gestione Gruppi e creare un
gruppo aperto (cioè con
auto-iscrizione abilitata)
non escluso dalla legenda. Questo gruppo andrà
azzerato all'inizio di ogni mese, andranno cioè rimossi tutti gli utenti e bisognerà aggiornare il pulsante con le informazioni del
nuovo sondaggio
top forum mensile.
Assegnate poi a tale gruppo particolari privilegi (come, per esempio, accedere a
particolari sezioni del vostro forum) in modo che soltanto gli utenti che
votano e quindi
contribuiscono al vostro forum, possano accedere ai suoi migliori contenuti. Per fare ciò è sufficiente andare in
Amministrazione > Restrizioni Accesso e inserire il
numero (o ID) del gruppo nella lista di utenti abilitati.
N.B. Abbiate cura di abilitare inoltre tutti i restanti gruppi dello
staff del vostro forum, in modo da non escludergli l'accesso a queste sezioni.
Lo script si
suddivide principalmente in quattro parti distinte, ognuna con un compito ed un ruolo specifico.
1) Nascondiamo il bottone di auto-iscrizione di default in tutto il forum Per la prima parte si tratta di
Stili CSS da inserire semplicemente il seguente codice in
Amministrazione > Modifica Colori e Stili:
CODICE
/* Inizio Script Auto-Abilitazione V2.7 */
.group .box_gruppoIDGRUPPO .list dl:last-child, .aa form input.codebuttons {display: none}
.tag .aa form input.codebuttons {display: inline} /* Fix Tagboard View in Blog(no JS) */
div#ab_div {display: none; font-weight: bold; color: #FF0000}
/* Fine Script Auto-Abilitazione V2.7 */
Ricordatevi di sostituire
IDGRUPPO con l'
ID del gruppo di utenti interessato (esempio .box_gruppo2 se l'ID del gruppo è 2)
La seconda parte si tratta invece del testo che appare subito sotto al primo form, una volta premuto il pulsante, che invita l'utente ad aspettare qualche istante nell'attesa che la procedura di voto/abilitazione venga completata.
Potete personalizzarne colore e stile,
non rimuovete però l'attributo
display: none per evitare uno spiacevole effetto grafico.
2) Visualizziamo il bottone nelle pagine del forum esclusa la pagina specifica del gruppoInserite questo script in
Amministrazione > Gestione Codice HTML > In cima al sito:
CODICE
<!-- Inizio Script Auto-Abilitazione V2.7 -->
<script type="text/javascript"><!--
if(location.search.indexOf('g=IDGRUPPO')==-1)document.write('<style>.aa form input.codebuttons{display: inline}<\/style>');if(typeof(document.ElementById)!='function')document.ElementById=function(obj){return(document.getElementById?document.getElementById(obj):document.all.obj)};
//--></script>
<!-- Fine Script Auto-Abilitazione V2.7 -->
Esso si occupa, come
annunciato nel punto
(1), di rendere nuovamente visibile gli input del forum, tranne ovviamente nel caso in cui si stia visualizzando la pagina relativa al gruppo privilegiato.
Proprio per questo motivo dovrete anche sostituire
IDGRUPPO con l'
ID del gruppo di utenti interessato.
3) Rimuoviamo il form di iscrizione dalla pagina del gruppo (controllo aggiuntivo da v2.3) e visualizziamo il bottone di votoInserite questo script in
Amministrazione > Gestione Codice HTML > In fondo al sito:
CODICE
<!-- Inizio Script Auto-Abilitazione V2.7 -->
<script type="text/javascript"><!--
if(location.search.indexOf('g=IDGRUPPO')!=-1){document.getElementsByName('CODE').item(document.getElementsByName('CODE').length-1).form.action='javascript:history.go(-1)';}if(document.ElementById('ab_submit1'))document.ElementById('ab_submit1').style.display='inline';
//--></script>
<!-- Fine Script Auto-Abilitazione V2.7 -->
Anche in questo caso inserito al posto di
IDGRUPPO nella prima parte l'
ID del gruppo aperto.
4) Script Principale e Moduli di Voto/IscrizioneInserite i seguenti codici in
Amministrazione > Gestione Codice HTML > [Dove desiderate inserire il pulsante, di norma si tratta dell'Homepage del forum]CODICE
<!-- Inizio Script Auto-Abilitazione V2.7 -->
<script type="text/javascript"><!--
/* =======================================
// Script Auto-Abilitazione Potenziato
// Realizzato da Bowser
// (C) 2012 http://ffmagazine.forumfree.it
// Versione: 2.7 - Ultima modifica: 04/07/2012 21:58
// ======================================= */
// Mostrare i messaggi alert? (Si=1,No=0)
var ab_alert = 1;
// Messaggi informativi
var ab_messaggi = new Array(
"Non puoi votare (sei iscritto da meno di 1 mese) o hai già votato questo mese in top forum, non puoi quindi auto-abilitarti!", // 0 - Errore: Utente non ha votato
"Voto confermato, potrai ora abilitarti cliccando sul bottone sottostante", // 1 - Voto effettuato
"Procedura di autoabilitazione conclusa con successo, grazie per averci votato!" // 2 - Iscrizione effettuata
);
//-- Non modificare oltre questo punto
ab_stop=0;ab_time=0;ab_sp=0;function ab_controllo(a){if(a==0){if(ab_sp==0){ab_sp=1;ab_time=setTimeout("ab_controllo(0)",1e4)}else if(ab_sp==1){ab_stop=-1;if(ab_alert)alert(ab_messaggi[0]);document.ElementById("ab_div").style.display="none";document.ElementById("ab_submit1").disabled=true}}else if(a>0){ab_stop=3;clearTimeout(ab_time);if(a==1){if(ab_alert)alert(ab_messaggi[1]);document.ElementById("ab_submit2").disabled=false;document.ElementById("ab_div").style.display="none";document.ElementById("ab_submit2").style.display="inline";return true}else if(a>1){document.ElementById("ab_submit1").disabled=true;document.ElementById("ab_submit2").disabled=true;return true}}}
//--></script><noscript><strong>ATTENZIONE: E' necessario abilitare JavaScript per effettuare correttamente la procedura di auto-abilitazione</strong><br></noscript>
Di per se non bisogna modificare nulla per rendere lo script funzionante, le opzioni di default lo rendono già attivo.
Sono stati riuniti i testi autoesplicativi dei vari messaggi di avvertimento in tre livelli per garantire un maggiore ordine e semplicita' di modifica, potete modificarli come meglio preferite:
0) Non puoi votare (sei iscritto da meno di 1 mese) o hai già votato questo mese in top forum, non puoi quindi auto-abilitarti!1) Voto confermato, potrai ora abilitarti cliccando sul bottone sottostante2) Procedura di autoabilitazione conclusa con successo, grazie per averci votatoAltrimenti se desiderate disabilitare i messaggi di avviso basta sostituire
ab_alert = 1; con
ab_alert = 0;
Infine dovete inserire
subito sotto allo script
(4) il seguente codice per inserire i due bottoni:
HTML
<form action="" method="post" target="ab_frame" onsubmit="document.ElementById('ab_div').style.display='block';return true">
<input name="act" value="Poll" type="hidden">
<input name="t" value="XXXXXXXX" type="hidden">
<input name="poll_vote" value="YYY" type="hidden">
<input type="submit" value="Vota il forum e potrai entrare nel gruppo Utenti+!" class="forminput" id="ab_submit1" style="display: none">
</form>
<div id="ab_div"><iframe id="ab_frame" frameborder="0" name="ab_frame" onload="if(ab_stop == 0){ab_stop = 1;}else if(ab_stop==1){ab_stop=2;ab_controllo(0)}else if(ab_stop==2){ab_controllo(1)}return true" style="display: none; overflow: hidden;"></iframe>Votazione in corso, attendi qualche istante...</div><br>
<form action="/?act=Members&g=IDGRUPPO" target="ab_frame" method="post" onsubmit="if(ab_controllo(2)){setTimeout(function(){alert(ab_messaggi[2]);history.go(0);},1000);return true}else return false">
<input name="s" value="c=IDFORUM" type="hidden">
<input name="CODE" value="01" type="hidden">
<input type="submit" name="submit" id="ab_submit2" class="forminput" style="display:none;" value="Ora puoi iscriverti al gruppo Utenti+!" disabled>
</form><br>
<small>Realizzato da <a rel="nofollow" href="http://www.forumfree.it/?act=Profile&MID=424957">Bowser</a> © <a href="http://ffmagazine.forumfree.it/?t=41484483" title="Script Auto-Abilitazione V2.7"><strong><abbr title="ForumFree">FF</abbr> Magazine</strong></a></small>
<!-- Fine Script Auto-Abilitazione V2.7 -->
Come per lo script vecchio in questa parte bisogna:
-Sostituire
XXXXXX con l'
ID del topic del sondaggio mensile corrente nel forum ufficiale per le votazioni sul circuito
-Sostituire
YYY con la
posizione (da
0 a
199) nel sondaggio mensile, indicata accanto al
nome/link del forum (ricordatevi che il conteggio parte da
0, se volete fare il conteggio manualmente).
Le ultime due cose da modificare sono
IDGRUPPO e
IDFORUM in cui bisogna specificare, come prima, l'
ID del gruppo privilegiato e quello del forum in cui esso si trova.
Potete infine personalizzare i testi dei bottoni modificando a piacere le scritte
"Vota il forum e potrai entrare nel gruppo Utenti+!" " e
"Ora puoi iscriverti al gruppo Utenti+!" (anche se quest'ultimo non verrà
mai visualizzato dagli utenti.