Welkom bij Joomla!NL

Om alle mogelijkheden van dit forum te kunnen gebruiken, moet je je eerst registreren.

Als je zelf een extensie ontwikkelt, kan je hier je vragen stellen.

JUserHelper addusertogroup en removeuserfromgroup

JUserHelper addusertogroup en removeuserfromgroup

07 jan 2014 11:18 - 07 jan 2014 14:09
#1
Bij het werken met JUserHelper doen zich (in ieder geval voor mij) vreemde verschijnselen voor.
Ik wil met een php script users toevoegen aan of verwijderen uit groepen. Bij de super user / admin lukt dat altijd vlekkeloos, maar bij een normale user lukt soms het verwijderen niet (php script loopt dan vast, zonder enige foutmelding, ook niet met een hoog alertlevel).
Verder valt op dat er verschil is bij het toevoegen aan een groep.
Als ik onderstaand testscript gebruik voor user 403 = super user / admin, dan is de output zoals daaronder weergegeven:
Code:
<?php jimport( 'joomla.user.helper' ); $uid = '403' ; echo 'user: ' . $uid . '<br />' ; $rv = JUserHelper::addUserToGroup($uid,3); echo $rv . ' Group 3 added<br />' ; $aG = JUserHelper::getUserGroups($uid) ; print_r( $aG ) ; echo '<br />' ; $rv = JUserHelper::removeUserFromGroup($uid,3); echo $rv . ' Group 3 removed<br />' ; $aG = JUserHelper::getUserGroups($uid) ; print_r( $aG ) ; ?>
Code:
user: 403 1 Group 3 added Array ( [1] => 1 [2] => 2 [3] => 3 [6] => 6 [8] => 8 ) 1 Group 3 removed Array ( [1] => 1 [2] => 2 [6] => 6 [8] => 8 )

Je ziet dat user 403 eerst aan group 3 wordt toegevoegd en dan weer verwijderd. Group 3 staat eerst keurig in het rijtje groepen.

Als ik hetzelfde script gebruik voor een willekeurige andere user 434, dan is de output:
Code:
user: 434 1 Group 3 added Array ( [2] => 2 [6] => 6 [11] => 11 [15] => 15 [Auteur] => 3 ) 1 Group 3 removed Array ( [2] => 2 [6] => 6 [11] => 11 [15] => 15 )

Nu wordt Group 3 toegevoegd als [Auteur] en niet als [3] en komt achteraan te staan. ???
Het verwijderen lukt overigens nu wel, maar als ik dezelfde code in een omvangrijker script plak, dan werkt het opeens niet meer. Het script loopt vast en werkt dan weer als ik de regel met removeUserFromGroup uitvink met //.

Kan iemand licht laten schijnen op dit gebeuren?

Ben

Edit Jelle.D: Ik heb de code tussen codetags geplaatst, volgende keer graag zelf doen.

Edit Astrid: Ik heb je topic verplaatst naar het juiste forum.
Laatst bewerkt 07 jan 2014 14:09 door Astrid.
  • benbeek
  • benbeek's berichtenfoto Heeft onderwerp gestart
  • Nieuw op Joomla!NL
  • Nieuw op Joomla!NL
  • Berichten: 9

JUserHelper addusertogroup en removeuserfromgroup

07 jan 2014 13:07
#2
Hallo benbeek,

Namens het Joomla!NL team heet ik je van harte welkom op dit forum.

Wat wil je precies bereiken met dat script? Is dit een constatering dat de Joomla core functie voor batch processing van gebruikers vastloopt of wil je een eigen script laten draaien?
Groetjes, Astrid
Gebruik de zoekfunctie van dit forum voordat je een nieuwe vraag plaatst.
Vragen uitsluitend via dit forum.
yndi.nl - kvk 17157725
Is je vraag beantwoord? Dan kan je het draadje zelf sluiten .
Wil je Joomla!NL steunen? Dat kan met een donatie.

  • Astrid
  • Astrid's Profielfoto
  • Moderator + Technisch team
  • Moderator + Technisch team
  • Berichten: 37060

JUserHelper addusertogroup en removeuserfromgroup

07 jan 2014 14:00
#3
Ik wil een eigen script laten draaien waarmee een beheerder van een site aan de voorkant van de site o.a. kan kiezen in welke groepen een bepaalde gebruiker zit (naast allerlei andere settings voor die user.
Vandaar dat ik via de JUserHelper in een php script users in of uit groepen wil zetten.
Het feitelijke stukje script (binnen een langer script) waarmee ik dat doe hieronder, waarbij $JN staat voor J of N in groep opnemen; $inG staat voor true/false zit al in deze groep (via JUserHelper::getUserGroups vastgesteld); $grp voor de groepnaam, $uid voor de userid en $gid voor de groupid.
Code:
if ( $JN == 'J' && $inG == false ) { // Moet in groep, zit er nog niet in $rv = JUserHelper::addUserToGroup($uid,$gid); if ( $rv == true ) { $txt .= 'Contact toegevoegd aan groep ' . $grp . '<br />' ; } } if ( $JN == 'N' && $inG == true ) { // Moet niet in groep, zit er wel in $rv = JUserHelper::removeUserFromGroup($uid,$gid); if ( $rv == true ) { $txt .= 'Contact verwijderd uit groep ' . $grp . '<br />' ; } }
  • benbeek
  • benbeek's berichtenfoto Heeft onderwerp gestart
  • Nieuw op Joomla!NL
  • Nieuw op Joomla!NL
  • Berichten: 9
Moderators: Juliank92PeterJelleRomke
Tijd voor maken pagina: 0.797 seconden

Wil je Joomla!NL steunen?

Steun Joomla!NLAlle teamleden werken enthousiast, op vrijwillige basis, mee aan Joomla!NL. Maar een website met forum kost nu eenmaal geld. Dus als je Joomla!NL wilt steunen, dan kan dat, graag zelfs!

Lees hier meer informatie