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
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:
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:
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. Ik heb de code tussen codetags geplaatst, volgende keer graag zelf doen.
Edit Astrid: Ik heb je topic verplaatst naar het juiste forum.
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. Ik heb de code tussen codetags geplaatst, volgende keer graag zelf doen.
Edit Astrid: Ik heb je topic verplaatst naar het juiste forum.
- benbeek
- Heeft onderwerp gestart
- Nieuw op Joomla!NL
- Berichten: 9
JUserHelper addusertogroup en removeuserfromgroup
07 jan 2014 13:07
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?
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
- Moderator + Technisch team
- Berichten: 37435
JUserHelper addusertogroup en removeuserfromgroup
07 jan 2014 14:00
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.
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
- Heeft onderwerp gestart
- Nieuw op Joomla!NL
- Berichten: 9
Tijd voor maken pagina: 0.754 seconden