Tutorial Avanzati
Home
News
Forum
Moduli
Contatto
Faq
Login
Nome utente:
Password:
Hai perso la password?
Registrati ora!
Ricerca
Ricerca avanzata
Community
Download
Moduli
Temi
Core
Forum
Xoops 2.0.x
Xoops 2.2.x
Traduzioni
Tutorials
Base
Avanzati
Sviluppo
Video
Risorse
Progetto Lister
Archivio Link
Recensioni Moduli
Collaborare
Invia News
Proponi Tutorial
Invio Traduzioni
Segnala Link
Invia DESC Modulo
Supporto
FAQ
Contattaci
STAFF
Access Key
ALT+1
Home
ALT+2
News
ALT+3
Forum
ALT+4
Downloads
ALT+5
Contattaci
ALT+6
Faq
[Maiusc+Alt] con FFox 2
[Alt+Invio] con IExplorer
Statistiche
Utenti registrati:
Oggi: 0
Ieri: 3
Totali: 5927
Ultimo:
djalex
Utenti online:
Ospiti : 24
Membri : 0
Totali: 24
Lista utenti [
Popup
]
Staff promo
Invia via email
Indirizzo Email
Oggetto
Contenuto
Attivazioni utenti personalizzato! Ciao a tutti come già segnalato in questo post mi sono "costruito" un blocchetto WAITING CONTENT personalizzato. Ora ho aggiunto una nuova interessante funzione che magari può esservi utile. Il problema è il seguente: a me capita che alcuni dei miei utenti non riescano a completare la registrazione in quanto il provider ricevente (di solito americani ed imparticolare aol.com) non lascia passare le mail arrivate tramite form o comunque automatiche. Quindi mi ritrovo con utenti reali ma non ancora autorizzati ad entrare che non ricevono la mail di conferma. Ecco cosa ho fatto: Quando ci sono degli utenti inattivi appare una nuova scritta ACTIVATE Premendo ACTIVATE si viene indirizzati ad una pagina da me realizzata: In questa nuova pagina potrete: - attivare i profili singolarmente (un click - una attivazione) - attivare tutti i profili automaticamente con un unico click - cancellare un utente in caso di email chiaramente fasulla (es: pippo@pluto.com) Spero che questa cosa vi sia utile (soprattutto per siti di grandi community) anche perchè salta il noioso (e lungo) passaggio di dover far tutto tramite amministrazione. Ho fatto questo hack per xoops 2.2.x ma è facilmente modificabile anche per xoops 2.0.x. Questo hack si applica inserendo 3 nuovi files nella root del sito. Ciao sly Cosa c'è da fare: PRIMO FILE: activation1.php Aprite il vostro blocco note di fiducia, create un nuovo documento bianco e salvatelo come activation1.php (ovviamente il nome activation1.php è personalizzabile secondo le vostre preferenze) ora incollate questo: <?php include 'mainfile.php'; include XOOPS_ROOT_PATH.'/header.php'; //Hack by Stefano Silvestrini - aka slyss xoopsitalia.org //stefanoitalia at gmail dot com //Activation hack for xoops 2.2.x // 09/01/2007 global $xoopsDB; $sql = "SELECT uid, uname, loginname, email FROM ".$xoopsDB->prefix("users")." WHERE level = 0 ORDER by uid ASC"; echo" <div align='center'> <br /><br /><br /> ATTIVAZIONE PROFILI by Stefano Silvestrini<br /><br />aka slyss - xoops italia <br /><br /> <br /> <table border='0'> <tr align='center'> <td align='center'><b>UID</b></td> <td align='center'><b>USERNAME</b></td> <td align='center'><b>EMAIL</b></td> <td align='center'><b>ATTIVA</b></td> <td align='center'><b>CANCELLA</b></td> </tr> "; $count = 0; $result = $xoopsDB->query($sql); if(!$result) { echo "Errore: ".mysql_error(); exit; } while($myrow = $xoopsDB->fetchArray($result)) { echo " <tr align='center'> <td align='center'>".$myrow[uid]."</td> <td align='center'>".$myrow[loginname]."</td> <td align='center'><a href='mailto:".$myrow[email]."'>".$myrow[email]."</a></td> <td align='center'>(<a href='".XOOPS_URL."/<strong><span style="color: #FF0000;">activation2.php</span></strong>?uid=".$myrow[uid]."'>X</a>)</td> <td align='center'>(<a href='".XOOPS_URL."/modules/profile/admin/user.php?op=delete&id=".$myrow[uid]."'>X</a>)</td> </tr> "; $count++; } echo "</table>"; echo"<br /><br /><a href='".XOOPS_URL."/<strong><span style="color: #FF0000;">activation3.php</span></strong>'>Attivali tutti assieme!</a><br /><br />"; echo "<br /><br />Ci sono ".$count." utenti da attivare!<br /><br /></div>"; include XOOPS_ROOT_PATH.'/footer.php'; ?> ok chiudete e salvate. SECONDO FILE: activation2.php Aprite il vostro blocco note di fiducia, create un nuovo documento bianco e salvatelo come activation2.php (ovviamente il nome activation2.php è personalizzabile secondo le vostre preferenze) ora incollate questo: <?php include 'mainfile.php'; include XOOPS_ROOT_PATH.'/header.php'; //Hack by Stefano Silvestrini - aka slyss xoopsitalia.org //stefanoitalia at gmail dot com //Activation hack for xoops 2.2.x // 09/01/2007 global $xoopsDB; $uid = empty( $_GET['uid'] ) ? 0 : intval( $_GET['uid'] ) ; echo" <div align='center'> <br /><br /><br /> ATTIVAZIONE PROFILI by Stefano Silvestrini<br /><br />aka slyss - xoops italia <br /><br /> <br />"; $sql_update = "UPDATE ".$xoopsDB->prefix("users")." SET level = 1 WHERE uid = '".$uid."'"; $result_update = $xoopsDB->queryF($sql_update); if(!$result_update) { echo "Errore update: ".mysql_error(); exit; } echo "<br /><br />UTENTE ATTIVATO!<br /><br /> <form> <input type='button' value='Go Back' onclick='history.back()'> </form> </div>"; include XOOPS_ROOT_PATH.'/footer.php'; ?> ok chiudete e salvate. TERZO FILE: activation3.php Aprite il vostro blocco note di fiducia, create un nuovo documento bianco e salvatelo come activation3.php (ovviamente il nome activation3.php è personalizzabile secondo le vostre preferenze) ora incollate questo: <?php include 'mainfile.php'; include XOOPS_ROOT_PATH.'/header.php'; //Hack by Stefano Silvestrini - aka slyss xoopsitalia.org //stefanoitalia at gmail dot com //Activation hack for xoops 2.2.x // 09/01/2007 global $xoopsDB; $sql = "SELECT uid, uname, loginname, email FROM ".$xoopsDB->prefix("users")." WHERE level = 0 ORDER by uid ASC"; echo" <div align='center'> <br /><br /><br /> ATTIVAZIONE PROFILI by Stefano Silvestrini<br /><br />aka slyss - xoops italia <br /><br /> <br /> <b>UID - USERNAME - EMAIL</b><br /><br />"; $count = 0; $result = $xoopsDB->query($sql); if(!$result) { echo "Errore: ".mysql_error(); exit; } while($myrow = $xoopsDB->fetchArray($result)) { echo "<br />".$myrow[uid]." - ".$myrow[loginname]." - <a href='mailto:".$myrow[email]."'>".$myrow[email]."</a><br />" ; $sql_update = "UPDATE ".$xoopsDB->prefix("users")." SET level = 1 WHERE uid = '".$myrow[uid]."'"; $result_update = $xoopsDB->queryF($sql_update); if(!$result_update) { echo "Errore update: ".mysql_error(); exit; } $count++; } echo "<br /><br />Attivati ".$count." utenti!<br /><br /></div>"; include XOOPS_ROOT_PATH.'/footer.php'; ?> ok chiudete e salvate. Ok, ora vi basterà crearvi un link a www.vostrosito.com/../../activation1.php per vedere il risultato. NB: il codice per il waiting content non è presente in questa guida. Appena lo pubblicherò vi farò sapere. Ciao sly e fatemi sapere!!!! Spero che questa guida faccia anche da "scuola" a chi vuole avvicinarsi maggiormente a xoops. ATTENZIONE: non mi assumo nessuna responsabilità di alcun tipo. Fate dei backup prima di fare prove. Nel mio caso con extended profile in xoops 2.2.x ho inserito i 3 files dentro profile/admin/ in modo che sono gli admin abbiano accesso a queste funzioni: screeshot 2: screeshot 2: Altro... http://www.xoopsitalia.org/modules/article/view.article.php/c19/41
© 2002-2008 |
XOOPS ITALIA