You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
125 lines
3.2 KiB
125 lines
3.2 KiB
<?php |
|
/** |
|
* @copyright Copyright (c) 2016, ownCloud, Inc. |
|
* |
|
* @author Arthur Schiwon <blizzz@arthur-schiwon.de> |
|
* @author Jörn Friedrich Dreyer <jfd@butonic.de> |
|
* @author Knut Ahlers <knut@ahlers.me> |
|
* @author Morris Jobke <hey@morrisjobke.de> |
|
* @author Vincent Petry <pvince81@owncloud.com> |
|
* |
|
* @license AGPL-3.0 |
|
* |
|
* This code is free software: you can redistribute it and/or modify |
|
* it under the terms of the GNU Affero General Public License, version 3, |
|
* as published by the Free Software Foundation. |
|
* |
|
* This program 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, version 3, |
|
* along with this program. If not, see <http://www.gnu.org/licenses/> |
|
* |
|
*/ |
|
|
|
/** |
|
* Public interface of ownCloud for apps to use. |
|
* Group Class. |
|
* |
|
*/ |
|
|
|
// use OCP namespace for all classes that are considered public. |
|
// This means that they should be used by apps instead of the internal ownCloud classes |
|
namespace OCP; |
|
|
|
/** |
|
* TODO actually this is a IGroupBackend |
|
* |
|
* @package OCP |
|
* @since 4.5.0 |
|
*/ |
|
interface GroupInterface { |
|
|
|
/** |
|
* actions that user backends can define |
|
*/ |
|
const CREATE_GROUP = 0x00000001; |
|
const DELETE_GROUP = 0x00000010; |
|
const ADD_TO_GROUP = 0x00000100; |
|
const REMOVE_FROM_GOUP = 0x00001000; // oops |
|
const REMOVE_FROM_GROUP = 0x00001000; |
|
//OBSOLETE const GET_DISPLAYNAME = 0x00010000; |
|
const COUNT_USERS = 0x00100000; |
|
const GROUP_DETAILS = 0x01000000; |
|
/** |
|
* @since 13.0.0 |
|
*/ |
|
const IS_ADMIN = 0x10000000; |
|
|
|
/** |
|
* Check if backend implements actions |
|
* @param int $actions bitwise-or'ed actions |
|
* @return boolean |
|
* @since 4.5.0 |
|
* |
|
* Returns the supported actions as int to be |
|
* compared with \OC_Group_Backend::CREATE_GROUP etc. |
|
*/ |
|
public function implementsActions($actions); |
|
|
|
/** |
|
* is user in group? |
|
* @param string $uid uid of the user |
|
* @param string $gid gid of the group |
|
* @return bool |
|
* @since 4.5.0 |
|
* |
|
* Checks whether the user is member of a group or not. |
|
*/ |
|
public function inGroup($uid, $gid); |
|
|
|
/** |
|
* Get all groups a user belongs to |
|
* @param string $uid Name of the user |
|
* @return array an array of group names |
|
* @since 4.5.0 |
|
* |
|
* This function fetches all groups a user belongs to. It does not check |
|
* if the user exists at all. |
|
*/ |
|
public function getUserGroups($uid); |
|
|
|
/** |
|
* get a list of all groups |
|
* @param string $search |
|
* @param int $limit |
|
* @param int $offset |
|
* @return array an array of group names |
|
* @since 4.5.0 |
|
* |
|
* Returns a list with all groups |
|
*/ |
|
public function getGroups($search = '', $limit = -1, $offset = 0); |
|
|
|
/** |
|
* check if a group exists |
|
* @param string $gid |
|
* @return bool |
|
* @since 4.5.0 |
|
*/ |
|
public function groupExists($gid); |
|
|
|
/** |
|
* get a list of all users in a group |
|
* @param string $gid |
|
* @param string $search |
|
* @param int $limit |
|
* @param int $offset |
|
* @return array an array of user ids |
|
* @since 4.5.0 |
|
*/ |
|
public function usersInGroup($gid, $search = '', $limit = -1, $offset = 0); |
|
|
|
}
|
|
|