Call removeAttachment on a new paste

Improved disabled attachments handling
This commit is contained in:
thororm 2017-05-13 21:27:41 +02:00
parent 23f5dfbff8
commit 838ca3d38e
3 changed files with 28 additions and 13 deletions

View file

@ -1594,8 +1594,10 @@ jQuery.PrivateBin = function($, sjcl, Base64, RawDeflate) {
// show preview
PasteViewer.setText($message.val());
var attachmentData = AttachmentViewer.attachmentData || AttachmentViewer.$attachmentLink.attr('href');
AttachmentViewer.handleAttachmentPreview(AttachmentViewer.$attachmentPreview, attachmentData);
if (AttachmentViewer.$attachment.length) {
var attachmentData = AttachmentViewer.attachmentData || AttachmentViewer.$attachmentLink.attr('href');
AttachmentViewer.handleAttachmentPreview(AttachmentViewer.$attachmentPreview, attachmentData);
}
PasteViewer.run();
// finish
@ -2037,6 +2039,9 @@ jQuery.PrivateBin = function($, sjcl, Base64, RawDeflate) {
*/
me.removeAttachment = function()
{
if (!me.$attachment.length) {
return;
}
me.hideAttachment();
me.hideAttachmentPreview();
me.$attachmentLink.prop('href', '');
@ -2070,7 +2075,9 @@ jQuery.PrivateBin = function($, sjcl, Base64, RawDeflate) {
*/
me.hideAttachmentPreview = function()
{
me.$attachmentPreview.addClass('hidden');
if(me.$attachmentPreview){
me.$attachmentPreview.addClass('hidden');
}
}
/**
@ -2081,6 +2088,9 @@ jQuery.PrivateBin = function($, sjcl, Base64, RawDeflate) {
*/
me.hasAttachment = function()
{
if (!AttachmentViewer.$attachment.length) {
return false;
}
var link = me.$attachmentLink.prop('href');
return (typeof link !== 'undefined' && link !== '')
}
@ -2299,11 +2309,13 @@ jQuery.PrivateBin = function($, sjcl, Base64, RawDeflate) {
me.init = function()
{
me.$attachment = $('#attachment');
me.$attachmentLink = $('#attachment a');
me.$attachmentPreview = $('#attachmentPreview');
if(me.$attachment.length){
me.$attachmentLink = $('#attachment a');
me.$attachmentPreview = $('#attachmentPreview');
me.$fileInput = $('#file');
me.addDragDropHandler();
me.$fileInput = $('#file');
me.addDragDropHandler();
}
}
return me;
@ -3913,10 +3925,12 @@ jQuery.PrivateBin = function($, sjcl, Base64, RawDeflate) {
try {
// decrypt attachments
if (paste.attachment) {
// try to decrypt paste and if it fails (because the password is
// missing) return to let JS continue and wait for user
if (!decryptAttachment(paste, key, password)) {
return;
if (AttachmentViewer.$attachment.length) {
// try to decrypt paste and if it fails (because the password is
// missing) return to let JS continue and wait for user
if (!decryptAttachment(paste, key, password)) {
return;
}
}
// ignore empty paste, as this is allowed when pasting attachments
decryptPaste(paste, key, password, true);
@ -3999,6 +4013,7 @@ jQuery.PrivateBin = function($, sjcl, Base64, RawDeflate) {
Editor.resetInput();
Editor.show();
Editor.focusInput();
AttachmentViewer.removeAttachment();
TopNav.showCreateButtons();
Alert.hideLoading();

View file

@ -69,7 +69,7 @@ if ($MARKDOWN):
<?php
endif;
?>
<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-ofGEJHbk5slAxfzMIcULyZI7a4XcqdyTnATIZPbYv+Ngr+EEt7GZ2QXE8bjt1/Q9EuwQrjsMhiPeGlbaAGqFgA==" crossorigin="anonymous"></script>
<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-pOe2H/Z6no88ilmHnSzSPrN5jYaj4B0VrxeVKHZ728CwUxNKwI8xIAUH+B/UPnKXgT33IV2EHbBIXYJERQxinA==" crossorigin="anonymous"></script>
<!--[if lt IE 10]>
<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
<![endif]-->

View file

@ -47,7 +47,7 @@ if ($MARKDOWN):
<?php
endif;
?>
<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-ofGEJHbk5slAxfzMIcULyZI7a4XcqdyTnATIZPbYv+Ngr+EEt7GZ2QXE8bjt1/Q9EuwQrjsMhiPeGlbaAGqFgA==" crossorigin="anonymous"></script>
<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-pOe2H/Z6no88ilmHnSzSPrN5jYaj4B0VrxeVKHZ728CwUxNKwI8xIAUH+B/UPnKXgT33IV2EHbBIXYJERQxinA==" crossorigin="anonymous"></script>
<!--[if lt IE 10]>
<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
<![endif]-->