diff options
author | Michael Gapczynski <mtgap@owncloud.com> | 2012-08-29 13:58:39 -0400 |
---|---|---|
committer | Michael Gapczynski <mtgap@owncloud.com> | 2012-08-29 14:06:55 -0400 |
commit | 26501a0bc8c7c4fa8343f5fa0c6e42bae1c7f298 (patch) | |
tree | c91fde3b30114e7c7c00d004b7719e2652147cb2 | |
parent | 224e55e59091d10c6bb3b6f8bf7bf05c5ff6999d (diff) | |
download | nextcloud-server-26501a0bc8c7c4fa8343f5fa0c6e42bae1c7f298.tar.gz nextcloud-server-26501a0bc8c7c4fa8343f5fa0c6e42bae1c7f298.zip |
Delete old link if user sets a password
-rw-r--r-- | core/js/share.js | 2 | ||||
-rw-r--r-- | lib/public/share.php | 10 |
2 files changed, 10 insertions, 2 deletions
diff --git a/core/js/share.js b/core/js/share.js index cc862b1c5f5..59ff25ee763 100644 --- a/core/js/share.js +++ b/core/js/share.js @@ -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); } }); diff --git a/lib/public/share.php b/lib/public/share.php index 165e3df452f..91b1bffc2d7 100644 --- a/lib/public/share.php +++ b/lib/public/share.php @@ -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); |