public function action_vendorsloadmore() { $last_vendor_id = $this->request->post('last_vendor_id'); $last_page = $this->request->post('last_page'); $search_terms = $this->request->post('search_terms'); $count = $this->request->post('count'); if (!$last_page) { $last_page = 0; } if (!$count) { $count = 20; } $this->_return_object->data->vendors = array(); $search_parameters = new stdClass(); $search_parameters->sort_by = 'newest'; $search_parameters->page = $last_page; if ($search_terms) { $search_parameters->search_email = $search_terms; $search_parameters->search_name = $search_terms; $search_parameters->search_number = $search_terms; } do { $vendor_search = new Beans_Vendor_Search($this->_beans_data_auth($search_parameters)); $vendor_search_result = $vendor_search->execute(); if (!$vendor_search_result->success) { return $this->_return_error("An unexpected error occurred: " . $this->_beans_result_get_error($vendor_search_result)); } $this->_return_object->data->last_page = $vendor_search_result->data->page; foreach ($vendor_search_result->data->vendors as $vendor) { if ($vendor->id < $last_vendor_id or !$last_vendor_id) { $html = new View_Partials_Vendors_Vendor_Vendor(); $html->vendor = $vendor; $vendor->html = $html->render(); $this->_return_object->data->vendors[] = $vendor; } if (count($this->_return_object->data->vendors) >= $count) { return; } } $search_parameters->page++; } while ($search_parameters->page < $vendor_search_result->data->pages and count($this->_return_object->data->vendors) < $count); }
public function action_vendors() { $vendor_search = new Beans_Vendor_Search($this->_beans_data_auth((object) array('page_size' => 5, 'sort_by' => 'newest'))); $vendor_search_result = $vendor_search->execute(); if ($this->_beans_result_check($vendor_search_result)) { $this->_view->vendor_search_result = $vendor_search_result; } }