CourrierInternationalBridge.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. class CourrierInternationalBridge extends BridgeAbstract{
  3. const MAINTAINER = "teromene";
  4. const NAME = "Courrier International Bridge";
  5. const URI = "http://CourrierInternational.com/";
  6. const DESCRIPTION = "Courrier International bridge";
  7. public function collectData(){
  8. $html = $this->getSimpleHTMLDOM(self::URI)
  9. or $this->returnServerError('Error.');
  10. $element = $html->find("article");
  11. $article_count = 1;
  12. foreach($element as $article) {
  13. $item = array();
  14. $item['uri'] = $article->parent->getAttribute("href");
  15. if(strpos($item['uri'], "http") === FALSE) {
  16. $item['uri'] = self::URI.$item['uri'];
  17. }
  18. $page = $this->getSimpleHTMLDOM($item['uri']);
  19. $cleaner = new HTMLSanitizer();
  20. $item['content'] = $cleaner->sanitize($page->find("div.article-text")[0]);
  21. $item['title'] = strip_tags($article->find(".title")[0]);
  22. $dateTime = date_parse($page->find("time")[0]);
  23. $item['timestamp'] = mktime(
  24. $dateTime['hour'],
  25. $dateTime['minute'],
  26. $dateTime['second'],
  27. $dateTime['month'],
  28. $dateTime['day'],
  29. $dateTime['year']
  30. );
  31. $this->items[] = $item;
  32. $article_count ++;
  33. if($article_count > 5) break;
  34. }
  35. }
  36. public function getCacheDuration(){
  37. return 300; // 5 minutes
  38. }
  39. }
  40. ?>