array( 'name' => 'Search query', 'type' => 'text', 'required' => true, 'title' => 'Insert your search term here', 'exampleValue' => 'Enter your search term' ), 'sortby' => array( 'name' => 'Sort by', 'type' => 'list', 'required' => false, 'values' => array( 'Relevant' => 'relevant', 'Text' => 'text', 'Popular' => 'popular', '# of Makes' => 'makes', 'Newest' => 'newest', ), 'defaultValue' => 'newest' ), 'category' => array( 'name' => 'Category', 'type' => 'list', 'required' => false, 'values' => array( 'Any' => '', '3D Printing' => '73', 'Art' => '63', 'Fashion' => '64', 'Gadgets' => '65', 'Hobby' => '66', 'Household' => '67', 'Learning' => '69', 'Models' => '70', 'Tools' => '71', 'Toys & Games' => '72', '2D Art' => '144', 'Art Tools' => '75', 'Coins & Badges' => '143', 'Interactive Art' => '78', 'Math Art' => '79', 'Scans & Replicas' => '145', 'Sculptures' => '80', 'Signs & Logos' => '76', 'Accessories' => '81', 'Bracelets' => '82', 'Costume' => '142', 'Earrings' => '139', 'Glasses' => '83', 'Jewelry' => '84', 'Keychains' => '130', 'Rings' => '85', 'Audio' => '141', 'Camera' => '86', 'Computer' => '87', 'Mobile Phone' => '88', 'Tablet' => '90', 'Video Games' => '91', 'Automotive' => '155', 'DIY' => '93', 'Electronics' => '92', 'Music' => '94', 'R/C Vehicles' => '95', 'Robotics' => '96', 'Sport & Outdoors' => '140', 'Bathroom' => '147', 'Containers' => '146', 'Decor' => '97', 'Household Supplies' => '99', 'Kitchen & Dining' => '100', 'Office' => '101', 'Organization' => '102', 'Outdoor & Garden' => '98', 'Pets' => '103', 'Replacement Parts' => '153', 'Biology' => '106', 'Engineering' => '104', 'Math' => '105', 'Physics & Astronomy' => '148', 'Animals' => '107', 'Buildings & Structures' => '108', 'Creatures' => '109', 'Food & Drink' => '110', 'Model Furniture' => '111', 'Model Robots' => '115', 'People' => '112', 'Props' => '114', 'Vehicles' => '116', 'Hand Tools' => '118', 'Machine Tools' => '117', 'Parts' => '119', 'Tool Holders & Boxes' => '120', 'Chess' => '151', 'Construction Toys' => '121', 'Dice' => '122', 'Games' => '123', 'Mechanical Toys' => '124', 'Playsets' => '113', 'Puzzles' => '125', 'Toy & Game Accessories' => '149', '3D Printer Accessories' => '127', '3D Printer Extruders' => '152', '3D Printer Parts' => '128', '3D Printers' => '126', '3D Printing Tests' => '129', ) ), 'showimage' => array( 'name' => 'Show image in content', 'type' => 'checkbox', 'required' => false, 'title' => 'Activate to show the image in the content', 'defaultValue' => 'checked' ) ) ); public function collectData(){ $html = getSimpleHTMLDOM($this->getURI()) or returnServerError('Failed to receive ' . $this->getURI()); $results = $html->find('div.thing-card'); foreach($results as $result) { $item = array(); $item['title'] = $result->find('span.ellipsis', 0); $item['uri'] = self::URI . $result->find('a', 1)->href; $item['author'] = $result->find('span.item-creator', 0); $item['content'] = ''; $image = $result->find('img.card-img', 0)->src; if($this->getInput('showimage')) { $item['content'] .= ''; } $item['enclosures'] = array($image); $this->items[] = $item; } } public function getURI(){ if(!is_null($this->getInput('query'))) { $uri = self::URI . '/search?q=' . urlencode($this->getInput('query')); $uri .= '&sort=' . $this->getInput('sortby'); $uri .= '&category_id=' . $this->getInput('category'); return $uri; } return parent::getURI(); } }