CourrierInternationalBridge.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. class CourrierInternationalBridge extends BridgeAbstract{
  3. public function loadMetadatas() {
  4. $this->maintainer = "teromene";
  5. $this->name = "CourrierInternational";
  6. $this->uri = "http://CourrierInternational.fr/";
  7. $this->description = "Courrier International bridge";
  8. $this->update = "01/09/2015";
  9. }
  10. public function collectData(array $param){
  11. $html = '';
  12. $html = $this->file_get_html('http://www.courrierinternational.com/') or $this->returnError('Error.', 500);
  13. $element = $html->find("article");
  14. $article_count = 1;
  15. foreach($element as $article) {
  16. $item = new \Item();
  17. $item->uri = $article->parent->getAttribute("href");
  18. if(strpos($item->uri, "http") === FALSE) {
  19. $item->uri = "http://courrierinternational.fr/".$item->uri;
  20. }
  21. $page = $this->file_get_html($item->uri);
  22. $cleaner = new HTMLSanitizer();
  23. $item->content = $cleaner->sanitize($page->find("div.article-text")[0]);
  24. $item->title = strip_tags($article->find(".title")[0]);
  25. $dateTime = date_parse($page->find("time")[0]);
  26. $item->timestamp = mktime(
  27. $dateTime['hour'],
  28. $dateTime['minute'],
  29. $dateTime['second'],
  30. $dateTime['month'],
  31. $dateTime['day'],
  32. $dateTime['year']
  33. );
  34. $this->items[] = $item;
  35. $article_count ++;
  36. if($article_count > 5) break;
  37. }
  38. }
  39. public function getName(){
  40. return 'Courrier International Bridge';
  41. }
  42. public function getURI(){
  43. return 'http://courrierinternational.com';
  44. }
  45. public function getCacheDuration(){
  46. return 300; // 5 minutes
  47. }
  48. }
  49. ?>