Creati le tue pagine di attivazioni utenti!
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:
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:
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:
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:


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';
?>
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:


Oggi: 2
Ieri: 3
Totali: 5898
Ospiti : 11
Membri : 0
Totali: 11















