Просмотр исходного кода

fixing display of version 1 pastes without attachments

El RIDO 7 лет назад
Родитель
Сommit
b44e729a1a
3 измененных файлов с 24 добавлено и 18 удалено
  1. 22 16
      js/privatebin.js
  2. 1 1
      tpl/bootstrap.php
  3. 1 1
      tpl/page.php

+ 22 - 16
js/privatebin.js

@@ -4245,27 +4245,34 @@ jQuery.PrivateBin = (function($, RawDeflate) {
                 }
             }
 
-            if (paste.hasOwnProperty('attachment') && paste.hasOwnProperty('attachmentname')) {
-                // version 1 paste
-                Promise.all([
-                    CryptTool.decipher(key, password, paste.attachment),
-                    CryptTool.decipher(key, password, paste.attachmentname)
-                ]).then((attachment) => {
-                    AttachmentViewer.setAttachment(attachment[0], attachment[1]);
-                });
-                PasteViewer.setFormat(paste.meta.formatter);
-                PasteViewer.setText(pastePlain);
-            } else {
+            let format = '',
+                text   = '';
+            if (paste.hasOwnProperty('ct')) {
                 // version 2 paste
                 const pasteMessage = JSON.parse(pastePlain);
                 if (pasteMessage.hasOwnProperty('attachment') && pasteMessage.hasOwnProperty('attachment_name')) {
                     AttachmentViewer.setAttachment(pasteMessage.attachment, pasteMessage.attachment_name);
+                    AttachmentViewer.showAttachment();
+                }
+                format = paste.adata[1];
+                text = pasteMessage.paste;
+            } else {
+                // version 1 paste
+                if (paste.hasOwnProperty('attachment') && paste.hasOwnProperty('attachmentname')) {
+                    Promise.all([
+                        CryptTool.decipher(key, password, paste.attachment),
+                        CryptTool.decipher(key, password, paste.attachmentname)
+                    ]).then((attachment) => {
+                        AttachmentViewer.setAttachment(attachment[0], attachment[1]);
+                        AttachmentViewer.showAttachment();
+                    });
                 }
-                PasteViewer.setFormat(paste.adata[1]);
-                PasteViewer.setText(pasteMessage.paste);
+                format = paste.meta.formatter;
+                text = pastePlain;
             }
+            PasteViewer.setFormat(format);
+            PasteViewer.setText(text);
             PasteViewer.run();
-            AttachmentViewer.showAttachment();
         }
 
         /**
@@ -4377,7 +4384,7 @@ jQuery.PrivateBin = (function($, RawDeflate) {
             });
 
             // decrypt paste & attachments
-            decryptionPromises.push(decryptPaste(paste, key, password))
+            decryptionPromises.push(decryptPaste(paste, key, password));
 
             // if the discussion is opened on this paste, display it
             if ((paste.adata && paste.adata[2]) || paste.meta.opendiscussion) {
@@ -4395,7 +4402,6 @@ jQuery.PrivateBin = (function($, RawDeflate) {
                 .catch((err) => {
                     // wait for the user to type in the password,
                     // then PasteDecrypter.run will be called again
-                    console.log(decryptionPromises);
                 });
         };
 

+ 1 - 1
tpl/bootstrap.php

@@ -72,7 +72,7 @@ if ($MARKDOWN):
 endif;
 ?>
 		<script type="text/javascript" data-cfasync="false" src="js/purify-1.0.7.js" integrity="sha512-VnKJHLosO8z2ojNvWk9BEKYqnhZyWK9rM90FgZUUEp/PRnUqR5OLLKE0a3BkVmn7YgB7LXRrjHgFHQYKd6DAIA==" crossorigin="anonymous"></script>
-		<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-30YZX80ZfNAAMVDZdnHCp8rY1X66o9LhQ1LShA0JqGtFfvboDuoX9z9fuv/gIvo/MBs8qH6/14omf0bFlmnXkg==" crossorigin="anonymous"></script>
+		<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-t9Zs9EkImSMS7DBczj95hrZi7CErcJ7w66LxUgy3dmu02AiiF0Mp/WNeq0MDIctCkepOde0o/E/0N4ETX/Z5TA==" 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]-->

+ 1 - 1
tpl/page.php

@@ -50,7 +50,7 @@ if ($MARKDOWN):
 endif;
 ?>
 		<script type="text/javascript" data-cfasync="false" src="js/purify-1.0.7.js" integrity="sha512-VnKJHLosO8z2ojNvWk9BEKYqnhZyWK9rM90FgZUUEp/PRnUqR5OLLKE0a3BkVmn7YgB7LXRrjHgFHQYKd6DAIA==" crossorigin="anonymous"></script>
-		<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-30YZX80ZfNAAMVDZdnHCp8rY1X66o9LhQ1LShA0JqGtFfvboDuoX9z9fuv/gIvo/MBs8qH6/14omf0bFlmnXkg==" crossorigin="anonymous"></script>
+		<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-t9Zs9EkImSMS7DBczj95hrZi7CErcJ7w66LxUgy3dmu02AiiF0Mp/WNeq0MDIctCkepOde0o/E/0N4ETX/Z5TA==" 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]-->