CADBridge.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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->extractCADContent($item['uri']);
  14. return $item;
  15. }
  16. private function extractCADContent($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. }