diff options
author | Bart Visscher <bartv@thisnet.nl> | 2013-03-03 12:06:00 +0100 |
---|---|---|
committer | Bart Visscher <bartv@thisnet.nl> | 2013-05-07 19:59:46 +0200 |
commit | 07df94def66a78bda40560a5bdd31058f61e2238 (patch) | |
tree | de291a1325519049f4276ab665ce695189bc23c0 /lib/legacy | |
parent | 2208313e02f0c1d5ae728115f81e040eaedaa0dc (diff) | |
download | nextcloud-server-07df94def66a78bda40560a5bdd31058f61e2238.tar.gz nextcloud-server-07df94def66a78bda40560a5bdd31058f61e2238.zip |
Convert OC_Config to object interface
Diffstat (limited to 'lib/legacy')
-rw-r--r-- | lib/legacy/config.php | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/lib/legacy/config.php b/lib/legacy/config.php new file mode 100644 index 00000000000..d030bbe3676 --- /dev/null +++ b/lib/legacy/config.php @@ -0,0 +1,98 @@ +<?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/', defined('DEBUG') && DEBUG); +class 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. If the file can + * not be written, false will be returned. + */ + 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. If owncloud has no + * write access to config.php, the function will return false. + */ + public static function deleteKey( $key ) { + try { + self::$object->deleteKey( $key ); + } catch (\OC\HintException $e) { + \OC_Template::printErrorPage( $e->getMessage(), $e->getHint() ); + } + } +} |