|
|
@@ -48,11 +48,11 @@ class Share extends \OC\Share\Constants { |
|
|
|
|
|
|
|
/** |
|
|
|
* Register a sharing backend class that implements OCP\Share_Backend for an item type |
|
|
|
* @param string Item type |
|
|
|
* @param string Backend class |
|
|
|
* @param string (optional) Depends on item type |
|
|
|
* @param array (optional) List of supported file extensions if this item type depends on files |
|
|
|
* @return Returns true if backend is registered or false if error |
|
|
|
* @param string $itemType Item type |
|
|
|
* @param string $class Backend class |
|
|
|
* @param string $collectionOf (optional) Depends on item type |
|
|
|
* @param array $supportedFileExtensions (optional) List of supported file extensions if this item type depends on files |
|
|
|
* @return boolean true if backend is registered or false if error |
|
|
|
*/ |
|
|
|
public static function registerBackend($itemType, $class, $collectionOf = null, $supportedFileExtensions = null) { |
|
|
|
if (self::isEnabled()) { |
|
|
@@ -78,7 +78,7 @@ class Share extends \OC\Share\Constants { |
|
|
|
|
|
|
|
/** |
|
|
|
* Check if the Share API is enabled |
|
|
|
* @return Returns true if enabled or false |
|
|
|
* @return boolean true if enabled or false |
|
|
|
* |
|
|
|
* The Share API is enabled by default if not configured |
|
|
|
*/ |
|
|
@@ -91,9 +91,9 @@ class Share extends \OC\Share\Constants { |
|
|
|
|
|
|
|
/** |
|
|
|
* Find which users can access a shared item |
|
|
|
* @param $path to the file |
|
|
|
* @param $user owner of the file |
|
|
|
* @param include owner to the list of users with access to the file |
|
|
|
* @param string $path to the file |
|
|
|
* @param string $user owner of the file |
|
|
|
* @param bool $includeOwner include owner to the list of users with access to the file |
|
|
|
* @return array |
|
|
|
* @note $path needs to be relative to user data dir, e.g. 'file.txt' |
|
|
|
* not '/admin/data/file.txt' |
|
|
@@ -198,12 +198,12 @@ class Share extends \OC\Share\Constants { |
|
|
|
|
|
|
|
/** |
|
|
|
* Get the items of item type shared with the current user |
|
|
|
* @param string Item type |
|
|
|
* @param int Format (optional) Format type must be defined by the backend |
|
|
|
* @param mixed Parameters (optional) |
|
|
|
* @param int Number of items to return (optional) Returns all by default |
|
|
|
* @param bool include collections (optional) |
|
|
|
* @return Return depends on format |
|
|
|
* @param string $itemType |
|
|
|
* @param int $format (optional) Format type must be defined by the backend |
|
|
|
* @param mixed $parameters (optional) |
|
|
|
* @param int $limit Number of items to return (optional) Returns all by default |
|
|
|
* @param bool $includeCollections (optional) |
|
|
|
* @return mixed Return depends on format |
|
|
|
*/ |
|
|
|
public static function getItemsSharedWith($itemType, $format = self::FORMAT_NONE, |
|
|
|
$parameters = null, $limit = -1, $includeCollections = false) { |
|
|
@@ -216,9 +216,9 @@ class Share extends \OC\Share\Constants { |
|
|
|
* @param string $itemType |
|
|
|
* @param string $itemTarget |
|
|
|
* @param int $format (optional) Format type must be defined by the backend |
|
|
|
* @param mixed Parameters (optional) |
|
|
|
* @param bool include collections (optional) |
|
|
|
* @return Return depends on format |
|
|
|
* @param mixed $parameters (optional) |
|
|
|
* @param bool $includeCollections (optional) |
|
|
|
* @return mixed Return depends on format |
|
|
|
*/ |
|
|
|
public static function getItemSharedWith($itemType, $itemTarget, $format = self::FORMAT_NONE, |
|
|
|
$parameters = null, $includeCollections = false) { |
|
|
@@ -277,12 +277,12 @@ class Share extends \OC\Share\Constants { |
|
|
|
|
|
|
|
/** |
|
|
|
* Get the item of item type shared with the current user by source |
|
|
|
* @param string Item type |
|
|
|
* @param string Item source |
|
|
|
* @param int Format (optional) Format type must be defined by the backend |
|
|
|
* @param mixed Parameters |
|
|
|
* @param bool include collections |
|
|
|
* @return Return depends on format |
|
|
|
* @param string $itemType |
|
|
|
* @param string $itemSource |
|
|
|
* @param int $format (optional) Format type must be defined by the backend |
|
|
|
* @param mixed $parameters |
|
|
|
* @param bool $includeCollections |
|
|
|
* @return mixed Return depends on format |
|
|
|
*/ |
|
|
|
public static function getItemSharedWithBySource($itemType, $itemSource, $format = self::FORMAT_NONE, |
|
|
|
$parameters = null, $includeCollections = false) { |
|
|
@@ -292,9 +292,9 @@ class Share extends \OC\Share\Constants { |
|
|
|
|
|
|
|
/** |
|
|
|
* Get the item of item type shared by a link |
|
|
|
* @param string Item type |
|
|
|
* @param string Item source |
|
|
|
* @param string Owner of link |
|
|
|
* @param string $itemType |
|
|
|
* @param string $itemSource |
|
|
|
* @param string $uidOwner Owner of link |
|
|
|
* @return Item |
|
|
|
*/ |
|
|
|
public static function getItemSharedWithByLink($itemType, $itemSource, $uidOwner) { |
|
|
@@ -354,12 +354,12 @@ class Share extends \OC\Share\Constants { |
|
|
|
|
|
|
|
/** |
|
|
|
* Get the shared items of item type owned by the current user |
|
|
|
* @param string Item type |
|
|
|
* @param int Format (optional) Format type must be defined by the backend |
|
|
|
* @param mixed Parameters |
|
|
|
* @param int Number of items to return (optional) Returns all by default |
|
|
|
* @param bool include collections |
|
|
|
* @return Return depends on format |
|
|
|
* @param string $itemType |
|
|
|
* @param int $format (optional) Format type must be defined by the backend |
|
|
|
* @param mixed $parameters |
|
|
|
* @param int $limit Number of items to return (optional) Returns all by default |
|
|
|
* @param bool $includeCollections |
|
|
|
* @return mixed Return depends on format |
|
|
|
*/ |
|
|
|
public static function getItemsShared($itemType, $format = self::FORMAT_NONE, $parameters = null, |
|
|
|
$limit = -1, $includeCollections = false) { |
|
|
@@ -369,12 +369,12 @@ class Share extends \OC\Share\Constants { |
|
|
|
|
|
|
|
/** |
|
|
|
* Get the shared item of item type owned by the current user |
|
|
|
* @param string Item type |
|
|
|
* @param string Item source |
|
|
|
* @param int Format (optional) Format type must be defined by the backend |
|
|
|
* @param mixed Parameters |
|
|
|
* @param bool include collections |
|
|
|
* @return Return depends on format |
|
|
|
* @param string $itemType |
|
|
|
* @param string $itemSource |
|
|
|
* @param int $format (optional) Format type must be defined by the backend |
|
|
|
* @param mixed $parameters |
|
|
|
* @param bool $includeCollections |
|
|
|
* @return mixed Return depends on format |
|
|
|
*/ |
|
|
|
public static function getItemShared($itemType, $itemSource, $format = self::FORMAT_NONE, |
|
|
|
$parameters = null, $includeCollections = false) { |
|
|
@@ -384,11 +384,11 @@ class Share extends \OC\Share\Constants { |
|
|
|
|
|
|
|
/** |
|
|
|
* Get all users an item is shared with |
|
|
|
* @param string Item type |
|
|
|
* @param string Item source |
|
|
|
* @param string Owner |
|
|
|
* @param bool Include collections |
|
|
|
* @praram bool check expire date |
|
|
|
* @param string $itemType |
|
|
|
* @param string $itemSource |
|
|
|
* @param string $uidOwner |
|
|
|
* @param bool $includeCollections |
|
|
|
* @param bool $checkExpireDate |
|
|
|
* @return Return array of users |
|
|
|
*/ |
|
|
|
public static function getUsersItemShared($itemType, $itemSource, $uidOwner, $includeCollections = false, $checkExpireDate = true) { |
|
|
@@ -559,11 +559,11 @@ class Share extends \OC\Share\Constants { |
|
|
|
|
|
|
|
/** |
|
|
|
* Unshare an item from a user, group, or delete a private link |
|
|
|
* @param string Item type |
|
|
|
* @param string Item source |
|
|
|
* @param int SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK |
|
|
|
* @param string User or group the item is being shared with |
|
|
|
* @return Returns true on success or false on failure |
|
|
|
* @param string $itemType |
|
|
|
* @param string $itemSource |
|
|
|
* @param int $shareType SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK |
|
|
|
* @param string $shareWith User or group the item is being shared with |
|
|
|
* @return boolean true on success or false on failure |
|
|
|
*/ |
|
|
|
public static function unshare($itemType, $itemSource, $shareType, $shareWith) { |
|
|
|
$item = self::getItems($itemType, $itemSource, $shareType, $shareWith, \OC_User::getUser(),self::FORMAT_NONE, null, 1); |
|
|
@@ -576,9 +576,9 @@ class Share extends \OC\Share\Constants { |
|
|
|
|
|
|
|
/** |
|
|
|
* Unshare an item from all users, groups, and remove all links |
|
|
|
* @param string Item type |
|
|
|
* @param string Item source |
|
|
|
* @return Returns true on success or false on failure |
|
|
|
* @param string $itemType |
|
|
|
* @param string $itemSource |
|
|
|
* @return boolean true on success or false on failure |
|
|
|
*/ |
|
|
|
public static function unshareAll($itemType, $itemSource) { |
|
|
|
// Get all of the owners of shares of this item. |
|
|
@@ -608,9 +608,9 @@ class Share extends \OC\Share\Constants { |
|
|
|
|
|
|
|
/** |
|
|
|
* Unshare an item shared with the current user |
|
|
|
* @param string Item type |
|
|
|
* @param string Item target |
|
|
|
* @return Returns true on success or false on failure |
|
|
|
* @param string $itemType |
|
|
|
* @param string $itemTarget |
|
|
|
* @return boolean true on success or false on failure |
|
|
|
* |
|
|
|
* Unsharing from self is not allowed for items inside collections |
|
|
|
*/ |
|
|
@@ -643,6 +643,7 @@ class Share extends \OC\Share\Constants { |
|
|
|
} |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* sent status if users got informed by mail about share |
|
|
|
* @param string $itemType |
|
|
@@ -667,12 +668,12 @@ class Share extends \OC\Share\Constants { |
|
|
|
|
|
|
|
/** |
|
|
|
* Set the permissions of an item for a specific user or group |
|
|
|
* @param string Item type |
|
|
|
* @param string Item source |
|
|
|
* @param int SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK |
|
|
|
* @param string User or group the item is being shared with |
|
|
|
* @param int CRUDS permissions |
|
|
|
* @return Returns true on success or false on failure |
|
|
|
* @param string $itemType |
|
|
|
* @param string $itemSource |
|
|
|
* @param int $shareType SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK |
|
|
|
* @param string $shareWith User or group the item is being shared with |
|
|
|
* @param int $permissions CRUDS permissions |
|
|
|
* @return boolean true on success or false on failure |
|
|
|
*/ |
|
|
|
public static function setPermissions($itemType, $itemSource, $shareType, $shareWith, $permissions) { |
|
|
|
if ($item = self::getItems($itemType, $itemSource, $shareType, $shareWith, |
|
|
@@ -754,7 +755,7 @@ class Share extends \OC\Share\Constants { |
|
|
|
* @param string $itemType |
|
|
|
* @param string $itemSource |
|
|
|
* @param string $date expiration date |
|
|
|
* @return \OCP\Share_Backend |
|
|
|
* @return boolean |
|
|
|
*/ |
|
|
|
public static function setExpirationDate($itemType, $itemSource, $date) { |
|
|
|
$user = \OC_User::getUser(); |
|
|
@@ -853,7 +854,7 @@ class Share extends \OC\Share\Constants { |
|
|
|
|
|
|
|
/** |
|
|
|
* Check if resharing is allowed |
|
|
|
* @return Returns true if allowed or false |
|
|
|
* @return boolean true if allowed or false |
|
|
|
* |
|
|
|
* Resharing is allowed by default if not configured |
|
|
|
*/ |
|
|
@@ -870,7 +871,7 @@ class Share extends \OC\Share\Constants { |
|
|
|
|
|
|
|
/** |
|
|
|
* Get a list of collection item types for the specified item type |
|
|
|
* @param string Item type |
|
|
|
* @param string $itemType |
|
|
|
* @return array |
|
|
|
*/ |
|
|
|
private static function getCollectionItemTypes($itemType) { |
|
|
@@ -894,17 +895,17 @@ class Share extends \OC\Share\Constants { |
|
|
|
|
|
|
|
/** |
|
|
|
* Get shared items from the database |
|
|
|
* @param string Item type |
|
|
|
* @param string $itemType |
|
|
|
* @param string Item source or target (optional) |
|
|
|
* @param int SHARE_TYPE_USER, SHARE_TYPE_GROUP, SHARE_TYPE_LINK, $shareTypeUserAndGroups, or $shareTypeGroupUserUnique |
|
|
|
* @param string User or group the item is being shared with |
|
|
|
* @param string User that is the owner of shared items (optional) |
|
|
|
* @param int Format to convert items to with formatItems() |
|
|
|
* @param mixed Parameters to pass to formatItems() |
|
|
|
* @param int Number of items to return, -1 to return all matches (optional) |
|
|
|
* @param bool Include collection item types (optional) |
|
|
|
* @param bool TODO (optional) |
|
|
|
* @prams bool check expire date |
|
|
|
* @param int $shareType SHARE_TYPE_USER, SHARE_TYPE_GROUP, SHARE_TYPE_LINK, $shareTypeUserAndGroups, or $shareTypeGroupUserUnique |
|
|
|
* @param string $shareWith User or group the item is being shared with |
|
|
|
* @param string uidOwner User that is the owner of shared items (optional) |
|
|
|
* @param int $format Format to convert items to with formatItems() |
|
|
|
* @param mixed $parameters to pass to formatItems() |
|
|
|
* @param int $limit Number of items to return, -1 to return all matches (optional) |
|
|
|
* @param bool $includeCollections Include collection item types (optional) |
|
|
|
* @param bool $itemShareWithBySource (optional) |
|
|
|
* @param bool $checkExpireDate |
|
|
|
* @return array |
|
|
|
* |
|
|
|
* See public functions getItem(s)... for parameter usage |
|
|
@@ -1242,15 +1243,15 @@ class Share extends \OC\Share\Constants { |
|
|
|
|
|
|
|
/** |
|
|
|
* Put shared item into the database |
|
|
|
* @param string Item type |
|
|
|
* @param string Item source |
|
|
|
* @param int SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK |
|
|
|
* @param string User or group the item is being shared with |
|
|
|
* @param string User that is the owner of shared item |
|
|
|
* @param int CRUDS permissions |
|
|
|
* @param bool|array Parent folder target (optional) |
|
|
|
* @param string token (optional) |
|
|
|
* @param string name of the source item (optional) |
|
|
|
* @param string $itemType Item type |
|
|
|
* @param string $itemSource Item source |
|
|
|
* @param int $shareType SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK |
|
|
|
* @param string $shareWith User or group the item is being shared with |
|
|
|
* @param string $uidOwner User that is the owner of shared item |
|
|
|
* @param int $permissions CRUDS permissions |
|
|
|
* @param bool|array $parentFolder Parent folder target (optional) |
|
|
|
* @param string $token (optional) |
|
|
|
* @param string $itemSourceName name of the source item (optional) |
|
|
|
* @return bool Returns true on success or false on failure |
|
|
|
*/ |
|
|
|
private static function put($itemType, $itemSource, $shareType, $shareWith, $uidOwner, |
|
|
@@ -1600,11 +1601,11 @@ class Share extends \OC\Share\Constants { |
|
|
|
/** |
|
|
|
* @brief format result |
|
|
|
* @param array $items result |
|
|
|
* @prams string $column is it a file share or a general share ('file_target' or 'item_target') |
|
|
|
* @params \OCP\Share_Backend $backend sharing backend |
|
|
|
* @param string $column is it a file share or a general share ('file_target' or 'item_target') |
|
|
|
* @param \OCP\Share_Backend $backend sharing backend |
|
|
|
* @param int $format |
|
|
|
* @param array additional format parameters |
|
|
|
* @return array formate result |
|
|
|
* @param array $parameters additional format parameters |
|
|
|
* @return array format result |
|
|
|
*/ |
|
|
|
private static function formatResult($items, $column, $backend, $format = self::FORMAT_NONE , $parameters = null) { |
|
|
|
if ($format === self::FORMAT_NONE) { |