nextcloud/lib/private/allconfig.php

165 lines
4.8 KiB
PHP

<?php
/**
* Copyright (c) 2013 Bart Visscher <bartv@thisnet.nl>
* This file is licensed under the Affero General Public License version 3 or
* later.
* See the COPYING-README file.
*
*/
namespace OC;
/**
* Class to combine all the configuration options ownCloud offers
*/
class AllConfig implements \OCP\IConfig {
/** @var SystemConfig */
private $systemConfig;
/**
* @param SystemConfig $systemConfig
*/
function __construct(SystemConfig $systemConfig) {
$this->systemConfig = $systemConfig;
}
/**
* Sets a new system wide value
*
* @param string $key the key of the value, under which will be saved
* @param mixed $value the value that should be stored
*/
public function setSystemValue($key, $value) {
$this->systemConfig->setValue($key, $value);
}
/**
* Looks up a system wide defined value
*
* @param string $key the key of the value, under which it was saved
* @param mixed $default the default value to be returned if the value isn't set
* @return mixed the value or $default
*/
public function getSystemValue($key, $default = '') {
return $this->systemConfig->getValue($key, $default);
}
/**
* Delete a system wide defined value
*
* @param string $key the key of the value, under which it was saved
*/
public function deleteSystemValue($key) {
$this->systemConfig->deleteValue($key);
}
/**
* Get all keys stored for an app
*
* @param string $appName the appName that we stored the value under
* @return string[] the keys stored for the app
*/
public function getAppKeys($appName) {
return \OC::$server->getAppConfig()->getKeys($appName);
}
/**
* Writes a new app wide value
*
* @param string $appName the appName that we want to store the value under
* @param string $key the key of the value, under which will be saved
* @param string $value the value that should be stored
*/
public function setAppValue($appName, $key, $value) {
\OCP\Config::setAppValue($appName, $key, $value);
}
/**
* Looks up an app wide defined value
*
* @param string $appName the appName that we stored the value under
* @param string $key the key of the value, under which it was saved
* @param string $default the default value to be returned if the value isn't set
* @return string the saved value
*/
public function getAppValue($appName, $key, $default = '') {
return \OCP\Config::getAppValue($appName, $key, $default);
}
/**
* Delete an app wide defined value
*
* @param string $appName the appName that we stored the value under
* @param string $key the key of the value, under which it was saved
*/
public function deleteAppValue($appName, $key) {
\OC_Appconfig::deleteKey($appName, $key);
}
/**
* Removes all keys in appconfig belonging to the app
*
* @param string $appName the appName the configs are stored under
*/
public function deleteAppValues($appName) {
\OC_Appconfig::deleteApp($appName);
}
/**
* Set a user defined value
*
* @param string $userId the userId of the user that we want to store the value under
* @param string $appName the appName that we want to store the value under
* @param string $key the key under which the value is being stored
* @param string $value the value that you want to store
*/
public function setUserValue($userId, $appName, $key, $value) {
\OC_Preferences::setValue($userId, $appName, $key, $value);
}
/**
* Shortcut for getting a user defined value
*
* @param string $userId the userId of the user that we want to store the value under
* @param string $appName the appName that we stored the value under
* @param string $key the key under which the value is being stored
* @param string $default the default value to be returned if the value isn't set
* @return string
*/
public function getUserValue($userId, $appName, $key, $default = '') {
return \OC_Preferences::getValue($userId, $appName, $key, $default);
}
/**
* Get the keys of all stored by an app for the user
*
* @param string $userId the userId of the user that we want to store the value under
* @param string $appName the appName that we stored the value under
* @return string[]
*/
public function getUserKeys($userId, $appName) {
return \OC_Preferences::getKeys($userId, $appName);
}
/**
* Delete a user value
*
* @param string $userId the userId of the user that we want to store the value under
* @param string $appName the appName that we stored the value under
* @param string $key the key under which the value is being stored
*/
public function deleteUserValue($userId, $appName, $key) {
\OC_Preferences::deleteKey($userId, $appName, $key);
}
/**
* Delete all user values
*
* @param string $userId the userId of the user that we want to remove all values from
*/
public function deleteAllUserValues($userId) {
\OC_Preferences::deleteUser($userId);
}
}