DauphineLibereBridge.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. class DauphineLibereBridge extends FeedExpander {
  3. const MAINTAINER = "qwertygc";
  4. const NAME = "Dauphine Bridge";
  5. const URI = "http://www.ledauphine.com/";
  6. const DESCRIPTION = "Returns the newest articles.";
  7. const PARAMETERS = array( array(
  8. 'u'=>array(
  9. 'name'=>'Catégorie de l\'article',
  10. 'type'=>'list',
  11. 'values'=>array(
  12. 'À la une'=>'',
  13. 'France Monde'=>'france-monde',
  14. 'Faits Divers'=>'faits-divers',
  15. 'Économie et Finance'=>'economie-et-finance',
  16. 'Politique'=>'politique',
  17. 'Sport'=>'sport',
  18. 'Ain'=>'ain',
  19. 'Alpes-de-Haute-Provence'=>'haute-provence',
  20. 'Hautes-Alpes'=>'hautes-alpes',
  21. 'Ardèche'=>'ardeche',
  22. 'Drôme'=>'drome',
  23. 'Isère Sud'=>'isere-sud',
  24. 'Savoie'=>'savoie',
  25. 'Haute-Savoie'=>'haute-savoie',
  26. 'Vaucluse'=>'vaucluse'
  27. )
  28. )
  29. ));
  30. public function collectData(){
  31. $url = self::URI . 'rss';
  32. if (empty($this->getInput('u'))) {
  33. $url = self::URI . $this->getInput('u') . '/rss';
  34. }
  35. $this->collectExpandableDatas($url, 10);
  36. }
  37. protected function parseItem($newsItem){
  38. $item = parent::parseItem($newsItem);
  39. $item['content'] = $this->ExtractContent($item['uri']);
  40. return $item;
  41. }
  42. private function ExtractContent($url) {
  43. $html2 = getSimpleHTMLDOMCached($url);
  44. $text = $html2->find('div.column', 0)->innertext;
  45. $text = preg_replace('@<script[^>]*?>.*?</script>@si', '', $text);
  46. return $text;
  47. }
  48. public function getCacheDuration(){
  49. return 3600*2; // 2 hours
  50. }
  51. }
  52. ?>