edit.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. /**
  3. * Edit action
  4. *
  5. * @package event_calendar
  6. * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
  7. * @author Kevin Jardine <kevin@radagast.biz>
  8. * @copyright Radagast Solutions 2008
  9. * @link http://radagast.biz/
  10. *
  11. */
  12. elgg_load_library('elgg:event_calendar');
  13. // start a new sticky form session in case of failure
  14. elgg_make_sticky_form('event_calendar');
  15. $event_guid = get_input('event_guid',0);
  16. $group_guid = get_input('group_guid',0);
  17. $event = event_calendar_set_event_from_form($event_guid,$group_guid);
  18. if ($event) {
  19. // remove sticky form entries
  20. elgg_clear_sticky_form('event_calendar');
  21. $user_guid = elgg_get_logged_in_user_guid();
  22. if ($event_guid) {
  23. add_to_river('river/object/event_calendar/update','update',$user_guid,$event_guid);
  24. system_message(elgg_echo('event_calendar:manage_event_response'));
  25. } else {
  26. $event_calendar_autopersonal = elgg_get_plugin_setting('autopersonal', 'event_calendar');
  27. if (!$event_calendar_autopersonal || ($event_calendar_autopersonal == 'yes')) {
  28. event_calendar_add_personal_event($event->guid,$user_guid);
  29. }
  30. add_to_river('river/object/event_calendar/create','create',$user_guid,$event->guid);
  31. system_message(elgg_echo('event_calendar:add_event_response'));
  32. }
  33. if ($event->schedule_type == 'poll') {
  34. forward('event_poll/add/'.$event->guid);
  35. }
  36. forward($event->getURL());
  37. } else {
  38. // redisplay form with error message
  39. register_error(elgg_echo('event_calendar:manage_event_error'));
  40. if ($event_guid) {
  41. forward('event_calendar/edit/'.$event_guid);
  42. } else {
  43. if ($group_guid) {
  44. forward('event_calendar/add/'.$group_guid);
  45. } else {
  46. forward('event_calendar/add/');
  47. }
  48. }
  49. }