From 41a8eb74a1ec4d7bc514f122025e31ca902c9af3 Mon Sep 17 00:00:00 2001 From: Joseph Date: Sat, 6 Jul 2019 09:57:48 +0000 Subject: [PATCH] [PinterestBridge] Remove search (#1206) * Remove getSearchResults() * Remove ''From search' from PARAMETERS array * Update getURI() and getName() * Update collectData() * Add '.rss' to URL in `collectData` instead of in `getURI` --- bridges/PinterestBridge.php | 90 ++++++------------------------------- 1 file changed, 13 insertions(+), 77 deletions(-) diff --git a/bridges/PinterestBridge.php b/bridges/PinterestBridge.php index 2917b267..3e518634 100644 --- a/bridges/PinterestBridge.php +++ b/bridges/PinterestBridge.php @@ -16,12 +16,6 @@ class PinterestBridge extends FeedExpander { 'name' => 'board', 'required' => true ) - ), - 'From search' => array( - 'q' => array( - 'name' => 'Keyword', - 'required' => true - ) ) ); @@ -29,17 +23,9 @@ class PinterestBridge extends FeedExpander { return 'https://s.pinimg.com/webapp/style/images/favicon-9f8f9adf.png'; } - public function collectData(){ - switch($this->queriedContext) { - case 'By username and board': - $this->collectExpandableDatas($this->getURI() . '.rss'); - $this->fixLowRes(); - break; - case 'From search': - default: - $html = getSimpleHTMLDOMCached($this->getURI()); - $this->getSearchResults($html); - } + public function collectData() { + $this->collectExpandableDatas($this->getURI() . '.rss'); + $this->fixLowRes(); } private function fixLowRes() { @@ -55,71 +41,21 @@ class PinterestBridge extends FeedExpander { } - private function getSearchResults($html){ - $json = json_decode($html->find('#jsInit1', 0)->innertext, true); - $results = $json['resourceDataCache'][0]['data']['results']; + public function getURI() { - foreach($results as $result) { - $item = array(); - - $item['uri'] = self::URI . $result['board']['url']; - - // Some use regular titles, others provide 'advanced' infos, a few - // provide even less info. Thus we attempt multiple options. - $item['title'] = trim($result['title']); - - if($item['title'] === '') - $item['title'] = trim($result['rich_summary']['display_name']); - - if($item['title'] === '') - $item['title'] = trim($result['grid_description']); - - $item['timestamp'] = strtotime($result['created_at']); - $item['username'] = $result['pinner']['username']; - $item['fullname'] = $result['pinner']['full_name']; - $item['avatar'] = $result['pinner']['image_small_url']; - $item['author'] = $item['username'] . ' (' . $item['fullname'] . ')'; - $item['content'] = '

' - . $item['username'] - . '
' - . $item['fullname'] - . '



' - . $result['description'] - . '

'; - - $item['enclosures'] = array($result['images']['orig']['url']); - - $this->items[] = $item; + if ($this->queriedContext === 'By username and board') { + return self::URI . '/' . urlencode($this->getInput('u')) . '/' . urlencode($this->getInput('b')); } + + return parent::getURI(); } - public function getURI(){ - switch($this->queriedContext) { - case 'By username and board': - $uri = self::URI . '/' . urlencode($this->getInput('u')) . '/' . urlencode($this->getInput('b'));// . '.rss'; - break; - case 'From search': - $uri = self::URI . '/search/?q=' . urlencode($this->getInput('q')); - break; - default: return parent::getURI(); - } - return $uri; - } + public function getName() { - public function getName(){ - switch($this->queriedContext) { - case 'By username and board': - $specific = $this->getInput('u') . ' - ' . $this->getInput('b'); - break; - case 'From search': - $specific = $this->getInput('q'); - break; - default: return parent::getName(); + if ($this->queriedContext === 'By username and board') { + return $this->getInput('u') . ' - ' . $this->getInput('b') . ' - ' . self::NAME; } - return $specific . ' - ' . self::NAME; + + return parent::getName(); } }