
Script di Auto-Abilitazione V2.5
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à.
Caratteristiche e Limiti Versione 1
Quando realizzai la prima versione dello script, non pensai di includere funzioni e caratteristiche troppo complesse. Lo script doveva solo nascondere il secondo pulsante e visualizzarlo al click sul primo, oltre a garantire un
minimo di sicurezza nascondendo il pulsante nella pagina relativa al gruppo aperto. Di per sè, esso ha fatto un ottimo lavoro ed è stato apprezzato da molti amministratori dei forum in top
200 sui vari circuiti che attualmente lo utilizzano per concedere solo agli utenti che supportano il forum particolari privilegi e permessi. Tuttavia alcuni problemi sono, con il tempo, venuti a galla; ad esempio un utente disonesto riusciva ad abilitarsi anche senza aver votato il forum, avendone già votato in precedenza un altro oppure riusciva, disabilitando
JavaScript, a visualizzare il pulsante nella pagina relativa al gruppo in modo da non dover votare il forum associato.
Questo fenomeno, purtroppo, è andato via via allargandosi e ciò, insieme ad altri motivi mi ha spinto a realizzare una
nuova e più
funzionale versione.
Potete comunque trovare di seguito se siete interessati la
prima versione dello script, che a parte qualche leggera ottimizzazione, è rimasta tale dalla sua creazione, con una breve guida al suo inserimento.
Inserite in
Amministrazione > Gestione Codice HTML > In cima al forumHTML
<script type="text/javascript">if( location.search.indexOf('&g=IDGRUPPO')!=-1 ) document.write("<style>form input {display: none;}<\/style>");</script>
Sostituendo
IDGRUPPO con l'
ID del gruppo di utenti
privilegiati.
Questa prima parte permette di nascondere il pulsante di iscrizione dalla relativa pagina del gruppo, in modo da evitare che gli utenti possano accederci ed abilitarsi direttamente.
Inserite in
Amministrazione > Gestione Codice HTML > [Dove si desidera inserire lo script]HTML
<form action="http://supporto.forumfree.it/" name="plus" method="post">
<input name="act" value="Poll" type="hidden">
<input name="t" value="XXXXXX" type="hidden">
<input name="poll_vote" value="YYY" type="hidden">
<button type="submit" class="forminput" onclick="document.getElementById('iscriviti').style.display='inline'; return true;">Vota il forum e potrai essere abilitato"</button>
</form>
<form action="/?act=Members&g=IDGRUPPO" method="post" target="_blank">
<input name="s" value="c=IDFORUM" type="hidden">
<input name="CODE" value="01" type="hidden">
<button class="codebuttons" type="submit" id="iscriviti" style="display:none;">Clicca qui per abilitarti"</button>
</form>
In questa seconda parte bisogna innanzitutto assicurarsi, se il proprio forum/blog non sta sul circuito ForumFree, di sostituire
http://supporto.forumfree.it con
http://top.forumcommunity.net, se il proprio forum/blog sta su ForumCommunity o
http://top.blogfree.net se si trova su BlogFree.
Bisogna sostituire
XXXXXX con l'
ID del topic del sondaggio mensile corrente nel forum ufficiale per le votazioni sul circuito.
Bisogna 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 essere abilitato!" e
"Clicca qui per abilitarti!".
Caratteristiche Versione 2
La nuova versione dello
Script di Auto-Abilitazione presenta diverse
innovazioni esclusive realizzate per migliorare la
qualità e la
sicurezza dello script:
-
Controllo del voto New!: la principale novità di questo script, il voto dell'utente viene controllato e solo se valido (cioè solo se non ha già votato un altro forum) ottiene l'abilitazione
-Click Unico: Altra importante novità, gli utenti dovranno cliccare su un unico pulsante e non più su due per votare il forum ed iscriversi al gruppo privilegiato Sono richiesti nuovamente 2 click diversi, uno per votare e uno per iscriversi (
#entry390464002)
-
Procedura di auto-abilitazione eseguita totalmente sulla stessa pagina, non sarà più rischiesto che l'utente debba visitare più pagine
New! (da 2.5)-Intuitivi messaggi che informano l'utente del susseguirsi delle procedure di abilitazione
-Cross-Browser: Lo script è compatibile con tutti i browser maggiori in circolazione
-Bugfix: Sistemati alcuni bug che permettevano a chi aveva JavaScript disattivato di visualizzare il bottone ed iscriversi anche senza aver votato
-Usabilità: Codice pulito, semplice, personalizzabile ed intuitivo.
-Ridotta la possibilità dell'insorgenza di problemi durante la procedura di auto-abilitazione
New! (da 2.5)Termini di Utilizzo
Questa guida ed il relativo script spiegato sono rilasciati sotto una
Licenza Creative Commons 3.0, riassunta, riveduta e corretta nei seguenti punti:
Sei libero di
utilizzare, comunicare al pubblico, esporre in pubblico, rappresentare e recitare la
guida e lo script annesso (la
ridistribuzione ha dei vincoli particolari che potete trovare di seguito) alle seguenti condizioni:
Licenza:

- Attribuzione
- Devi riconoscere il contributo dell'autore originario e del suo forum. (Informazioni e metodi di attuazione sono reperibili nella sezione seguente)
- Non commerciale
- Non puoi usare quest’opera per scopi commerciali.
- Non opere derivate
- Non puoi alterare o trasformare quest'opera, ne' usarla per crearne un'altra
La
sola guida, comprensiva quindi anche di script, è
ridistribuibile su altri forum senza autorizzazione a patto di conservarne l'
integrità e senza
alcuna alterazione dei contenuti e dei crediti.
Il
ForumFree Magazine si riserva però il diritto insindacabile di vietare l'
utilizzo e la
ridistribuzione della guida e dello script ai seguenti forum:
Tale lista può essere aggiornata anche senza preventivo avviso, coloro che verranno inseriti perderanno immediatamente qualsiasi diritto di
utilizzo e
ridistribuzione della guida e del relativo script.
Installazione
Finita questa
noiosa e
lunga parte introduttiva, ma purtroppo necessaria di seguito troverete i codici per implementare questo sistema sul vostro forum

Preparazione
Per 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.5 */
.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.5 */
Essa si occupa di nascondere, via CSS
(!), tutti gli input visibili nel forum (inseriti all'interno della cella di una tabella con classe
aa). Essi verranno poi resi nuovamente visibili, tranne che nella pagina relativa al gruppo, attraverso un codice
JavaScript.
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 gruppo
Inserite questo script in
Amministrazione > Gestione Codice HTML > In cima al sito:
CODICE
<!-- Inizio Script Auto-Abilitazione V2.5 -->
<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.5 -->
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 voto
Inserite questo script in
Amministrazione > Gestione Codice HTML > In fondo al sito:
CODICE
<!-- Inizio Script Auto-Abilitazione V2.5 -->
<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.5 -->
Anche in questo caso inserito al posto di
IDGRUPPO nella prima parte l'
ID del gruppo aperto.
4) Script Principale e Moduli di Voto/Iscrizione
Inserite 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.5 -->
<script type="text/javascript"><!--
/* =======================================
// Script Auto-Abilitazione Potenziato
// Realizzato da Bowser
// (C) 2010 http://ffmagazine.forumfree.it
// Versione: 2.5 - Ultima modifica: 16/04/2010 23:50
// ======================================= */
//-- 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!",
"Voto confermato, potrai ora abilitarti cliccando sul bottone sottostante",
"Procedura di autoabilitazione conclusa con successo, grazie per averci votato!"
);
//-- Inserire l'ID del sondaggio di votazione in top corrente
var ab_tid = '';
//-- Non modificare oltre questo punto
ab_time=null;ab_stop=0;function urlfrm(o){return(o.contentDocument?o.contentDocument.location:o.contentWindow.location)}function ab_controllo(c){if(urlfrm(document.ElementById('ab_frame')).host){if(urlfrm(document.ElementById('ab_frame')).search.indexOf('t='+ab_tid)!=-1){if(c==1&&ab_stop==0){ab_stop=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(c==2){document.ElementById('ab_submit1').disabled=true;document.ElementById('ab_submit2').disabled=true;return true}else return false}else if(ab_stop!=2){if(ab_time!=null){if(ab_alert)alert(ab_messaggi[0]);document.ElementById('ab_div').style.display='none';return false}else{ab_time=setTimeout("ab_controllo(1)",5000);return false}}}}
//--></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 potete, se lo desiderate, inserire l'
ID del topic con il sondaggio mensile corrente della
top tra gli apici singoli
' in
ab_tid = ''; (questo garantisce un controllo più restrittivo e quindi sicuro sul voto,
consigliato)
Esempio:
CODICE
// Inserire l'ID del sondaggio di votazione in top corrente
var ab_tid = '12345678';
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!=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)){ab_stop=2;setTimeout(function(){alert(ab_messaggi[2]);},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.5"><strong><abbr title="ForumFree">FF</abbr> Magazine</strong></a>
<!-- Fine Script Auto-Abilitazione V2.5 -->
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.
EsempioPotete vedere un esempio di questo script in azione visitando il forum:
http://auto-abilitazione.forumfree.itNon utilizzate però tale forum per richieste di supporto perché esse verranno ignorate, utilizzate l'apposita sezione
Supporto ForumFree presente sul
ForumFree Magazine.
Crediti e Ringraziamenti
Desidero ringraziare prima di tutto
Hentai Fantasy per avermi fatto venire in mente l'idea e i suoi attuali staffer che mi hanno aiutato con il
beta-testing della versione che è ora disponibile. Ringrazio in particolare
Shaoran Tsubasa per avermi aiutato a venir fuori da una situazione complessa con il codice.
Ringrazio anche gli onnipresenti
DarkStyle,
LightStyle,
Delta ed
{E} e tutto il
ForumFree Magazine che mi ha dato forza e supporto durante la realizzazione dello script.
Il
ForumFree Magazine non pretende crediti obbligatori con link e banner da inserirsi sul vostro forum, qualora desideriate
utilizzare questo script, potete infatti rimuovere, se lo desiderate, il link presente sotto l'ultimo form (
non devono essere rimossi, invece, i crediti inseriti nello script della sezione
(4).
E' possibile, come indicato nei termini di utilizzo, ridistribuire questa guida sui vostri forum
lasciandone inalterati integrità e contenuti/crediti ed inserendo il seguente codice in fondo al messaggio:
HTML
<div class="textinput" style="margin:1px;padding:4px;display:block;text-align:center"><strong>Guida e Script realizzati da <a href="http://www.forumfree.it/?act=Profile&MID=424957">Bowser</a> del <a title="Script Auto-Abilitazione V2.5 - Controllo potente, veloce e sicuro" href="http://ffmagazine.forumfree.it/?t=41484483"><b>ForumFree Magazine</b></a></strong>.<br>Guida rilasciata sotto una <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/"><strong>Licenza Creative Commons 3.0</strong></a>.</div>
Esempio visualizzazione:
Edited by Bowser - 8/8/2010, 17:16