CollegeDeFranceBridge.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. /**
  3. * RssBridgeCollegeDeFrance
  4. * Returns the 10 newest posts from http://www.college-de-france.fr
  5. *
  6. * @name CollegeDeFrance
  7. * @homepage http://www.college-de-france.fr/
  8. * @description Returns the 10 newest posts from CollegeDeFrance
  9. * @maintainer pit-fgfjiudghdf
  10. * @update 2014-05-26
  11. */
  12. class CollegeDeFranceBridge extends BridgeAbstract{
  13. public function collectData(array $param){
  14. $find = array('janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'novembre', 'décembre');
  15. $replace = array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
  16. $html = file_get_html('http://www.college-de-france.fr/site/audio-video/_audiovideos.jsp?index=0&prompt=&fulltextdefault=mots-cles...&fulltext=mots-cles...&fields=TYPE2_ACTIVITY&fieldsdefault=0_0&TYPE2=0') or $this->returnError('Could not request CollegeDeFrance.', 404);
  17. $limit = 0;
  18. foreach($html->find('li.audio') as $element) {
  19. if($limit < 10) {
  20. $item = new \Item();
  21. $item->title = $element->find('span.title', 0)->plaintext;
  22. $item->timestamp = strtotime(str_replace($find, $replace, $element->find('span.date', 0)->plaintext));
  23. $item->content = $element->find('span.lecturer', 0)->innertext . ' - ' . $element->find('span.title', 0)->innertext;
  24. $item->uri = $element->find('a', 0)->href;
  25. $this->items[] = $item;
  26. $limit++;
  27. }
  28. }
  29. }
  30. public function getName(){
  31. return 'CollegeDeFrance';
  32. }
  33. public function getURI(){
  34. return 'http://www.college-de-france.fr/';
  35. }
  36. public function getCacheDuration(){
  37. return 3600*3; // 3 hour
  38. }
  39. }