]> source.dussan.org Git - nextcloud-server.git/commitdiff
Improved documentation for group management
authorJakob Sack <kde@jakobsack.de>
Mon, 18 Apr 2011 08:00:45 +0000 (10:00 +0200)
committerJakob Sack <kde@jakobsack.de>
Mon, 18 Apr 2011 08:00:45 +0000 (10:00 +0200)
admin/users.php
lib/Group/backend.php
lib/Group/database.php
lib/group.php

index a5b08e0ce5c12114f678e639b27bff9e2e811362..e44feb40fe28d0a199d045083fed5aeeea9a5b7a 100644 (file)
@@ -46,7 +46,7 @@ foreach( OC_USER::getUsers() as $i ){
 
 foreach( OC_GROUP::getGroups() as $i ){
        // Do some more work here soon
-       $groups[] = array( "name" => $i["gid"] );
+       $groups[] = array( "name" => $i );
 }
 
 $tmpl = new OC_TEMPLATE( "admin", "users", "admin" );
index c3f208157e4cf5dc42451471d03f71811a0af1ae..298cced7ff51a5ab148f3e4bac58839954456d71 100644 (file)
 
 
 /**
- * Base class for user management
- *
+ * Abstract base class for user management
  */
 abstract class OC_GROUP_BACKEND {
        /**
-        * Try to create a new group
+        * @brief Try to create a new group
+        * @param $gid The name of the group to create
+        * @returns true/false
         *
-        * @param  string  $groupName  The name of the group to create
+        * Trys to create a new group. If the group name already exists, false will
+        * be returned.
         */
-       public static function createGroup($groupName){}
+       public static function createGroup($gid){}
 
        /**
-        * Try to delete Group
+        * @brief delete a group
+        * @param $gid gid of the group to delete
+        * @returns true/false
         *
-        * @param  string  $groupName  The name of the group to delete
+        * Deletes a group and removes it from the group_user-table
         */
-       public static function deleteGroup($groupName){}
+       public static function removeGroup($gid){}
 
        /**
-        * Check if a user belongs to a group
+        * @brief is user in group?
+        * @param $uid uid of the user
+        * @param $gid gid of the group
+        * @returns true/false
         *
-        * @param  string  $username   Name of the user to check
-        * @param  string  $groupName  Name of the group
+        * Checks whether the user is member of a group or not.
         */
-       public static function inGroup($username, $groupName){}
+       public static function inGroup($uid, $gid){}
 
        /**
-        * Add a user to a group
+        * @brief Add a user to a group
+        * @param $uid Name of the user to add to group
+        * @param $gid Name of the group in which add the user
+        * @returns true/false
         *
-        * @param  string  $username   Name of the user to add to group
-        * @param  string  $groupName  Name of the group in which add the user
+        * Adds a user to a group.
         */
-       public static function addToGroup($username, $groupName){}
+       public static function addToGroup($uid, $gid){}
 
        /**
-        * Remove a user from a group
+        * @brief Removes a user from a group
+        * @param $uid Name of the user to remove from group
+        * @param $gid Name of the group from which remove the user
+        * @returns true/false
         *
-        * @param  string  $username   Name of the user to remove from group
-        * @param  string  $groupName  Name of the group from which remove the user
+        * removes the user from a group.
         */
-       public static function removeFromGroup($username,$groupName){}
+       public static function removeFromGroup($uid,$gid){}
 
        /**
-        * Get all groups the user belongs to
+        * @brief Get all groups a user belongs to
+        * @param $uid Name of the user
+        * @returns array with group names
         *
-        * @param  string  $username  Name of the user
+        * This function fetches all groups a user belongs to. It does not check
+        * if the user exists at all.
         */
-       public static function getUserGroups($username){}
+       public static function getUserGroups($uid){}
 
        /**
-        * get a list of all groups
+        * @brief get a list of all groups
+        * @returns array with group names
         *
+        * Returns a list with all groups
         */
        public static function getGroups(){}
 }
index 58e7a28d3eac45b608e171f51661fad40a6b25df..b0935edb05c915f6ba351f47895e3b28d03cd8da 100644 (file)
@@ -41,24 +41,29 @@ require_once( 'Group/backend.php' );
 
 /**
  * Class for group management in a SQL Database (e.g. MySQL, SQLite)
- *
  */
 class OC_GROUP_DATABASE extends OC_GROUP_BACKEND {
        static private $userGroupCache=array();
 
        /**
-        * Try to create a new group
+        * @brief Try to create a new group
+        * @param $gid The name of the group to create
+        * @returns true/false
         *
-        * @param  string  $groupName  The name of the group to create
+        * Trys to create a new group. If the group name already exists, false will
+        * be returned.
         */
        public static function createGroup( $gid ){
+               // Check for existence
                $query = OC_DB::prepare( "SELECT * FROM `*PREFIX*groups` WHERE gid = ?" );
                $result = $query->execute( array( $gid ));
 
                if( $result->numRows() > 0 ){
+                       // Can not add an existing group
                        return false;
                }
                else{
+                       // Add group and exit
                        $query = OC_DB::prepare( "INSERT INTO `*PREFIX*groups` ( `gid` ) VALUES( ? )" );
                        $result = $query->execute( array( $gid ));
 
@@ -67,67 +72,82 @@ class OC_GROUP_DATABASE extends OC_GROUP_BACKEND {
        }
 
        /**
-        * Try to delete a group
+        * @brief delete a group
+        * @param $gid gid of the group to delete
+        * @returns true/false
         *
-        * @param  string  $groupName  The name of the group to delete
+        * Deletes a group and removes it from the group_user-table
         */
        public static function deleteGroup( $gid ){
+               // Delete the group
                $query = OC_DB::prepare( "DELETE FROM `*PREFIX*groups` WHERE gid = ?" );
                $result = $query->execute( array( $gid ));
 
+               // Delete the group-user relation
+               $query = OC_DB::prepare( "DELETE FROM `*PREFIX*group_user` WHERE gid = ?" );
+               $result = $query->execute( array( $gid ));
+
                return true;
        }
 
        /**
-        * Check if a user belongs to a group
+        * @brief is user in group?
+        * @param $uid uid of the user
+        * @param $gid gid of the group
+        * @returns true/false
         *
-        * @param  string  $username   Name of the user to check
-        * @param  string  $groupName  Name of the group
+        * Checks whether the user is member of a group or not.
         */
-       public static function inGroup( $username, $groupName ){
+       public static function inGroup( $uid, $gid ){
+               // check
                $query = OC_DB::prepare( "SELECT * FROM `*PREFIX*group_user` WHERE gid = ? AND uid = ?" );
-               $result = $query->execute( array( $groupName, $username ));
-               if( PEAR::isError($result)) {
-                       $entry = 'DB Error: "'.$result->getMessage().'"<br />';
-                       $entry .= 'Offending command was: '.$result->getDebugInfo().'<br />';
-                       error_log( $entry );
-                       die( $entry );
-               }
+               $result = $query->execute( array( $gid, $uid ));
+
                return $result->numRows() > 0 ? true : false;
        }
 
        /**
-        * Add a user to a group
+        * @brief Add a user to a group
+        * @param $uid Name of the user to add to group
+        * @param $gid Name of the group in which add the user
+        * @returns true/false
         *
-        * @param  string  $username   Name of the user to add to group
-        * @param  string  $groupName  Name of the group in which add the user
+        * Adds a user to a group.
         */
-       public static function addToGroup( $username, $groupName ){
-               if( !self::inGroup( $username, $groupName )){
+       public static function addToGroup( $uid, $gid ){
+               // No duplicate entries!
+               if( !self::inGroup( $uid, $gid )){
                        $query = OC_DB::prepare( "INSERT INTO `*PREFIX*group_user` ( `uid`, `gid` ) VALUES( ?, ? )" );
-                       $result = $query->execute( array( $username, $groupName ));
+                       $result = $query->execute( array( $uid, $gid ));
                }
+               return true;
        }
 
        /**
-        * Remove a user from a group
+        * @brief Removes a user from a group
+        * @param $uid Name of the user to remove from group
+        * @param $gid Name of the group from which remove the user
+        * @returns true/false
         *
-        * @param  string  $username   Name of the user to remove from group
-        * @param  string  $groupName  Name of the group from which remove the user
+        * removes the user from a group.
         */
-       public static function removeFromGroup( $username, $groupName ){
+       public static function removeFromGroup( $uid, $gid ){
                $query = OC_DB::prepare( "DELETE FROM `*PREFIX*group_user` WHERE `uid` = ? AND `gid` = ?" );
-               $result = $query->execute( array( $username, $groupName ));
+               $result = $query->execute( array( $uid, $gid ));
        }
 
        /**
-        * Get all groups the user belongs to
+        * @brief Get all groups a user belongs to
+        * @param $uid Name of the user
+        * @returns array with group names
         *
-        * @param  string  $username  Name of the user
+        * This function fetches all groups a user belongs to. It does not check
+        * if the user exists at all.
         */
-       public static function getUserGroups( $username ){
+       public static function getUserGroups( $uid ){
+               // No magic!
                $query = OC_DB::prepare( "SELECT * FROM `*PREFIX*group_user` WHERE uid = ?" );
-               $result = $query->execute( array( $username ));
+               $result = $query->execute( array( $uid ));
 
                $groups = array();
                while( $row = $result->fetchRow()){
@@ -138,8 +158,10 @@ class OC_GROUP_DATABASE extends OC_GROUP_BACKEND {
        }
 
        /**
-        * get a list of all groups
+        * @brief get a list of all groups
+        * @returns array with group names
         *
+        * Returns a list with all groups
         */
        public static function getGroups(){
                $query = OC_DB::prepare( "SELECT * FROM `*PREFIX*groups`" );
@@ -147,7 +169,7 @@ class OC_GROUP_DATABASE extends OC_GROUP_BACKEND {
 
                $groups = array();
                while( $row = $result->fetchRow()){
-                       $groups[] = $row;
+                       $groups[] = $row["gid"];
                }
 
                return $groups;
index d8a59a139a5cb99081fee59616cb7c134d1824f0..21f82cd81ce7792d5232afb87bd7b55c3ff37b4b 100644 (file)
@@ -79,67 +79,83 @@ class OC_GROUP {
        }
 
        /**
-        * Try to create a new group
+        * @brief Try to create a new group
+        * @param $gid The name of the group to create
+        * @returns true/false
         *
-        * @param  string  $groupName  The name of the group to create
+        * Trys to create a new group. If the group name already exists, false will
+        * be returned.
         */
-       public static function createGroup($gid) {
+       public static function createGroup( $gid ){
                return self::$_backend->createGroup($gid);
        }
 
        /**
-        * Try to delete Group
+        * @brief delete a group
+        * @param $gid gid of the group to delete
+        * @returns true/false
         *
-        * @param  string  $groupName  The name of the group to delete
+        * Deletes a group and removes it from the group_user-table
         */
-       public static function deleteGroup($gid) {
+       public static function deleteGroup( $gid ){
                return self::$_backend->deleteGroup($gid);
        }
 
        /**
-        * Check if a user belongs to a group
+        * @brief is user in group?
+        * @param $uid uid of the user
+        * @param $gid gid of the group
+        * @returns true/false
         *
-        * @param  string  $username   Name of the user to check
-        * @param  string  $groupName  Name of the group
+        * Checks whether the user is member of a group or not.
         */
-       public static function inGroup($username, $groupName) {
-               return self::$_backend->inGroup($username, $groupName);
+       public static function inGroup( $uid, $gid ){
+               return self::$_backend->inGroup($uid, $gid);
        }
 
        /**
-        * Add a user to a group
+        * @brief Add a user to a group
+        * @param $uid Name of the user to add to group
+        * @param $gid Name of the group in which add the user
+        * @returns true/false
         *
-        * @param  string  $username   Name of the user to add to group
-        * @param  string  $groupName  Name of the group in which add the user
+        * Adds a user to a group.
         */
-       public static function addToGroup($username, $groupName) {
-               return self::$_backend->addToGroup($username, $groupName);
+       public static function addToGroup( $uid, $gid ){
+               return self::$_backend->addToGroup($uid, $gid);
        }
 
        /**
-        * Remove a user from a group
+        * @brief Removes a user from a group
+        * @param $uid Name of the user to remove from group
+        * @param $gid Name of the group from which remove the user
+        * @returns true/false
         *
-        * @param  string  $username   Name of the user to remove from group
-        * @param  string  $groupName  Name of the group from which remove the user
+        * removes the user from a group.
         */
-       public static function removeFromGroup($username,$groupName){
-               return self::$_backend->removeFromGroup($username, $groupName);
+       public static function removeFromGroup( $uid, $gid ){
+               return self::$_backend->removeFromGroup($uid, $gid);
        }
 
        /**
-        * Get all groups the user belongs to
+        * @brief Get all groups a user belongs to
+        * @param $uid Name of the user
+        * @returns array with group names
         *
-        * @param  string  $username  Name of the user
+        * This function fetches all groups a user belongs to. It does not check
+        * if the user exists at all.
         */
-       public static function getUserGroups($username) {
-               return self::$_backend->getUserGroups($username);
+       public static function getUserGroups( $uid ){
+               return self::$_backend->getUserGroups($uid);
        }
 
        /**
-        * get a list of all groups
+        * @brief get a list of all groups
+        * @returns array with group names
         *
+        * Returns a list with all groups
         */
-       public static function getGroups() {
+       public static function getGroups(){
                return self::$_backend->getGroups();
        }
 }