Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJörn Friedrich Dreyer <jfd@butonic.de>2014-06-06 03:17:02 +0400
committerJörn Friedrich Dreyer <jfd@butonic.de>2014-06-06 03:17:02 +0400
commitaaf0d131718dc9079a5b3717276455f8701feeea (patch)
treeca915a5012b5d107d8d201d25a365a312e71a095 /lib/private/search.php
parent5034bd1b129b75e7b571cb0ed239d02010c806f7 (diff)
make search non-static, add ISearch to server container, make legacy a static wrapper for it, move provider and result to public api
Diffstat (limited to 'lib/private/search.php')
-rw-r--r--lib/private/search.php49
1 files changed, 25 insertions, 24 deletions
diff --git a/lib/private/search.php b/lib/private/search.php
index 8ac9e9fdf33..bcaebdddd9c 100644
--- a/lib/private/search.php
+++ b/lib/private/search.php
@@ -21,27 +21,28 @@
*/
namespace OC;
-use OC\Search\Provider;
+use OCP\Search\Provider;
+use OCP\ISearch;
/**
* Provide an interface to all search providers
*/
-class Search {
+class Search implements ISearch {
- static private $providers=array();
- static private $registeredProviders=array();
+ private $providers = array();
+ private $registeredProviders = array();
/**
* Search all providers for $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) {
+ public function search($query) {
+ $this->initProviders();
+ $results = array();
+ foreach($this->providers as $provider) {
/** @var $provider Provider */
- $results=array_merge($results, $provider->search($query));
+ $results = array_merge($results, $provider->search($query));
}
return $results;
}
@@ -49,24 +50,24 @@ class Search {
/**
* Remove all registered search providers
*/
- public static function clearProviders() {
- self::$providers=array();
- self::$registeredProviders=array();
+ public function clearProviders() {
+ $this->providers=array();
+ $this->registeredProviders=array();
}
/**
* Remove one existing search provider
* @param string $provider class name of a OC\Search\Provider
*/
- public static function removeProvider($provider) {
- self::$registeredProviders = array_filter(
- self::$registeredProviders,
+ public function removeProvider($provider) {
+ $this->registeredProviders = array_filter(
+ $this->registeredProviders,
function ($element) use ($provider) {
return ($element['class'] != $provider);
}
);
// force regeneration of providers on next search
- self::$providers=array();
+ $this->providers=array();
}
/**
@@ -74,21 +75,21 @@ class Search {
* @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);
+ public function registerProvider($class, $options=array()) {
+ $this->registeredProviders[]=array('class'=>$class, 'options'=>$options);
}
/**
* Create instances of all the registered search providers
*/
- private static function initProviders() {
- if(count(self::$providers)>0) {
+ private function initProviders() {
+ if(count($this->providers)>0) {
return;
}
- foreach(self::$registeredProviders as $provider) {
- $class=$provider['class'];
- $options=$provider['options'];
- self::$providers[]=new $class($options);
+ foreach($this->registeredProviders as $provider) {
+ $class = $provider['class'];
+ $options = $provider['options'];
+ $this->providers[]=new $class($options);
}
}