aboutsummaryrefslogtreecommitdiff
path: root/bridges/CollegeDeFranceBridge.php
diff options
context:
space:
mode:
Diffstat (limited to 'bridges/CollegeDeFranceBridge.php')
-rw-r--r--bridges/CollegeDeFranceBridge.php146
1 files changed, 74 insertions, 72 deletions
diff --git a/bridges/CollegeDeFranceBridge.php b/bridges/CollegeDeFranceBridge.php
index 3c241834..2a1b33d4 100644
--- a/bridges/CollegeDeFranceBridge.php
+++ b/bridges/CollegeDeFranceBridge.php
@@ -1,83 +1,85 @@
<?php
-class CollegeDeFranceBridge extends BridgeAbstract {
- const MAINTAINER = 'pit-fgfjiudghdf';
- const NAME = 'CollegeDeFrance';
- const URI = 'https://www.college-de-france.fr/';
- const CACHE_TIMEOUT = 10800; // 3h
- const DESCRIPTION = 'Returns the latest audio and video from CollegeDeFrance';
+class CollegeDeFranceBridge extends BridgeAbstract
+{
+ const MAINTAINER = 'pit-fgfjiudghdf';
+ const NAME = 'CollegeDeFrance';
+ const URI = 'https://www.college-de-france.fr/';
+ const CACHE_TIMEOUT = 10800; // 3h
+ const DESCRIPTION = 'Returns the latest audio and video from CollegeDeFrance';
- public function collectData(){
- $months = array(
- '01' => 'janv.',
- '02' => 'févr.',
- '03' => 'mars',
- '04' => 'avr.',
- '05' => 'mai',
- '06' => 'juin',
- '07' => 'juil.',
- '08' => 'août',
- '09' => 'sept.',
- '10' => 'oct.',
- '11' => 'nov.',
- '12' => 'déc.'
- );
+ public function collectData()
+ {
+ $months = [
+ '01' => 'janv.',
+ '02' => 'févr.',
+ '03' => 'mars',
+ '04' => 'avr.',
+ '05' => 'mai',
+ '06' => 'juin',
+ '07' => 'juil.',
+ '08' => 'août',
+ '09' => 'sept.',
+ '10' => 'oct.',
+ '11' => 'nov.',
+ '12' => 'déc.'
+ ];
- // The "API" used by the site returns a list of partial HTML in this form
- /* <li>
- * <a href="/site/thomas-romer/guestlecturer-2016-04-15-14h30.htm" data-target="after">
- * <span class="date"><span class="list-icon list-icon-video"></span>
- * <span class="list-icon list-icon-audio"></span>15 avr. 2016</span>
- * <span class="lecturer">Christopher Hays</span>
- * <span class='title'>Imagery of Divine Suckling in the Hebrew Bible and the Ancient Near East</span>
- * </a>
- * </li>
- */
- $html = getSimpleHTMLDOM(self::URI
- . 'components/search-audiovideo.jsp?fulltext=&siteid=1156951719600&lang=FR&type=all');
+ // The "API" used by the site returns a list of partial HTML in this form
+ /* <li>
+ * <a href="/site/thomas-romer/guestlecturer-2016-04-15-14h30.htm" data-target="after">
+ * <span class="date"><span class="list-icon list-icon-video"></span>
+ * <span class="list-icon list-icon-audio"></span>15 avr. 2016</span>
+ * <span class="lecturer">Christopher Hays</span>
+ * <span class='title'>Imagery of Divine Suckling in the Hebrew Bible and the Ancient Near East</span>
+ * </a>
+ * </li>
+ */
+ $html = getSimpleHTMLDOM(self::URI
+ . 'components/search-audiovideo.jsp?fulltext=&siteid=1156951719600&lang=FR&type=all');
- foreach($html->find('a[data-target]') as $element) {
- $item = array();
- $item['title'] = $element->find('.title', 0)->plaintext;
+ foreach ($html->find('a[data-target]') as $element) {
+ $item = [];
+ $item['title'] = $element->find('.title', 0)->plaintext;
- // Most relative URLs contains an hour in addition to the date, so let's use it
- // <a href="/site/yann-lecun/course-2016-04-08-11h00.htm" data-target="after">
- //
- // Sometimes there's an __1, perhaps it signifies an update
- // "/site/patrick-boucheron/seminar-2016-05-03-18h00__1.htm"
- //
- // But unfortunately some don't have any hours info
- // <a href="/site/institut-physique/
- // The-Mysteries-of-Decoherence-Sebastien-Gleyzes-[Video-3-35].htm" data-target="after">
- $timezone = new DateTimeZone('Europe/Paris');
+ // Most relative URLs contains an hour in addition to the date, so let's use it
+ // <a href="/site/yann-lecun/course-2016-04-08-11h00.htm" data-target="after">
+ //
+ // Sometimes there's an __1, perhaps it signifies an update
+ // "/site/patrick-boucheron/seminar-2016-05-03-18h00__1.htm"
+ //
+ // But unfortunately some don't have any hours info
+ // <a href="/site/institut-physique/
+ // The-Mysteries-of-Decoherence-Sebastien-Gleyzes-[Video-3-35].htm" data-target="after">
+ $timezone = new DateTimeZone('Europe/Paris');
- // strpos($element->href, '201') will break in 2020 but it'll
- // probably break prior to then due to site changes anyway
- $d = DateTime::createFromFormat(
- '!Y-m-d-H\hi',
- substr($element->href, strpos($element->href, '201'), 16),
- $timezone
- );
+ // strpos($element->href, '201') will break in 2020 but it'll
+ // probably break prior to then due to site changes anyway
+ $d = DateTime::createFromFormat(
+ '!Y-m-d-H\hi',
+ substr($element->href, strpos($element->href, '201'), 16),
+ $timezone
+ );
- if(!$d) {
- $d = DateTime::createFromFormat(
- '!d m Y',
- trim(str_replace(
- array_values($months),
- array_keys($months),
- $element->find('.date', 0)->plaintext
- )),
- $timezone
- );
- }
+ if (!$d) {
+ $d = DateTime::createFromFormat(
+ '!d m Y',
+ trim(str_replace(
+ array_values($months),
+ array_keys($months),
+ $element->find('.date', 0)->plaintext
+ )),
+ $timezone
+ );
+ }
- $item['timestamp'] = $d->format('U');
- $item['content'] = $element->find('.lecturer', 0)->innertext
- . ' - '
- . $element->find('.title', 0)->innertext;
+ $item['timestamp'] = $d->format('U');
+ $item['content'] = $element->find('.lecturer', 0)->innertext
+ . ' - '
+ . $element->find('.title', 0)->innertext;
- $item['uri'] = self::URI . $element->href;
- $this->items[] = $item;
- }
- }
+ $item['uri'] = self::URI . $element->href;
+ $this->items[] = $item;
+ }
+ }
}