From 6abca16f06334784a87b5fd20a1239dd87780289 Mon Sep 17 00:00:00 2001 From: ORelio Date: Sun, 17 Jul 2016 14:40:03 +0200 Subject: [PATCH] [EstCeQuonMetEnProd] Add EstCeQuonMetEnProd Bridge Should we put a website in production today? --- bridges/EstCeQuonMetEnProdBridge.php | 56 ++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 bridges/EstCeQuonMetEnProdBridge.php diff --git a/bridges/EstCeQuonMetEnProdBridge.php b/bridges/EstCeQuonMetEnProdBridge.php new file mode 100644 index 0000000..7d3e652 --- /dev/null +++ b/bridges/EstCeQuonMetEnProdBridge.php @@ -0,0 +1,56 @@ +maintainer = 'ORelio'; + $this->name = $this->getName(); + $this->uri = $this->getURI(); + $this->description = $this->getDescription(); + $this->update = "02/07/2016"; + } + + public function collectData(array $param) { + function ExtractFromDelimiters($string, $start, $end) { + if (strpos($string, $start) !== false) { + $section_retrieved = substr($string, strpos($string, $start) + strlen($start)); + $section_retrieved = substr($section_retrieved, 0, strpos($section_retrieved, $end)); + return $section_retrieved; + } return false; + } + + $html = $this->file_get_html($this->getURI()) or $this->returnError('Could not request EstCeQuonMetEnProd: '.$this->getURI(), 500); + + $img = $html->find('img', 0); + if (is_object($img)) { + $img = $img->src; + if ($img[0] == '/') + $img = substr($this->getURI(), 0, strlen($this->getURI()) - 1).$img; + } + + $item = new \Item(); + $item->uri = $this->getURI().'#'.date('Y-m-d'); + $item->thumbnailUri = $img; + $item->title = $this->getName(); + $item->author = 'Nicolas Hoffmann'; + $item->timestamp = strtotime('today midnight'); + $item->content = str_replace('src="/', 'src="'.$this->getURI(), trim(ExtractFromDelimiters($html->outertext, '', '

'))); + $this->items[] = $item; + } + + public function getName() { + return 'Est-ce qu\'on met en prod aujourd\'hui ?'; + } + + public function getURI() { + return 'https://www.estcequonmetenprodaujourdhui.info/'; + } + + public function getDescription() { + return 'Should we put a website in production today? (French)'; + } + + public function getCacheDuration() { + return 21600; // 6 hours + } +} +?> \ No newline at end of file