/**
  * 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);
 }