CADBridge.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. class CADBridge extends FeedExpander {
  3. const MAINTAINER = "nyutag";
  4. const NAME = "CAD Bridge";
  5. const URI = "http://www.cad-comic.com/";
  6. const CACHE_TIMEOUT = 7200; //2h
  7. const DESCRIPTION = "Returns the newest articles.";
  8. public function collectData(){
  9. $this->collectExpandableDatas('http://cdn2.cad-comic.com/rss.xml', 10);
  10. }
  11. protected function parseItem($newsItem){
  12. $item = parent::parseItem($newsItem);
  13. $item['content'] = $this->CADExtractContent($item['uri']);
  14. return $item;
  15. }
  16. private function CADExtractContent($url) {
  17. $html3 = getSimpleHTMLDOMCached($url);
  18. // The request might fail due to missing https support or wrong URL
  19. if($html3 == false)
  20. return 'Daily comic not released yet';
  21. $htmlpart = explode("/", $url);
  22. switch ($htmlpart[3]){
  23. case 'cad':
  24. preg_match_all("/http:\/\/cdn2\.cad-comic\.com\/comics\/cad-\S*png/", $html3, $url2);
  25. break;
  26. case 'sillies':
  27. preg_match_all("/http:\/\/cdn2\.cad-comic\.com\/comics\/sillies-\S*gif/", $html3, $url2);
  28. break;
  29. default:
  30. return 'Daily comic not released yet';
  31. }
  32. $img = implode ($url2[0]);
  33. $html3->clear();
  34. unset ($html3);
  35. if ($img == '')
  36. return 'Daily comic not released yet';
  37. return '<img src="'.$img.'"/>';
  38. }
  39. }
  40. ?>