From 77de47858b6f53bfa36b84de5e316e6e804ad7ca Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Thu, 23 Jan 2014 11:18:23 +0100 Subject: [PATCH] add expire date to link share if possible --- core/ajax/share.php | 21 +++++++++++++++++++-- core/js/share.js | 6 +++++- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/core/ajax/share.php b/core/ajax/share.php index be02c05635..268cd4f53a 100644 --- a/core/ajax/share.php +++ b/core/ajax/share.php @@ -119,8 +119,12 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo $subject = (string)$l->t('%s shared »%s« with you', array($ownerDisplayName, $filename)); $expiration = null; if (isset($items[0]['expiration'])) { - $date = new DateTime($items[0]['expiration']); - $expiration = $date->format('Y-m-d'); + try { + $date = new DateTime($items[0]['expiration']); + $expiration = $date->format('Y-m-d'); + } catch (Exception $e) { + \OCP\Util::writeLog('sharing', "Couldn't read date: " . $e->getMessage(), \OCP\Util::ERROR); + } } if ($itemType === 'folder') { @@ -191,6 +195,17 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo $file = $_POST['file']; $to_address = $_POST['toaddress']; + $expiration = null; + if (isset($_POST['expiration']) && $_POST['expiration'] !== '') { + try { + $date = new DateTime($_POST['expiration']); + $expiration = $date->format('Y-m-d'); + } catch (Exception $e) { + \OCP\Util::writeLog('sharing', "Couldn't read date: " . $e->getMessage(), \OCP\Util::ERROR); + } + + } + // enable l10n support $l = OC_L10N::get('core'); @@ -202,6 +217,7 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo $content->assign ('type', $type); $content->assign ('user_displayname', $displayName); $content->assign ('filename', $file); + $content->assign('expiration', $expiration); $text = $content->fetchPage(); $content = new OC_Template("core", "altmail", ""); @@ -209,6 +225,7 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo $content->assign ('type', $type); $content->assign ('user_displayname', $displayName); $content->assign ('filename', $file); + $content->assign('expiration', $expiration); $alttext = $content->fetchPage(); $default_from = OCP\Util::getDefaultEmailAddress('sharing-noreply'); diff --git a/core/js/share.js b/core/js/share.js index 3637d2e7e7..0939259b7d 100644 --- a/core/js/share.js +++ b/core/js/share.js @@ -733,12 +733,16 @@ $(document).ready(function() { var itemSource = $('#dropdown').data('item-source'); var file = $('tr').filterAttr('data-id', String(itemSource)).data('file'); var email = $('#email').val(); + var expirationDate = ''; + if ( $('#expirationCheckbox').is(':checked') === true ) { + expirationDate = $( "#expirationDate" ).val(); + } if (email != '') { $('#email').prop('disabled', true); $('#email').val(t('core', 'Sending ...')); $('#emailButton').prop('disabled', true); - $.post(OC.filePath('core', 'ajax', 'share.php'), { action: 'email', toaddress: email, link: link, itemType: itemType, itemSource: itemSource, file: file}, + $.post(OC.filePath('core', 'ajax', 'share.php'), { action: 'email', toaddress: email, link: link, itemType: itemType, itemSource: itemSource, file: file, expiration: expirationDate}, function(result) { $('#email').prop('disabled', false); $('#emailButton').prop('disabled', false);