diff --git a/core/ajax/share.php b/core/ajax/share.php index 37f374c499243ae9bab9c6cdc9385247926c7f79..451c761c2cde0b5db8e21ade31d67f39e903e1a2 100644 --- a/core/ajax/share.php +++ b/core/ajax/share.php @@ -107,7 +107,7 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo $mailNotification = new OC\Share\MailNotifications(); $result = $mailNotification->sendInternalShareMail($recipientList, $itemSource, $itemType); - \OCP\Share::setSendMailStatus($itemType, $itemSource, $shareType, true); + \OCP\Share::setSendMailStatus($itemType, $itemSource, $shareType, $recipient, true); if (empty($result)) { OCP\JSON::success(); @@ -126,7 +126,7 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo $shareType = $_POST['shareType']; $itemType = $_POST['itemType']; $recipient = $_POST['recipient']; - \OCP\Share::setSendMailStatus($itemType, $itemSource, $shareType, false); + \OCP\Share::setSendMailStatus($itemType, $itemSource, $shareType, $recipient, false); OCP\JSON::success(); break; diff --git a/lib/private/share/share.php b/lib/private/share/share.php index 646511fd64dbc560c3c84dea24fa898d756be4f8..4bf6622c5618f34a1837dde279315562377bf60a 100644 --- a/lib/private/share/share.php +++ b/lib/private/share/share.php @@ -820,17 +820,18 @@ class Share extends \OC\Share\Constants { * @param string $itemType * @param string $itemSource * @param int $shareType SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK + * @param string $recipient with whom was the file shared * @param boolean $status */ - public static function setSendMailStatus($itemType, $itemSource, $shareType, $status) { + public static function setSendMailStatus($itemType, $itemSource, $shareType, $recipient, $status) { $status = $status ? 1 : 0; $query = \OC_DB::prepare( 'UPDATE `*PREFIX*share` SET `mail_send` = ? - WHERE `item_type` = ? AND `item_source` = ? AND `share_type` = ?'); + WHERE `item_type` = ? AND `item_source` = ? AND `share_type` = ? AND `share_with` = ?'); - $result = $query->execute(array($status, $itemType, $itemSource, $shareType)); + $result = $query->execute(array($status, $itemType, $itemSource, $shareType, $recipient)); if($result === false) { \OC_Log::write('OCP\Share', 'Couldn\'t set send mail status', \OC_Log::ERROR); diff --git a/lib/public/share.php b/lib/public/share.php index e6519dd3e3a8a36f347cf0154e9dcd7496fe93ef..bb9c6ec588655cef9b31c81ed228a073e2db3562 100644 --- a/lib/public/share.php +++ b/lib/public/share.php @@ -274,10 +274,11 @@ class Share extends \OC\Share\Constants { * @param string $itemType * @param string $itemSource * @param int $shareType SHARE_TYPE_USER, SHARE_TYPE_GROUP, or SHARE_TYPE_LINK + * @param string $recipient with whom was the item shared * @param bool $status */ - public static function setSendMailStatus($itemType, $itemSource, $shareType, $status) { - return \OC\Share\Share::setSendMailStatus($itemType, $itemSource, $shareType, $status); + public static function setSendMailStatus($itemType, $itemSource, $shareType, $recipient, $status) { + return \OC\Share\Share::setSendMailStatus($itemType, $itemSource, $shareType, $recipient, $status); } /**