diff --git a/bridges/PinterestBridge.php b/bridges/PinterestBridge.php index 12e907a8..bae59da2 100644 --- a/bridges/PinterestBridge.php +++ b/bridges/PinterestBridge.php @@ -1,101 +1,99 @@ array( - 'u'=>array( - 'name'=>'username', - 'required'=>true - ), - 'b'=>array( - 'name'=>'board', - 'required'=>true - ) - ), - 'From search' => array( - 'q'=>array( - 'name'=>'Keyword', - 'required'=>true - ) - ) - ); + const PARAMETERS = array( + 'By username and board' => array( + 'u' => array( + 'name' => 'username', + 'required' => true + ), + 'b' => array( + 'name' => 'board', + 'required' => true + ) + ), + 'From search' => array( + 'q' => array( + 'name' => 'Keyword', + 'required' => true + ) + ) + ); + public function collectData(){ + $html = $this->getSimpleHTMLDOM($this->getURI()); + if(!$html){ + switch($this->queriedContext){ + case 'By username and board': + $this->returnServerError('Username and/or board not found'); + case 'From search': + $this->returnServerError('Could not request Pinterest.'); + } + } - public function collectData(){ - $html = $this->getSimpleHTMLDOM($this->getURI()) ; - if(!$html){ - switch($this->queriedContext){ - case 'By username and board': - $this->returnServerError('Username and/or board not found'); - case 'From search': - $this->returnServerError('Could not request Pinterest.'); - } - } + foreach($html->find('div.pinWrapper') as $div){ + $a = $div->find('a.pinImageWrapper', 0); + $img = $a->find('img', 0); - foreach($html->find('div.pinWrapper') as $div) - { - $a = $div->find('a.pinImageWrapper',0); + $item = array(); + $item['uri'] = $this->getURI() . $a->getAttribute('href'); + $item['content'] = ''; - $img = $a->find('img', 0); - - $item = array(); - $item['uri'] = $this->getURI().$a->getAttribute('href'); - $item['content'] = ''; - - - if ($this->queriedContext==='From search') - { - $avatar = $div->find('div.creditImg', 0)->find('img', 0); + if($this->queriedContext === 'From search'){ + $avatar = $div->find('div.creditImg', 0)->find('img', 0); $avatar = $avatar->getAttribute('data-src'); $avatar = str_replace("\\", "", $avatar); + $username = $div->find('div.creditName', 0); + $board = $div->find('div.creditTitle', 0); - $username = $div->find('div.creditName', 0); - $board = $div->find('div.creditTitle', 0); + $item['username'] = $username->innertext; + $item['fullname'] = $board->innertext; + $item['avatar'] = $avatar; - $item['username'] =$username->innertext; - $item['fullname'] = $board->innertext; - $item['avatar'] = $avatar; + $item['content'] .= '
' + . $item['username'] + . '' + . '
' + . $item['fullname']; + } - $item['content'] .= '
'.$item['username'].''; - $item['content'] .= '
'.$item['fullname']; - } + $item['title'] = $img->getAttribute('alt'); - $item['title'] = $img->getAttribute('alt'); + $this->items[] = $item; + } + } - //$item['timestamp'] = $media->created_time; - $this->items[] = $item; + public function getURI(){ + switch($this->queriedContext){ + case 'By username and board': + $uri = self::URI . urlencode($this->getInput('u')) . '/' . urlencode($this->getInput('b')); + break; + case 'From search': + $uri = self::URI . 'search/?q=' . urlencode($this->getInput('q')); + break; + } + return $uri; + } - } - } - - public function getURI(){ - switch($this->queriedContext){ - case 'By username and board': - $uri = self::URI.urlencode($this->getInput('u')).'/'.urlencode($this->getInput('b')); - break; - case 'From search': - $uri = self::URI.'search/?q='.urlencode($this->getInput('q')); - break; - } - - return $uri; - } - - 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; - } - return $specific .' - '.self::NAME; - } + 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; + } + return $specific . ' - ' . self::NAME; + } }