make groups not static, fixes oc-919

This commit is contained in:
Arthur Schiwon 2012-06-05 14:02:00 +02:00
parent 80fc01388a
commit 7621559d00
2 changed files with 17 additions and 17 deletions

View File

@ -44,7 +44,7 @@ abstract class OC_Group_Backend {
OC_GROUP_BACKEND_ADD_TO_GROUP => 'addToGroup', OC_GROUP_BACKEND_ADD_TO_GROUP => 'addToGroup',
OC_GROUP_BACKEND_REMOVE_FROM_GOUP => 'removeFromGroup', OC_GROUP_BACKEND_REMOVE_FROM_GOUP => 'removeFromGroup',
); );
/** /**
* @brief Get all supported actions * @brief Get all supported actions
* @returns bitwise-or'ed actions * @returns bitwise-or'ed actions
@ -62,7 +62,7 @@ abstract class OC_Group_Backend {
return $actions; return $actions;
} }
/** /**
* @brief Check if backend implements actions * @brief Check if backend implements actions
* @param $actions bitwise-or'ed actions * @param $actions bitwise-or'ed actions
@ -83,7 +83,7 @@ abstract class OC_Group_Backend {
* *
* Checks whether the user is member of a group or not. * Checks whether the user is member of a group or not.
*/ */
public static function inGroup($uid, $gid){ public function inGroup($uid, $gid){
return in_array($gid, $this->getUserGroups($uid)); return in_array($gid, $this->getUserGroups($uid));
} }
@ -95,7 +95,7 @@ abstract class OC_Group_Backend {
* This function fetches all groups a user belongs to. It does not check * This function fetches all groups a user belongs to. It does not check
* if the user exists at all. * if the user exists at all.
*/ */
public static function getUserGroups($uid){ public function getUserGroups($uid){
return array(); return array();
} }
@ -105,7 +105,7 @@ abstract class OC_Group_Backend {
* *
* Returns a list with all groups * Returns a list with all groups
*/ */
public static function getGroups(){ public function getGroups(){
return array(); return array();
} }
@ -122,7 +122,7 @@ abstract class OC_Group_Backend {
* @brief get a list of all users in a group * @brief get a list of all users in a group
* @returns array with user ids * @returns array with user ids
*/ */
public static function usersInGroup($gid){ public function usersInGroup($gid){
return array(); return array();
} }

View File

@ -41,7 +41,7 @@
* Class for group management in a SQL Database (e.g. MySQL, SQLite) * Class for group management in a SQL Database (e.g. MySQL, SQLite)
*/ */
class OC_Group_Database extends OC_Group_Backend { class OC_Group_Database extends OC_Group_Backend {
static private $userGroupCache=array(); private $userGroupCache=array();
/** /**
* @brief Try to create a new group * @brief Try to create a new group
@ -51,7 +51,7 @@ class OC_Group_Database extends OC_Group_Backend {
* Trys to create a new group. If the group name already exists, false will * Trys to create a new group. If the group name already exists, false will
* be returned. * be returned.
*/ */
public static function createGroup( $gid ){ public function createGroup( $gid ){
// Check for existence // Check for existence
$query = OC_DB::prepare( "SELECT gid FROM `*PREFIX*groups` WHERE gid = ?" ); $query = OC_DB::prepare( "SELECT gid FROM `*PREFIX*groups` WHERE gid = ?" );
$result = $query->execute( array( $gid )); $result = $query->execute( array( $gid ));
@ -76,7 +76,7 @@ class OC_Group_Database extends OC_Group_Backend {
* *
* Deletes a group and removes it from the group_user-table * Deletes a group and removes it from the group_user-table
*/ */
public static function deleteGroup( $gid ){ public function deleteGroup( $gid ){
// Delete the group // Delete the group
$query = OC_DB::prepare( "DELETE FROM `*PREFIX*groups` WHERE gid = ?" ); $query = OC_DB::prepare( "DELETE FROM `*PREFIX*groups` WHERE gid = ?" );
$result = $query->execute( array( $gid )); $result = $query->execute( array( $gid ));
@ -96,7 +96,7 @@ class OC_Group_Database extends OC_Group_Backend {
* *
* Checks whether the user is member of a group or not. * Checks whether the user is member of a group or not.
*/ */
public static function inGroup( $uid, $gid ){ public function inGroup( $uid, $gid ){
// check // check
$query = OC_DB::prepare( "SELECT uid FROM `*PREFIX*group_user` WHERE gid = ? AND uid = ?" ); $query = OC_DB::prepare( "SELECT uid FROM `*PREFIX*group_user` WHERE gid = ? AND uid = ?" );
$result = $query->execute( array( $gid, $uid )); $result = $query->execute( array( $gid, $uid ));
@ -112,9 +112,9 @@ class OC_Group_Database extends OC_Group_Backend {
* *
* Adds a user to a group. * Adds a user to a group.
*/ */
public static function addToGroup( $uid, $gid ){ public function addToGroup( $uid, $gid ){
// No duplicate entries! // No duplicate entries!
if( !self::inGroup( $uid, $gid )){ if( !$this->inGroup( $uid, $gid )){
$query = OC_DB::prepare( "INSERT INTO `*PREFIX*group_user` ( `uid`, `gid` ) VALUES( ?, ? )" ); $query = OC_DB::prepare( "INSERT INTO `*PREFIX*group_user` ( `uid`, `gid` ) VALUES( ?, ? )" );
$result = $query->execute( array( $uid, $gid )); $result = $query->execute( array( $uid, $gid ));
return true; return true;
@ -131,7 +131,7 @@ class OC_Group_Database extends OC_Group_Backend {
* *
* removes the user from a group. * removes the user from a group.
*/ */
public static function removeFromGroup( $uid, $gid ){ public function removeFromGroup( $uid, $gid ){
$query = OC_DB::prepare( "DELETE FROM *PREFIX*group_user WHERE uid = ? AND gid = ?" ); $query = OC_DB::prepare( "DELETE FROM *PREFIX*group_user WHERE uid = ? AND gid = ?" );
$result = $query->execute( array( $uid, $gid )); $result = $query->execute( array( $uid, $gid ));
@ -146,7 +146,7 @@ class OC_Group_Database extends OC_Group_Backend {
* This function fetches all groups a user belongs to. It does not check * This function fetches all groups a user belongs to. It does not check
* if the user exists at all. * if the user exists at all.
*/ */
public static function getUserGroups( $uid ){ public function getUserGroups( $uid ){
// No magic! // No magic!
$query = OC_DB::prepare( "SELECT gid FROM `*PREFIX*group_user` WHERE uid = ?" ); $query = OC_DB::prepare( "SELECT gid FROM `*PREFIX*group_user` WHERE uid = ?" );
$result = $query->execute( array( $uid )); $result = $query->execute( array( $uid ));
@ -165,7 +165,7 @@ class OC_Group_Database extends OC_Group_Backend {
* *
* Returns a list with all groups * Returns a list with all groups
*/ */
public static function getGroups(){ public function getGroups(){
$query = OC_DB::prepare( "SELECT gid FROM `*PREFIX*groups`" ); $query = OC_DB::prepare( "SELECT gid FROM `*PREFIX*groups`" );
$result = $query->execute(); $result = $query->execute();
@ -176,12 +176,12 @@ class OC_Group_Database extends OC_Group_Backend {
return $groups; return $groups;
} }
/** /**
* @brief get a list of all users in a group * @brief get a list of all users in a group
* @returns array with user ids * @returns array with user ids
*/ */
public static function usersInGroup($gid){ public function usersInGroup($gid){
$query=OC_DB::prepare('SELECT uid FROM *PREFIX*group_user WHERE gid=?'); $query=OC_DB::prepare('SELECT uid FROM *PREFIX*group_user WHERE gid=?');
$users=array(); $users=array();
$result=$query->execute(array($gid)); $result=$query->execute(array($gid));