Joomla.it Forum

Non solo Joomla... => Sviluppo => : Antonio77 03 Sep 2015, 23:38:37

: [RISOLTO] onUserAfterSave assegnazione gruppi non funziona
: Antonio77 03 Sep 2015, 23:38:37
Ciao,
ho creato un plugin che deve assegnare l'utente appena salvato a dei gruppi nella funzione onUserAfterSave.
Lo faccio così:

:
$user = JFactory::getUser($user['id']);$user->groups = Array(10);$user->save();
prima e dopo stampo la variabile user e vedo che prima aveva il gruppo 2, dopo ha il gruppo 10.Quando vado nel back-end e vedo l'utente appena creato risulta associato al gruppo 2 (Registred).

Ho provato anche in diverse maniere

:
JUserHelper::addUserToGroup($user['id'], 10);
:
JUserHelper::setUserGroups($user['id'], Array(10));
Qualcuno si é trovato in una situazione simile o saprebbe aiutarmi?
Grazie per qualsiasi suggerimento.
: Re:onUserAfterSave assegnazione gruppi non funziona
: tomtomeight 04 Sep 2015, 07:37:00
Ciao

Non so quale sia l'esigenza di creare un plugin per quella funzione dato che è gia possibile da impostazioni modificare il gruppo dei nuovi utenti da registred ad altro gruppo.
: Re:onUserAfterSave assegnazione gruppi non funziona
: Antonio77 04 Sep 2015, 09:52:41
Ciao tomtomeight,
in realtà il mio plugin verifica esternamente l'autenticazione nell' onUserBeforeSave (e ottiene anche le informazioni sui gruppi),
solo che non riesco a settarglieli nell'onUserBeforeSave perché non é ancora salavto (almeno é così che mi é sembrato di capire),
quindi sto cercando di salvarli nell'onUserAfterSave.
Spero di aver chiarito la situazione.

Grazie.
: Re:onUserAfterSave assegnazione gruppi non funziona
: tomtomeight 04 Sep 2015, 09:59:32
Credo che dovresti agire in before save proprio perché non essendo ancora salvato puoi assegnare il gruppo, aftersave ti trovi col gruppo già assegnato e dovresti riaprire, cambiare e risalvare.
: Re:onUserAfterSave assegnazione gruppi non funziona
: steganoga 04 Sep 2015, 10:10:58
http://forum.joomla.org/viewtopic.php?p=1622802

...leggilo tutto
: Re:onUserAfterSave assegnazione gruppi non funziona
: Antonio77 04 Sep 2015, 15:23:32
Ciao Steganoga,
grazie per il suggerimento,
ho provato come suggerito nel forum a creare una nuova istanza dello user da modificare e poi salvarla ma
non mi funziona ...

ho provato con tutte le varianti descritte dai vari utenti , da ultimo ho provato anche


:

$newuser = & JFactory::getUser($user['id']);
$newuser->groups = $gruppi;
try{
    $newuser->save(true);
}catch (Exception $e)
{
   
    JLog::add(...);
}
infine facendo print_r($newuser) mi stampa l'utente come dovrebbe essere essere ma poi lato back-end il gruppo é sempre Registred (2).

Ci dev'essere qualcos'altro che non va...
: Re:onUserAfterSave assegnazione gruppi non funziona
: Antonio77 10 Sep 2015, 14:24:58
Ho risolto, il problema che avevo implementato anche onUserBeforeSave, all'interno per una serie di condizioni mi tornava false quindi non venivano salvate le modifiche ...