diff options
author | icewind1991 <icewind1991@gmail.com> | 2013-07-11 18:21:08 -0700 |
---|---|---|
committer | icewind1991 <icewind1991@gmail.com> | 2013-07-11 18:21:08 -0700 |
commit | 3abe68176ff09ca579ff9e5f15872fb5cab8ff4d (patch) | |
tree | 705cd981b31256472256d11726423cc2e8c9126d /lib/legacy | |
parent | 3fbf7ab189b96246cfcc3c6904d813f7eaa42c42 (diff) | |
parent | e7b882a4fcfbc5210d64372ba170efa825ebc237 (diff) | |
download | nextcloud-server-3abe68176ff09ca579ff9e5f15872fb5cab8ff4d.tar.gz nextcloud-server-3abe68176ff09ca579ff9e5f15872fb5cab8ff4d.zip |
Merge pull request #3270 from owncloud/convert-oc_config
Convert OC_Config to object so it can be used for DI
Diffstat (limited to 'lib/legacy')
-rw-r--r-- | lib/legacy/config.php | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/lib/legacy/config.php b/lib/legacy/config.php new file mode 100644 index 00000000000..5294a48ea44 --- /dev/null +++ b/lib/legacy/config.php @@ -0,0 +1,103 @@ +<?php +/** + * ownCloud + * + * @author Frank Karlitschek + * @author Jakob Sack + * @copyright 2012 Frank Karlitschek frank@owncloud.org + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU AFFERO GENERAL PUBLIC LICENSE for more details. + * + * You should have received a copy of the GNU Affero General Public + * License along with this library. If not, see <http://www.gnu.org/licenses/>. + * + */ +/* + * + * An example of config.php + * + * <?php + * $CONFIG = array( + * "database" => "mysql", + * "firstrun" => false, + * "pi" => 3.14 + * ); + * ?> + * + */ + +/** + * This class is responsible for reading and writing config.php, the very basic + * configuration file of ownCloud. + */ +OC_Config::$object = new \OC\Config(OC::$SERVERROOT.'/config/'); +class OC_Config { + + /** + * @var \OC\Config + */ + public static $object; + + /** + * @brief Lists all available config keys + * @return array with key names + * + * This function returns all keys saved in config.php. Please note that it + * does not return the values. + */ + public static function getKeys() { + return self::$object->getKeys(); + } + + /** + * @brief Gets a value from config.php + * @param string $key key + * @param string $default = null default value + * @return string the value or $default + * + * This function gets the value from config.php. If it does not exist, + * $default will be returned. + */ + public static function getValue($key, $default = null) { + return self::$object->getValue($key, $default); + } + + /** + * @brief Sets a value + * @param string $key key + * @param string $value value + * + * This function sets the value and writes the config.php. + * + */ + public static function setValue($key, $value) { + try { + self::$object->setValue($key, $value); + } catch (\OC\HintException $e) { + \OC_Template::printErrorPage($e->getMessage(), $e->getHint()); + } + } + + /** + * @brief Removes a key from the config + * @param string $key key + * + * This function removes a key from the config.php. + * + */ + public static function deleteKey($key) { + try { + self::$object->deleteKey($key); + } catch (\OC\HintException $e) { + \OC_Template::printErrorPage($e->getMessage(), $e->getHint()); + } + } +} |