From ea46d532dc766e5643d8fcf74d1942c5f454eb04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre=20Mazi=C3=A8re?= Date: Sun, 28 Aug 2016 00:01:42 +0200 Subject: [PATCH] [TwitterBridge] fix getURI() and simplify code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Pierre Mazière --- bridges/TwitterBridge.php | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/bridges/TwitterBridge.php b/bridges/TwitterBridge.php index f107c35d..a3378e06 100644 --- a/bridges/TwitterBridge.php +++ b/bridges/TwitterBridge.php @@ -1,7 +1,7 @@ array( @@ -53,29 +53,28 @@ class TwitterBridge extends BridgeAbstract{ $params=$this->parameters[$this->queriedContext]; switch($this->queriedContext){ case 'By keyword or hashtag': - return $this->uri.'search?q='.urlencode($params['q']['value']); + return $this->uri.'search?q='.urlencode($params['q']['value']).'&f=tweets'; case 'By username': return $this->uri.urlencode($params['u']['value']). - (isset($params['norep']['value'])?'':'/with_replies'); + ($params['norep']['value']?'':'/with_replies'); } } public function collectData(){ $param=$this->parameters[$this->queriedContext]; $html = ''; - if (isset($param['q']['value'])) { /* keyword search mode */ - $html = $this->getSimpleHTMLDOM('https://twitter.com/search?q='.urlencode($param['q']['value']).'&f=tweets') or $this->returnServerError('No results for this query.'); - } - elseif (isset($param['u']['value'])) { /* user timeline mode */ - $html = $this->getSimpleHTMLDOM('https://twitter.com/'.urlencode($param['u']['value']).(isset($param['norep']['value'])?'':'/with_replies')) or $this->returnServerError('Requested username can\'t be found.'); - } - else { - $this->returnClientError('You must specify a keyword (?q=...) or a Twitter username (?u=...).'); + + $html = $this->getSimpleHTMLDOM($this->getURI()); + if(!$html){ + switch($this->queriedContext){ + case 'By keyword or hashtag': + $this->returnServerError('No results for this query.'); + case 'By username': + $this->returnServerError('Requested username can\'t be found.'); + } } - $hidePictures = false; - if (isset($param['nopic']['value'])) - $hidePictures = $param['nopic']['value']; + $hidePictures = $param['nopic']['value']; foreach($html->find('div.js-stream-tweet') as $tweet) { $item = array();