aboutsummaryrefslogtreecommitdiff
path: root/mod/event_calendar/actions/event_calendar/manage_subscribers.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/event_calendar/actions/event_calendar/manage_subscribers.php')
-rw-r--r--mod/event_calendar/actions/event_calendar/manage_subscribers.php26
1 files changed, 26 insertions, 0 deletions
diff --git a/mod/event_calendar/actions/event_calendar/manage_subscribers.php b/mod/event_calendar/actions/event_calendar/manage_subscribers.php
new file mode 100644
index 000000000..079c3628f
--- /dev/null
+++ b/mod/event_calendar/actions/event_calendar/manage_subscribers.php
@@ -0,0 +1,26 @@
+<?php
+$event_guid = get_input('event_guid');
+$event = get_entity($event_guid);
+$event_calendar_add_users = elgg_get_plugin_setting('add_users', 'event_calendar');
+if (($event_calendar_add_users == 'yes') && elgg_instanceof($event,'object','event_calendar') && $event->canEdit()) {
+ $members = get_input('members');
+ // clear the event from all personal calendars
+ remove_entity_relationships($event_guid, 'personal_event', TRUE);
+ // add event to personal calendars
+ $event_calendar_add_users_notify = elgg_get_plugin_setting('add_users_notify', 'event_calendar');
+ $site_guid = elgg_get_site_entity()->guid;
+ foreach ($members as $user_guid) {
+ add_entity_relationship($user_guid,'personal_event',$event_guid);
+ if ($event_calendar_add_users_notify == 'yes') {
+ $subject = elgg_echo('event_calendar:add_users_notify:subject');
+ $user = get_user($user_guid);
+ $message = elgg_echo('event_calendar:add_users_notify:body',array($user->name,$event->title,$event->getURL()));
+ notify_user($user_guid, $site_guid, $subject, $message, NULL, 'email');
+ }
+ }
+ system_message(elgg_echo('event_calendar:manage_subscribers:success'));
+ forward($event->getURL());
+} else {
+ register_error(elgg_echo('event_calendar:manage_subscribers:error'));
+ forward();
+}