From a4db8dc4959ee5e6ebcf08f052dc15d85bebf6f0 Mon Sep 17 00:00:00 2001 From: niawag Date: Sun, 2 Oct 2016 15:09:51 +0200 Subject: [PATCH] Add user feed, category feed and search in category feed I tested it and everything is working, I incorporated the changes suggested by mitsukarenai, thank a lot! --- bridges/ThePirateBayBridge.php | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/bridges/ThePirateBayBridge.php b/bridges/ThePirateBayBridge.php index ba95773..33f5af8 100644 --- a/bridges/ThePirateBayBridge.php +++ b/bridges/ThePirateBayBridge.php @@ -4,7 +4,7 @@ class ThePirateBayBridge extends BridgeAbstract{ const MAINTAINER = "mitsukarenai"; const NAME = "The Pirate Bay"; const URI = "https://thepiratebay.org/"; - const DESCRIPTION = "Returns results for the keywords. You can put several list of keywords by separating them with a semicolon (e.g. \"one show;another show\"). Category based search needs the category number as input. User based search takes the Uploader name"; + const DESCRIPTION = "Returns results for the keywords. You can put several list of keywords by separating them with a semicolon (e.g. \"one show;another show\"). Category based search needs the category number as input. User based search takes the Uploader name. Search can be done in a specified category"; const PARAMETERS = array( array( 'q'=>array( @@ -21,6 +21,14 @@ class ThePirateBayBridge extends BridgeAbstract{ 'user'=>'usr' ) ), + 'cat_check'=>array( + 'type'=>'checkbox', + 'name'=>'Specify category for normal search ?', + ), + 'cat'=>array( + 'name'=>'Category number', + 'exampleValue'=>'100, 200… See TPB for category number' + ), )); public function collectData(){ @@ -58,13 +66,26 @@ class ThePirateBayBridge extends BridgeAbstract{ return $timestamp; } + $catBool = $this->getInput('cat_check'); + if ($catBool) + { + $catNum = $this->getInput('cat'); + } $critList = $this->getInput('crit'); $keywordsList = explode(";",$this->getInput('q')); foreach($keywordsList as $keywords){ switch ($critList) { case "search": - $html = $this->getSimpleHTMLDOM(self::URI.'search/'.rawurlencode($keywords).'/0/3/0') - or $this->returnServerError('Could not request TPB.'); + if ($catBool == FALSE) + { + $html = $this->getSimpleHTMLDOM(self::URI.'search/'.rawurlencode($keywords).'/0/3/0') + or $this->returnServerError('Could not request TPB.'); + } + else + { + $html = $this->getSimpleHTMLDOM(self::URI.'search/'.rawurlencode($keywords).'/0/3/'.rawurlencode($catNum)) + or $this->returnServerError('Could not request TPB.'); + } break; case "cat": $html = $this->getSimpleHTMLDOM(self::URI.'browse/'.rawurlencode($keywords).'/0/3/0') @@ -90,7 +111,7 @@ class ThePirateBayBridge extends BridgeAbstract{ $item['title'] = $element->find('a.detLink',0)->plaintext; $item['seeders'] = (int)$element->find('td',2)->plaintext; $item['leechers'] = (int)$element->find('td',3)->plaintext; - $item['content'] = $element->find('font',0)->plaintext.'
seeders: '.$item['seeders'].' | leechers: '.$item['leechers'].'
download'; + $item['content'] = $element->find('font',0)->plaintext.'
seeders: '.$item['seeders'].' | leechers: '.$item['leechers'].'
info page'; if(isset($item['title'])) $this->items[] = $item; }