Overview

Packages

  • Kronolith
  • None

Classes

  • Kronolith
  • Kronolith_Ajax_Application
  • Kronolith_Ajax_Imple_ContactAutoCompleter
  • Kronolith_Ajax_Imple_Embed
  • Kronolith_Ajax_Imple_TagActions
  • Kronolith_Ajax_Imple_TagAutoCompleter
  • Kronolith_Api
  • Kronolith_Calendar
  • Kronolith_Calendar_External
  • Kronolith_Calendar_External_Tasks
  • Kronolith_Calendar_Holiday
  • Kronolith_Calendar_Internal
  • Kronolith_Calendar_Remote
  • Kronolith_Calendar_Resource
  • Kronolith_Calendars_Base
  • Kronolith_Calendars_Default
  • Kronolith_Calendars_Kolab
  • Kronolith_Day
  • Kronolith_Driver
  • Kronolith_Driver_Holidays
  • Kronolith_Driver_Horde
  • Kronolith_Driver_Ical
  • Kronolith_Driver_Kolab
  • Kronolith_Driver_Mock
  • Kronolith_Driver_Resource
  • Kronolith_Driver_Sql
  • Kronolith_Event
  • Kronolith_Event_Holidays
  • Kronolith_Event_Horde
  • Kronolith_Event_Ical
  • Kronolith_Event_Kolab
  • Kronolith_Event_Resource
  • Kronolith_Event_Sql
  • Kronolith_Exception
  • Kronolith_Factory_Calendars
  • Kronolith_Factory_Geo
  • Kronolith_Form_CreateCalendar
  • Kronolith_Form_CreateResource
  • Kronolith_Form_CreateResourceGroup
  • Kronolith_Form_DeleteCalendar
  • Kronolith_Form_DeleteResource
  • Kronolith_Form_DeleteResourceGroup
  • Kronolith_Form_EditCalendar
  • Kronolith_Form_EditRemoteCalendar
  • Kronolith_Form_EditResource
  • Kronolith_Form_EditResourceGroup
  • Kronolith_Form_SubscribeRemoteCalendar
  • Kronolith_Form_UnsubscribeRemoteCalendar
  • Kronolith_FreeBusy
  • Kronolith_FreeBusy_View
  • Kronolith_FreeBusy_View_Day
  • Kronolith_FreeBusy_View_Month
  • Kronolith_FreeBusy_View_Week
  • Kronolith_FreeBusy_View_Workweek
  • Kronolith_Geo_Base
  • Kronolith_Geo_Mysql
  • Kronolith_Geo_Sql
  • Kronolith_LoginTasks_SystemTask_Upgrade
  • Kronolith_LoginTasks_Task_PurgeEvents
  • Kronolith_Notification_Listener_AjaxStatus
  • Kronolith_Resource
  • Kronolith_Resource_Base
  • Kronolith_Resource_Group
  • Kronolith_Resource_Single
  • Kronolith_Storage
  • Kronolith_Storage_Kolab
  • Kronolith_Storage_Sql
  • Kronolith_Tagger
  • Kronolith_Test
  • Kronolith_View_Day
  • Kronolith_View_DeleteEvent
  • Kronolith_View_EditEvent
  • Kronolith_View_Event
  • Kronolith_View_ExportEvent
  • Kronolith_View_Month
  • Kronolith_View_Week
  • Kronolith_View_WorkWeek
  • Kronolith_View_Year
  • Overview
  • Package
  • Class
  • Tree
  1: <?php
  2: /**
  3:  * The Kronolith_View_DeleteEvent:: class provides an API for viewing
  4:  * event delete forms.
  5:  *
  6:  * @author  Chuck Hagenbuch <chuck@horde.org>
  7:  * @package Kronolith
  8:  */
  9: class Kronolith_View_DeleteEvent
 10: {
 11:     /**
 12:      * @var Kronolith_Event
 13:      */
 14:     protected $_event;
 15: 
 16:     /**
 17:      * @param Kronolith_Event $event
 18:      */
 19:     public function __construct(Kronolith_Event $event)
 20:     {
 21:         $this->_event = $event;
 22:     }
 23: 
 24:     public function __get($property)
 25:     {
 26:         switch ($property) {
 27:         case 'event':
 28:             return $this->_event;
 29:         default:
 30:             throw new Kronolith_Exception('Property does not exist.');
 31:         }
 32:     }
 33: 
 34:     public function getTitle()
 35:     {
 36:         if (!$this->_event) {
 37:             return _("Not Found");
 38:         }
 39:         if (is_string($this->_event)) {
 40:             return $this->_event;
 41:         }
 42:         return sprintf(_("Delete %s"), $this->_event->getTitle());
 43:     }
 44: 
 45:     public function link()
 46:     {
 47:         return $this->_event->getDeleteUrl();
 48:     }
 49: 
 50:     public function html($active = true)
 51:     {
 52:         if (!$this->_event) {
 53:             echo '<h3>' . _("Event not found") . '</h3>';
 54:             exit;
 55:         }
 56:         if (is_string($this->_event)) {
 57:             echo '<h3>' . $this->_event . '</h3>';
 58:             exit;
 59:         }
 60: 
 61:         if ($datetime = Horde_Util::getFormData('datetime')) {
 62:             $datetime = new Horde_Date($datetime);
 63:             $month = $datetime->month;
 64:             $year = $datetime->year;
 65:             $day = $datetime->mday;
 66:         } else {
 67:             $month = Horde_Util::getFormData('month', date('n'));
 68:             $day = Horde_Util::getFormData('mday', date('j'));
 69:             $year = Horde_Util::getFormData('year', date('Y'));
 70:         }
 71: 
 72:         $url = Horde_Util::getFormData('url');
 73: 
 74:         echo '<div id="DeleteEvent"' . ($active ? '' : ' style="display:none"') . '>';
 75:         if (!$this->_event->recurs()) {
 76:             require KRONOLITH_TEMPLATES . '/delete/one.inc';
 77:         } else {
 78:             require KRONOLITH_TEMPLATES . '/delete/delete.inc';
 79:         }
 80:         echo '</div>';
 81: 
 82:         if ($active && $GLOBALS['browser']->hasFeature('dom')) {
 83:             if ($this->_event->hasPermission(Horde_Perms::READ)) {
 84:                 $view = new Kronolith_View_Event($this->_event);
 85:                 $view->html(false);
 86:             }
 87:             if ($this->_event->hasPermission(Horde_Perms::READ) &&
 88:                 Kronolith::getDefaultCalendar(Horde_Perms::EDIT)) {
 89:                 $edit = new Kronolith_View_EditEvent($this->_event);
 90:                 $edit->html(false);
 91:             }
 92:         }
 93:     }
 94: 
 95:     public function getName()
 96:     {
 97:         return 'DeleteEvent';
 98:     }
 99: 
100: }
101: 
API documentation generated by ApiGen