proper fix for getting the shared item if no user is logged in
This commit is contained in:
parent
d1d6885585
commit
352c1415be
|
@ -26,15 +26,18 @@ if (empty($_POST['dirToken'])) {
|
|||
if (!($linkItem['permissions'] & OCP\PERMISSION_CREATE)) {
|
||||
OCP\JSON::checkLoggedIn();
|
||||
} else {
|
||||
// Setup FS with owner
|
||||
OC_Util::tearDownFS();
|
||||
OC_Util::setupFS($linkItem['uid_owner']);
|
||||
|
||||
// translate linkItem to the real folder name on the file system
|
||||
$sharedItem = OCP\Share::getItemShared($linkItem['item_type'], $linkItem['item_source']);
|
||||
$sharedItem = OCP\Share::getSharedItem($linkItem['item_type'], $linkItem['item_source'], $linkItem['uid_owner']);
|
||||
if (!$sharedItem || empty($sharedItem) || $sharedItem === false) {
|
||||
OCP\JSON::error(array('data' => array_merge(array('message' => $l->t('Unable to set upload directory.')))));
|
||||
die();
|
||||
}
|
||||
|
||||
// The token defines the target directory (security reasons)
|
||||
$sharedItem = array_pop($sharedItem);
|
||||
$dir = sprintf(
|
||||
"/%s/%s",
|
||||
$sharedItem['path'],
|
||||
|
@ -45,8 +48,6 @@ if (empty($_POST['dirToken'])) {
|
|||
OCP\JSON::error(array('data' => array_merge(array('message' => $l->t('Unable to set upload directory.')))));
|
||||
die();
|
||||
}
|
||||
// Setup FS with owner
|
||||
OC_Util::setupFS($linkItem['uid_owner']);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -317,6 +317,17 @@ class Share {
|
|||
$parameters, -1, $includeCollections);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $itemType
|
||||
* @param $itemSource
|
||||
* @param $uid_owner
|
||||
* @return mixed
|
||||
*/
|
||||
public static function getSharedItem($itemType, $itemSource, $uid_owner) {
|
||||
return self::getItems($itemType, $itemSource, null, null, $uid_owner, self::FORMAT_NONE,
|
||||
null, 1, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all users an item is shared with
|
||||
* @param string Item type
|
||||
|
|
Loading…
Reference in New Issue