diff options
Diffstat (limited to 'bridges/NasaApodBridge.php')
-rw-r--r-- | bridges/NasaApodBridge.php | 89 |
1 files changed, 45 insertions, 44 deletions
diff --git a/bridges/NasaApodBridge.php b/bridges/NasaApodBridge.php index f23f6da9..5aff63aa 100644 --- a/bridges/NasaApodBridge.php +++ b/bridges/NasaApodBridge.php @@ -1,46 +1,47 @@ <?php -class NasaApodBridge extends BridgeAbstract { - - const MAINTAINER = 'corenting'; - const NAME = 'NASA APOD Bridge'; - const URI = 'https://apod.nasa.gov/apod/'; - const CACHE_TIMEOUT = 43200; // 12h - const DESCRIPTION = 'Returns the 3 latest NASA APOD pictures and explanations'; - - public function collectData(){ - - $html = getSimpleHTMLDOM(self::URI . 'archivepix.html'); - - // Start at 1 to skip the "APOD Full Archive" on top of the page - for($i = 1; $i < 4; $i++) { - $item = array(); - - $uri_page = $html->find('a', $i + 3)->href; - $uri = self::URI . $uri_page; - $item['uri'] = $uri; - - $picture_html = getSimpleHTMLDOM($uri); - $picture_html_string = $picture_html->innertext; - - //Extract image and explanation - $image_wrapper = $picture_html->find('a', 1); - $image_path = $image_wrapper->href; - $img_placeholder = $image_wrapper->find('img', 0); - $img_alt = $img_placeholder->alt; - $img_style = $img_placeholder->style; - $image_uri = self::URI . $image_path; - $new_img_placeholder = "<img src=\"$image_uri\" alt=\"$img_alt\" style=\"$img_style\">"; - $media = "<a href=\"$image_uri\">$new_img_placeholder</a>"; - $explanation = $picture_html->find('p', 2)->innertext; - - //Extract date from the picture page - $date = explode(' ', $picture_html->find('p', 1)->innertext); - $item['timestamp'] = strtotime($date[4] . $date[3] . $date[2]); - - //Other informations - $item['content'] = $media . '<br />' . $explanation; - $item['title'] = $picture_html->find('b', 0)->innertext; - $this->items[] = $item; - } - } + +class NasaApodBridge extends BridgeAbstract +{ + const MAINTAINER = 'corenting'; + const NAME = 'NASA APOD Bridge'; + const URI = 'https://apod.nasa.gov/apod/'; + const CACHE_TIMEOUT = 43200; // 12h + const DESCRIPTION = 'Returns the 3 latest NASA APOD pictures and explanations'; + + public function collectData() + { + $html = getSimpleHTMLDOM(self::URI . 'archivepix.html'); + + // Start at 1 to skip the "APOD Full Archive" on top of the page + for ($i = 1; $i < 4; $i++) { + $item = []; + + $uri_page = $html->find('a', $i + 3)->href; + $uri = self::URI . $uri_page; + $item['uri'] = $uri; + + $picture_html = getSimpleHTMLDOM($uri); + $picture_html_string = $picture_html->innertext; + + //Extract image and explanation + $image_wrapper = $picture_html->find('a', 1); + $image_path = $image_wrapper->href; + $img_placeholder = $image_wrapper->find('img', 0); + $img_alt = $img_placeholder->alt; + $img_style = $img_placeholder->style; + $image_uri = self::URI . $image_path; + $new_img_placeholder = "<img src=\"$image_uri\" alt=\"$img_alt\" style=\"$img_style\">"; + $media = "<a href=\"$image_uri\">$new_img_placeholder</a>"; + $explanation = $picture_html->find('p', 2)->innertext; + + //Extract date from the picture page + $date = explode(' ', $picture_html->find('p', 1)->innertext); + $item['timestamp'] = strtotime($date[4] . $date[3] . $date[2]); + + //Other informations + $item['content'] = $media . '<br />' . $explanation; + $item['title'] = $picture_html->find('b', 0)->innertext; + $this->items[] = $item; + } + } } |