From 45074d5023d408f4f81bc45380ce68b1008f9414 Mon Sep 17 00:00:00 2001 From: Thomas Mueller Date: Mon, 10 Dec 2012 18:41:08 +0100 Subject: [PATCH] restoring feature to send sharing link via email --- apps/files_sharing/ajax/email.php | 39 +++++++++++++++++++++++++++++++ apps/files_sharing/js/share.js | 24 ++++++++++++++++++- core/css/share.css | 14 +++++++---- core/js/share.js | 12 ++++++++-- 4 files changed, 82 insertions(+), 7 deletions(-) create mode 100644 apps/files_sharing/ajax/email.php diff --git a/apps/files_sharing/ajax/email.php b/apps/files_sharing/ajax/email.php new file mode 100644 index 00000000000..4ed4eef723a --- /dev/null +++ b/apps/files_sharing/ajax/email.php @@ -0,0 +1,39 @@ +t('User %s shared a file with you', $user); +if ($type === 'dir') + $subject = (string)$l->t('User %s shared a folder with you', $user); + +$text = (string)$l->t('User %s shared the file "%s" with you. It is available for download here: %s', array($user, $file, $link)); +if ($type === 'dir') + $text = (string)$l->t('User %s shared the folder "%s" with you. It is available for download here: %s', array($user, $file, $link)); + +// handle localhost installations +$server_host = OCP\Util::getServerHost(); +if ($server_host === 'localhost') + $server_host = "example.com"; + +$default_from = 'sharing-noreply@' . $server_host; +$from_address = OCP\Config::getUserValue($user, 'settings', 'email', $default_from ); + +// send it out now +try { + OCP\Util::sendMail($to_address, $to_address, $subject, $text, $from_address, $user); + OCP\JSON::success(); +} catch (Exception $exception) { + OCP\JSON::error(array('data' => array('message' => $exception->getMessage()))); +} diff --git a/apps/files_sharing/js/share.js b/apps/files_sharing/js/share.js index 7eb086712f4..a83252867a9 100644 --- a/apps/files_sharing/js/share.js +++ b/apps/files_sharing/js/share.js @@ -33,6 +33,28 @@ $(document).ready(function() { }); OC.Share.loadIcons('file'); } - + + $('#emailPrivateLink').live('submit', function(event) { + event.preventDefault(); + var link = $('#linkText').val(); + var itemType = $('#dropdown').data('item-type'); + var itemSource = $('#dropdown').data('item-source'); + + var file = $('tr').filterAttr('data-id', String(itemSource)).data('file'); + var email = $('#email').val(); + if (email != '') { + $.post(OC.filePath('files_sharing', 'ajax', 'email.php'), { toaddress: email, link: link, type: itemType, file: file }, function(result) { + if (result && result.status == 'success') { + $('#email').css('font-weight', 'bold'); + $('#email').animate({ fontWeight: 'normal' }, 2000, function() { + $(this).val(''); + }).val('Email sent'); + } else { + OC.dialogs.alert(result.data.message, 'Error while sharing'); + } + }); + } + }); + }); \ No newline at end of file diff --git a/core/css/share.css b/core/css/share.css index 5aca731356a..e806d25982e 100644 --- a/core/css/share.css +++ b/core/css/share.css @@ -50,11 +50,17 @@ padding-top:.5em; } - #dropdown input[type="text"],#dropdown input[type="password"] { - width:90%; - } +#dropdown input[type="text"],#dropdown input[type="password"] { + width:90%; +} + +#dropdown form { + font-size: 100%; + margin-left: 0; + margin-right: 0; +} - #linkText,#linkPass,#expiration { +#linkText,#linkPass,#expiration { display:none; } diff --git a/core/js/share.js b/core/js/share.js index 475abb58bff..962983e2f35 100644 --- a/core/js/share.js +++ b/core/js/share.js @@ -168,6 +168,10 @@ OC.Share={ html += ''; html += ''; html += ''; + html += ''; } html += '
'; html += ''; @@ -349,13 +353,17 @@ OC.Share={ $('#linkPassText').attr('placeholder', t('core', 'Password protected')); } $('#expiration').show(); + $('#emailPrivateLink #email').show(); + $('#emailPrivateLink #emailButton').show(); }, hideLink:function() { $('#linkText').hide('blind'); $('#showPassword').hide(); $('#linkPass').hide(); - }, - dirname:function(path) { + $('#emailPrivateLink #email').hide(); + $('#emailPrivateLink #emailButton').hide(); + }, + dirname:function(path) { return path.replace(/\\/g,'/').replace(/\/[^\/]*$/, ''); }, showExpirationDate:function(date) { -- 2.39.5