Merge pull request #810 from owncloud/send-share-link-by-email
restoring feature to send sharing link via email
This commit is contained in:
commit
8b4aad73c7
|
@ -33,6 +33,4 @@ $(document).ready(function() {
|
||||||
});
|
});
|
||||||
OC.Share.loadIcons('file');
|
OC.Share.loadIcons('file');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
|
@ -69,6 +69,42 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
|
||||||
($return) ? OC_JSON::success() : OC_JSON::error();
|
($return) ? OC_JSON::success() : OC_JSON::error();
|
||||||
}
|
}
|
||||||
break;
|
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'])) {
|
} else if (isset($_GET['fetch'])) {
|
||||||
switch ($_GET['fetch']) {
|
switch ($_GET['fetch']) {
|
||||||
|
|
|
@ -54,6 +54,12 @@
|
||||||
width:90%;
|
width:90%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#dropdown form {
|
||||||
|
font-size: 100%;
|
||||||
|
margin-left: 0;
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
#linkText,#linkPass,#expiration {
|
#linkText,#linkPass,#expiration {
|
||||||
display:none;
|
display:none;
|
||||||
}
|
}
|
||||||
|
|
|
@ -168,6 +168,10 @@ OC.Share={
|
||||||
html += '<input id="linkPassText" type="password" placeholder="'+t('core', 'Password')+'" />';
|
html += '<input id="linkPassText" type="password" placeholder="'+t('core', 'Password')+'" />';
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
|
html += '<form id="emailPrivateLink" >';
|
||||||
|
html += '<input id="email" style="display:none; width:65%;" value="" placeholder="'+t('core', 'Email link to person')+'" type="text" />';
|
||||||
|
html += '<input id="emailButton" style="display:none; float:right;" type="submit" value="'+t('core', 'Send')+'" />';
|
||||||
|
html += '</form>';
|
||||||
}
|
}
|
||||||
html += '<div id="expiration">';
|
html += '<div id="expiration">';
|
||||||
html += '<input type="checkbox" name="expirationCheckbox" id="expirationCheckbox" value="1" /><label for="expirationCheckbox">'+t('core', 'Set expiration date')+'</label>';
|
html += '<input type="checkbox" name="expirationCheckbox" id="expirationCheckbox" value="1" /><label for="expirationCheckbox">'+t('core', 'Set expiration date')+'</label>';
|
||||||
|
@ -349,11 +353,15 @@ OC.Share={
|
||||||
$('#linkPassText').attr('placeholder', t('core', 'Password protected'));
|
$('#linkPassText').attr('placeholder', t('core', 'Password protected'));
|
||||||
}
|
}
|
||||||
$('#expiration').show();
|
$('#expiration').show();
|
||||||
|
$('#emailPrivateLink #email').show();
|
||||||
|
$('#emailPrivateLink #emailButton').show();
|
||||||
},
|
},
|
||||||
hideLink:function() {
|
hideLink:function() {
|
||||||
$('#linkText').hide('blind');
|
$('#linkText').hide('blind');
|
||||||
$('#showPassword').hide();
|
$('#showPassword').hide();
|
||||||
$('#linkPass').hide();
|
$('#linkPass').hide();
|
||||||
|
$('#emailPrivateLink #email').hide();
|
||||||
|
$('#emailPrivateLink #emailButton').hide();
|
||||||
},
|
},
|
||||||
dirname:function(path) {
|
dirname:function(path) {
|
||||||
return path.replace(/\\/g,'/').replace(/\/[^\/]*$/, '');
|
return path.replace(/\\/g,'/').replace(/\/[^\/]*$/, '');
|
||||||
|
@ -547,4 +555,34 @@ $(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 != '') {
|
||||||
|
$('#email').attr('disabled', "disabled");
|
||||||
|
$('#email').val(t('core', 'Sending ...'));
|
||||||
|
$('#emailButton').attr('disabled', "disabled");
|
||||||
|
|
||||||
|
$.post(OC.filePath('core', 'ajax', 'share.php'), { action: 'email', toaddress: email, link: link, itemType: itemType, itemSource: itemSource, file: file},
|
||||||
|
function(result) {
|
||||||
|
$('#email').attr('disabled', "false");
|
||||||
|
$('#emailButton').attr('disabled', "false");
|
||||||
|
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'));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue