Back to top

Autore Topic: [RISOLTO] Invio da script Php della mail per confermare la registrazione  (Letto 3138 volte)

Offline crystalsoft

  • Esploratore
  • **
  • Post: 62
    • Mostra profilo
Buonasera a tutti, sto' cercando di aggiungere un nuovo utente attraverso uno script Php che "serve" la chiamata di un'app Android.
Non sono riuscito in nessun modo ad utilizzare le API di Community Builder(modulo utilizzato per il login).
Con lo script di cui sotto faccio correttamente la registrazione attraverso il modulo standard di login per Joomla.


Codice: [Seleziona]
$data = array( 'username' => $username,
             'name' => $conc,
             'email1' => $email,
             'password1' => $password, // First password field
             'password2' => $password1, // Confirm password field
        'sendEmail' => 0,   
        //'usertype' => 'Registered',
        'activation' => 1,   
             'block' => 0 );
$return = $model->register($data);

L'utente viene correttamente inserito e lo ritrovo anche in gestione utenti di CB.
Il problema è che la mail per confermare la registrazione (e quindi attivare ed abilitare l'utente) arriva solo con


COM_USERS_EMAIL_REGISTERED_WITH_ACTIVAT ION_BODY.

Ho pensato cosi' di utilizzare la funzione mail standard di php per inviarla.
La compongo perfettamente andando a prelevare dal db il token (lungo 32 caratteri) di attivazione per l'utente appena inserito, al quale concateno il link standard

http://www.XYZ/joomla/index.php?option=com_comprofiler&task=confirm&confirmcode=regTOKEN
Il problema è che cliccando sul  link, invece di procedere con l'attivazione, il sistema mi risponde con:
"Non hai l'autorizzazione per accedere a questa risorsa. Devi prima effettuare il login"

Avete qualche idea o suggerimento per svelare l'arcano?
La versione utilizzata di Joomla è la 2.5.28 e CB 1.9.1.
Tutto funziona correttamente se la registrazione viene fatta in maniera tradizionale lato web.

« Ultima modifica: 05 Mar 2017, 23:27:50 da crystalsoft »

Offline giovi

  • Instancabile
  • ******
  • Post: 9835
  • Sesso: Maschio
    • Mostra profilo
Re:Invio da script Php della mail per confermare la registrazione
« Risposta #1 il: 05 Mar 2017, 07:55:26 »
Non è che hai la stringa perché non hai impostato una lingua predefinita per l'utente?

Offline crystalsoft

  • Esploratore
  • **
  • Post: 62
    • Mostra profilo
Re:Invio da script Php della mail per confermare la registrazione
« Risposta #2 il: 05 Mar 2017, 14:22:44 »
Grazie per la risposta e l'intuizione. Dall'estratto del DB si vede che il campo params nella table J25_users non è valorizzato. Ma non lo è anche per altri utenti registratisi lato web. Cmq provo e ti faccio sapere


https://www.screencast.com/t/otWvJwtJ

Offline crystalsoft

  • Esploratore
  • **
  • Post: 62
    • Mostra profilo
Re:Invio da script Php della mail per confermare la registrazione
« Risposta #3 il: 05 Mar 2017, 23:27:23 »
Ho risolto modificando l'url, lo riporto qui' facendo notare che dopo aver cliccato sul link, lo stato su gestione utenti standard di joomla è abilitato e attivato mentre in gestioni utenti di CB è solo abilitato ma non confermato e non approvato.
Questo mi permette di loggarmi senza problemi dal modulo login standard di Joomla ma non da quello di CB.
Cmq grazie alla successiva sincronizzazione tra i due componenti, dopo il primo login anche in CB il nuovo utente risulta abilitato confermato ed approvato.

http://www.XYZ.com/joomla/index.php?option=com_users&task=registration.activate&token=$token"


dove $token finale è il valore del campo activation della tabella j25_users.
 
« Ultima modifica: 05 Mar 2017, 23:38:40 da crystalsoft »

 



Web Design Bolzano Kreatif