make groups not static, fixes oc-919
This commit is contained in:
parent
80fc01388a
commit
7621559d00
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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));
|
||||||
|
|
Loading…
Reference in New Issue