Page 1 of 2
[RISOLTO] Registrazione utente con FEUsers
Posted: Wed Mar 25, 2009 4:54 pm
by protempore
ciao,
avrei la necessità di stabilire 2 sistemi di registrazione utente...
cerco di spiegarmi
adesso l'utente si registra con selfRegistration e viene associato ad un gruppo di default... in più è richiesta la verifica dell'indirizzo email attraverso la conferma dell'account...
dovrei aggiungere, però, un altro sistema di registrazione che si appoggi sempre a FEUsers associando questo nuovo tipo di utente ad un altro gruppo, con una richiesta più scarna di dati per la registrazione (nome, cognome, email, nazione e poco più)... inoltre non vorrei che per questo gruppo fosse richiesta la conferma dell'account con email...
come si fa... se è possibile?
Re: Registrazione utente con FEUsers
Posted: Wed Mar 25, 2009 5:00 pm
by alby
protempore wrote:
adesso l'utente si registra con selfRegistration e viene associato ad un gruppo di default... in più è richiesta la verifica dell'indirizzo email attraverso la conferma dell'account...
dovrei aggiungere, però, un altro sistema di registrazione che si appoggi sempre a FEUsers associando questo nuovo tipo di utente ad un altro gruppo, con una richiesta più scarna di dati per la registrazione (nome, cognome, email, nazione e poco più)...
Hai provato con
mode="signup" group="group1" in una pagina
mode="signup" group="group2" in un'altra pagina
protempore wrote:
inoltre non vorrei che per questo gruppo fosse richiesta la conferma dell'account con email...
hummm, questo non penso possibile perchè credo che sia globale
Alby
Re: Registrazione utente con FEUsers
Posted: Wed Mar 25, 2009 5:10 pm
by protempore
alby wrote:
protempore wrote:
inoltre non vorrei che per questo gruppo fosse richiesta la conferma dell'account con email...
hummm, questo non penso possibile perchè credo che sia globale
Alby
acc... è quello che temevo...
non c'è un modo di proporre un form senza passare da selfRegistration?
Re: Registrazione utente con FEUsers
Posted: Wed Mar 25, 2009 5:19 pm
by alby
protempore wrote:
non c'è un modo di proporre un form senza passare da selfRegistration?
Mah, se è solo per registrazione si potrebbe fare con:
- un form ed un udt (o un php esterno) che inserisce i dati nella tabella FEU e poi redirige ancora a cms
- formbuilder con un udt associato che inserisce i dati nella tabella FEU
Alby
Re: Registrazione utente con FEUsers
Posted: Wed Mar 25, 2009 5:25 pm
by protempore
alby wrote:
Mah, se è solo per registrazione si potrebbe fare con:
- un form ed un udt (o un php esterno) che inserisce i dati nella tabella FEU e poi redirige ancora a cms
si, questo potrei anche riuscire a farlo... ma mi sfugge come si registra l'eventuale password... non saprei come viene criptata
Re: Registrazione utente con FEUsers
Posted: Wed Mar 25, 2009 5:34 pm
by alby
protempore wrote:
alby wrote:
Mah, se è solo per registrazione si potrebbe fare con:
- un form ed un udt (o un php esterno) che inserisce i dati nella tabella FEU e poi redirige ancora a cms
si, questo potrei anche riuscire a farlo... ma mi sfugge come si registra l'eventuale password... non saprei come viene criptata
non ho guardato nel codice ma
99,9999% con md5
Alby
Re: Registrazione utente con FEUsers
Posted: Wed Mar 25, 2009 5:51 pm
by protempore
alby wrote:
non ho guardato nel codice ma
99,9999% con md5
Alby
quindi solo l'md5 dell'input definito come password?
md5($password);
Re: Registrazione utente con FEUsers
Posted: Wed Mar 25, 2009 5:53 pm
by alby
protempore wrote:
alby wrote:
non ho guardato nel codice ma
99,9999% con md5
Alby
quindi solo l'md5 dell'input definito come password?
md5($password);
secondo me sì.
puoi fare un controllo con un utente in cui conosci la password di FEU
Alby
Re: Registrazione utente con FEUsers
Posted: Wed Mar 25, 2009 5:55 pm
by protempore
ho verificato... si... è proprio così
grazie
Re: Registrazione utente con FEUsers
Posted: Wed Mar 25, 2009 7:27 pm
by protempore
ho bisogno ancora un aiuto per inserire nell'UDT il riferimento Captcha...
nell'help del modulo leggo questo...
Code: Select all
Per mostrare un'immagine captcha:
// create a un riferimento all'oggeto del modulo Captcha
$captcha = &$this->getModuleInstance('Captcha');
// per mostrare l'immagine captcha
echo $captcha->getCaptcha();
Per verificare l'input dell'utente:
// create a un riferimento all'oggeto del modulo Captcha
$captcha = &$this->getModuleInstance('Captcha');
// verificate l'input dell'utente (il metodo checkCaptcha restituisce TRUE se $input è correto, FALSE se $input è sbagliato)
$validated = $captcha->checkCaptcha($input);
copio pari pari questo codice nell'UDT?
Re: Registrazione utente con FEUsers
Posted: Wed Mar 25, 2009 7:59 pm
by alby
protempore wrote:
ho bisogno ancora un aiuto per inserire nell'UDT il riferimento Captcha...
nell'help del modulo leggo questo...
Code: Select all
Per mostrare un'immagine captcha:
// create a un riferimento all'oggeto del modulo Captcha
$captcha = &$this->getModuleInstance('Captcha');
// per mostrare l'immagine captcha
echo $captcha->getCaptcha();
Per verificare l'input dell'utente:
// create a un riferimento all'oggeto del modulo Captcha
$captcha = &$this->getModuleInstance('Captcha');
// verificate l'input dell'utente (il metodo checkCaptcha restituisce TRUE se $input è correto, FALSE se $input è sbagliato)
$validated = $captcha->checkCaptcha($input);
copio pari pari questo codice nell'UDT?
Devo ancora inserirlo in FMS ma mi pare di capire che la prima parte è nella parte dove viene visualizzato il form e la seconda dove viene processato il form
Alby
Re: Registrazione utente con FEUsers
Posted: Thu Mar 26, 2009 8:26 am
by protempore
il guaio è che quel codice credo sia fatto per essere inserito in un modulo... non in un UDT...
e lì mi fermo...
ho parzialmente risolto modificando il plugin "reCaptcha"... solo che sono piantato su una funzione che vorrei aggiungere per fargli controllare se l'email è già registrata nel DB...
ho scritto questo...
Code: Select all
function existemail($email) {
global $gCms;
$db =& $gCms->GetDb();
$query = 'SELECT * FROM cms_module_feusers_properties WHERE data = '.$email.';';
$dbresult =& $db->Execute($query);
if ($dbresult) {
return false;
exit;
}
return true;
}
ma la condizione if ($dbresult) restituisce sempre "true"... evidentemente non è quello che devo scrivere... ma non so cosa...
Re: Registrazione utente con FEUsers
Posted: Thu Mar 26, 2009 9:09 am
by alby
protempore wrote:
il guaio è che quel codice credo sia fatto per essere inserito in un modulo... non in un UDT...
be certo:
- sostituisci a $this $gCms (ed inserisci prima global $gCms;)
- cerca nei UDT come chiamare il modulo (es per CMSMailer)
protempore wrote:
ma la condizione if ($dbresult) restituisce sempre "true"
certo, se no hai sbagliato la query ....
devi fare un fetch del dato:
if($dbresult && $row = $dbresult->FetchRow()) return $row;
ritorna un multidimensional array
Alby
Re: Registrazione utente con FEUsers
Posted: Thu Mar 26, 2009 9:40 am
by protempore
sono proprio negato...
ho modificato così...
Code: Select all
function existemail($email) {
global $gCms;
$db =& $gCms->GetDb();
$query = 'SELECT * FROM cms_module_feusers_properties WHERE data = '.$email.';';
$dbresult =& $db->Execute($query);
if($dbresult && $row = $dbresult->FetchRow()) return $row;
if($row>0) {
return false;
exit;
}
return true;
}
ma non sembra funzianare... quale madornalità ho scritto?
Re: Registrazione utente con FEUsers
Posted: Thu Mar 26, 2009 9:50 am
by alby
protempore wrote:
Code: Select all
function existemail($email) {
global $gCms;
$db =& $gCms->GetDb();
$query = 'SELECT * FROM cms_module_feusers_properties WHERE data = '.$email.';';
$dbresult =& $db->Execute($query);
if($dbresult && $row = $dbresult->FetchRow()) return $row;
if($row>0) {
return false;
exit;
}
return true;
}
1. non si mette mai ; nelle query da php
2. escape la tua variabile
3. hai fatto il check di $row come array o come booleano? il mio era un esempio ma se vuoi solo true/false allora forse è meglio:
Code: Select all
function existemail($email) {
global $gCms;
$db =& $gCms->GetDb();
$query = 'SELECT * FROM cms_module_feusers_properties WHERE data = ?';
$dbresult =& $db->Execute($query, array($email));
if($dbresult && $dbresult->RecordCount() > 0)
{
return true;
}
return false;
}
Alby