]> source.dussan.org Git - nextcloud-server.git/commitdiff
Refactoring OC_APPCONFIG and OC_PREFERENCES, minor changes to OC_APP. These libraries...
authorJakob Sack <kde@jakobsack.de>
Sat, 12 Mar 2011 09:28:10 +0000 (10:28 +0100)
committerJakob Sack <kde@jakobsack.de>
Sat, 12 Mar 2011 09:28:10 +0000 (10:28 +0100)
lib/app.php
lib/appconfig.php
lib/preferences.php

index 72b6693686ed215dbfbe3fa8a51b16c591811d2d..52c9f11456ac605e99b4e876e5b5d7fe10627ddf 100644 (file)
  *
  */
 
+/**
+ * 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();
index 844d4cf54e8471c670a123866e4dc106f4c8adad..e8c6960e674753f4b8dd830d8d13cfb8300d4413 100644 (file)
 <?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;
        }
 }
index bd4ff55cc5c6a2c74079819a550d804da703319e..a7a2911cac75c24089d701529d2b2556eb6d618b 100644 (file)
 <?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;
        }
 }