function display_event() { global $vars, $phpcdb, $phpc_year, $phpc_month, $phpc_day, $phpc_cal; if (!empty($vars['content']) && $vars['content'] == 'json') { return display_event_json(); } if (isset($vars['oid'])) { $entry = $phpcdb->get_event_by_oid($vars['oid']); if (!$entry) { return tag('p', __('There is no event for that OID.')); } $event = new PhpcEvent($entry); } elseif (isset($vars['eid'])) { $entry = $phpcdb->get_event_by_eid($vars['eid']); if (!$entry) { return tag('p', __('There is no event with that EID.')); } $event = new PhpcEvent($entry); } if (!isset($event)) { soft_error(__("Invalid arguments.")); } if (!$event->can_read()) { return tag('p', __("You do not have permission to read this event.")); } $event_header = tag('div', attributes('class="phpc-event-header"'), tag('div', __('created by') . ' ', tag('cite', $event->get_author()), ' ' . __('on') . ' ' . $event->get_ctime_string())); if (!empty($event->mtime)) { $event_header->add(tag('div', __('Last modified on '), $event->get_mtime_string())); } $category = $event->get_category(); if (!empty($category)) { $event_header->add(tag('div', __('Category') . ': ' . $category)); } // Add modify/delete links if this user has access to this event. $event_menu = ''; if ($event->can_modify()) { $event_menu = tag('div', attrs('class="phpc-bar ui-widget-content"'), create_event_link(__('Modify'), 'event_form', $event->get_eid()), "\n", create_event_link(__('Delete'), 'event_delete', $event->get_eid(), attrs('class="phpc-confirm"'))); } $desc_tag = tag('div', attributes('class="phpc-desc"'), tag('h3', __("Description")), tag('p', $event->get_desc())); $occurrences_tag = tag('ul'); $occurrences = $phpcdb->get_occurrences_by_eid($event->get_eid()); $set_date = false; foreach ($occurrences as $occurrence) { if (!$set_date) { $phpc_year = $occurrence->get_start_year(); $phpc_month = $occurrence->get_start_month(); $phpc_day = $occurrence->get_start_day(); } $oid = $occurrence->get_oid(); $occ_tag = tag('li', attrs('class="ui-widget-content"'), $occurrence->get_date_string() . ' ' . __('at') . ' ' . $occurrence->get_time_span_string()); if ($event->can_modify()) { $occ_tag->add(" ", create_occurrence_link(__('Edit'), 'occur_form', $oid), " ", create_occurrence_link(__('Remove'), 'occurrence_delete', $oid, attrs('class="phpc-confirm-occ"'))); } $occurrences_tag->add($occ_tag); } // Add occurrence link if this user has access to this event. $occurrences_menu = ''; if ($event->can_modify()) { $occurrences_menu = tag('div', attrs('class="phpc-bar ui-widget-content"'), create_event_link(__('Add Occurrence'), 'occur_form', $event->get_eid())); } foreach ($event->get_fields() as $field) { $def = $phpc_cal->get_field($field['fid']); $event_header->add(tag('div', $def['name'] . ": " . $field['value'])); } $dialog = tag('div', attrs('id="phpc-dialog"', 'title="' . __("Confirmation required") . '"'), __("Permanently delete this event?")); $dialog2 = tag('div', attrs('id="phpc-dialog-occ"', 'title="' . __("Confirmation required") . '"'), __("Permanently delete this occurrence?")); return tag('div', attributes('class="phpc-main phpc-event"'), $dialog, $dialog2, $event_menu, tag('h2', $event->get_subject()), $event_header, $desc_tag, tag('div', attrs('class="phpc-occ"'), tag('h3', __('Occurrences')), $occurrences_menu, $occurrences_tag)); }
function display_event_by_eid($eid) { global $phpcdb, $year, $month, $day; $event = new PhpcEvent($phpcdb->get_event_by_eid($eid)); if (!$event->can_read()) { return tag('p', __("You do not have permission to read this event.")); } $event_header = tag('div', attributes('class="phpc-event-header"'), tag('div', __('by') . ' ', tag('cite', $event->get_author()))); $event_header->add(tag('div', __('Created at: '), $event->get_ctime_string())); if (!empty($event->mtime)) { $event_header->add(tag('div', __('Last modified at: '), $event->get_mtime_string())); } $category = $event->get_category(); if (!empty($category)) { $event_header->add(tag('div', __('Category') . ': ' . $category)); } // Add modify/delete links if this user has access to this event. if ($event->can_modify()) { $event_header->add(tag('div', attrs('class="phpc-bar ui-widget-content"'), create_event_link(__('Modify'), 'event_form', $eid), "\n", create_event_link(__('Add Occurrence'), 'occur_form', $eid), "\n", create_event_link(__('Delete'), 'event_delete', $eid))); } $desc_tag = tag('div', attributes('class="phpc-desc"'), tag('h3', __("Description")), tag('p', $event->get_desc())); $occurrences_tag = tag('ul'); $occurrences = $phpcdb->get_occurrences_by_eid($eid); $set_date = false; foreach ($occurrences as $occurrence) { if (!$set_date) { $year = $occurrence->get_start_year(); $month = $occurrence->get_start_month(); $day = $occurrence->get_start_day(); } $oid = $occurrence->get_oid(); $occ_tag = tag('li', attrs('class="ui-widget-content"'), create_occurrence_link($occurrence->get_date_string() . ' ' . __('at') . ' ' . $occurrence->get_time_span_string(), 'display_event', $oid)); if ($event->can_modify()) { $occ_tag->add(" ", create_occurrence_link(__('Edit'), 'occur_form', $oid), " ", create_occurrence_link(__('Remove'), 'occurrence_delete', $oid)); } $occurrences_tag->add($occ_tag); } return tag('div', attributes('class="phpc-main phpc-event"'), tag('h2', $event->get_subject()), $event_header, $desc_tag, tag('div', attributes('class="phpc-occ"'), tag('h3', __('Occurrences')), $occurrences_tag)); }
function event_delete() { global $vars, $phpcdb, $phpc_script; $html = tag('div', attributes('class="phpc-container"')); if (empty($vars["eid"])) { $message = __('No event selected.'); $html->add(tag('div', $message)); return $html; } if (is_array($vars["eid"])) { $eids = $vars["eid"]; } else { $eids = array($vars["eid"]); } if (empty($vars["confirm"])) { $list = tag('ul'); foreach ($eids as $eid) { $event = new PhpcEvent($phpcdb->get_event_by_eid($eid)); $list->add(tag('li', "{$eid}: " . $event->get_subject())); } $html->add(tag('div', __('Confirm you want to delete:'))); $html->add($list); $html->add(" [ ", create_action_link(__('Confirm'), "event_delete", array("eid" => $eids, "confirm" => "1")), " ] "); $html->add(" [ ", create_action_link(__('Deny'), "display_month"), " ] "); return $html; } $removed_events = array(); $unremoved_events = array(); $permission_denied = array(); foreach ($eids as $eid) { $event = new PhpcEvent($phpcdb->get_event_by_eid($eid)); if (!$event->can_modify()) { $permission_denied[] = $eid; } else { if ($phpcdb->delete_event($eid)) { $removed_events[] = $eid; } else { $unremoved_events[] = $eid; } } } if (sizeof($removed_events) > 0) { if (sizeof($removed_events) == 1) { $text = __("Removed event"); } else { $text = __("Removed events"); } $text .= ': ' . implode(', ', $removed_events); $html->add(tag('div', $text)); } if (sizeof($unremoved_events) > 0) { if (sizeof($unremoved_events) == 1) { $text = __("Could not remove event"); } else { $text = __("Could not remove events"); } $text .= ': ' . implode(', ', $unremoved_events); $html->add(tag('div', $text)); } if (sizeof($permission_denied) > 0) { if (sizeof($permission_denied) == 1) { $text = __("You do not have permission to remove event"); } else { $text = __("You do not have permission to remove events"); } $text .= ': ' . implode(', ', $permission_denied); $html->add(tag('div', $text)); } return message_redirect($html, $phpc_script); }