Autore Topic: [RISOLTO] Plugin "triggera" evento di un'altro plugin, non ricevo la risposta  (Letto 983 volte)

Offline Antonio77

  • Nuovo arrivato
  • *
  • Post: 11
    • Mostra profilo
Ciao,
ho un plugin che deve verificare le credenziali dell'utente, quindi "triggera" l'evento onUserAuthenticate
 
$results =JEventDispatcher::getInstance()->trigger('onUserAuthenticate', array($credentials, $options, $response));


però $results é un array vuoto.

Domanda, la chiamata all'evento avviene in maniera asincrona e questo spiegherebbe il perché?
Come posso fare ad ottenere $results?

Ringrazio in anticipo!
« Ultima modifica: 28 Ago 2015, 10:45:06 da Antonio77 »

Offline steganoga

  • Abituale
  • ****
  • Post: 1313
    • Mostra profilo
Citazione
Plugin "triggera" evento di un'altro plugin

i plugin non hanno eventi
...sono dove non ti aspetti di trovarmi, mi alimento della tua supponenza e disseto la mia curiosità nel silenzio.
Non sono un nemico, considerami un ospite.

Offline Antonio77

  • Nuovo arrivato
  • *
  • Post: 11
    • Mostra profilo
perdonate il termine errato ... arrivo dal mondo Java :) ...
Quello che vorrei sapere é il motivo per il quale non viene chiamata la funzione onUserAuthenticate del plugin d'autenticazione (che funziona correttamente).

Ho loggato del testo sia nel plugin di autenticzaione che in quello di registrazione (plugin che sto implementando), sul log vedo solo il testo inserito nel plugin di registrazione.

Offline steganoga

  • Abituale
  • ****
  • Post: 1313
    • Mostra profilo
Il trigger onUserAutenticate funziona sicuramente.

Quel trigger che hai riportato sopra
Codice: [Seleziona]
$results =JEventDispatcher::getInstance()->trigger('onUserAuthenticate', array($credentials, $options, $response));
lo trovi ovviamente nel componente e quando avviene l'autenticazione il codice nel tuo/tuoi plugin viene eseguito.
se inserisci un print e dopo hai un return facilmente il print non lo vedi, se vuoi capire se passi di lì magari metti un die(); dopo il print... ma non credo sia questo il tuo problema.
credo semplicemente che quel trigger non ritorni proprio nulla, esegue il trigg ...basta che guardi se usa $results dopo
« Ultima modifica: 22 Ago 2015, 17:08:07 da steganoga »
...sono dove non ti aspetti di trovarmi, mi alimento della tua supponenza e disseto la mia curiosità nel silenzio.
Non sono un nemico, considerami un ospite.

Offline Antonio77

  • Nuovo arrivato
  • *
  • Post: 11
    • Mostra profilo
Grazie mille steganoga!
Con le informazioni e i suggerimenti che mi hai fornito so no riuscito a risolvere.

Effettivamente $result non veniva ritornato, al contrario, la response veniva popolata.
modificando il codice come segue, l'autenticazione viene chiamata e posso quindi leggerne  il risultato nella response.
Codice: [Seleziona]
JEventDispatcher::getInstance()->trigger('onUserAuthenticate', array($credentials, $options, &$resp));

 

Host

Torna su