defined('C5_EXECUTE') or die("Access Denied."); $u = new User(); $form = Loader::helper('form'); $vt = Loader::helper('validation/token'); $fp = FilePermissions::getGlobal(); if (!$fp->canAccessFileManager()) { die(t("Access Denied.")); } if ($_POST['task'] == 'save_search') { Loader::model('file_set'); Loader::model('file_list'); $cnt = Loader::controller('/dashboard/files/search'); $fileList = $cnt->getRequestedSearchResults(); $req = $fileList->getSearchRequest(); $colset = FileManagerColumnSet::getCurrent(); if ($req['ccm_order_by'] != '' && $req['ccm_order_dir'] != '') { $colset->setDefaultSortColumn($colset->getColumnByKey($req['ccm_order_by']), $req['ccm_order_dir']); } $fsa = FileSetSavedSearch::add(Loader::helper('text')->entities($_POST['fsName']), $req, $colset); print $fsa->getFileSetID(); exit; } ?> <div class="ccm-ui"> <h3><?php echo t('Save Search');
if (!$fp->canAccessFileManager()) { die(t("Access Denied.")); } Loader::model('file_list'); $selectedAKIDs = array(); $fldc = FileManagerColumnSet::getCurrent(); $fldca = new FileManagerAvailableColumnSet(); $searchInstance = Loader::helper('text')->alphanum($_REQUEST['searchInstance']); if ($_POST['task'] == 'update_columns') { $fdc = new FileManagerColumnSet(); foreach($_POST['column'] as $key) { $fdc->addColumn($fldca->getColumnByKey($key)); } $sortCol = $fldca->getColumnByKey($_POST['fSearchDefaultSort']); $fdc->setDefaultSortColumn($sortCol, $_POST['fSearchDefaultSortDirection']); $u->saveConfig('FILE_LIST_DEFAULT_COLUMNS', serialize($fdc)); $fileList = new FileList(); $fileList->resetSearchRequest(); exit; } $list = FileAttributeKey::getList(); ?>
public function getRequestedSearchResults() { $fileList = new FileList(); $fileList->enableStickySearchRequest(); Loader::model('file_set'); if ($_REQUEST['submit_search']) { $fileList->resetSearchRequest(); } $req = $fileList->getSearchRequest(); // first thing, we check to see if a saved search is being used if (isset($_REQUEST['fssID'])) { $fs = FileSet::getByID($_REQUEST['fssID']); if ($fs->getFileSetType() == FileSet::TYPE_SAVED_SEARCH) { $req = $fs->getSavedSearchRequest(); $columns = $fs->getSavedSearchColumns(); $colsort = $columns->getDefaultSortColumn(); $fileList->addToSearchRequest('ccm_order_dir', $colsort->getColumnDefaultSortDirection()); $fileList->addToSearchRequest('ccm_order_by', $colsort->getColumnKey()); } } if (!isset($columns)) { $columns = FileManagerColumnSet::getCurrent(); } $this->set('searchRequest', $req); $this->set('columns', $columns); $col = $columns->getDefaultSortColumn(); $fileList->sortBy($col->getColumnKey(), $col->getColumnDefaultSortDirection()); $keywords = htmlentities($req['fKeywords'], ENT_QUOTES, APP_CHARSET); if ($keywords != '') { $fileList->filterByKeywords($keywords); } if ($req['numResults']) { $fileList->setItemsPerPage($req['numResults']); } if (isset($req['fsIDNone']) && $req['fsIDNone'] == 1 || is_array($req['fsID']) && in_array(-1, $req['fsID'])) { $fileList->filterBySet(false); } else { if (is_array($req['fsID'])) { foreach ($req['fsID'] as $fsID) { $fs = FileSet::getByID($fsID); $fileList->filterBySet($fs); } } else { if (isset($req['fsID']) && $req['fsID'] != '' && $req['fsID'] > 0) { $set = $req['fsID']; $fs = FileSet::getByID($set); $fileList->filterBySet($fs); } } } if (isset($_GET['fType']) && $_GET['fType'] != '') { $type = $_GET['fType']; $fileList->filterByType($type); } if (isset($_GET['fExtension']) && $_GET['fExtension'] != '') { $ext = $_GET['fExtension']; $fileList->filterByExtension($ext); } $selectedSets = array(); if (is_array($req['selectedSearchField'])) { foreach ($req['selectedSearchField'] as $i => $item) { // due to the way the form is setup, index will always be one more than the arrays if ($item != '') { switch ($item) { case "extension": $extension = $req['extension']; $fileList->filterByExtension($extension); break; case "type": $type = $req['type']; $fileList->filterByType($type); break; case "date_added": $dateFrom = $req['date_from']; $dateTo = $req['date_to']; if ($dateFrom != '') { $dateFrom = date('Y-m-d', strtotime($dateFrom)); $fileList->filterByDateAdded($dateFrom, '>='); $dateFrom .= ' 00:00:00'; } if ($dateTo != '') { $dateTo = date('Y-m-d', strtotime($dateTo)); $dateTo .= ' 23:59:59'; $fileList->filterByDateAdded($dateTo, '<='); } break; case 'added_to': $ocID = $req['ocIDSearchField']; if ($ocID > 0) { $fileList->filterByOriginalPageID($ocID); } break; case "size": $from = $req['size_from']; $to = $req['size_to']; $fileList->filterBySize($from, $to); break; default: Loader::model('file_attributes'); $akID = $item; $fak = FileAttributeKey::get($akID); $type = $fak->getAttributeType(); $cnt = $type->getController(); $cnt->setRequestArray($req); $cnt->setAttributeKey($fak); $cnt->searchForm($fileList); break; } } } } if (isset($req['numResults'])) { $fileList->setItemsPerPage($req['numResults']); } return $fileList; }