array( 'u'=>array('name'=>'username'), 'b'=>array('name'=>'board') ), 'From search' => array( 'q'=>array('name'=>'Keyword') ) ); public function collectData(){ $html = ''; if (isset($this->getInput('u')) || isset($this->getInput('b'))) { if (empty($this->getInput('u'))) { $this->returnClientError('You must specify a Pinterest username (?u=...).'); } if (empty($this->getInput('b'))) { $this->returnClientError('You must specify a Pinterest board for this username (?b=...).'); } $this->username = $this->getInput('u'); $this->board = $this->getInput('b'); $html = $this->getSimpleHTMLDOM($this->getURI().'/'.urlencode($this->username).'/'.urlencode($this->board)) or $this->returnServerError('Username and/or board not found'); } else if (isset($this->getInput('q'))) { $this->query = $this->getInput('q'); $html = $this->getSimpleHTMLDOM($this->getURI().'/search/?q='.urlencode($this->query)) or $this->returnServerError('Could not request Pinterest.'); } else { $this->returnClientError('You must specify a Pinterest username and a board name (?u=...&b=...).'); } foreach($html->find('div.pinWrapper') as $div) { $a = $div->find('a.pinImageWrapper',0); $img = $a->find('img', 0); $item = array(); $item['uri'] = $this->getURI().$a->getAttribute('href'); $item['content'] = ''; if (isset($this->query)) { $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); $item['username'] =$username->innertext; $item['fullname'] = $board->innertext; $item['avatar'] = $avatar; $item['content'] .= '
'.$item['username'].''; $item['content'] .= '
'.$item['fullname']; } $item['title'] = $img->getAttribute('alt'); //$item['timestamp'] = $media->created_time; $this->items[] = $item; } } public function getName(){ if (isset($this->query)) { return $this->query .' - Pinterest'; } else { return $this->username .' - '. $this->board.' - Pinterest'; } } }