1: <?php
2: 3: 4: 5: 6: 7: 8:
9: class Kronolith_View_DeleteEvent
10: {
11: 12: 13:
14: protected $_event;
15:
16: 17: 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: