Source of file PublicEvent.php
Size: 2,331 Bytes - Last Modified: 2021-12-23T10:51:54+00:00
/var/www/docs.ssmods.com/process/src/code/events/PublicEvent.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | <?php /** * Public Event * Event shown to the public. * It's this type of event that is administerable from the backend administration. * * @package calendar */ class PublicEvent extends Event { //Public events are simpley called 'Event' public static $singular_name = 'Event'; public static $plural_name = 'Events'; /** * Getter for internal event link * NOTE: The current implementation only works properly as long as there's only one * {@see CalendarPage} in the site */ public function getInternalLink() { //for now all event details will only have one link - that is the main calendar page //NOTE: this could be amended by calling that link via AJAX, and thus could be shown as an overlay //everywhere on the site // //if the event page is enabled, we provide for links to event pages // if (CalendarConfig::subpackage_setting('pagetypes','enable_eventpage')) { // $eventPage = $this->EventPage(); // if ($eventPage->exists()) { // return $eventPage->Link(); // } else { // $calendarPage = CalendarPage::get()->First(); // return $calendarPage->Link() . $detailStr; // } // } else { $calendarPage = CalendarPage::get()->First(); return CalendarHelper::add_preview_params(Controller::join_links($calendarPage->Link('detail'),$this->ID),$this); // } } /** * Anyone can view public events * @param Member $member * @return boolean */ public function canView($member = null) { return true; } /** * * @param Member $member * @return boolean */ public function canCreate($member = null) { return $this->canManage($member); } /** * * @param Member $member * @return boolean */ public function canEdit($member = null) { return $this->canManage($member); } /** * * @param Member $member * @return boolean */ public function canDelete($member = null) { return $this->canManage($member); } /** * * @param Member $member * @return boolean */ protected function canManage($member) { return Permission::check('ADMIN', 'any', $member) || Permission::check('EVENT_MANAGE', 'any', $member); } } |