diff --git a/actions/fix_auto_join.php b/actions/fix_auto_join.php
new file mode 100644
index 00000000..e4662a29
--- /dev/null
+++ b/actions/fix_auto_join.php
@@ -0,0 +1,60 @@
+ "user",
+ "relationship" => "member_of_site",
+ "relationship_guid" => $CONFIG->site_guid,
+ "inverse_relationship" => true,
+ "limit" => false,
+ "callback" => "group_tools_guid_only_callback"
+ );
+
+ if($user_guids = elgg_get_entities_from_relationship($options)){
+ // make sure we can add user to group acl
+ register_plugin_hook("access:collections:write", "user", "group_tools_add_user_acl_hook");
+ $GROUP_TOOLS_ACL = $group->group_acl;
+
+ foreach($user_guids as $user_guid){
+ if(!is_group_member($group->getGUID(), $user_guid)){
+ if(join_group($group->getGUID(), $user_guid)){
+ $new++;
+ } else {
+ $failure++;
+ }
+ } else {
+ $already++;
+ }
+
+ // cleanup cache, to be sure
+ invalidate_cache_for_entity($user_guid);
+ }
+
+ // cleanup hook
+ unregister_plugin_hook("access:collections:write", "user", "group_tools_add_user_acl_hook");
+ }
+
+ system_message(sprintf(elgg_echo("group_tools:action:fix_auto_join:success"), $new, $already, $failure));
+ } else {
+ register_error(elgg_echo("group_tools:action:error:entity"));
+ }
+ } else {
+ register_error(elgg_echo("group_tools:action:error:input"));
+ }
+
+ forward(REFERER);
\ No newline at end of file
diff --git a/languages/en.php b/languages/en.php
index 77efc13e..76d39822 100644
--- a/languages/en.php
+++ b/languages/en.php
@@ -87,6 +87,7 @@
// auto join form
'group_tools:auto_join:add' => "%sAdd this group%s to the auto join groups. This will mean that new users are automaticly added to this group on registration.",
'group_tools:auto_join:remove' => "%sRemove this group%s from the auto join groups. This will mean that new users will no longer automaticly join this group on registration.",
+ 'group_tools:auto_join:fix' => "To make all site members a member of this group, please %sclick here%s.",
// group admins
'group_tools:multiple_admin:group_admins' => "Group admins",
@@ -198,6 +199,9 @@
'group_tools:action:toggle_auto_join:error:save' => "An error occured while saving the new settings",
'group_tools:action:toggle_auto_join:success' => "The new settings were saved successfully",
+ // group fix auto_join
+ 'group_tools:action:fix_auto_join:success' => "Group membership fixed: %s new members, %s were already a member and %s failures",
+
);
add_translation("en", $english);
diff --git a/languages/nl.php b/languages/nl.php
index 148cb6a8..bb977b00 100644
--- a/languages/nl.php
+++ b/languages/nl.php
@@ -1,72 +1,74 @@
'Uitnodiging opnieuw versturen naar gebruikers die al zijn uitgenodigd',
- 'group_tools:clear_selection' => 'Selectie wissen',
- 'group_tools:all_members' => 'Alle leden',
- 'group_tools:mail:form:recipients' => 'Aantal geselecteerde ontvangers',
- 'group_tools:mail:form:members:selection' => 'Selecteer individuele leden',
- 'group_tools:mail:form:js:members' => 'Selecteer minstens één lid om het bericht aan te versturen',
- 'group_tools:mail:form:js:description' => 'Geef een bericht op',
- 'group_tools:remove' => 'Verwijder',
- 'group_tools:settings:auto_join' => 'Automatisch groepslidmaatschap',
- 'group_tools:settings:auto_join:description' => 'Nieuwe gebruikers worden automatisch lid van de volgende groepen',
- 'group_tools:auto_join:add' => '%sVoeg deze groep toe%s om automatisch lid van te worden. Dit betekend dat nieuwe gebruikers automatisch lid worden van deze groep.',
- 'group_tools:auto_join:remove' => '%sVerwijder deze groep%s uit de automatische lidmaatschappen. Dit betekend dat nieuwe gebruikers niet langer automatisch lid worden van deze groep.',
- 'group_tools:action:toggle_auto_join:error:save' => 'Er is een fout opgetreden tijdens het opslaan van de instellingen',
- 'group_tools:action:toggle_auto_join:success' => 'De nieuwe instellingen zijn succesvol opgeslagen',
- 'group_tools:notify:transfer:subject' => 'Beheer van de groep %s is aan je overgedragen',
+$language = array (
+ 'widgets:group_river_widget:edit:no_groups' => 'Je moet van minstens ��n groep lid zijn om gebruik te kunnen maken van deze widget',
+ 'group_tools:auto_join:fix' => 'Om alle leden van de site lid te maken van deze groep, %sklik hier%s.',
+ 'group_tools:mail:form:js:members' => 'Selecteer minstens ��n lid om het bericht aan te versturen',
+ 'group_tools:action:fix_auto_join:success' => 'Groep lidmaatschap gerepareerd: %s nieuwe leden, %s waren reeds lid en %s fouten',
+ 'group_tools:group:invite:resend' => 'Uitnodiging opnieuw versturen naar gebruikers die al zijn uitgenodigd',
+ 'group_tools:clear_selection' => 'Selectie wissen',
+ 'group_tools:all_members' => 'Alle leden',
+ 'group_tools:mail:form:recipients' => 'Aantal geselecteerde ontvangers',
+ 'group_tools:mail:form:members:selection' => 'Selecteer individuele leden',
+ 'group_tools:mail:form:js:description' => 'Geef een bericht op',
+ 'group_tools:remove' => 'Verwijder',
+ 'group_tools:settings:auto_join' => 'Automatisch groepslidmaatschap',
+ 'group_tools:settings:auto_join:description' => 'Nieuwe gebruikers worden automatisch lid van de volgende groepen',
+ 'group_tools:auto_join:add' => '%sVoeg deze groep toe%s om automatisch lid van te worden. Dit betekend dat nieuwe gebruikers automatisch lid worden van deze groep.',
+ 'group_tools:auto_join:remove' => '%sVerwijder deze groep%s uit de automatische lidmaatschappen. Dit betekend dat nieuwe gebruikers niet langer automatisch lid worden van deze groep.',
+ 'group_tools:action:toggle_auto_join:error:save' => 'Er is een fout opgetreden tijdens het opslaan van de instellingen',
+ 'group_tools:action:toggle_auto_join:success' => 'De nieuwe instellingen zijn succesvol opgeslagen',
+ 'group_tools:notify:transfer:subject' => 'Beheer van de groep %s is aan je overgedragen',
'group_tools:notify:transfer:message' => 'Beste %s,
%s heeft het beheer van de groep %s aan je overgedragen.
Om de groep te bezoeken klik op onderstaande link:
-%s',
- 'widgets:group_invitations:title' => 'Groep uitnodigingen',
- 'widgets:group_invitations:description' => 'Toont de uitstaande groep uitnodigingen voor de huidige gebruiker',
- 'widgets:group_members:title' => 'Groep leden',
- 'widgets:group_members:description' => 'Toont de leden van de huidige groep',
- 'widgets:group_members:edit:num_display' => 'Hoeveel leden moeten er getoond worden',
- 'widgets:group_members:view:no_members' => 'Geen groep leden gevonden',
- 'widgets:group_river_widget:title' => 'Groep activiteit',
- 'widgets:group_river_widget:description' => 'Toont de activiteit van een groep in de widget',
- 'widgets:group_river_widget:edit:num_display' => 'Aantal activiteiten om te tonen',
- 'widgets:group_river_widget:edit:group' => 'Selecteer een groep',
- 'widgets:group_river_widget:edit:no_groups' => 'Je moet van minstens één groep lid zijn om gebruik te kunnen maken van deze widget',
- 'widgets:group_river_widget:view:not_configured' => 'Deze widget is nog niet geconfigureerd',
- 'widgets:group_river_widget:view:more' => 'Activiteit in de \'%s\' groep',
- 'group_tools:decline' => 'Afwijzen',
- 'group_tools:revoke' => 'Intrekken',
- 'group_tools:add_users' => 'Gebruikers toevoegen',
- 'group_tools:in' => 'in',
- 'group_tools:menu:mail' => 'E-mail leden',
- 'group_tools:menu:membership' => 'Lidmaatschap goedkeuring',
- 'group_tools:settings:admin_transfer' => 'Sta groep eigenaar overdracht toe',
- 'group_tools:settings:admin_transfer:admin' => 'Alleen site beheerders',
- 'group_tools:settings:admin_transfer:owner' => 'Groep eigenaren en site beheerder',
- 'group_tools:settings:multiple_admin' => 'Sta meerdere groep beheerders toe',
- 'group_tools:settings:invite' => 'Mogen alle gebruikers worden uitgenodigd (niet alleen vrienden)',
- 'group_tools:settings:invite_email' => 'Nodig gebruikers uit op basis van e-mail adres',
- 'group_tools:settings:invite_csv' => 'Nodig gebruikers uit op basis van een CSV-bestand',
- 'group_tools:settings:mail' => 'Groep beheerders mogen alle leden een e-mail sturen',
- 'group_tools:settings:listing' => 'Standaard groep overzicht tab',
- 'group_tools:settings:search_index' => 'Mogen besloten groepen worden geïndexeerd door zoekmachines',
- 'group_tools:settings:auto_notification' => 'Schakel groeps notificaties automatisch in bij het lid worden van een groep',
+%s',
+ 'widgets:group_invitations:title' => 'Groep uitnodigingen',
+ 'widgets:group_invitations:description' => 'Toont de uitstaande groep uitnodigingen voor de huidige gebruiker',
+ 'widgets:group_members:title' => 'Groep leden',
+ 'widgets:group_members:description' => 'Toont de leden van de huidige groep',
+ 'widgets:group_members:edit:num_display' => 'Hoeveel leden moeten er getoond worden',
+ 'widgets:group_members:view:no_members' => 'Geen groep leden gevonden',
+ 'widgets:group_river_widget:title' => 'Groep activiteit',
+ 'widgets:group_river_widget:description' => 'Toont de activiteit van een groep in de widget',
+ 'widgets:group_river_widget:edit:num_display' => 'Aantal activiteiten om te tonen',
+ 'widgets:group_river_widget:edit:group' => 'Selecteer een groep',
+ 'widgets:group_river_widget:view:not_configured' => 'Deze widget is nog niet geconfigureerd',
+ 'widgets:group_river_widget:view:more' => 'Activiteit in de \'%s\' groep',
+ 'group_tools:decline' => 'Afwijzen',
+ 'group_tools:revoke' => 'Intrekken',
+ 'group_tools:add_users' => 'Gebruikers toevoegen',
+ 'group_tools:in' => 'in',
+ 'group_tools:menu:mail' => 'E-mail leden',
+ 'group_tools:menu:membership' => 'Lidmaatschap goedkeuring',
+ 'group_tools:settings:admin_transfer' => 'Sta groep eigenaar overdracht toe',
+ 'group_tools:settings:admin_transfer:admin' => 'Alleen site beheerders',
+ 'group_tools:settings:admin_transfer:owner' => 'Groep eigenaren en site beheerder',
+ 'group_tools:settings:multiple_admin' => 'Sta meerdere groep beheerders toe',
+ 'group_tools:settings:invite' => 'Mogen alle gebruikers worden uitgenodigd (niet alleen vrienden)',
+ 'group_tools:settings:invite_email' => 'Nodig gebruikers uit op basis van e-mail adres',
+ 'group_tools:settings:invite_csv' => 'Nodig gebruikers uit op basis van een CSV-bestand',
+ 'group_tools:settings:mail' => 'Groep beheerders mogen alle leden een e-mail sturen',
+ 'group_tools:settings:listing' => 'Standaard groep overzicht tab',
+ 'group_tools:settings:search_index' => 'Mogen besloten groepen worden geïndexeerd door zoekmachines',
+ 'group_tools:settings:auto_notification' => 'Schakel groeps notificaties automatisch in bij het lid worden van een groep',
'group_tools:groups:invite:body' => 'Beste %s,
%s heeft je uitgenodigd om lid te worden van de groep \'%s\'.
%s
Klik op onderstaande link om je uitnodigingen te zien:
-%s',
- 'group_tools:groups:invite:add:subject' => 'Je bent toegevoegd aan de groep %s',
+%s',
+ 'group_tools:groups:invite:add:subject' => 'Je bent toegevoegd aan de groep %s',
'group_tools:groups:invite:add:body' => 'Beste %s,
%s heeft jou toegevoegd aan de groep %s.
%s
Om naar de groep te gaan klik op onderstaande link:
-%s',
- 'group_tools:groups:invite:email:subject' => 'Je bent uitgenodigd voor de groep %s',
+%s',
+ 'group_tools:groups:invite:email:subject' => 'Je bent uitgenodigd voor de groep %s',
'group_tools:groups:invite:email:body' => 'Hallo,
%s heeft je uitgenodigd om lid te worden van de groep %s op %s.
@@ -79,71 +81,71 @@
%s
Je kunt ook gaan naar Alle groepen -> Groep uitnodigingen en daar de volgende code invoeren:
-%s',
- 'group_tools:admin_transfer:transfer' => 'Draag groep eigendom over naar',
- 'group_tools:admin_transfer:myself' => 'Mijzelf',
- 'group_tools:admin_transfer:submit' => 'Overdragen',
- 'group_tools:admin_transfer:no_users' => 'Geen leden of vrienden om eigendom naar over te dragen',
- 'group_tools:admin_transfer:confirm' => 'Weet je zeken dat je het eigendom wilt overdragen?',
- 'group_tools:multiple_admin:group_admins' => 'Groep beheerders',
- 'group_tools:multiple_admin:profile_actions:remove' => 'Verwijder groep beheerder',
- 'group_tools:multiple_admin:profile_actions:add' => 'Maak groep beheerder',
- 'group_tools:multiple_admin:group_tool_option' => 'Mogen groep beheerders andere groep beheerder aanmaken',
- 'group_tools:group_kick:profile_actions:kick' => 'Verwijder uit de groep',
- 'group_tools:mail:message:from' => 'Van groep',
- 'group_tools:mail:title' => 'Stuur een e-mail naar de groepsleden',
- 'group_tools:mail:form:title' => 'Onderwerp',
- 'group_tools:mail:form:description' => 'Bericht',
- 'group_tools:groups:invite' => 'Nodig gebruikers uit',
- 'group_tools:group:invite:users' => 'Zoek gebruiker(s)',
- 'group_tools:group:invite:users:description' => 'Vul een naam of gebruikersnaam van een lid in en selecteer hem/haar uit de lijst',
- 'group_tools:group:invite:email' => 'Obv e-mail adres',
- 'group_tools:group:invite:email:description' => 'Geef een geldig e-mail adres op en selecteer het uit de lijst',
- 'group_tools:group:invite:csv' => 'Obv CSV bestand',
+%s',
+ 'group_tools:admin_transfer:transfer' => 'Draag groep eigendom over naar',
+ 'group_tools:admin_transfer:myself' => 'Mijzelf',
+ 'group_tools:admin_transfer:submit' => 'Overdragen',
+ 'group_tools:admin_transfer:no_users' => 'Geen leden of vrienden om eigendom naar over te dragen',
+ 'group_tools:admin_transfer:confirm' => 'Weet je zeken dat je het eigendom wilt overdragen?',
+ 'group_tools:multiple_admin:group_admins' => 'Groep beheerders',
+ 'group_tools:multiple_admin:profile_actions:remove' => 'Verwijder groep beheerder',
+ 'group_tools:multiple_admin:profile_actions:add' => 'Maak groep beheerder',
+ 'group_tools:multiple_admin:group_tool_option' => 'Mogen groep beheerders andere groep beheerder aanmaken',
+ 'group_tools:group_kick:profile_actions:kick' => 'Verwijder uit de groep',
+ 'group_tools:mail:message:from' => 'Van groep',
+ 'group_tools:mail:title' => 'Stuur een e-mail naar de groepsleden',
+ 'group_tools:mail:form:title' => 'Onderwerp',
+ 'group_tools:mail:form:description' => 'Bericht',
+ 'group_tools:groups:invite' => 'Nodig gebruikers uit',
+ 'group_tools:group:invite:users' => 'Zoek gebruiker(s)',
+ 'group_tools:group:invite:users:description' => 'Vul een naam of gebruikersnaam van een lid in en selecteer hem/haar uit de lijst',
+ 'group_tools:group:invite:email' => 'Obv e-mail adres',
+ 'group_tools:group:invite:email:description' => 'Geef een geldig e-mail adres op en selecteer het uit de lijst',
+ 'group_tools:group:invite:csv' => 'Obv CSV bestand',
'group_tools:group:invite:csv:description' => 'Je kunt een CSV bestand uploaden om gebruikers uit te nodigen
-Het formaat moet zijn: weergave naam;e-mail adres. Er mag geen kopregel zijn.',
- 'group_tools:group:invite:text' => 'Persoonlijk bericht (optioneel)',
- 'group_tools:group:invite:add:confirm' => 'Weet je zeker dat je deze gebruikers direct wilt toevoegen?',
- 'group_tools:groups:invitation:code:title' => 'Groep uitnodiging via e-mail',
- 'group_tools:groups:invitation:code:description' => 'Als je een uitnodiging hebt ontvangen via e-mail om lid te worden van een groep, kun je hieronder de uitnodigingscode invoeren om te accepteren. Als je op de link klikt die in de e-mail staat wordt de code voor je ingevuld.',
- 'group_tools:groups:membershipreq:requests' => 'Lidmaatschap verzoeken',
- 'group_tools:groups:membershipreq:invitations' => 'Uitstaande uitnodigingen',
- 'group_tools:groups:membershipreq:invitations:none' => 'Geen uitstaande uitnodigingen',
- 'group_tools:groups:membershipreq:invitations:revoke:confirm' => 'Weet je zeker dat je deze uitnodiging wilt terug trekken',
- 'group_tools:group:invitations:request' => 'Uitstaande lidmaatschap verzoeken',
- 'group_tools:group:invitations:request:revoke:confirm' => 'Weet je zeker dat je dit lidmaatschap verzoek wilt terugtrekken?',
- 'group_tools:group:invitations:request:non_found' => 'Er zijn geen uitstaande lidmaatschap verzoeken op dit moment',
- 'group_tools:groups:sorting:alfabetical' => 'Alfabetisch',
- 'group_tools:action:error:input' => 'Ongeldige invoer om deze actie uit te voeren',
- 'group_tools:action:error:entities' => 'De opgegeven GUIDs resulteren niet in de correctie entities',
- 'group_tools:action:error:entity' => 'De opgegeven GUID resulteert niet in de juiste entity',
- 'group_tools:action:error:edit' => 'Je hebt geen toegang tot de opgegeven entity',
- 'group_tools:action:admin_transfer:error:access' => 'Je bent niet geautoriseerd om het groep eigendom over te dragen',
- 'group_tools:action:admin_transfer:error:self' => 'Je kunt het eigendom niet overdragen aan jezelf, je bent al de eigenaar',
- 'group_tools:action:admin_transfer:error:save' => 'Er is een onbekende fout opgetreden tijdens het opslaan van de groep, probeer het nogmaals',
- 'group_tools:action:admin_transfer:success' => 'Groep eigendom is succesvol overgedragen aan %s',
- 'group_tools:action:toggle_admin:error:group' => 'De opgegeven invoer resulteerde niet in een groep, of je kunt de groep niet bewerken of de gebruiker is geen lid',
- 'group_tools:action:toggle_admin:error:remove' => 'Er is een onbekend fout opgetreden tijdens het verwijderen van de gebruiker als groep beheerder',
- 'group_tools:action:toggle_admin:error:add' => 'Er is een onbekende fout opgetreden tijdens het toevoegen van de gebruiker als groep beheerder',
- 'group_tools:action:toggle_admin:success:remove' => 'De gebruiker is succesvol verwijderd als groep beheerder',
- 'group_tools:action:toggle_admin:success:add' => 'De gebruiker is succesvol toegevoegd als groep beheerder',
- 'group_tools:action:kick:error' => 'Er is een onbekende fout opgetreden tijdens het verwijderen van de gebruiker uit de groep',
- 'group_tools:action:kick:success' => 'De gebruiker is succesvol verwijderd uit de groep',
- 'group_tools:action:mail:success' => 'Bericht succesvol verzonden',
- 'group_tools:action:group:invite:success' => 'Succesvol %s gebruikers uitgenodigd via CSV om lid te worden van de groep',
- 'group_tools:action:group:invite:success:other' => 'Succesvol %s gebruikers uitgenodigd via CSV om lid te worden van de groep (%s waren al lid, %s waren al uitgenodigd)',
- 'group_tools:action:group:invite:error:no_invites' => 'Geen uitnodigingen verzonden (%s waren al lid, %s waren al uitgenodigd)',
- 'group_tools:action:groups:invite:add:success' => 'Succesvol %s gebruikers toegevoegd',
- 'group_tools:action:groups:invite:add:success:other' => 'Succesvol %s gebruikers toegevoegd (%s waren al lid)',
- 'group_tools:action:groups:invite:add:error:no_add' => 'Geen gebruikers toegevoegd (%s waren al lid)',
- 'group_tools:action:group:invite:email:success' => 'Succesvol %s gebruikers via email uitgenodigd om lid te worden van deze group',
- 'group_tools:action:group:invite:email:success:other' => 'Succesvol %s gebruikers via email uitgenodigd om lid te worden van deze group (%s waren al uitgenodigd',
- 'group_tools:action:group:invite:email:error:no_invites' => 'Geen e-mail uitnodigingen verzonden (%s waren al uitgenodigd)',
- 'group_tools:action:group:invite:csv:error:no_invites' => 'Geen uitnodigingen verzonden via CSV (%s waren al lid, %s waren al uitgenodigd)',
- 'group_tools:action:groups:email_invitation:error:input' => 'Geef een uitnodigingscode op',
- 'group_tools:action:groups:email_invitation:error:code' => 'De opgegeven uitnodiginscode in niet meer geldig',
- 'group_tools:action:groups:email_invitation:error:join' => 'Er is een onbekende fout opgetreden tijdens het lid worden van de groep %s, misschien ben je al lid',
- 'group_tools:action:groups:email_invitation:success' => 'Je bent lid geworden van de groep',
+Het formaat moet zijn: weergave naam;e-mail adres. Er mag geen kopregel zijn.',
+ 'group_tools:group:invite:text' => 'Persoonlijk bericht (optioneel)',
+ 'group_tools:group:invite:add:confirm' => 'Weet je zeker dat je deze gebruikers direct wilt toevoegen?',
+ 'group_tools:groups:invitation:code:title' => 'Groep uitnodiging via e-mail',
+ 'group_tools:groups:invitation:code:description' => 'Als je een uitnodiging hebt ontvangen via e-mail om lid te worden van een groep, kun je hieronder de uitnodigingscode invoeren om te accepteren. Als je op de link klikt die in de e-mail staat wordt de code voor je ingevuld.',
+ 'group_tools:groups:membershipreq:requests' => 'Lidmaatschap verzoeken',
+ 'group_tools:groups:membershipreq:invitations' => 'Uitstaande uitnodigingen',
+ 'group_tools:groups:membershipreq:invitations:none' => 'Geen uitstaande uitnodigingen',
+ 'group_tools:groups:membershipreq:invitations:revoke:confirm' => 'Weet je zeker dat je deze uitnodiging wilt terug trekken',
+ 'group_tools:group:invitations:request' => 'Uitstaande lidmaatschap verzoeken',
+ 'group_tools:group:invitations:request:revoke:confirm' => 'Weet je zeker dat je dit lidmaatschap verzoek wilt terugtrekken?',
+ 'group_tools:group:invitations:request:non_found' => 'Er zijn geen uitstaande lidmaatschap verzoeken op dit moment',
+ 'group_tools:groups:sorting:alfabetical' => 'Alfabetisch',
+ 'group_tools:action:error:input' => 'Ongeldige invoer om deze actie uit te voeren',
+ 'group_tools:action:error:entities' => 'De opgegeven GUIDs resulteren niet in de correctie entities',
+ 'group_tools:action:error:entity' => 'De opgegeven GUID resulteert niet in de juiste entity',
+ 'group_tools:action:error:edit' => 'Je hebt geen toegang tot de opgegeven entity',
+ 'group_tools:action:admin_transfer:error:access' => 'Je bent niet geautoriseerd om het groep eigendom over te dragen',
+ 'group_tools:action:admin_transfer:error:self' => 'Je kunt het eigendom niet overdragen aan jezelf, je bent al de eigenaar',
+ 'group_tools:action:admin_transfer:error:save' => 'Er is een onbekende fout opgetreden tijdens het opslaan van de groep, probeer het nogmaals',
+ 'group_tools:action:admin_transfer:success' => 'Groep eigendom is succesvol overgedragen aan %s',
+ 'group_tools:action:toggle_admin:error:group' => 'De opgegeven invoer resulteerde niet in een groep, of je kunt de groep niet bewerken of de gebruiker is geen lid',
+ 'group_tools:action:toggle_admin:error:remove' => 'Er is een onbekend fout opgetreden tijdens het verwijderen van de gebruiker als groep beheerder',
+ 'group_tools:action:toggle_admin:error:add' => 'Er is een onbekende fout opgetreden tijdens het toevoegen van de gebruiker als groep beheerder',
+ 'group_tools:action:toggle_admin:success:remove' => 'De gebruiker is succesvol verwijderd als groep beheerder',
+ 'group_tools:action:toggle_admin:success:add' => 'De gebruiker is succesvol toegevoegd als groep beheerder',
+ 'group_tools:action:kick:error' => 'Er is een onbekende fout opgetreden tijdens het verwijderen van de gebruiker uit de groep',
+ 'group_tools:action:kick:success' => 'De gebruiker is succesvol verwijderd uit de groep',
+ 'group_tools:action:mail:success' => 'Bericht succesvol verzonden',
+ 'group_tools:action:group:invite:success' => 'Succesvol %s gebruikers uitgenodigd via CSV om lid te worden van de groep',
+ 'group_tools:action:group:invite:success:other' => 'Succesvol %s gebruikers uitgenodigd via CSV om lid te worden van de groep (%s waren al lid, %s waren al uitgenodigd)',
+ 'group_tools:action:group:invite:error:no_invites' => 'Geen uitnodigingen verzonden (%s waren al lid, %s waren al uitgenodigd)',
+ 'group_tools:action:groups:invite:add:success' => 'Succesvol %s gebruikers toegevoegd',
+ 'group_tools:action:groups:invite:add:success:other' => 'Succesvol %s gebruikers toegevoegd (%s waren al lid)',
+ 'group_tools:action:groups:invite:add:error:no_add' => 'Geen gebruikers toegevoegd (%s waren al lid)',
+ 'group_tools:action:group:invite:email:success' => 'Succesvol %s gebruikers via email uitgenodigd om lid te worden van deze group',
+ 'group_tools:action:group:invite:email:success:other' => 'Succesvol %s gebruikers via email uitgenodigd om lid te worden van deze group (%s waren al uitgenodigd',
+ 'group_tools:action:group:invite:email:error:no_invites' => 'Geen e-mail uitnodigingen verzonden (%s waren al uitgenodigd)',
+ 'group_tools:action:group:invite:csv:error:no_invites' => 'Geen uitnodigingen verzonden via CSV (%s waren al lid, %s waren al uitgenodigd)',
+ 'group_tools:action:groups:email_invitation:error:input' => 'Geef een uitnodigingscode op',
+ 'group_tools:action:groups:email_invitation:error:code' => 'De opgegeven uitnodiginscode in niet meer geldig',
+ 'group_tools:action:groups:email_invitation:error:join' => 'Er is een onbekende fout opgetreden tijdens het lid worden van de groep %s, misschien ben je al lid',
+ 'group_tools:action:groups:email_invitation:success' => 'Je bent lid geworden van de groep',
);
add_translation("nl", $language);
?>
\ No newline at end of file
diff --git a/lib/events.php b/lib/events.php
index bb6cd5c6..849e2644 100644
--- a/lib/events.php
+++ b/lib/events.php
@@ -55,4 +55,21 @@ function group_tools_join_site_handler($event, $type, $relationship){
elgg_set_ignore_access($ia);
}
}
- }
\ No newline at end of file
+ }
+
+ function group_tools_multiple_admin_group_leave($event, $type, $params){
+
+ if(!empty($params) && is_array($params)){
+ if(array_key_exists("group", $params) && array_key_exists("user", $params)){
+ $entity = $params["group"];
+ $user = $params["user"];
+
+ if(($entity instanceof ElggGroup) && ($user instanceof ElggUser)){
+ if(check_entity_relationship($user->getGUID(), "group_admin", $entity->getGUID())){
+ return remove_entity_relationship($user->getGUID(), "group_admin", $entity->getGUID());
+ }
+ }
+ }
+ }
+ }
+
\ No newline at end of file
diff --git a/lib/hooks.php b/lib/hooks.php
new file mode 100644
index 00000000..3fd29f5d
--- /dev/null
+++ b/lib/hooks.php
@@ -0,0 +1,35 @@
+isMember($user) && check_entity_relationship($user->getGUID(), "group_admin", $entity->getGUID())){
+ $result = true;
+ }
+ }
+ }
+ }
+
+ return $result;
+ }
+
\ No newline at end of file
diff --git a/manifest.xml b/manifest.xml
index 31f090c6..e188a3fd 100644
--- a/manifest.xml
+++ b/manifest.xml
@@ -54,6 +54,10 @@ ToDo
====================
Version History
====================
+x.x:
+ - added: option to make all site users a member of an auto join group
+ - changed: moved some functions
+
1.6 (2011-10-05):
- added: option to resend invites to already invited users
- changed: name of robots view to be less generic
diff --git a/start.php b/start.php
index 30244679..b92cb8ff 100644
--- a/start.php
+++ b/start.php
@@ -2,6 +2,7 @@
require_once(dirname(__FILE__) . "/lib/functions.php");
require_once(dirname(__FILE__) . "/lib/events.php");
+ require_once(dirname(__FILE__) . "/lib/hooks.php");
function group_tools_init(){
@@ -126,41 +127,6 @@ function group_tools_pagesetup(){
}
- function group_tools_multiple_admin_can_edit_hook($hook, $type, $return_value, $params){
- $result = $return_value;
-
- if(!empty($params) && is_array($params) && !$result){
- if(array_key_exists("entity", $params) && array_key_exists("user", $params)){
- $entity = $params["entity"];
- $user = $params["user"];
-
- if(($entity instanceof ElggGroup) && ($user instanceof ElggUser)){
- if($entity->isMember($user) && check_entity_relationship($user->getGUID(), "group_admin", $entity->getGUID())){
- $result = true;
- }
- }
- }
- }
-
- return $result;
- }
-
- function group_tools_multiple_admin_group_leave($event, $type, $params){
-
- if(!empty($params) && is_array($params)){
- if(array_key_exists("group", $params) && array_key_exists("user", $params)){
- $entity = $params["group"];
- $user = $params["user"];
-
- if(($entity instanceof ElggGroup) && ($user instanceof ElggUser)){
- if(check_entity_relationship($user->getGUID(), "group_admin", $entity->getGUID())){
- return remove_entity_relationship($user->getGUID(), "group_admin", $entity->getGUID());
- }
- }
- }
- }
- }
-
function group_tools_version_1_3(){
global $CONFIG, $GROUP_TOOLS_ACL;
@@ -192,20 +158,6 @@ function group_tools_version_1_3(){
}
- function group_tools_add_user_acl_hook($hook, $type, $return_value, $params){
- global $GROUP_TOOLS_ACL;
-
- $result = $return_value;
-
- if(!empty($GROUP_TOOLS_ACL) && is_array($result)){
- if(!array_key_exists($GROUP_TOOLS_ACL, $result)){
- $result[$GROUP_TOOLS_ACL] = "temp group";
- }
- }
-
- return $result;
- }
-
// default elgg event handlers
register_elgg_event_handler("init", "system", "group_tools_init");
register_elgg_event_handler("pagesetup", "system", "group_tools_pagesetup");
@@ -216,6 +168,7 @@ function group_tools_add_user_acl_hook($hook, $type, $return_value, $params){
register_action("group_tools/kick", false, dirname(__FILE__) . "/actions/kick.php");
register_action("group_tools/mail", false, dirname(__FILE__) . "/actions/mail.php");
register_action("group_tools/toggle_auto_join", false, dirname(__FILE__) . "/actions/toggle_auto_join.php", true);
+ register_action("group_tools/fix_auto_join", false, dirname(__FILE__) . "/actions/fix_auto_join.php", true);
register_action("groups/email_invitation", false, dirname(__FILE__) . "/actions/groups/email_invitation.php");
-?>
\ No newline at end of file
+
\ No newline at end of file
diff --git a/views/default/group_tools/forms/auto_join.php b/views/default/group_tools/forms/auto_join.php
index 9abda4aa..9e3f6c76 100644
--- a/views/default/group_tools/forms/auto_join.php
+++ b/views/default/group_tools/forms/auto_join.php
@@ -12,6 +12,26 @@
if(in_array($group->getGUID(), $auto_join_groups)){
$lang_key = "group_tools:auto_join:remove";
+
+ // check if all users are member of this group
+ $options = array(
+ "type" => "user",
+ "relationship" => "member_of_site",
+ "relationship_guid" => $group->site_guid,
+ "inverse_relationship" => true,
+ "count" => true
+ );
+
+ $user_count = elgg_get_entities_from_relationship($options);
+ $member_count = $group->getMembers(0, 0, true);
+
+ if($user_count != $member_count){
+
+ $link_start = "";
+ $link_end = "";
+
+ $fix_members = "
" . sprintf(elgg_echo("group_tools:auto_join:fix"), $link_start, $link_end);
+ }
} else {
$lang_key = "group_tools:auto_join:add";
}
@@ -19,6 +39,9 @@
$link_start = "";
$link_end = "";
- echo elgg_view("page_elements/contentwrapper", array("body" => sprintf(elgg_echo($lang_key), $link_start, $link_end)));
+ $body = sprintf(elgg_echo($lang_key), $link_start, $link_end);
+ $body .= $fix_members;
+
+ echo elgg_view("page_elements/contentwrapper", array("body" => $body));
}
}
\ No newline at end of file