From 539d9f1f0697e1889809b482036cc4265a93b086 Mon Sep 17 00:00:00 2001 From: teromene Date: Wed, 18 Apr 2018 12:39:45 +0200 Subject: [PATCH] Add SupInfoBridge, fixes #668 --- bridges/SupInfoBridge.php | 57 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 bridges/SupInfoBridge.php diff --git a/bridges/SupInfoBridge.php b/bridges/SupInfoBridge.php new file mode 100644 index 0000000..40160e4 --- /dev/null +++ b/bridges/SupInfoBridge.php @@ -0,0 +1,57 @@ + array( + 'name' => 'Category (not mandatory)', + 'type' => 'text', + ) + )); + + public function collectData() { + + if(empty($this->getInput('tag'))) { + $html = getSimpleHTMLDOM(self::URI . '/articles/') + or returnServerError('Unable to fetch articles !'); + } else { + $html = getSimpleHTMLDOM(self::URI . '/articles/tag/' . $this->getInput('tag')) + or returnServerError('Unable to fetch articles !'); + } + $content = $html->find('#latest', 0)->find('ul[class=courseContent]', 0); + + for($i = 0; $i < 5; $i++) { + + $this->items[] = $this->fetchArticle($content->find('h4', $i)->find('a', 0)->href); + + } + } + + public function fetchArticle($link) { + + $articleHTML = getSimpleHTMLDOM(self::URI . $link) + or returnServerError('Unable to fetch article !'); + + $article = $articleHTML->find('div[id=courseDocZero]', 0); + $item = array(); + $item['author'] = $article->find('#courseMetas', 0)->find('a', 0)->plaintext; + $item['id'] = $link; + $item['uri'] = self::URI . $link; + $item['title'] = $article->find('h1', 0)->plaintext; + $date = explode(' ', $article->find('#courseMetas', 0)->find('span', 1)->plaintext); + $item['timestamp'] = DateTime::createFromFormat('d/m/Y H:i:s', $date[2] . ' ' . $date[4])->getTimestamp(); + + $article->find('div[id=courseHeader]', 0)->innertext = ''; + $article->find('div[id=author-infos]', 0)->innertext = ''; + $article->find('div[id=cartouche-tete]', 0)->innertext = ''; + $item['content'] = $article; + + return $item; + + } + +}