diff options
author | Jakob Sack <kde@jakobsack.de> | 2011-03-12 10:28:10 +0100 |
---|---|---|
committer | Jakob Sack <kde@jakobsack.de> | 2011-03-12 10:28:10 +0100 |
commit | 1aa7fd98c2e9fc20ede32fb6716e35b0827b6a91 (patch) | |
tree | 40e14348efbec8cdecf2d5ea406c68a4061838e8 | |
parent | 883c7a582de8e9f9455751927069755e74fbd1e3 (diff) | |
download | nextcloud-server-1aa7fd98c2e9fc20ede32fb6716e35b0827b6a91.tar.gz nextcloud-server-1aa7fd98c2e9fc20ede32fb6716e35b0827b6a91.zip |
Refactoring OC_APPCONFIG and OC_PREFERENCES, minor changes to OC_APP. These libraries are skeletons only, the functions need to be written.
-rw-r--r-- | lib/app.php | 5 | ||||
-rw-r--r-- | lib/appconfig.php | 116 | ||||
-rw-r--r-- | lib/preferences.php | 160 |
3 files changed, 250 insertions, 31 deletions
diff --git a/lib/app.php b/lib/app.php index 72b6693686e..52c9f11456a 100644 --- a/lib/app.php +++ b/lib/app.php @@ -21,6 +21,11 @@ * */ +/** + * This class manages the apps. It allows them to register and integrate in the + * owncloud ecosystem. Furthermore, this class is responsible for installing, + * upgrading and removing apps. + */ class OC_APP{ static private $init = false; static private $apps = array(); diff --git a/lib/appconfig.php b/lib/appconfig.php index 844d4cf54e8..e8c6960e674 100644 --- a/lib/appconfig.php +++ b/lib/appconfig.php @@ -1,33 +1,119 @@ <?php +/** + * ownCloud + * + * @author Frank Karlitschek + * @author Jakob Sack + * @copyright 2010 Frank Karlitschek karlitschek@kde.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/>. + * + */ +/* + * + * The following SQL statement is just a help for developers and will not be + * executed! + * + * CREATE TABLE `appconfig` ( + * `appid` VARCHAR( 255 ) NOT NULL , + * `key` VARCHAR( 255 ) NOT NULL , + * `value` VARCHAR( 255 ) NOT NULL + * ) + * + */ + +/** + * This class provides an easy way for apps to store config values in the + * database. + */ class OC_APPCONFIG{ /** - * Get the available keys for an application - * @param string application + * @brief Get all apps using the config + * @returns array with app ids + * + * This function returns a list of all apps that have at least one + * entry in the appconfig table. */ - public static function getKeys( $application ){ - // OC_DB::query( $query); + public static function getApps(){ + // TODO: write function return array(); } /** - * Get the config value - * @param string application - * @param string key - * @param string default + * @brief Get the available keys for an app + * @param $app the app we are looking for + * @returns array with key names + * + * This function gets all keys of an app. Please note that the values are + * not returned. */ - public static function getValue( $application, $key, $default ){ + public static function getKeys( $app ){ + // TODO: write function + return array(); + } + + /** + * @brief Gets the config value + * @param $app app + * @param $key key + * @param $default = null, default value if the key does not exist + * @returns the value or $default + * + * This function gets a value from the appconfig table. If the key does + * not exist the default value will be returnes + */ + public static function getValue( $app, $key, $default = null ){ // OC_DB::query( $query); return $default; } /** - * Set the config value - * @param string application - * @param string key - * @param string value + * @brief sets a value in the appconfig + * @param $app app + * @param $key key + * @param $value value + * @returns true/false + * + * Sets a value. If the key did not exist before it will be created. */ - public static function setValue( $application, $name, $url ){ - // OC_DB::query( $query); + public static function setValue( $app, $key, $value ){ + // TODO: write function + return true; + } + + /** + * @brief Deletes a key + * @param $app app + * @param $key key + * @returns true/false + * + * Deletes a key. + */ + public static function deleteKey( $app, $key ){ + // TODO: write function + return true; + } + + /** + * @brief Remove app from appconfig + * @param $app app + * @returns true/false + * + * Removes all keys in appconfig belonging to the app. + */ + public static function deleteApp( $app ){ + // TODO: write function return true; } } diff --git a/lib/preferences.php b/lib/preferences.php index bd4ff55cc5c..a7a2911cac7 100644 --- a/lib/preferences.php +++ b/lib/preferences.php @@ -1,34 +1,162 @@ <?php +/** + * ownCloud + * + * @author Frank Karlitschek + * @author Jakob Sack + * @copyright 2010 Frank Karlitschek karlitschek@kde.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/>. + * + */ +/* + * + * The following SQL statement is just a help for developers and will not be + * executed! + * + * CREATE TABLE `preferences` ( + * `userid` VARCHAR( 255 ) NOT NULL , + * `appid` VARCHAR( 255 ) NOT NULL , + * `key` VARCHAR( 255 ) NOT NULL , + * `value` VARCHAR( 255 ) NOT NULL + * ) + * + */ + +/** + * This class provides an easy way for storing user preferences. + */ class OC_PREFERENCES{ - static public $forms=array(); /** - * Get the available keys for an application - * @param string application + * @brief Get all users using the preferences + * @returns array with user ids + * + * This function returns a list of all users that have at least one entry + * in the preferences table. */ - public static function getKeys( $user, $application ){ - // OC_DB::query( $query); + public static function getUsers(){ + // TODO: write function return array(); } /** - * Get the config value - * @param string application - * @param string key - * @param string default + * @brief Get all apps of a user + * @param $user user + * @returns array with app ids + * + * This function returns a list of all apps of the userthat have at least + * one entry in the preferences table. */ - public static function getValue( $user, $application, $key, $default ){ + public static function getApps( $user ){ + // TODO: write function + return array(); + } + + /** + * @brief Get the available keys for an app + * @param $user user + * @param $app the app we are looking for + * @returns array with key names + * + * This function gets all keys of an app of an user. Please note that the + * values are not returned. + */ + public static function getKeys( $user, $app ){ + // TODO: write function + return array(); + } + + /** + * @brief Gets the preference + * @param $user user + * @param $app app + * @param $key key + * @param $default = null, default value if the key does not exist + * @returns the value or $default + * + * This function gets a value from the prefernces table. If the key does + * not exist the default value will be returnes + */ + public static function getValue( $user, $app, $key, $default = null ){ // OC_DB::query( $query); return $default; } /** - * Set the config value - * @param string application - * @param string key - * @param string value + * @brief sets a value in the preferences + * @param $user user + * @param $app app + * @param $key key + * @param $value value + * @returns true/false + * + * Adds a value to the preferences. If the key did not exist before, it + * will be added automagically. */ - public static function setValue( $user, $application, $name, $url ){ - // OC_DB::query( $query); + public static function setValue( $user, $app, $key, $value ){ + // TODO: write function + return true; + } + + /** + * @brief Deletes a key + * @param $user user + * @param $app app + * @param $key key + * @returns true/false + * + * Deletes a key. + */ + public static function deleteKey( $user, $app, $key ){ + // TODO: write function + return true; + } + + /** + * @brief Remove app of user from preferences + * @param $user user + * @param $app app + * @returns true/false + * + * Removes all keys in appconfig belonging to the app and the user. + */ + public static function deleteApp( $user, $app ){ + // TODO: write function + return true; + } + + /** + * @brief Remove user from preferences + * @param $user user + * @returns true/false + * + * Removes all keys in appconfig belonging to the user. + */ + public static function deleteUser( $user ){ + // TODO: write function + return true; + } + + /** + * @brief Remove app from all users + * @param $app app + * @returns true/false + * + * Removes all keys in preferences belonging to the app. + */ + public static function deleteAppFromAllUsers( $app ){ + // TODO: write function return true; } } |