/** * Search paginated * * @param string $search_for Search string * @param Project $project Search in this project * @param boolean $include_private * @param integer $items_per_page * @param integer $current_page * @return array */ static function searchPaginated($search_for, Project $project, $include_private = false, $items_per_page = 10, $current_page = 1) { $conditions = SearchableObjects::getSearchConditions($search_for, $project, $include_private); $pagination = new DataPagination(SearchableObjects::countUniqueObjects($conditions), $items_per_page, $current_page); $items = SearchableObjects::doSearch($conditions, $pagination->getItemsPerPage(), $pagination->getLimitStart()); return array($items, $pagination); }
static function searchByType($search_for, $project_csvs, $object_type = '', $include_private = false, $items_per_page = 10, $current_page = 1, $columns_csv = null, $user_id = 0) { $remaining = 0; $safe_search_for = str_replace("'", '"', $search_for); $conditions = SearchableObjects::getSearchConditions($safe_search_for, $project_csvs, true, $object_type, $columns_csv, $user_id); $count = SearchableObjects::countUniqueObjects($conditions); $pagination = new DataPagination($count, $items_per_page, $current_page); if ($count > 0) { $items = SearchableObjects::doSearch($conditions, $pagination->getItemsPerPage(), $pagination->getLimitStart(), $search_for); } else { $items = array(); } return array($items, $pagination); }