|
|
|
@ -51,6 +51,11 @@ class AppConfig implements \OCP\IAppConfig { |
|
|
|
|
|
|
|
|
|
private $appsLoaded = array(); |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @var string[] |
|
|
|
|
*/ |
|
|
|
|
private $apps = null; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param \OC\DB\Connection $conn |
|
|
|
|
*/ |
|
|
|
@ -90,12 +95,16 @@ class AppConfig implements \OCP\IAppConfig { |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Get all apps using the config |
|
|
|
|
* |
|
|
|
|
* @return array an array of app ids |
|
|
|
|
* |
|
|
|
|
* This function returns a list of all apps that have at least one |
|
|
|
|
* entry in the appconfig table. |
|
|
|
|
*/ |
|
|
|
|
public function getApps() { |
|
|
|
|
if (is_array($this->apps)) { |
|
|
|
|
return $this->apps; |
|
|
|
|
} |
|
|
|
|
$query = 'SELECT DISTINCT `appid` FROM `*PREFIX*appconfig` ORDER BY `appid`'; |
|
|
|
|
$result = $this->conn->executeQuery($query); |
|
|
|
|
|
|
|
|
@ -103,11 +112,13 @@ class AppConfig implements \OCP\IAppConfig { |
|
|
|
|
while ($appid = $result->fetchColumn()) { |
|
|
|
|
$apps[] = $appid; |
|
|
|
|
} |
|
|
|
|
$this->apps = $apps; |
|
|
|
|
return $apps; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Get the available keys for an app |
|
|
|
|
* |
|
|
|
|
* @param string $app the app we are looking for |
|
|
|
|
* @return array an array of key names |
|
|
|
|
* |
|
|
|
@ -123,6 +134,7 @@ class AppConfig implements \OCP\IAppConfig { |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Gets the config value |
|
|
|
|
* |
|
|
|
|
* @param string $app app |
|
|
|
|
* @param string $key key |
|
|
|
|
* @param string $default = null, default value if the key does not exist |
|
|
|
@ -142,6 +154,7 @@ class AppConfig implements \OCP\IAppConfig { |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* check if a key is set in the appconfig |
|
|
|
|
* |
|
|
|
|
* @param string $app |
|
|
|
|
* @param string $key |
|
|
|
|
* @return bool |
|
|
|
@ -153,6 +166,7 @@ class AppConfig implements \OCP\IAppConfig { |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* sets a value in the appconfig |
|
|
|
|
* |
|
|
|
|
* @param string $app app |
|
|
|
|
* @param string $key key |
|
|
|
|
* @param string $value value |
|
|
|
@ -181,11 +195,15 @@ class AppConfig implements \OCP\IAppConfig { |
|
|
|
|
if (!isset($this->cache[$app])) { |
|
|
|
|
$this->cache[$app] = array(); |
|
|
|
|
} |
|
|
|
|
if (is_array($this->apps) and array_search($app, $this->apps) === false) { |
|
|
|
|
$this->apps[] = $app; |
|
|
|
|
} |
|
|
|
|
$this->cache[$app][$key] = $value; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Deletes a key |
|
|
|
|
* |
|
|
|
|
* @param string $app app |
|
|
|
|
* @param string $key key |
|
|
|
|
* @return boolean|null |
|
|
|
@ -203,6 +221,7 @@ class AppConfig implements \OCP\IAppConfig { |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Remove app from appconfig |
|
|
|
|
* |
|
|
|
|
* @param string $app app |
|
|
|
|
* @return boolean|null |
|
|
|
|
* |
|
|
|
@ -214,6 +233,10 @@ class AppConfig implements \OCP\IAppConfig { |
|
|
|
|
); |
|
|
|
|
$this->conn->delete('*PREFIX*appconfig', $where); |
|
|
|
|
unset($this->cache[$app]); |
|
|
|
|
if (is_array($this->apps) and $i = array_search($app, $this->apps) !== false) { |
|
|
|
|
unset($this->apps[$i]); |
|
|
|
|
} |
|
|
|
|
$this->apps = null; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|