CryptomeBridge.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. class CryptomeBridge extends BridgeAbstract {
  3. const MAINTAINER = 'BoboTiG';
  4. const NAME = 'Cryptome';
  5. const URI = 'https://cryptome.org/';
  6. const CACHE_TIMEOUT = 21600; //6h
  7. const DESCRIPTION = 'Returns the N most recent documents.';
  8. const PARAMETERS = array( array(
  9. 'n' => array(
  10. 'name' => 'number of elements',
  11. 'type' => 'number',
  12. 'defaultValue' => 20,
  13. 'exampleValue' => 10
  14. )
  15. ));
  16. public function collectData(){
  17. $html = getSimpleHTMLDOM(self::URI)
  18. or returnServerError('Could not request Cryptome.');
  19. $number = $this->getInput('n');
  20. /* number of documents */
  21. if(!empty($number)) {
  22. $num = min($number, 20);
  23. }
  24. foreach($html->find('pre') as $element) {
  25. for($i = 0; $i < $num; ++$i) {
  26. $item = array();
  27. $item['uri'] = self::URI . substr($element->find('a', $i)->href, 20);
  28. $item['title'] = substr($element->find('b', $i)->plaintext, 22);
  29. $item['content'] = preg_replace(
  30. '#http://cryptome.org/#',
  31. self::URI,
  32. $element->find('b', $i)->innertext
  33. );
  34. $this->items[] = $item;
  35. }
  36. break;
  37. }
  38. }
  39. }