From 1aa7fd98c2e9fc20ede32fb6716e35b0827b6a91 Mon Sep 17 00:00:00 2001 From: Jakob Sack Date: Sat, 12 Mar 2011 10:28:10 +0100 Subject: [PATCH] Refactoring OC_APPCONFIG and OC_PREFERENCES, minor changes to OC_APP. These libraries are skeletons only, the functions need to be written. --- lib/app.php | 5 ++ lib/appconfig.php | 116 +++++++++++++++++++++++++++----- lib/preferences.php | 160 +++++++++++++++++++++++++++++++++++++++----- 3 files changed, 250 insertions(+), 31 deletions(-) diff --git a/lib/app.php b/lib/app.php index 72b6693686..52c9f11456 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 844d4cf54e..e8c6960e67 100644 --- a/lib/appconfig.php +++ b/lib/appconfig.php @@ -1,33 +1,119 @@ . + * + */ +/* + * + * 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 bd4ff55cc5..a7a2911cac 100644 --- a/lib/preferences.php +++ b/lib/preferences.php @@ -1,34 +1,162 @@ . + * + */ +/* + * + * 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; } }