Joomla.it Forum
Non solo Joomla... => Sviluppo => : lollolio 12 Apr 2010, 15:18:06
-
ciao, avevo bisogno un aiutino..
vi spiego che devo fare:
nel momento della convalida dell'account tramite la mail (cioè quando l'utente clikka il link contenuto nella mail di verifica), vorrei che venisse creta una tabella con i dati dell'account non cripati..so che può essere strano ma è l'unico modo creare questa tabella temp per poi passar gli account ad un'altra app...
ho modificato il com_user/controller.php
function activate()
{.....
if (JUserHelper::activateUser($activation))
{
// Page Title
$document->setTitle( JText::_( 'REG_ACTIVATE_COMPLETE_TITLE' ) );
// Breadcrumb
$pathway->addItem( JText::_( 'REG_ACTIVATE_COMPLETE_TITLE' ));
$message->title = JText::_( 'REG_ACTIVATE_COMPLETE_TITLE' );
$message->text = JText::_( 'REG_ACTIVATE_COMPLETE' );
$db =& JFactory::getDBO();
//$passwordchiaro-> $post['password'];//$password;
//$usernamechiaro-> $post['user']; //$user->get('username');
$querymia2 = mysql_query("INSERT INTO accounts (user, password, status) VALUES ('$usernamechiaro','$passwordchiaro','3')"); // testttttttttttt!!
$db->setQuery( $querymia2 );
}
....
}
il problema è che $passwordchiaro e $usernamechiaro non contengono la pw e l'user..
morale..che devo passargli a queste variabili?
sicuro sbaglio ad assegnare i valori a queste variabili..solo che non so dove e come recuperarli...
spero qualcuno mi sappia dare un aiutino..:D
grazie
-
con i dati dell'account non cripati..
-------------------------------------
non si fa, per etica e per sicurezza.
M.
-
i dati della tabella vengono cancellati immediatamente appena li prende il programma esterno che a sua volta li cripta di nuovo..
avrei evitato se fosse stato possibile fidati..non mi servono lezioni di etica:D
-
ciao,
di sicuro non poi farlo sul metodo activate, dato che di suo si limita ad abilitare l'utente e non a crearlo/modificarlo.
se non riesci a fare la cosa tramite il controller, prova tramite plugin:
docs.joomla.org/Reference:User_Events_for_Plugin_System
ciao
-
beh scusa solo quando l'utente è attivato voglio che mi crei l'account nell'app esterna..
cmq avevo anche pensato di crearlo quando uno inserisce i dati...e poi di modificarne un parametro quando è attivato...
in pratica con il campo "status" nella tabella tengo in memoria la fase dell'account...ad esempio
status=1 creato e non confermato
status=2 creato e confermato, quindi pronto per l'import
status=3 modifcata la password, quindi agggiorno il server...
il tutto funziona xè ad ogni azione sul sito: creazione, modifica e attivazione mi scrive nel db lo status corrispondente...
il prob è sempre che non riesco ad ottenere user e pw nel metodo di attivazione..mi serve solo capire come dichiarare le due variabili..come recuperar quei valori nel metodo..
-
come ti ho detto sopra non puoi farlo nel metodo activate(), dato che, quando è richiamato tale metodo, la pw è già memorizzata nel db e pertanto non viene passata.
ciao.
-
ah scusa non avevo capito...
nemmeno l'username è recuperabile in quel metodo?
-
nessuno sa dirmi come ricavare l'username?
-
se non riesci a fare la cosa tramite il controller, prova tramite plugin:
docs.joomla.org/Reference:User_Events_for_Plugin_System
questa è la strada corretta.
-
eh scusate ma nn riesco a capire come fare..non son molto pratico di php..
forse xè ho ragionato troppo sulla modifica della pagina..
non c'è proprio il modo di mettere questa variabile
$usernamechiaro-> $post['user']; //$user->get('username');
salvandoci dentro l'user? :(
-
so che può essere strano ma è l'unico modo creare questa tabella temp per poi passar gli account ad un'altra app...
più che strano se non avvisi e l'utente è anche illegale e ti esponi a multe e sanzioni credo dai 5mila euro in su ...
-
al momento che l'utente immette i suoi dati la password viene già criptata, per cui non hai verso di revertarla se non appoggiandoti ad un DB chiave-valore.
Ti conviene inserire un trigger che popoli questo Db al momento che l'utente immette i dati per registrarsi
-
ci sono centinaia di siti che usano il mio stesso programma/server con un modulo che invia i dati non criptati al db dal quale l'app prende i dati e li cripta..
io volevo solo sincronizzarli con joomla..
alla fine vanno sempre a finire nel db nn criptati per poi esse cancellati..
cmq mi serve solo ricavare l'user qui
function activate() {..}
...per la pw riesco a ricavarla prima nn criptata..