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

View File

@ -69,7 +69,7 @@ if ($MARKDOWN):
<?php <?php
endif; 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]> <!--[if lt IE 10]>
<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style> <style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
<![endif]--> <![endif]-->

View File

@ -47,7 +47,7 @@ if ($MARKDOWN):
<?php <?php
endif; 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]> <!--[if lt IE 10]>
<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style> <style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
<![endif]--> <![endif]-->