• Community Manager

    [Mod vBulletin] Richiedi di moderare quest'area

    **Nome: **GT Richiesta Moderazione
    **Versione: **1.00 (fase Beta)
    Compatibilità: Attualmente Testasa solo con vBulletin 3.5.4
    Rilasciata: 06 Gennaio 2007
    **Ultimo Update: **Mai

    File Download: http://www.giorgiotave.it/forum/modforum/richiedi.zip

    **Cosa Fa: **Offre la possibilità agli utenti registrati di richiedere la moderazione di un Forum. E' un ottimo strumento per gli amministratori di forum.

    **Tempo di Installazione: **10 minuti (richiede alcune modifiche al template, si consiglia sempre un backup dei file che si stanno per modificare).

    Come installarla: Modificare il file config.inc.php per inserire i vostri dati corretti per la connessione al Database e per inserire il nome della tabella da crearea (attenzione, non mettete nomi di tabelle già esistenti).

    Dopo questa operazione è importante controllare i campi che volete installare modificando il file install.php. A seconda di questi, vi toccherà poi modificare quelli in verify.php e esito.php (attenzione che l'invio della email viene fatto alla mia e controllate le intestazioni del mittente :1: perchè giustamente se eliminate un campo che non volete, dovete poi agire sul resto dei file che contengono le informazioni sul campo appena cancellato.

    Controllate nel file verify.php se le soluzioni proposte vi piacciono e modificate a vostro piacimento le voci usate nei form.

    A questo punto lanciate il file install.php e, ovviamente, cancellatelo dal server successivamente.

    A questo punto vi occorre effettuare altre due modifiche, **(1) **la prima necessaria al file verify.php per mostrare il form nel template del vostro forum, (2) la seconda per far apparire il bottore Richiedi di moderare quest'area e dopo installare il plugin relativo al bottone (3).

    **(1) **Dovete quindi aggiungere un nuovo template (Stili & Templates> Gestione Stili > dal menu a tendita del template in uso selezionate Aggiungi nuovo Template). Chiamate il template Form ed inserite il seguente codice:

    <body>
    $header
    $navbar
    <table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
    <tr>
    $ciaodd
    </tr> 
    </table>
    $footer
    </body>
    </html>
    

    A questo punto il template è pronto

    (2) Non ci resta che aggiungere ora il bottone. (Stili & Templates> Gestione Stili > dal menu a tendita del template in uso selezionate Modifica Template). Selezionare quindi Forum Visualizza Template e quindi Forumdisplay. Io ho inserito questo codice prima di <!-- controls above thread list --> per mostrarlo prima dell'apertura della tabella che apre i thread (dovete cambiare l'url)

    <form action="http://www.giorgiotave.it/forum/verify.php" method="post" id="checkUser">
    <input type="hidden" name="srgForum" value="$includetag" />
    <input type="submit" value="Richiedi di moderare quest'area" />
    </form>
    ``` **
    (3)** Ora installate il plugin andando a Gestione Plugin. Aggiungete un plugin di nome richiestamoderazione in global_start con questo codice:
    
    [php]$includetag = $foruminfo[title_clean];[/php] 
    
    Avete finito, dovete quindi creare un file per controllare le richieste. Spero presto di riuscire a modificare questa modifica per renderla professionale, più semplice, più flessibile e quindi migliore.
    
    **Conclusioni, Richieste e Spiegazione sui Progetti Futuri**
    
    Questa mod (chiamatela come volete) è stata realizzata con l'aiuto di [pchs](http://www.giorgiotave.it/forum/members/pchs.html). Ora, mentre noi ci apprestiamo a creare la seconda mod (terza, quarta, quinta e sesta  e chissà quante altre) vorrei creare uno **Staff** che sviluppi tutta una serie di modifiche da rilasciare gratuitamente e da trasformarle in prodotti (presto avremo un'area vBulletin di supporto sotto l'area più grande Cms). **Sono convinto che insieme possiamo fare grandi cose!!!
    
    (Le modifiche le tradurremo ovviamente in inglese e sto preparando un forum in inglese ;))
    **
    Sarebbe quindi molto gradito se rendessimo questa mod migliore e quindi sto qui a riportarvi una serie di cosine carine da fare:
    
    1) nel file esito.php non riesco ad inserire il template del forum come in verify.php. Questo a causa che se richiamo in qualsiasi modo il file di connessione al DB mi sa un errore (Fatal error: Call to a member function on a non-object in /home/domains/giorgiotave.it/htdocs/forum/includes/functions.php on line 2565)
    2) un file di installazione più professionale dove è possibile scegliere i campi da installare
    3) un pannello di controllo interno nel menu admin dove controllare le richieste
    4) la possibilità di scegliere i testi da inviare nelle email (in questa versione ho attivato due notifiche con testi generici)
    5) un'importazione automatica in xml per creare la voce nel menu nel pannello di controllo admin
    6) controllo migliore dei campi nel file esito.php
    7) nel file esito.php, quando la richiesta è avvenuta correttamente, far apparire i link di ritorno alla home page
    8) rendere la mod meno personalizzata possibile perchè ora richiama alcune volte il Forum GT
    9) gestione del file verify.php nel caso in cui un utente non loggato o spider tenta di accedervi (attualmente lancia un errore di vB quando non si riesce a settare il cookie)
    10) in questo momento non mi funziona l'intestazione della email e non la invia con lìemai
    
    Ci aggiorniamo ragazzi ;)
    
    :ciauz:

  • Community Manager

    Primo Bug risolto parzialmente 🙂

    A causa delle lettere accentate, i dati inseriti nel DB venivano persi con l'inserimento di: à è ò ù ì

    Ho modificato il file esito.php cambiando il riconoscimento delle variabili all'inizio:

    [PHP] $username = utf8_decode($_POST['username']);
    $srgForum = utf8_decode($_POST['srgForum']);
    $nome = utf8_decode($_POST['primo']);
    $cognome = utf8_decode($_POST['secondo']);
    $email = utf8_decode($_POST['terzo']);
    $numCel = utf8_decode($_POST['quarto']);
    $sitoWeb = utf8_decode($_POST['quinto']);
    $esperienzaTec = utf8_decode($_POST['messaggio1']);
    $regoleUser = utf8_decode($_POST['messaggio2']);
    $regoleMod = utf8_decode($_POST['messaggio3']);
    $bestPost = utf8_decode($_POST['messaggio4']);
    $esperienzaMod = utf8_decode ($_POST['messaggio5']);
    $attivitaWeb = utf8_decode($_POST['messaggio6']);
    $motivazioni = utf8_decode($_POST['messaggio7']);
    $tempoADisposizione = utf8_decode($_POST['messaggio8']);
    $flame = utf8_decode($_POST['messaggio10']);
    $lagotrasparente = utf8_decode($_POST['messaggio11']);
    $note = utf8_decode($_POST['messaggio9']);
    $autorizzazione = utf8_decode($_POST['ventesimo']);[/PHP]

    Per ora mi inserisce tutti i dati, però non vedo la decodifica 🙂

    Idee?


  • Super User

    Ho provato lo script su vB 3.6.4,ma in verify.php appare il seguente errore:

    Unable to add cookies, header already sent.
    File: /home/virtual/site44/fst/var/www/html/forum/verify.php
    Line: 2

    Molto buona come idea cmq...complimenti!


  • Community Manager

    @probid said:

    Ho provato lo script su vB 3.6.4,ma in verify.php appare il seguente errore

    Succede solo quando il verify viene richiamato da un utente non loggato, infatti scrivevo:

    @Giorgiotave said:

    1. gestione del file verify.php nel caso in cui un utente non loggato o spider tenta di accedervi (attualmente lancia un errore di vB quando non si riesce a settare il cookie)

    Proprio quell'errore che riporti 🙂

    Prova a loggarti nel tuo forum e poi aprire il verify.php, ti da lo stesso errore?

    Molto buona come idea cmq...complimenti!

    Grazie! Ne abbiamo ancora così, basta trovare 3-4 che partecipano...sono sicuro che ci divertiremo un sacco nei prossimi mesi 😄


  • Super User

    Anche da loggato,stesso errore 😞


  • User Attivo

    @probid: quando clicchi su richiedi di moderare la mod va a cercare un cookie per l'url http:// risorse-online
    mentre noi siamo loggati tramite http://www risorse-online

    prova a cambiare nella mod aggiungendo il www 😄


  • Super User

    @phpone said:

    @probid: quando clicchi su richiedi di moderare la mod va a cercare un cookie per l'url http:// risorse-online
    mentre noi siamo loggati tramite http://www risorse-online

    prova a cambiare nella mod aggiungendo il www 😄
    Non va lo stesso...


  • Community Manager

    Ho fatto le modifiche su due forum diversi, incredibile 😞

    scusa se ti faccio questa domanda banale, puoi controllare di aver seguito tutti i punti e di non aver diversificato qualcosa? (anche lo spostamento di una variabile, cartella, ect ect).


  • Community Manager

    Ho creato un file, non protetto per ora, che legge gli username che hanno fatto richiesta e, cliccando sul profilo, mostra tutta la richiesta.

    Metto il codice, ma attenzione, ovviamente è molto personale e quindi dovete stare attenti quando lo inserite che le variabili siano uguali alle vostre:
    [php]
    <?php
    include("config.inc.php"); //Contiene i dati di accesso al database
    include("connection.php"); //Effettua la connessione al database

    $query = "SELECT * FROM VBRM_question WHERE username!=''";
    $risultati= mysql_query($query);
    

    $conta=0;
    while($tmp = mysql_fetch_assoc($risultati))
    {
    $threadrow = $tmp;
    $conta++;
    $target1=$tmp["title"];
    $replycount=$tmp["replycount"];

    $username = $tmp['username'];
    $srgForum =  $tmp['srgForum'];
    $nome =  $tmp['nome'];
    $cognome =  $tmp['cognome'];
    $email =  $tmp['email'];
    $numCel =  $tmp['numCel'];
    $sitoWeb =  $tmp['sitoWeb'];
    $esperienzaTec =  $tmp['esperienzaTec'];
    $regoleUser =  $tmp['regoleUser'];
    $regoleMod =  $tmp['regoleMod'];
    $bestPost =  $tmp['bestPost'];
    $esperienzaMod =  $tmp['esperienzaMod'];
    $attivitaWeb =  $tmp['attivitaWeb'];
    $motivazioni =  $tmp['motivazioni'];
    $tempoADisposizione =  $tmp['tempoADisposizione'];
    $flame =  $tmp['flame'];
    $lagotrasparente =  $tmp['lagotrasparente'];
    $note =  $tmp['note'];
    $autorizzazione =  $tmp['autorizzazione'];
    
    echo"<a href=\"?us=$username\">$username</a><br>";
    
    }
    
    if($us!=""){
    
    
    $query = "SELECT * FROM VBRM_question WHERE username='$us'";
    $risultati= mysql_query($query);
    

    $conta=0;
    while($tmp = mysql_fetch_assoc($risultati))
    {
    $threadrow = $tmp;
    $conta++;
    $target1=$tmp["title"];
    $replycount=$tmp["replycount"];

    $username = $tmp['username'];
    $srgForum =  $tmp['srgForum'];
    $nome =  $tmp['nome'];
    $cognome =  $tmp['cognome'];
    $email =  $tmp['email'];
    $numCel =  $tmp['numCel'];
    $sitoWeb =  $tmp['sitoWeb'];
    $esperienzaTec =  $tmp['esperienzaTec'];
    $regoleUser =  $tmp['regoleUser'];
    $regoleMod =  $tmp['regoleMod'];
    $bestPost =  $tmp['bestPost'];
    $esperienzaMod =  $tmp['esperienzaMod'];
    $attivitaWeb =  $tmp['attivitaWeb'];
    $motivazioni =  $tmp['motivazioni'];
    $tempoADisposizione =  $tmp['tempoADisposizione'];
    $flame =  $tmp['flame'];
    $lagotrasparente =  $tmp['lagotrasparente'];
    $note =  $tmp['note'];
    $autorizzazione =  $tmp['autorizzazione'];
    
    echo"<br><br>
    <a href=\"http://www.giorgiotave.it/forum/members/$us.html\">$us</a> ha richiesto di diventare moderatore del Forum GT<br><br>
    <b>Username:</b> $us<br><br>
    <b>Nome:</b> $nome<br><br>
    <b>Cognome:</b> $cognome<br><br>
    <b>Forum Rischiesto:</b> $srgForum<br><br>
    <b>Email:</b> $email<br><br>
    <b>Tel:</b> $numCel<br><br>
    <b>Sito:</b> $sitoWeb<br><br>
    <b>Esperienza tecnica:</b> $esperienzaTec<br><br>
    <b>Che regole dovrebbero avere gli utenti:</b> $regoleUser<br><br>
    <b>Considerazioni su come miglioreresti il regolamento [generale e specifico]:</b> $regoleMod<br><br>
    <b>Quali sono i post che meglio ti rappresentano (Max 3):</b> $bestPost<br><br>
    <b>Riporta altre eventuali esperienze di moderazione:</b> $esperienzaMod<br><br>
    <b>Altre attività svolte sul o in ambito web:</b> $attivitaWeb<br><br>
    <b>Perchè vuoi moderare questo forum?:</b> $motivazioni<br><br>
    <b>Quanto tempo avresti a disposizione per la moderazione?:</b> $tempoADisposizione<br><br>
    <b>Come ti senti di commentare questo concetto di flame?:</b> $flame<br><br>
    <b>Qual'è la tua interpretazione del Lago Trasparente e della Grande Famiglia GT?:</b> $lagotrasparente<br><br>
    <b>Ulteriori note:</b> $note<br><br>
    <b>Autorizza il trattamento dei dati personali in base alle caratteristiche della legge n° 196/2003 sulla privacy?*:</b> $autorizzazione<br><br>
    
    ";
    
    }
        
    
    }else{
    echo"clicca sul profilo per vederlo";
    }    
    

    ?>[/php]
    Appena avremo altre modifiche, upperò i file nuovi e modificati 🙂

    :ciauz:


  • User Attivo

    vedo qualche errorino.....

    vbmenu_register is not defined in verify.php (line 142)vbmenu_register is not defined in verify.php (line 145)

    vBulletin_init is not defined in verify.php (line 307)

    is_ie is not defined in gal_popup.js (line 46)


  • Community Manager

    Ciao phpone,

    io non sono un grande programmatore (anzi :D), quindi sarà pieno di errori nelle parti curate da me 🙂

    Puoi dirmi esattamente dove hai l'errore?
    Il verify.php lo metti nella root del forum?

    Giorgio


  • User Attivo

    @Giorgiotave said:

    io non sono un grande programmatore (anzi :D) sei un programmatore quanto lo sono io XD

    comunque quelli sono errori che riscontro qui' (sul forum GT) con la consolle degli errori.....

    riferendomi a questo forum:

    1. metterei dei requisiti per diventare moderatore (oppure sono liberi i posti per i moderatori?)
    2. specificherei qual'e' questo trattamento dei dati personali

    Autorizza il trattamento dei dati personali in base alle caratteristiche della legge n° 196/2003 sulla privacy?*:


  • User Attivo

    Azzardo un consiglio: il bottone "Richiedi di Moderare quest'Area" starebbe bene dentro il menu Strumenti Forum.


  • Super User

    Aggiungendo

    <form enctype="text/plain" accept-charset="utf-8" charset="utf-8" action="http://www.giorgiotave.it/forum/verify.php" method="post" id="checkUser">

    dici che cambia l'ouput? 😄


  • Community Manager

    Salve ragazzi,

    l'unico problema che ho riscontrato è quando nelle richieste ci sono gli apici. Da errore 😞


  • User Attivo

    Ciao ragazzi,
    direi di avere seguito tutto alla lettera, eppure il risultato è questo:
    Invalid Action Specified

    Idee?

    Ciao

    Stefano


  • Community Manager

    Sei loggato quando fai la richiesta?


  • User Attivo

    Si si.
    Hanno provato anche altri utenti.
    Stesso risultato.

    Ciao

    Stefano


  • User Attivo

    Ciao ragazzi,
    posso fare qualcosa per capire cosa ho sbagliato?
    vi copio/incollo qualche codice?

    Ciao

    Stefano


  • User Attivo

    Forse c'entra questo:
    http://www.giorgiotave.it/forum/vbulletin/40542-allegati-bloccati-anche-per-ladministrator.html#post278799

    La mia diagnostica è un gran caos!

    Ciao
    Stefano