. */ /** * Event Service. This class provides functionality to * handle events */ require_once(FILESYSTEMROOTPATH."events/include/dao/EventDao.php"); class EventService { private $eventDao; /** * Default constructor * * @param EventDao */ public function __construct(EventDao $eventDao) { $this->eventDao = $eventDao; } /** * Load an event * * @param string id of the event to be loaded * @return Event containing the data of the requested event, or NULL in case event does not exist */ public function load($id) { return $this->eventDao->load($id); } /** * Load all future events for the Calendar * * @return array of arrays of events */ public function loadAllCalendar($time="future", $type=NULL, $bodyCode=NULL, $status=NULL) { $events = $this->eventDao->loadAllCalendar($time, $type, $bodyCode, $status); $ret = array(); foreach( $events as $event ) { $curId = $event->getId(); $ret[ $curId ][ 'id' ] = $curId; $ret[ $curId ][ 'status' ] = $event->getStatus(); $ret[ $curId ][ 'title' ] = "getTitle()."\">".$event->getTitle().""; $ret[ $curId ][ 'range' ] = $event->getRange(); $ret[ $curId ][ 'type' ] = $event->getType(); $ret[ $curId ][ 'arrival' ] = $event->getArrival(); $ret[ $curId ][ 'departure' ] = $event->getDeparture(); $ret[ $curId ][ 'applicationEnd' ] = $event->getApplicationEnd(); if ( strlen( $event->getLocalOrganisers() ) >0 ) { $localOrganisers = explode(',', $event->getLocalOrganisers()); foreach ( $localOrganisers as $localOrganiser ){ $ret[ $curId ][ 'localOrganisers' ][$localOrganiser] = "".$localOrganiser.""; } } if ( strlen( $event->getEuropeanOrganisers() ) >0 ) { $europeanOrganisers = explode(',', $event->getEuropeanOrganisers()); foreach ( $europeanOrganisers as $europeanOrganiser ){ $ret[ $curId ][ 'europeanOrganisers' ][$europeanOrganiser] = "".$europeanOrganiser.""; } } } return $ret; } /** * Load all events as array * #this is random code. Delete if not relevant. * @return array of events, where type is first key, and id second */ public function loadAllByType() { $events = $this->eventDao->loadAll("type"); $ret = array(); foreach( $events as $event ) { $ret[ $event->getType() ][ $event->getId() ] = $event->getName(); } return $ret; } /** * Save or update a event * * @param Event object with the event data * @return boolean true in case of success, false otherwise */ public function saveOrUpdate(IModel $event) { return $this->eventDao->saveOrUpdate($event); } }