aboutsummaryrefslogtreecommitdiff
path: root/mod/event_calendar/actions/event_calendar/edit.php
diff options
context:
space:
mode:
authorSem <sembrestels@riseup.net>2013-11-09 16:24:39 +0100
committerSem <sembrestels@riseup.net>2013-11-09 16:24:39 +0100
commita9ac4c861335e60373c1e99b61372e6e0d6ac9f4 (patch)
tree84e660ad22367aab1697a1f910125f520243b882 /mod/event_calendar/actions/event_calendar/edit.php
parent1f40407cb2d2f0edfc4cc5346f332f5c6adab022 (diff)
parentb011a80767e1062a394b7bbbc3be3d2959a5f773 (diff)
downloadelgg-a9ac4c861335e60373c1e99b61372e6e0d6ac9f4.tar.gz
elgg-a9ac4c861335e60373c1e99b61372e6e0d6ac9f4.tar.bz2
Add 'mod/event_calendar/' from commit 'b011a80767e1062a394b7bbbc3be3d2959a5f773'
git-subtree-dir: mod/event_calendar git-subtree-mainline: 1f40407cb2d2f0edfc4cc5346f332f5c6adab022 git-subtree-split: b011a80767e1062a394b7bbbc3be3d2959a5f773
Diffstat (limited to 'mod/event_calendar/actions/event_calendar/edit.php')
-rw-r--r--mod/event_calendar/actions/event_calendar/edit.php55
1 files changed, 55 insertions, 0 deletions
diff --git a/mod/event_calendar/actions/event_calendar/edit.php b/mod/event_calendar/actions/event_calendar/edit.php
new file mode 100644
index 000000000..aef1a59cc
--- /dev/null
+++ b/mod/event_calendar/actions/event_calendar/edit.php
@@ -0,0 +1,55 @@
+<?php
+
+/**
+ * Edit action
+ *
+ * @package event_calendar
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+ * @author Kevin Jardine <kevin@radagast.biz>
+ * @copyright Radagast Solutions 2008
+ * @link http://radagast.biz/
+ *
+ */
+
+elgg_load_library('elgg:event_calendar');
+
+// start a new sticky form session in case of failure
+elgg_make_sticky_form('event_calendar');
+
+$event_guid = get_input('event_guid',0);
+$group_guid = get_input('group_guid',0);
+$event = event_calendar_set_event_from_form($event_guid,$group_guid);
+if ($event) {
+ // remove sticky form entries
+ elgg_clear_sticky_form('event_calendar');
+ $user_guid = elgg_get_logged_in_user_guid();
+ if ($event_guid) {
+ add_to_river('river/object/event_calendar/update','update',$user_guid,$event_guid);
+ system_message(elgg_echo('event_calendar:manage_event_response'));
+ } else {
+ $event_calendar_autopersonal = elgg_get_plugin_setting('autopersonal', 'event_calendar');
+ if (!$event_calendar_autopersonal || ($event_calendar_autopersonal == 'yes')) {
+ event_calendar_add_personal_event($event->guid,$user_guid);
+ }
+ add_to_river('river/object/event_calendar/create','create',$user_guid,$event->guid);
+ system_message(elgg_echo('event_calendar:add_event_response'));
+ }
+
+ if ($event->schedule_type == 'poll') {
+ forward('event_poll/add/'.$event->guid);
+ }
+
+ forward($event->getURL());
+} else {
+ // redisplay form with error message
+ register_error(elgg_echo('event_calendar:manage_event_error'));
+ if ($event_guid) {
+ forward('event_calendar/edit/'.$event_guid);
+ } else {
+ if ($group_guid) {
+ forward('event_calendar/add/'.$group_guid);
+ } else {
+ forward('event_calendar/add/');
+ }
+ }
+}