@@ -21,6 +21,7 @@ | |||
*/ | |||
namespace OC; | |||
use OC\Search\Provider; | |||
/** | |||
* Provide an interface to all search providers | |||
@@ -32,13 +33,14 @@ class Search { | |||
/** | |||
* Search all providers for $query | |||
* @param string query | |||
* @param string $query | |||
* @return array An array of OC\Search\Result's | |||
*/ | |||
public static function search($query) { | |||
self::initProviders(); | |||
$results=array(); | |||
foreach(self::$providers as $provider) { | |||
/** @var $provider Provider */ | |||
$results=array_merge($results, $provider->search($query)); | |||
} | |||
return $results; | |||
@@ -69,7 +71,8 @@ class Search { | |||
/** | |||
* Register a new search provider to search with | |||
* @param string $provider class name of a OC\Search\Provider | |||
* @param string $class class name of a OC\Search\Provider | |||
* @param array $options optional | |||
*/ | |||
public static function registerProvider($class, $options=array()) { | |||
self::$registeredProviders[]=array('class'=>$class, 'options'=>$options); |
@@ -18,6 +18,7 @@ | |||
*/ | |||
namespace OC\Search\Provider; | |||
use OC\Files\Filesystem; | |||
/** | |||
* Provide search results from the 'files' app | |||
@@ -30,7 +31,7 @@ class File extends \OC\Search\Provider { | |||
* @return \OC\Search\Result | |||
*/ | |||
function search($query) { | |||
$files = \OC\Files\Filesystem::search($query); | |||
$files = Filesystem::search($query); | |||
$results = array(); | |||
// edit results | |||
foreach ($files as $fileData) { |
@@ -22,7 +22,7 @@ namespace OC\Search\Result; | |||
/** | |||
* A found audio file | |||
*/ | |||
class Audio extends \OC\Search\Result\File { | |||
class Audio extends File { | |||
/** | |||
* Type name; translated in templates |
@@ -18,7 +18,7 @@ | |||
*/ | |||
namespace OC\Search\Result; | |||
use \OC\Files\Filesystem; | |||
/** | |||
* A found file | |||
*/ | |||
@@ -63,9 +63,6 @@ class File extends \OC\Search\Result { | |||
/** | |||
* Create a new file search result | |||
* @param string $id unique identifier from application: '[app_name]/[item_identifier_in_app]' | |||
* @param string $name displayed text of result | |||
* @param string $link URL to the result within its app | |||
* @param array $data file data given by provider | |||
*/ | |||
public function __construct(array $data = null) { | |||
@@ -96,15 +93,15 @@ class File extends \OC\Search\Result { | |||
$fileinfo = pathinfo($path); | |||
$dir = $fileinfo['dirname'] . '/'; | |||
// add update permissions | |||
if (\OC_Filesystem::isUpdatable($dir)) { | |||
if (Filesystem::isUpdatable($dir)) { | |||
$permissions |= \OCP\PERMISSION_UPDATE; | |||
} | |||
// add delete permissions | |||
if (\OC_Filesystem::isDeletable($dir)) { | |||
if (Filesystem::isDeletable($dir)) { | |||
$permissions |= \OCP\PERMISSION_DELETE; | |||
} | |||
// add share permissions | |||
if (\OC_Filesystem::isSharable($dir)) { | |||
if (Filesystem::isSharable($dir)) { | |||
$permissions |= \OCP\PERMISSION_SHARE; | |||
} | |||
// return |
@@ -22,7 +22,7 @@ namespace OC\Search\Result; | |||
/** | |||
* A found folder | |||
*/ | |||
class Folder extends \OC\Search\Result\File { | |||
class Folder extends File { | |||
/** | |||
* Type name; translated in templates |
@@ -22,7 +22,7 @@ namespace OC\Search\Result; | |||
/** | |||
* A found image file | |||
*/ | |||
class Image extends \OC\Search\Result\File { | |||
class Image extends File { | |||
/** | |||
* Type name; translated in templates |