Skip to content
Snippets Groups Projects
allconfig.php 4.58 KiB
Newer Older
  • Learn to ignore specific revisions
  • <?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;
    	}
    
    
    Thomas Müller's avatar
    Thomas Müller committed
    	 * 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);
    
    Lukas Reschke's avatar
    Lukas Reschke committed
    	}
    
    Thomas Müller's avatar
    Thomas Müller committed
    	 * 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);
    	}
    
    Thomas Müller's avatar
    Thomas Müller committed
    	 * 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);
    	}
    
    	/**
    
    Thomas Müller's avatar
    Thomas Müller committed
    	 * 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);
    	}