Delete old link if user sets a password

This commit is contained in:
Michael Gapczynski 2012-08-29 13:58:39 -04:00
parent 224e55e590
commit 26501a0bc8
2 changed files with 10 additions and 2 deletions

View file

@ -417,8 +417,6 @@ $(document).ready(function() {
if (event.keyCode == 13) {
var itemType = $('#dropdown').data('item-type');
var itemSource = $('#dropdown').data('item-source');
// TODO Do this internally
OC.Share.unshare(itemType, itemSource, OC.Share.SHARE_TYPE_LINK, '');
OC.Share.share(itemType, itemSource, OC.Share.SHARE_TYPE_LINK, $(this).val(), OC.Share.PERMISSION_READ);
}
});

View file

@ -229,6 +229,16 @@ class Share {
$shareWith['users'] = array_diff(\OC_Group::usersInGroup($group), array($uidOwner));
} else if ($shareType === self::SHARE_TYPE_LINK) {
if (\OC_Appconfig::getValue('core', 'shareapi_allow_links', 'yes') == 'yes') {
if ($checkExists = self::getItems($itemType, $itemSource, self::SHARE_TYPE_LINK, null, $uidOwner, self::FORMAT_NONE, null, 1)) {
// If password is set delete the old link
if (isset($shareWith)) {
self::delete($checkExists['id']);
} else {
$message = 'Sharing '.$itemSource.' failed, because this item is already shared with a link';
\OC_Log::write('OCP\Share', $message, \OC_Log::ERROR);
throw new \Exception($message);
}
}
// Generate hash of password - same method as user passwords
if (isset($shareWith)) {
$forcePortable = (CRYPT_BLOWFISH != 1);