Blame view
sources/lib/private/search/provider/file.php
1.86 KB
|
03e52840d
|
1 |
<?php |
|
6d9380f96
|
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
/** * ownCloud * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE * License as published by the Free Software Foundation; either * version 3 of the License, or any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU AFFERO GENERAL PUBLIC LICENSE for more details. * * You should have received a copy of the GNU Affero General Public * License along with this library. If not, see <http://www.gnu.org/licenses/>. * */ |
|
03e52840d
|
19 |
|
|
6d9380f96
|
20 21 22 23 24 25 26 |
namespace OC\Search\Provider;
use OC\Files\Filesystem;
/**
* Provide search results from the 'files' app
*/
class File extends \OCP\Search\Provider {
|
|
03e52840d
|
27 |
|
|
6d9380f96
|
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
/**
* Search for files and folders matching the given query
* @param string $query
* @return \OCP\Search\Result
*/
function search($query) {
$files = Filesystem::search($query);
$results = array();
// edit results
foreach ($files as $fileData) {
// skip versions
if (strpos($fileData['path'], '_versions') === 0) {
continue;
}
// skip top-level folder
if ($fileData['name'] === 'files' && $fileData['parent'] === -1) {
continue;
}
// create audio result
if($fileData['mimepart'] === 'audio'){
$result = new \OC\Search\Result\Audio($fileData);
}
// create image result
elseif($fileData['mimepart'] === 'image'){
$result = new \OC\Search\Result\Image($fileData);
}
// create folder result
elseif($fileData['mimetype'] === 'httpd/unix-directory'){
$result = new \OC\Search\Result\Folder($fileData);
|
|
03e52840d
|
57 |
} |
|
6d9380f96
|
58 59 60 |
// or create file result
else{
$result = new \OC\Search\Result\File($fileData);
|
|
03e52840d
|
61 |
} |
|
6d9380f96
|
62 63 |
// add to results $results[] = $result; |
|
03e52840d
|
64 |
} |
|
6d9380f96
|
65 |
// return |
|
03e52840d
|
66 67 |
return $results; } |
|
6d9380f96
|
68 |
|
|
03e52840d
|
69 |
} |