* @author Felix Moeller * @author Lukas Reschke * @author Michael Gapczynski * @author Morris Jobke * @author Robin Appelman * @author Robin McCorkell * * @copyright Copyright (c) 2016, ownCloud, Inc. * @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 * */ /** * abstract reference class for group management * this class should only be used as a reference for method signatures and their descriptions */ abstract class OC_Group_Example { /** * Try to create a new group * @param string $gid The name of the group to create * @return bool * * Tries to create a new group. If the group name already exists, false will * be returned. */ abstract public static function createGroup($gid); /** * delete a group * @param string $gid gid of the group to delete * @return bool * * Deletes a group and removes it from the group_user-table */ abstract public static function deleteGroup($gid); /** * is user in group? * @param string $uid uid of the user * @param string $gid gid of the group * @return bool * * Checks whether the user is member of a group or not. */ abstract public static function inGroup($uid, $gid); /** * Add a user to a group * @param string $uid Name of the user to add to group * @param string $gid Name of the group in which add the user * @return bool * * Adds a user to a group. */ abstract public static function addToGroup($uid, $gid); /** * Removes a user from a group * @param string $uid Name of the user to remove from group * @param string $gid Name of the group from which remove the user * @return bool * * removes the user from a group. */ abstract public static function removeFromGroup($uid, $gid); /** * Get all groups a user belongs to * @param string $uid Name of the user * @return array an array of group names * * This function fetches all groups a user belongs to. It does not check * if the user exists at all. */ abstract public static 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 */ abstract public static function getGroups($search = '', $limit = -1, $offset = 0); /** * Check if a group exists * @param string $gid * @return bool */ abstract 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 */ abstract public static function usersInGroup($gid, $search = '', $limit = -1, $offset = 0); }