diff --git a/bridges/PinterestBridge.php b/bridges/PinterestBridge.php index 2917b267d96..3e518634fb1 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 @@ public function getIcon() { 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 @@ private function fixLowRes() { } - private function getSearchResults($html){ - $json = json_decode($html->find('#jsInit1', 0)->innertext, true); - $results = $json['resourceDataCache'][0]['data']['results']; - - 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']); + public function getURI() { - 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')); } - } - 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; + return parent::getURI(); } - 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(); + public function getName() { + + if ($this->queriedContext === 'By username and board') { + return $this->getInput('u') . ' - ' . $this->getInput('b') . ' - ' . self::NAME; } - return $specific . ' - ' . self::NAME; + + return parent::getName(); } }