public static function getByShareToken($token)
{
$linkItem = \OCP\Share::getShareByToken($token, false);
if (is_array($linkItem) && isset($linkItem['uid_owner'])) {
// seems to be a valid share
$rootLinkItem = \OCP\Share::resolveReShare($linkItem);
} else {
throw new \Exception('This file was probably unshared');
}
$file = new File($rootLinkItem['file_source'], $rootLinkItem, $token);
if (isset($linkItem['share_with']) && !empty($linkItem['share_with'])) {
$file->setPasswordProtected(true);
}
return $file;
}