.
*/
/**
* 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);
}
}