TagBoardBridge.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. class TagBoardBridge extends BridgeAbstract{
  3. const MAINTAINER = "Pitchoule";
  4. const NAME = "TagBoard";
  5. const URI = "http://www.TagBoard.com/";
  6. const CACHE_TIMEOUT = 21600; // 6h
  7. const DESCRIPTION = "Returns most recent results from TagBoard.";
  8. const PARAMETERS = array( array(
  9. 'u'=>array(
  10. 'name'=>'keyword',
  11. 'required'=>true
  12. )
  13. ));
  14. public function collectData(){
  15. $link = 'https://post-cache.tagboard.com/search/' .$this->getInput('u');
  16. $html = getSimpleHTMLDOM($link)
  17. or returnServerError('Could not request TagBoard for : ' . $link);
  18. $parsed_json = json_decode($html);
  19. foreach($parsed_json->{'posts'} as $element) {
  20. $item = array();
  21. $item['uri'] = $element->{'permalink'};
  22. $item['title'] = $element->{'text'};
  23. $thumbnailUri = $element->{'photos'}[0]->{'m'};
  24. if (isset($thumbnailUri)) {
  25. $item['content'] = '<a href="' . $item['uri'] . '"><img src="' . $thumbnailUri . '" /></a>';
  26. }else{
  27. $item['content'] = $element->{'html'};
  28. }
  29. $this->items[] = $item;
  30. }
  31. }
  32. public function getName(){
  33. return 'tagboard - ' .$this->getInput('u');
  34. }
  35. }