diff options
author | Thomas Mueller <thomas.mueller@tmit.eu> | 2012-12-10 23:22:42 +0100 |
---|---|---|
committer | Thomas Mueller <thomas.mueller@tmit.eu> | 2012-12-10 23:22:42 +0100 |
commit | 162a2c0fba6f7d7be3aa2372554e4a77a70a3e00 (patch) | |
tree | 733323b13feb40ef6e52d326b691d078b6f3bda4 /core | |
parent | 45074d5023d408f4f81bc45380ce68b1008f9414 (diff) | |
download | nextcloud-server-162a2c0fba6f7d7be3aa2372554e4a77a70a3e00.tar.gz nextcloud-server-162a2c0fba6f7d7be3aa2372554e4a77a70a3e00.zip |
moving sharing email code to core
Diffstat (limited to 'core')
-rw-r--r-- | core/ajax/share.php | 36 | ||||
-rw-r--r-- | core/js/share.js | 23 |
2 files changed, 59 insertions, 0 deletions
diff --git a/core/ajax/share.php b/core/ajax/share.php index 41832a3c659..12206e0fd79 100644 --- a/core/ajax/share.php +++ b/core/ajax/share.php @@ -69,6 +69,42 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo ($return) ? OC_JSON::success() : OC_JSON::error(); } break; + case 'email': + // read post variables + $user = OCP\USER::getUser(); + $type = $_POST['itemType']; + $link = $_POST['link']; + $file = $_POST['file']; + $to_address = $_POST['toaddress']; + + // enable l10n support + $l = OC_L10N::get('core'); + + // setup the email + $subject = (string)$l->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()))); + } + break; } } else if (isset($_GET['fetch'])) { switch ($_GET['fetch']) { diff --git a/core/js/share.js b/core/js/share.js index 962983e2f35..9f71f1bb66b 100644 --- a/core/js/share.js +++ b/core/js/share.js @@ -555,4 +555,27 @@ $(document).ready(function() { }); }); + + $('#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('core', 'ajax', 'share.php'), { action: 'email', toaddress: email, link: link, itemType: itemType, itemSource: itemSource, file: file}, function(result) { + if (result && result.status == 'success') { + $('#email').css('font-weight', 'bold'); + $('#email').animate({ fontWeight: 'normal' }, 2000, function() { + $(this).val(''); + }).val(t('core','Email sent')); + } else { + OC.dialogs.alert(result.data.message, t('core', 'Error while sharing')); + } + }); + } + }); + + }); |