public function testCalendar() { $event = new Event(); $this->assertNull($event->getCalendar()); $event->setCategory(new Calendar()); $this->assertType('Calendar', $event->getCalendar()); }
$response["error_message"] = "Some error occured while updating contingent {$contingent->getId()}."; } } else { $response["error"] = 1; $response["error_message"] = "Invalid ID,Expecting numeric ID"; } print json_encode($response); }); $app->put('/event/:id', function ($id) use($app, $eventMapper) { verifyRequiredParams(array('id', 'logo')); $event = new Event(); $event->setId($id); $event->setName($app->request()->put('name')); $event->setDetails($app->request()->put('details')); $event->setSlogan($app->request()->put('slogan')); $event->setCategory($app->request()->put('type')); $event->setRules($app->request()->put('rules')); $event->setStartDate($app->request()->put('start_date')); $event->setEndDate($app->request()->put('end_date')); $event->setStartTime($app->request()->put('start_time')); $event->setEndTime($app->request()->put('end_time')); $event->setGroupSize($app->request()->put('group_size')); $event->setLogo($app->request()->put('logo')); # --Getting the put vars and typecasting to int. Blehhh. Can't help, its PHP xD $feeHome = $app->request()->put('fee_home'); settype($feeHome, "integer"); $feeRemote = $app->request()->put('fee_remote'); settype($feeRemote, "integer"); #-- $event->setFeeHome($feeHome); $event->setFeeRemote($feeRemote);
public function addEvent(Event $l) { $this->collEvents[] = $l; $l->setCategory($this); }
function parse($syncId, &$nbEvents = 0, $enableCache = true, $forceFeed = false) { $nbEvents = 0; assert('is_int($syncId) && $syncId>0'); if (empty($this->id) || 0 == $this->id) { /* Le flux ne dispose pas pas d'id !. Ça arrive si on appelle parse() sans avoir appelé save() pour un nouveau flux. @TODO: un create() pour un nouveau flux ? */ $msg = 'Empty or null id for a feed! ' . 'See ' . __FILE__ . ' on line ' . __LINE__; error_log($msg, E_USER_ERROR); die($msg); // Arrêt, sinon création événements sans flux associé. } $feed = new SimplePie(); $feed->enable_cache($enableCache); $feed->force_feed($forceFeed); $feed->set_feed_url($this->url); $feed->set_useragent('Mozilla/4.0 Leed (LightFeed Aggregator) ' . VERSION_NAME . ' by idleman http://projet.idleman.fr/leed'); if (!$feed->init()) { $this->error = $feed->error; $this->lastupdate = $_SERVER['REQUEST_TIME']; $this->save(); return false; } $feed->handle_content_type(); // UTF-8 par défaut pour SimplePie if ($this->name == '') { $this->name = $feed->get_title(); } if ($this->name == '') { $this->name = $this->url; } $this->website = $feed->get_link(); $this->description = $feed->get_description(); $items = $feed->get_items(); $eventManager = new Event(); $events = array(); $iEvents = 0; foreach ($items as $item) { // Ne retient que les 100 premiers éléments de flux. if ($iEvents++ >= 100) { break; } // Si le guid existe déjà, on évite de le reparcourir. $alreadyParsed = $eventManager->load(array('guid' => $item->get_id(), 'feed' => $this->id)); if (isset($alreadyParsed) && $alreadyParsed != false) { $events[] = $alreadyParsed->getId(); continue; } // Initialisation des informations de l'événement (élt. de flux) $event = new Event(); $event->setSyncId($syncId); $event->setGuid($item->get_id()); $event->setTitle($item->get_title()); $event->setPubdate($item->get_date()); $event->setCreator('' == $item->get_author() ? '' : $item->get_author()->name); $event->setLink($item->get_permalink()); $event->setFeed($this->id); $event->setUnread(1); // inexistant, donc non-lu //Gestion de la balise enclosure pour les podcasts et autre cochonneries :) $enclosure = $item->get_enclosure(); if ($enclosure != null && $enclosure->link != '') { $enclosureName = substr($enclosure->link, strrpos($enclosure->link, '/') + 1, strlen($enclosure->link)); $enclosureArgs = strpos($enclosureName, '?'); if ($enclosureArgs !== false) { $enclosureName = substr($enclosureName, 0, $enclosureArgs); } $enclosureFormat = isset($enclosure->handler) ? $enclosure->handler : substr($enclosureName, strrpos($enclosureName, '.') + 1); $enclosure = '<div class="enclosure"><h1>Fichier média :</h1><a href="' . $enclosure->link . '"> ' . $enclosureName . '</a> <span>(Format ' . strtoupper($enclosureFormat) . ', ' . Functions::convertFileSize($enclosure->length) . ')</span></div>'; } else { $enclosure = ''; } $event->setContent($item->get_content() . $enclosure); $event->setDescription($item->get_description() . $enclosure); if (trim($event->getDescription()) == '') { $event->setDescription(substr($event->getContent(), 0, 300) . '…<br><a href="' . $event->getLink() . '">Lire la suite de l\'article</a>'); } if (trim($event->getContent()) == '') { $event->setContent($event->getDescription()); } $event->setCategory($item->get_category()); $event->save(); $nbEvents++; } $listid = ""; foreach ($events as $item) { $listid .= ',' . $item; } $query = 'UPDATE `' . MYSQL_PREFIX . 'event` SET syncId=' . $syncId . ' WHERE id in (0' . $listid . ');'; $myQuery = $this->customQuery($query); $this->lastupdate = $_SERVER['REQUEST_TIME']; $this->save(); return true; }