AllocineFRBridge.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. class AllocineFRBridge extends BridgeAbstract{
  3. const MAINTAINER = "superbaillot.net";
  4. const NAME = "Allo Cine Bridge";
  5. const CACHE_TIMEOUT = 25200; // 7h
  6. const URI = "http://www.allocine.fr/";
  7. const DESCRIPTION = "Bridge for allocine.fr";
  8. const PARAMETERS = array( array(
  9. 'category'=>array(
  10. 'name'=>'category',
  11. 'type'=>'list',
  12. 'required'=>true,
  13. 'exampleValue'=>'Faux Raccord',
  14. 'title'=>'Select your category',
  15. 'values'=>array(
  16. 'Faux Raccord'=>'faux-raccord',
  17. 'Top 5'=>'top-5',
  18. 'Tueurs en Séries'=>'tueurs-en-serie'
  19. )
  20. )
  21. ));
  22. public function getURI(){
  23. switch($this->getInput('category')){
  24. case 'faux-raccord':
  25. $uri = static::URI.'video/programme-12284/saison-27129/';
  26. break;
  27. case 'top-5':
  28. $uri = static::URI.'video/programme-12299/saison-29561/';
  29. break;
  30. case 'tueurs-en-serie':
  31. $uri = static::URI.'video/programme-12286/saison-22938/';
  32. break;
  33. }
  34. return $uri;
  35. }
  36. public function getName(){
  37. return self::NAME.' : '
  38. .array_search(
  39. $this->getInput('category'),
  40. self::PARAMETERS[$this->queriedContext]['category']['values']
  41. );
  42. }
  43. public function collectData(){
  44. $html = getSimpleHTMLDOM($this->getURI())
  45. or returnServerError("Could not request ".$this->getURI()." !");
  46. $category=array_search(
  47. $this->getInput('category'),
  48. self::PARAMETERS[$this->queriedContext]['category']['values']
  49. );
  50. foreach($html->find('figure.media-meta-fig') as $element)
  51. {
  52. $item = array();
  53. $title = $element->find('div.titlebar h3.title a', 0);
  54. $content = trim($element->innertext);
  55. $figCaption = strpos($content, $category);
  56. if($figCaption !== false)
  57. {
  58. $content = str_replace('src="/', 'src="'.static::URI, $content);
  59. $content = str_replace('href="/', 'href="'.static::URI, $content);
  60. $content = str_replace('src=\'/', 'src=\''.static::URI, $content);
  61. $content = str_replace('href=\'/', 'href=\''.static::URI, $content);
  62. $item['content'] = $content;
  63. $item['title'] = trim($title->innertext);
  64. $item['uri'] = static::URI . $title->href;
  65. $this->items[] = $item;
  66. }
  67. }
  68. }
  69. }