Merge pull request #8221 from owncloud/type-hinting-sharing

Type hinting fixes for sharing
This commit is contained in:
Vincent Petry 2014-05-08 09:30:50 +02:00
commit 390549c286
5 changed files with 179 additions and 168 deletions

View File

@ -442,6 +442,9 @@ class Shared_Cache extends Cache {
} }
} }
/**
* @param integer $id
*/
private function getShareById($id) { private function getShareById($id) {
$item = \OCP\Share::getItemSharedWithBySource('file', $id); $item = \OCP\Share::getItemSharedWithBySource('file', $id);
if ($item) { if ($item) {
@ -454,6 +457,9 @@ class Shared_Cache extends Cache {
return null; return null;
} }
/**
* @param integer $id
*/
private function getParentInfo($id) { private function getParentInfo($id) {
$sql = 'SELECT `parent`, `name` FROM `*PREFIX*filecache` WHERE `fileid` = ?'; $sql = 'SELECT `parent`, `name` FROM `*PREFIX*filecache` WHERE `fileid` = ?';
$query = \OC_DB::prepare($sql); $query = \OC_DB::prepare($sql);

View File

@ -79,7 +79,7 @@ class Helper {
* @param array $linkItem link item array * @param array $linkItem link item array
* @param string $password optional password * @param string $password optional password
* *
* @return true if authorized, false otherwise * @return boolean true if authorized, false otherwise
*/ */
public static function authenticate($linkItem, $password) { public static function authenticate($linkItem, $password) {
if ($password !== null) { if ($password !== null) {

View File

@ -181,8 +181,13 @@ class OC_Share_Backend_File implements OCP\Share_Backend_File_Dependent {
return $source; return $source;
} }
/**
* @param string $target
* @param string $mountPoint
* @param string $itemType
* @return array|false source item
*/
public static function getSource($target, $mountPoint, $itemType) { public static function getSource($target, $mountPoint, $itemType) {
if ($itemType === 'folder') { if ($itemType === 'folder') {
$source = \OCP\Share::getItemSharedWith('folder', $mountPoint, \OC_Share_Backend_File::FORMAT_SHARED_STORAGE); $source = \OCP\Share::getItemSharedWith('folder', $mountPoint, \OC_Share_Backend_File::FORMAT_SHARED_STORAGE);
if ($source && $target !== '') { if ($source && $target !== '') {

View File

@ -48,11 +48,11 @@ class Share extends \OC\Share\Constants {
/** /**
* Register a sharing backend class that implements OCP\Share_Backend for an item type * Register a sharing backend class that implements OCP\Share_Backend for an item type
* @param string Item type * @param string $itemType Item type
* @param string Backend class * @param string $class Backend class
* @param string (optional) Depends on item type * @param string $collectionOf (optional) Depends on item type
* @param array (optional) List of supported file extensions if this item type depends on files * @param array $supportedFileExtensions (optional) List of supported file extensions if this item type depends on files
* @return Returns true if backend is registered or false if error * @return boolean true if backend is registered or false if error
*/ */
public static function registerBackend($itemType, $class, $collectionOf = null, $supportedFileExtensions = null) { public static function registerBackend($itemType, $class, $collectionOf = null, $supportedFileExtensions = null) {
if (self::isEnabled()) { if (self::isEnabled()) {
@ -78,7 +78,7 @@ class Share extends \OC\Share\Constants {
/** /**
* Check if the Share API is enabled * 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 * The Share API is enabled by default if not configured
*/ */
@ -93,8 +93,8 @@ class Share extends \OC\Share\Constants {
* Find which users can access a shared item * Find which users can access a shared item
* @param string $path to the file * @param string $path to the file
* @param string $ownerUser owner of the file * @param string $ownerUser owner of the file
* @param bool $includeOwner include owner to the list of users with access to the file * @param boolean $includeOwner include owner to the list of users with access to the file
* @param bool $returnUserPaths Return an array with the user => path map * @param boolean $returnUserPaths Return an array with the user => path map
* @return array * @return array
* @note $path needs to be relative to user data dir, e.g. 'file.txt' * @note $path needs to be relative to user data dir, e.g. 'file.txt'
* not '/admin/data/file.txt' * not '/admin/data/file.txt'
@ -239,12 +239,12 @@ class Share extends \OC\Share\Constants {
/** /**
* Get the items of item type shared with the current user * Get the items of item type shared with the current user
* @param string Item type * @param string $itemType
* @param int Format (optional) Format type must be defined by the backend * @param int $format (optional) Format type must be defined by the backend
* @param mixed Parameters (optional) * @param mixed $parameters (optional)
* @param int Number of items to return (optional) Returns all by default * @param int $limit Number of items to return (optional) Returns all by default
* @param bool include collections (optional) * @param boolean $includeCollections (optional)
* @return Return depends on format * @return mixed Return depends on format
*/ */
public static function getItemsSharedWith($itemType, $format = self::FORMAT_NONE, public static function getItemsSharedWith($itemType, $format = self::FORMAT_NONE,
$parameters = null, $limit = -1, $includeCollections = false) { $parameters = null, $limit = -1, $includeCollections = false) {
@ -259,7 +259,7 @@ class Share extends \OC\Share\Constants {
* @param int Format (optional) Format type must be defined by the backend * @param int Format (optional) Format type must be defined by the backend
* @param mixed Parameters (optional) * @param mixed Parameters (optional)
* @param int Number of items to return (optional) Returns all by default * @param int Number of items to return (optional) Returns all by default
* @param bool include collections (optional) * @param boolean include collections (optional)
* @return Return depends on format * @return Return depends on format
*/ */
public static function getItemsSharedWithUser($itemType, $user, $format = self::FORMAT_NONE, public static function getItemsSharedWithUser($itemType, $user, $format = self::FORMAT_NONE,
@ -273,9 +273,9 @@ class Share extends \OC\Share\Constants {
* @param string $itemType * @param string $itemType
* @param string $itemTarget * @param string $itemTarget
* @param int $format (optional) Format type must be defined by the backend * @param int $format (optional) Format type must be defined by the backend
* @param mixed Parameters (optional) * @param mixed $parameters (optional)
* @param bool include collections (optional) * @param boolean $includeCollections (optional)
* @return Return depends on format * @return mixed Return depends on format
*/ */
public static function getItemSharedWith($itemType, $itemTarget, $format = self::FORMAT_NONE, public static function getItemSharedWith($itemType, $itemTarget, $format = self::FORMAT_NONE,
$parameters = null, $includeCollections = false) { $parameters = null, $includeCollections = false) {
@ -334,12 +334,12 @@ class Share extends \OC\Share\Constants {
/** /**
* Get the item of item type shared with the current user by source * Get the item of item type shared with the current user by source
* @param string Item type * @param string $itemType
* @param string Item source * @param string $itemSource
* @param int Format (optional) Format type must be defined by the backend * @param int $format (optional) Format type must be defined by the backend
* @param mixed Parameters * @param mixed $parameters
* @param bool include collections * @param boolean $includeCollections
* @return Return depends on format * @return mixed Return depends on format
*/ */
public static function getItemSharedWithBySource($itemType, $itemSource, $format = self::FORMAT_NONE, public static function getItemSharedWithBySource($itemType, $itemSource, $format = self::FORMAT_NONE,
$parameters = null, $includeCollections = false) { $parameters = null, $includeCollections = false) {
@ -349,9 +349,9 @@ class Share extends \OC\Share\Constants {
/** /**
* Get the item of item type shared by a link * Get the item of item type shared by a link
* @param string Item type * @param string $itemType
* @param string Item source * @param string $itemSource
* @param string Owner of link * @param string $uidOwner Owner of link
* @return Item * @return Item
*/ */
public static function getItemSharedWithByLink($itemType, $itemSource, $uidOwner) { public static function getItemSharedWithByLink($itemType, $itemSource, $uidOwner) {
@ -362,7 +362,7 @@ class Share extends \OC\Share\Constants {
/** /**
* Based on the given token the share information will be returned - password protected shares will be verified * Based on the given token the share information will be returned - password protected shares will be verified
* @param string $token * @param string $token
* @return array | bool false will be returned in case the token is unknown or unauthorized * @return array | boolean false will be returned in case the token is unknown or unauthorized
*/ */
public static function getShareByToken($token, $checkPasswordProtection = true) { public static function getShareByToken($token, $checkPasswordProtection = true) {
$query = \OC_DB::prepare('SELECT * FROM `*PREFIX*share` WHERE `token` = ?', 1); $query = \OC_DB::prepare('SELECT * FROM `*PREFIX*share` WHERE `token` = ?', 1);
@ -411,12 +411,12 @@ class Share extends \OC\Share\Constants {
/** /**
* Get the shared items of item type owned by the current user * Get the shared items of item type owned by the current user
* @param string Item type * @param string $itemType
* @param int Format (optional) Format type must be defined by the backend * @param int $format (optional) Format type must be defined by the backend
* @param mixed Parameters * @param mixed $parameters
* @param int Number of items to return (optional) Returns all by default * @param int $limit Number of items to return (optional) Returns all by default
* @param bool include collections * @param boolean $includeCollections
* @return Return depends on format * @return mixed Return depends on format
*/ */
public static function getItemsShared($itemType, $format = self::FORMAT_NONE, $parameters = null, public static function getItemsShared($itemType, $format = self::FORMAT_NONE, $parameters = null,
$limit = -1, $includeCollections = false) { $limit = -1, $includeCollections = false) {
@ -426,12 +426,12 @@ class Share extends \OC\Share\Constants {
/** /**
* Get the shared item of item type owned by the current user * Get the shared item of item type owned by the current user
* @param string Item type * @param string $itemType
* @param string Item source * @param string $itemSource
* @param int Format (optional) Format type must be defined by the backend * @param int $format (optional) Format type must be defined by the backend
* @param mixed Parameters * @param mixed $parameters
* @param bool include collections * @param boolean $includeCollections
* @return Return depends on format * @return mixed Return depends on format
*/ */
public static function getItemShared($itemType, $itemSource, $format = self::FORMAT_NONE, public static function getItemShared($itemType, $itemSource, $format = self::FORMAT_NONE,
$parameters = null, $includeCollections = false) { $parameters = null, $includeCollections = false) {
@ -441,11 +441,11 @@ class Share extends \OC\Share\Constants {
/** /**
* Get all users an item is shared with * Get all users an item is shared with
* @param string Item type * @param string $itemType
* @param string Item source * @param string $itemSource
* @param string Owner * @param string $uidOwner
* @param bool Include collections * @param boolean $includeCollections
* @praram bool check expire date * @param boolean $checkExpireDate
* @return Return array of users * @return Return array of users
*/ */
public static function getUsersItemShared($itemType, $itemSource, $uidOwner, $includeCollections = false, $checkExpireDate = true) { public static function getUsersItemShared($itemType, $itemSource, $uidOwner, $includeCollections = false, $checkExpireDate = true) {
@ -478,7 +478,7 @@ class Share extends \OC\Share\Constants {
* @internal param \OCP\SHARE_TYPE_USER $int , SHARE_TYPE_GROUP, or SHARE_TYPE_LINK * @internal param \OCP\SHARE_TYPE_USER $int , SHARE_TYPE_GROUP, or SHARE_TYPE_LINK
* @internal param \OCP\User $string or group the item is being shared with * @internal param \OCP\User $string or group the item is being shared with
* @internal param \OCP\CRUDS $int permissions * @internal param \OCP\CRUDS $int permissions
* @return bool|string Returns true on success or false on failure, Returns token on success for links * @return boolean|string Returns true on success or false on failure, Returns token on success for links
*/ */
public static function shareItem($itemType, $itemSource, $shareType, $shareWith, $permissions, $itemSourceName = null) { public static function shareItem($itemType, $itemSource, $shareType, $shareWith, $permissions, $itemSourceName = null) {
$uidOwner = \OC_User::getUser(); $uidOwner = \OC_User::getUser();
@ -643,11 +643,11 @@ class Share extends \OC\Share\Constants {
/** /**
* Unshare an item from a user, group, or delete a private link * Unshare an item from a user, group, or delete a private link
* @param string Item type * @param string $itemType
* @param string Item source * @param string $itemSource
* @param int SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK * @param int $shareType SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK
* @param string User or group the item is being shared with * @param string $shareWith User or group the item is being shared with
* @return Returns true on success or false on failure * @return boolean true on success or false on failure
*/ */
public static function unshare($itemType, $itemSource, $shareType, $shareWith) { public static function unshare($itemType, $itemSource, $shareType, $shareWith) {
$item = self::getItems($itemType, $itemSource, $shareType, $shareWith, \OC_User::getUser(),self::FORMAT_NONE, null, 1); $item = self::getItems($itemType, $itemSource, $shareType, $shareWith, \OC_User::getUser(),self::FORMAT_NONE, null, 1);
@ -660,9 +660,9 @@ class Share extends \OC\Share\Constants {
/** /**
* Unshare an item from all users, groups, and remove all links * Unshare an item from all users, groups, and remove all links
* @param string Item type * @param string $itemType
* @param string Item source * @param string $itemSource
* @return Returns true on success or false on failure * @return boolean true on success or false on failure
*/ */
public static function unshareAll($itemType, $itemSource) { public static function unshareAll($itemType, $itemSource) {
// Get all of the owners of shares of this item. // Get all of the owners of shares of this item.
@ -692,9 +692,9 @@ class Share extends \OC\Share\Constants {
/** /**
* Unshare an item shared with the current user * Unshare an item shared with the current user
* @param string Item type * @param string $itemType
* @param string Item target * @param string $itemTarget
* @return Returns true on success or false on failure * @return boolean true on success or false on failure
* *
* Unsharing from self is not allowed for items inside collections * Unsharing from self is not allowed for items inside collections
*/ */
@ -727,12 +727,13 @@ class Share extends \OC\Share\Constants {
} }
return false; return false;
} }
/** /**
* sent status if users got informed by mail about share * sent status if users got informed by mail about share
* @param string $itemType * @param string $itemType
* @param string $itemSource * @param string $itemSource
* @param int $shareType SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK * @param int $shareType SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK
* @param bool $status * @param boolean $status
*/ */
public static function setSendMailStatus($itemType, $itemSource, $shareType, $status) { public static function setSendMailStatus($itemType, $itemSource, $shareType, $status) {
$status = $status ? 1 : 0; $status = $status ? 1 : 0;
@ -751,12 +752,12 @@ class Share extends \OC\Share\Constants {
/** /**
* Set the permissions of an item for a specific user or group * Set the permissions of an item for a specific user or group
* @param string Item type * @param string $itemType
* @param string Item source * @param string $itemSource
* @param int SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK * @param int $shareType SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK
* @param string User or group the item is being shared with * @param string $shareWith User or group the item is being shared with
* @param int CRUDS permissions * @param int $permissions CRUDS permissions
* @return Returns true on success or false on failure * @return boolean true on success or false on failure
*/ */
public static function setPermissions($itemType, $itemSource, $shareType, $shareWith, $permissions) { public static function setPermissions($itemType, $itemSource, $shareType, $shareWith, $permissions) {
$l = \OC_L10N::get('lib'); $l = \OC_L10N::get('lib');
@ -842,7 +843,7 @@ class Share extends \OC\Share\Constants {
* @param string $itemType * @param string $itemType
* @param string $itemSource * @param string $itemSource
* @param string $date expiration date * @param string $date expiration date
* @return \OCP\Share_Backend * @return boolean
*/ */
public static function setExpirationDate($itemType, $itemSource, $date) { public static function setExpirationDate($itemType, $itemSource, $date) {
$user = \OC_User::getUser(); $user = \OC_User::getUser();
@ -873,7 +874,7 @@ class Share extends \OC\Share\Constants {
/** /**
* Checks whether a share has expired, calls unshareItem() if yes. * Checks whether a share has expired, calls unshareItem() if yes.
* @param array $item Share data (usually database row) * @param array $item Share data (usually database row)
* @return bool True if item was expired, false otherwise. * @return boolean True if item was expired, false otherwise.
*/ */
protected static function expireItem(array $item) { protected static function expireItem(array $item) {
@ -957,7 +958,7 @@ class Share extends \OC\Share\Constants {
/** /**
* Check if resharing is allowed * 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 * Resharing is allowed by default if not configured
*/ */
@ -974,7 +975,7 @@ class Share extends \OC\Share\Constants {
/** /**
* Get a list of collection item types for the specified item type * Get a list of collection item types for the specified item type
* @param string Item type * @param string $itemType
* @return array * @return array
*/ */
private static function getCollectionItemTypes($itemType) { private static function getCollectionItemTypes($itemType) {
@ -998,17 +999,17 @@ class Share extends \OC\Share\Constants {
/** /**
* Get shared items from the database * Get shared items from the database
* @param string Item type * @param string $itemType
* @param string Item source or target (optional) * @param string Item source or target (optional)
* @param int SHARE_TYPE_USER, SHARE_TYPE_GROUP, SHARE_TYPE_LINK, $shareTypeUserAndGroups, or $shareTypeGroupUserUnique * @param int $shareType 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 $shareWith User or group the item is being shared with
* @param string User that is the owner of shared items (optional) * @param string uidOwner User that is the owner of shared items (optional)
* @param int Format to convert items to with formatItems() * @param int $format Format to convert items to with formatItems() (optional)
* @param mixed Parameters to pass to formatItems() * @param mixed $parameters to pass to formatItems() (optional)
* @param int Number of items to return, -1 to return all matches (optional) * @param int $limit Number of items to return, -1 to return all matches (optional)
* @param bool Include collection item types (optional) * @param boolean $includeCollections Include collection item types (optional)
* @param bool TODO (optional) * @param boolean $itemShareWithBySource (optional)
* @prams bool check expire date * @param boolean $checkExpireDate
* @return array * @return array
* *
* See public functions getItem(s)... for parameter usage * See public functions getItem(s)... for parameter usage
@ -1343,16 +1344,16 @@ class Share extends \OC\Share\Constants {
/** /**
* Put shared item into the database * Put shared item into the database
* @param string Item type * @param string $itemType Item type
* @param string Item source * @param string $itemSource Item source
* @param int SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK * @param int $shareType SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK
* @param string User or group the item is being shared with * @param string $shareWith User or group the item is being shared with
* @param string User that is the owner of shared item * @param string $uidOwner User that is the owner of shared item
* @param int CRUDS permissions * @param int $permissions CRUDS permissions
* @param bool|array Parent folder target (optional) * @param boolean|array $parentFolder Parent folder target (optional)
* @param string token (optional) * @param string $token (optional)
* @param string name of the source item (optional) * @param string $itemSourceName name of the source item (optional)
* @return bool Returns true on success or false on failure * @return boolean Returns true on success or false on failure
*/ */
private static function put($itemType, $itemSource, $shareType, $shareWith, $uidOwner, private static function put($itemType, $itemSource, $shareType, $shareWith, $uidOwner,
$permissions, $parentFolder = null, $token = null, $itemSourceName = null) { $permissions, $parentFolder = null, $token = null, $itemSourceName = null) {
@ -1614,7 +1615,7 @@ class Share extends \OC\Share\Constants {
* In case a password protected link is not yet authenticated this function will return false * In case a password protected link is not yet authenticated this function will return false
* *
* @param array $linkItem * @param array $linkItem
* @return bool * @return boolean
*/ */
public static function checkPasswordProtectedShare(array $linkItem) { public static function checkPasswordProtectedShare(array $linkItem) {
if (!isset($linkItem['share_with'])) { if (!isset($linkItem['share_with'])) {
@ -1642,7 +1643,7 @@ class Share extends \OC\Share\Constants {
/** /**
* @breif construct select statement * @breif construct select statement
* @param int $format * @param int $format
* @param bool $fileDependent ist it a file/folder share or a generla share * @param boolean $fileDependent ist it a file/folder share or a generla share
* @param string $uidOwner * @param string $uidOwner
* @return string select statement * @return string select statement
*/ */
@ -1717,11 +1718,11 @@ class Share extends \OC\Share\Constants {
/** /**
* @brief format result * @brief format result
* @param array $items result * @param array $items result
* @prams string $column is it a file share or a general share ('file_target' or 'item_target') * @param string $column is it a file share or a general share ('file_target' or 'item_target')
* @params \OCP\Share_Backend $backend sharing backend * @param \OCP\Share_Backend $backend sharing backend
* @param int $format * @param int $format
* @param array additional format parameters * @param array $parameters additional format parameters
* @return array formate result * @return array format result
*/ */
private static function formatResult($items, $column, $backend, $format = self::FORMAT_NONE , $parameters = null) { private static function formatResult($items, $column, $backend, $format = self::FORMAT_NONE , $parameters = null) {
if ($format === self::FORMAT_NONE) { if ($format === self::FORMAT_NONE) {

View File

@ -41,11 +41,11 @@ class Share extends \OC\Share\Constants {
/** /**
* Register a sharing backend class that implements OCP\Share_Backend for an item type * Register a sharing backend class that implements OCP\Share_Backend for an item type
* @param string Item type * @param string $itemType Item type
* @param string Backend class * @param string $class Backend class
* @param string (optional) Depends on item type * @param string $collectionOf (optional) Depends on item type
* @param array (optional) List of supported file extensions if this item type depends on files * @param array $supportedFileExtensions (optional) List of supported file extensions if this item type depends on files
* @return Returns true if backend is registered or false if error * @return boolean true if backend is registered or false if error
*/ */
public static function registerBackend($itemType, $class, $collectionOf = null, $supportedFileExtensions = null) { public static function registerBackend($itemType, $class, $collectionOf = null, $supportedFileExtensions = null) {
return \OC\Share\Share::registerBackend($itemType, $class, $collectionOf, $supportedFileExtensions); return \OC\Share\Share::registerBackend($itemType, $class, $collectionOf, $supportedFileExtensions);
@ -53,7 +53,7 @@ class Share extends \OC\Share\Constants {
/** /**
* Check if the Share API is enabled * 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 * The Share API is enabled by default if not configured
*/ */
@ -77,12 +77,12 @@ class Share extends \OC\Share\Constants {
/** /**
* Get the items of item type shared with the current user * Get the items of item type shared with the current user
* @param string Item type * @param string $itemType
* @param int Format (optional) Format type must be defined by the backend * @param int $format (optional) Format type must be defined by the backend
* @param mixed Parameters (optional) * @param mixed $parameters (optional)
* @param int Number of items to return (optional) Returns all by default * @param int $limit Number of items to return (optional) Returns all by default
* @param bool include collections (optional) * @param bool $includeCollections (optional)
* @return Return depends on format * @return mixed Return depends on format
*/ */
public static function getItemsSharedWith($itemType, $format = self::FORMAT_NONE, public static function getItemsSharedWith($itemType, $format = self::FORMAT_NONE,
$parameters = null, $limit = -1, $includeCollections = false) { $parameters = null, $limit = -1, $includeCollections = false) {
@ -113,7 +113,7 @@ class Share extends \OC\Share\Constants {
* @param int $format (optional) Format type must be defined by the backend * @param int $format (optional) Format type must be defined by the backend
* @param mixed Parameters (optional) * @param mixed Parameters (optional)
* @param bool include collections (optional) * @param bool include collections (optional)
* @return Return depends on format * @return mixed Return depends on format
*/ */
public static function getItemSharedWith($itemType, $itemTarget, $format = self::FORMAT_NONE, public static function getItemSharedWith($itemType, $itemTarget, $format = self::FORMAT_NONE,
$parameters = null, $includeCollections = false) { $parameters = null, $includeCollections = false) {
@ -134,12 +134,12 @@ class Share extends \OC\Share\Constants {
/** /**
* Get the item of item type shared with the current user by source * Get the item of item type shared with the current user by source
* @param string Item type * @param string $itemType
* @param string Item source * @param string $itemSource
* @param int Format (optional) Format type must be defined by the backend * @param int $format (optional) Format type must be defined by the backend
* @param mixed Parameters * @param mixed $parameters
* @param bool include collections * @param bool $includeCollections
* @return Return depends on format * @return mixed Return depends on format
*/ */
public static function getItemSharedWithBySource($itemType, $itemSource, $format = self::FORMAT_NONE, public static function getItemSharedWithBySource($itemType, $itemSource, $format = self::FORMAT_NONE,
$parameters = null, $includeCollections = false) { $parameters = null, $includeCollections = false) {
@ -148,9 +148,9 @@ class Share extends \OC\Share\Constants {
/** /**
* Get the item of item type shared by a link * Get the item of item type shared by a link
* @param string Item type * @param string $itemType
* @param string Item source * @param string $itemSource
* @param string Owner of link * @param string $uidOwner Owner of link
* @return Item * @return Item
*/ */
public static function getItemSharedWithByLink($itemType, $itemSource, $uidOwner) { public static function getItemSharedWithByLink($itemType, $itemSource, $uidOwner) {
@ -178,12 +178,12 @@ class Share extends \OC\Share\Constants {
/** /**
* Get the shared items of item type owned by the current user * Get the shared items of item type owned by the current user
* @param string Item type * @param string $itemType
* @param int Format (optional) Format type must be defined by the backend * @param int $format (optional) Format type must be defined by the backend
* @param mixed Parameters * @param mixed $parameters
* @param int Number of items to return (optional) Returns all by default * @param int $limit Number of items to return (optional) Returns all by default
* @param bool include collections * @param bool $includeCollections
* @return Return depends on format * @return mixed Return depends on format
*/ */
public static function getItemsShared($itemType, $format = self::FORMAT_NONE, $parameters = null, public static function getItemsShared($itemType, $format = self::FORMAT_NONE, $parameters = null,
$limit = -1, $includeCollections = false) { $limit = -1, $includeCollections = false) {
@ -193,12 +193,12 @@ class Share extends \OC\Share\Constants {
/** /**
* Get the shared item of item type owned by the current user * Get the shared item of item type owned by the current user
* @param string Item type * @param string $itemType
* @param string Item source * @param string $itemSource
* @param int Format (optional) Format type must be defined by the backend * @param int $format (optional) Format type must be defined by the backend
* @param mixed Parameters * @param mixed $parameters
* @param bool include collections * @param bool $includeCollections
* @return Return depends on format * @return mixed Return depends on format
*/ */
public static function getItemShared($itemType, $itemSource, $format = self::FORMAT_NONE, public static function getItemShared($itemType, $itemSource, $format = self::FORMAT_NONE,
$parameters = null, $includeCollections = false) { $parameters = null, $includeCollections = false) {
@ -208,11 +208,11 @@ class Share extends \OC\Share\Constants {
/** /**
* Get all users an item is shared with * Get all users an item is shared with
* @param string Item type * @param string $itemType
* @param string Item source * @param string $itemSource
* @param string Owner * @param string $uidOwner
* @param bool Include collections * @param bool $includeCollections
* @praram bool check expire date * @param bool $checkExpireDate
* @return Return array of users * @return Return array of users
*/ */
public static function getUsersItemShared($itemType, $itemSource, $uidOwner, $includeCollections = false, $checkExpireDate = true) { public static function getUsersItemShared($itemType, $itemSource, $uidOwner, $includeCollections = false, $checkExpireDate = true) {
@ -241,11 +241,11 @@ class Share extends \OC\Share\Constants {
/** /**
* Unshare an item from a user, group, or delete a private link * Unshare an item from a user, group, or delete a private link
* @param string Item type * @param string $itemType
* @param string Item source * @param string $itemSource
* @param int SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK * @param int $shareType SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK
* @param string User or group the item is being shared with * @param string $shareWith User or group the item is being shared with
* @return Returns true on success or false on failure * @return boolean true on success or false on failure
*/ */
public static function unshare($itemType, $itemSource, $shareType, $shareWith) { public static function unshare($itemType, $itemSource, $shareType, $shareWith) {
return \OC\Share\Share::unshare($itemType, $itemSource, $shareType, $shareWith); return \OC\Share\Share::unshare($itemType, $itemSource, $shareType, $shareWith);
@ -253,9 +253,9 @@ class Share extends \OC\Share\Constants {
/** /**
* Unshare an item from all users, groups, and remove all links * Unshare an item from all users, groups, and remove all links
* @param string Item type * @param string $itemType
* @param string Item source * @param string $itemSource
* @return Returns true on success or false on failure * @return boolean true on success or false on failure
*/ */
public static function unshareAll($itemType, $itemSource) { public static function unshareAll($itemType, $itemSource) {
return \OC\Share\Share::unshareAll($itemType, $itemSource); return \OC\Share\Share::unshareAll($itemType, $itemSource);
@ -263,15 +263,16 @@ class Share extends \OC\Share\Constants {
/** /**
* Unshare an item shared with the current user * Unshare an item shared with the current user
* @param string Item type * @param string $itemType
* @param string Item target * @param string $itemTarget
* @return Returns true on success or false on failure * @return boolean true on success or false on failure
* *
* Unsharing from self is not allowed for items inside collections * Unsharing from self is not allowed for items inside collections
*/ */
public static function unshareFromSelf($itemType, $itemTarget) { public static function unshareFromSelf($itemType, $itemTarget) {
return \OC\Share\Share::unshareFromSelf($itemType, $itemTarget); return \OC\Share\Share::unshareFromSelf($itemType, $itemTarget);
} }
/** /**
* sent status if users got informed by mail about share * sent status if users got informed by mail about share
* @param string $itemType * @param string $itemType
@ -285,12 +286,12 @@ class Share extends \OC\Share\Constants {
/** /**
* Set the permissions of an item for a specific user or group * Set the permissions of an item for a specific user or group
* @param string Item type * @param string $itemType
* @param string Item source * @param string $itemSource
* @param int SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK * @param int $shareType SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK
* @param string User or group the item is being shared with * @param string $shareWith User or group the item is being shared with
* @param int CRUDS permissions * @param int $permissions CRUDS permissions
* @return Returns true on success or false on failure * @return boolean true on success or false on failure
*/ */
public static function setPermissions($itemType, $itemSource, $shareType, $shareWith, $permissions) { public static function setPermissions($itemType, $itemSource, $shareType, $shareWith, $permissions) {
return \OC\Share\Share::setPermissions($itemType, $itemSource, $shareType, $shareWith, $permissions); return \OC\Share\Share::setPermissions($itemType, $itemSource, $shareType, $shareWith, $permissions);
@ -301,7 +302,7 @@ class Share extends \OC\Share\Constants {
* @param string $itemType * @param string $itemType
* @param string $itemSource * @param string $itemSource
* @param string $date expiration date * @param string $date expiration date
* @return Share_Backend * @return boolean
*/ */
public static function setExpirationDate($itemType, $itemSource, $date) { public static function setExpirationDate($itemType, $itemSource, $date) {
return \OC\Share\Share::setExpirationDate($itemType, $itemSource, $date); return \OC\Share\Share::setExpirationDate($itemType, $itemSource, $date);
@ -340,23 +341,20 @@ class Share extends \OC\Share\Constants {
interface Share_Backend { interface Share_Backend {
/** /**
* Get the source of the item to be stored in the database * Check if this $itemSource exist for the user
* @param string Item source * @param string $itemSource
* @param string Owner of the item * @param string $uidOwner Owner of the item
* @return mixed|array|false Source * @return boolean|null Source
* *
* Return an array if the item is file dependent, the array needs two keys: 'item' and 'file'
* Return false if the item does not exist for the user * Return false if the item does not exist for the user
*
* The formatItems() function will translate the source returned back into the item
*/ */
public function isValidSource($itemSource, $uidOwner); public function isValidSource($itemSource, $uidOwner);
/** /**
* Get a unique name of the item for the specified user * Get a unique name of the item for the specified user
* @param string Item source * @param string $itemSource
* @param string|false User the item is being shared with * @param string|false $shareWith User the item is being shared with
* @param array|null List of similar item names already existing as shared items * @param array|null $exclude List of similar item names already existing as shared items
* @return string Target name * @return string Target name
* *
* This function needs to verify that the user does not already have an item with this name. * This function needs to verify that the user does not already have an item with this name.
@ -366,8 +364,8 @@ interface Share_Backend {
/** /**
* Converts the shared item sources back into the item in the specified format * Converts the shared item sources back into the item in the specified format
* @param array Shared items * @param array $items Shared items
* @param int Format * @param int $format
* @return TODO * @return TODO
* *
* The items array is a 3-dimensional array with the item_source as the * The items array is a 3-dimensional array with the item_source as the
@ -397,8 +395,9 @@ interface Share_Backend_File_Dependent extends Share_Backend {
/** /**
* Get the file path of the item * Get the file path of the item
* @param string Item source * @param string $itemSource
* @param string User that is the owner of shared item * @param string $uidOwner User that is the owner of shared item
* @return string|false
*/ */
public function getFilePath($itemSource, $uidOwner); public function getFilePath($itemSource, $uidOwner);
@ -412,7 +411,7 @@ interface Share_Backend_Collection extends Share_Backend {
/** /**
* Get the sources of the children of the item * Get the sources of the children of the item
* @param string Item source * @param string $itemSource
* @return array Returns an array of children each inside an array with the keys: source, target, and file_path if applicable * @return array Returns an array of children each inside an array with the keys: source, target, and file_path if applicable
*/ */
public function getChildren($itemSource); public function getChildren($itemSource);