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

Merge remote-tracking branch 'origin/fix-password'

El RIDO 8 лет назад
Родитель
Сommit
640e5a7fe1
20 измененных файлов с 69 добавлено и 60 удалено
  1. 1 1
      cfg/conf.sample.php
  2. 4 2
      i18n/de.json
  3. 4 2
      i18n/es.json
  4. 4 2
      i18n/fr.json
  5. 4 2
      i18n/hu.json
  6. 4 2
      i18n/it.json
  7. 4 2
      i18n/nl.json
  8. 4 2
      i18n/no.json
  9. 4 2
      i18n/oc.json
  10. 4 2
      i18n/pl.json
  11. 4 2
      i18n/pt.json
  12. 4 2
      i18n/ru.json
  13. 3 1
      i18n/sl.json
  14. 3 1
      i18n/zh.json
  15. 4 16
      js/privatebin.js
  16. 0 0
      js/purify-1.0.5.js
  17. 0 0
      js/showdown-1.8.6.js
  18. 1 1
      lib/Configuration.php
  19. 4 4
      tpl/bootstrap.php
  20. 9 14
      tpl/page.php

+ 1 - 1
cfg/conf.sample.php

@@ -70,7 +70,7 @@ languageselection = false
 ; Check the documentation at https://content-security-policy.com/
 ; Check the documentation at https://content-security-policy.com/
 ; Note: If you use a bootstrap theme, you can remove the allow-popups from the sandbox restrictions.
 ; Note: If you use a bootstrap theme, you can remove the allow-popups from the sandbox restrictions.
 ; By default this disallows to load images from third-party servers, e.g. when they are embedded in pastes. If you wish to allow that, you can adjust the policy here. See https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-it-load-embedded-images for details.
 ; By default this disallows to load images from third-party servers, e.g. when they are embedded in pastes. If you wish to allow that, you can adjust the policy here. See https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-it-load-embedded-images for details.
-; cspheader = "default-src 'none'; manifest-src 'self'; connect-src *; script-src 'self'; style-src 'self'; font-src 'self'; img-src 'self' data:; media-src data:; object-src data:; Referrer-Policy: 'no-referrer'; sandbox allow-same-origin allow-scripts allow-forms allow-popups"
+; cspheader = "default-src 'none'; manifest-src 'self'; connect-src *; script-src 'self'; style-src 'self'; font-src 'self'; img-src 'self' data:; media-src data:; object-src data:; Referrer-Policy: 'no-referrer'; sandbox allow-same-origin allow-scripts allow-forms allow-popups allow-modals"
 
 
 ; stay compatible with PrivateBin Alpha 0.19, less secure
 ; stay compatible with PrivateBin Alpha 0.19, less secure
 ; if enabled will use base64.js version 1.7 instead of 2.1.9 and sha1 instead of
 ; if enabled will use base64.js version 1.7 instead of 2.1.9 and sha1 instead of

+ 4 - 2
i18n/de.json

@@ -153,5 +153,7 @@
     "Preparing new paste…": "Bereite neues Paste vor…",
     "Preparing new paste…": "Bereite neues Paste vor…",
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
         "Wenn diese Nachricht nicht mehr verschwindet, schau bitte in <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">die FAQ</a> (englisch), um zu sehen, wie der Fehler behoben werden kann.",
         "Wenn diese Nachricht nicht mehr verschwindet, schau bitte in <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">die FAQ</a> (englisch), um zu sehen, wie der Fehler behoben werden kann.",
-    "+++ no paste text +++": "+++ kein Paste-Text +++"
-}
+    "+++ no paste text +++": "+++ kein Paste-Text +++",
+    "Could not get paste data: %s":
+        "Konnte Paste nicht laden: %s"
+}

+ 4 - 2
i18n/es.json

@@ -153,5 +153,7 @@
     "Preparing new paste…": "Preparando texto nuevo…",
     "Preparing new paste…": "Preparando texto nuevo…",
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
         "En caso de que este mensaje nunca desaparezca por favor revise <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">este FAQ para obtener información para solucionar problemas</a>.",
         "En caso de que este mensaje nunca desaparezca por favor revise <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">este FAQ para obtener información para solucionar problemas</a>.",
-    "+++ no paste text +++": "+++ sin texto +++"
-}
+    "+++ no paste text +++": "+++ sin texto +++",
+    "Could not get paste data: %s":
+        "Could not get paste data: %s"
+}

+ 4 - 2
i18n/fr.json

@@ -162,5 +162,7 @@
     "Preparing new paste…": "Préparation du paste…",
     "Preparing new paste…": "Préparation du paste…",
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
         "Si ce message ne disparaîssait pas, jetez un oeil à <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">cette FAQ pour des idées de résolution</a> (en Anglais).",
         "Si ce message ne disparaîssait pas, jetez un oeil à <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">cette FAQ pour des idées de résolution</a> (en Anglais).",
-    "+++ no paste text +++": "+++ pas de paste-text +++"
-}
+    "+++ no paste text +++": "+++ pas de paste-text +++",
+    "Could not get paste data: %s":
+        "Could not get paste data: %s"
+}

+ 4 - 2
i18n/hu.json

@@ -153,5 +153,7 @@
     "Preparing new paste…": "Új bejegyzés előkészítése...",
     "Preparing new paste…": "Új bejegyzés előkészítése...",
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
         "Abban az esetben, ha ez az üzenet mindig látható lenne, látogass el a <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">Gyakran Ismételt Kérdések szekcióba a megoldásához</a>.",
         "Abban az esetben, ha ez az üzenet mindig látható lenne, látogass el a <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">Gyakran Ismételt Kérdések szekcióba a megoldásához</a>.",
-    "+++ no paste text +++": "+++ nincs beillesztett szöveg +++"
-}
+    "+++ no paste text +++": "+++ nincs beillesztett szöveg +++",
+    "Could not get paste data: %s":
+        "Could not get paste data: %s"
+}

+ 4 - 2
i18n/it.json

@@ -153,5 +153,7 @@
     "Preparing new paste…": "Preparo il nuovo messaggio…",
     "Preparing new paste…": "Preparo il nuovo messaggio…",
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
         "Nel caso questo messaggio non scompaia, controlla questa <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">FAQ</a> per trovare informazioni su come risolvere il problema (in Inglese).",
         "Nel caso questo messaggio non scompaia, controlla questa <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">FAQ</a> per trovare informazioni su come risolvere il problema (in Inglese).",
-    "+++ no paste text +++": "+++ nessun testo nel messaggio +++"
-}
+    "+++ no paste text +++": "+++ nessun testo nel messaggio +++",
+    "Could not get paste data: %s":
+        "Could not get paste data: %s"
+}

+ 4 - 2
i18n/nl.json

@@ -153,5 +153,7 @@
     "Preparing new paste…": "Nieuwe geplakte tekst voorbereiden…",
     "Preparing new paste…": "Nieuwe geplakte tekst voorbereiden…",
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
         "In het geval dat dit bericht nooit verdwijnt, kijkt u dan eens naar <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\"> veelgestelde vragen voor informatie over het oplossen van problemen </a>.",
         "In het geval dat dit bericht nooit verdwijnt, kijkt u dan eens naar <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\"> veelgestelde vragen voor informatie over het oplossen van problemen </a>.",
-    "+++ no paste text +++": "+++ geen geplakte tekst +++"
-}
+    "+++ no paste text +++": "+++ geen geplakte tekst +++",
+    "Could not get paste data: %s":
+        "Could not get paste data: %s"
+}

+ 4 - 2
i18n/no.json

@@ -153,5 +153,7 @@
     "Preparing new paste…": "Klargjør nytt innlegg…",
     "Preparing new paste…": "Klargjør nytt innlegg…",
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
         "Hvis denne meldingen ikke forsvinner kan du ta en titt på siden med <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">ofte stilte spørsmål</a> for informasjon om feilsøking.",
         "Hvis denne meldingen ikke forsvinner kan du ta en titt på siden med <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">ofte stilte spørsmål</a> for informasjon om feilsøking.",
-    "+++ no paste text +++": "+++ ingen innleggstekst +++"
-}
+    "+++ no paste text +++": "+++ ingen innleggstekst +++",
+    "Could not get paste data: %s":
+        "Could not get paste data: %s"
+}

+ 4 - 2
i18n/oc.json

@@ -162,5 +162,7 @@
     "Preparing new paste…": "Preparacion…",
     "Preparing new paste…": "Preparacion…",
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
         "Se per cas aqueste messatge quita pas de s’afichar mercés de gaitar <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">aquesta FAQ per las solucions</a> (en anglés).",
         "Se per cas aqueste messatge quita pas de s’afichar mercés de gaitar <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">aquesta FAQ per las solucions</a> (en anglés).",
-    "+++ no paste text +++": "+++ cap de tèxte pegat +++"
-}
+    "+++ no paste text +++": "+++ cap de tèxte pegat +++",
+    "Could not get paste data: %s":
+        "Could not get paste data: %s"
+}

+ 4 - 2
i18n/pl.json

@@ -153,5 +153,7 @@
     "Preparing new paste…": "Preparing new paste…",
     "Preparing new paste…": "Preparing new paste…",
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
         "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a> (in English).",
         "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a> (in English).",
-    "+++ no paste text +++": "+++ no paste text +++"
-}
+    "+++ no paste text +++": "+++ no paste text +++",
+    "Could not get paste data: %s":
+        "Could not get paste data: %s"
+}

+ 4 - 2
i18n/pt.json

@@ -153,5 +153,7 @@
     "Preparing new paste…": "Preparando nova cópia…",
     "Preparing new paste…": "Preparando nova cópia…",
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
         "Caso essa mensagem nunca desapareça, por favor veja <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">este FAQ para saber como resolver os problemas</a>.",
         "Caso essa mensagem nunca desapareça, por favor veja <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">este FAQ para saber como resolver os problemas</a>.",
-    "+++ no paste text +++": "+++ sem texto de cópia +++"
-}
+    "+++ no paste text +++": "+++ sem texto de cópia +++",
+    "Could not get paste data: %s":
+        "Could not get paste data: %s"
+}

+ 4 - 2
i18n/ru.json

@@ -163,5 +163,7 @@
     "Preparing new paste…": "Подготовка новой записи…",
     "Preparing new paste…": "Подготовка новой записи…",
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
         "Если данное сообщение не исчезает длительное время, посмотрите <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">этот FAQ с информацией о возможном решении проблемы (на английском)</a>.",
         "Если данное сообщение не исчезает длительное время, посмотрите <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">этот FAQ с информацией о возможном решении проблемы (на английском)</a>.",
-    "+++ no paste text +++": "+++ в записи нет текста +++"
-}
+    "+++ no paste text +++": "+++ в записи нет текста +++",
+    "Could not get paste data: %s":
+        "Could not get paste data: %s"
+}

+ 3 - 1
i18n/sl.json

@@ -162,5 +162,7 @@
     "Preparing new paste…": "Preparing new paste…",
     "Preparing new paste…": "Preparing new paste…",
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
         "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a> (in English).",
         "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a> (in English).",
-    "+++ no paste text +++": "+++ no paste text +++"
+    "+++ no paste text +++": "+++ no paste text +++",
+    "Could not get paste data: %s":
+        "Could not get paste data: %s"
 }
 }

+ 3 - 1
i18n/zh.json

@@ -153,5 +153,7 @@
     "Preparing new paste…": "正在准备新的粘贴",
     "Preparing new paste…": "正在准备新的粘贴",
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
     "In case this message never disappears please have a look at <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">this FAQ for information to troubleshoot</a>.":
         "如果这个消息一直不消失,请参考 <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">这里的 FAQ 进行故障排除</a> (英文版)。",
         "如果这个消息一直不消失,请参考 <a href=\"https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-not-the-loading-message-go-away\">这里的 FAQ 进行故障排除</a> (英文版)。",
-    "+++ no paste text +++": "+++ 没有粘贴内容 +++"
+    "+++ no paste text +++": "+++ 没有粘贴内容 +++",
+    "Could not get paste data: %s":
+        "Could not get paste data: %s"
 }
 }

+ 4 - 16
js/privatebin.js

@@ -717,7 +717,7 @@ jQuery.PrivateBin = (function($, sjcl, Base64, RawDeflate) {
                 TopNav.showViewButtons();
                 TopNav.showViewButtons();
 
 
                 // show error message
                 // show error message
-                Alert.showError(Uploader.parseUploadError(status, data, 'getting paste data'));
+                Alert.showError(Uploader.parseUploadError(status, data, 'get paste data'));
             });
             });
             Uploader.setSuccess(function (status, data) {
             Uploader.setSuccess(function (status, data) {
                 pasteData = data;
                 pasteData = data;
@@ -1440,16 +1440,15 @@ jQuery.PrivateBin = (function($, sjcl, Base64, RawDeflate) {
             }
             }
 
 
             // fallback to old method for page template
             // fallback to old method for page template
-            var newPassword = prompt(I18n._('Please enter the password for this paste:'), '');
-            if (newPassword === null) {
+            password = prompt(I18n._('Please enter the password for this paste:'), '');
+            if (password === null) {
                 throw 'password prompt canceled';
                 throw 'password prompt canceled';
             }
             }
             if (password.length === 0) {
             if (password.length === 0) {
                 // recurse…
                 // recurse…
                 return me.requestPassword();
                 return me.requestPassword();
             }
             }
-
-            password = newPassword;
+            PasteDecrypter.run();
         };
         };
 
 
         /**
         /**
@@ -3972,17 +3971,6 @@ jQuery.PrivateBin = (function($, sjcl, Base64, RawDeflate) {
                 // show prompt
                 // show prompt
                 Prompt.requestPassword();
                 Prompt.requestPassword();
 
 
-                // if password is there instantly (legacy method), re-try encryption
-                if (Prompt.getPassword().length !== 0) {
-                    // recursive
-                    // note: an infinite loop is prevented as the previous if
-                    // clause checks whether a password is already set and ignores
-                    // errors when a password has been passed
-                    return decryptOrPromptPassword(key, password, cipherdata);
-                }
-
-                // if password could not be received yet, the new modal is used,
-                // which uses asyncronous event-driven methods to get the password.
                 // Thus, we cannot do anything yet, we need to wait for the user
                 // Thus, we cannot do anything yet, we need to wait for the user
                 // input.
                 // input.
                 return false;
                 return false;

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
js/purify-1.0.5.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
js/showdown-1.8.6.js


+ 1 - 1
lib/Configuration.php

@@ -53,7 +53,7 @@ class Configuration
             'urlshortener'             => '',
             'urlshortener'             => '',
             'qrcode'                   => true,
             'qrcode'                   => true,
             'icon'                     => 'identicon',
             'icon'                     => 'identicon',
-            'cspheader'                => 'default-src \'none\'; manifest-src \'self\'; connect-src *; script-src \'self\'; style-src \'self\'; font-src \'self\'; img-src \'self\' data:; media-src data:; object-src data:; Referrer-Policy: \'no-referrer\'; sandbox allow-same-origin allow-scripts allow-forms allow-popups',
+            'cspheader'                => 'default-src \'none\'; manifest-src \'self\'; connect-src *; script-src \'self\'; style-src \'self\'; font-src \'self\'; img-src \'self\' data:; media-src data:; object-src data:; Referrer-Policy: \'no-referrer\'; sandbox allow-same-origin allow-scripts allow-forms allow-popups allow-modals',
             'zerobincompatibility'     => false,
             'zerobincompatibility'     => false,
         ),
         ),
         'expire' => array(
         'expire' => array(

+ 4 - 4
tpl/bootstrap.php

@@ -70,12 +70,12 @@ if ($SYNTAXHIGHLIGHTING):
 endif;
 endif;
 if ($MARKDOWN):
 if ($MARKDOWN):
 ?>
 ?>
-		<script type="text/javascript" data-cfasync="false" src="js/showdown-1.8.6.js" integrity="sha512-IWAOP5QX4d1WA8ZSKXJtMWdAW8fOifwB0LyZFKaq2WcvsWF/Xmg8aQwxMOUpCjSaYY/V+NASlReVD6uCSDDvHg==" crossorigin="anonymous"></script>
-		<script type="text/javascript" data-cfasync="false" src="js/purify-1.0.5.js" integrity="sha512-y68WmhxZiNWBzbhCnMOhRIQDLQPN2zPTCbLHsjggRAjvLVzt4wihsvaMAdtz+VpoFP/SYXFJQUB6h6BH3gvDpA==" crossorigin="anonymous"></script>
+		<script type="text/javascript" data-cfasync="false" src="js/showdown-1.8.6.js" integrity="sha512-YFg2sBCGT00I6X5KzgCLP4VqRlmPMRhkVvJS9oJKk5LxiUzzcjzV5m4fNf6mQMctLrhgS5LFKiFF3vzIuXbjAw==" crossorigin="anonymous"></script>
+		<script type="text/javascript" data-cfasync="false" src="js/purify-1.0.5.js" integrity="sha512-IpCJCwlqipmuhbr7fdEOTA4ENcBURsQSDAqXqbr/3dcA2swwJon7D6IStGUQntycGCNCdIM/FdPciBq0gUrLJA==" crossorigin="anonymous"></script>
 <?php
 <?php
 endif;
 endif;
 ?>
 ?>
-		<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-0G0kfqJ9im61vY7wBS3UlCjwLvQw8EeNppPy/SWDIuX+2iS6hgM4KbvgTQ6nJwDZPwbsT3R2bPanQKBWKTXcqA==" crossorigin="anonymous"></script>
+		<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-l8K/QzXxp/AhoBXhZK6/tkpDn6JckqzRmIX8NcESonR2nVp+dgunCYY07ap+jNM2julZL5Sq5QpOQ6oXz+U+og==" 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]-->
@@ -100,7 +100,7 @@ endif;
 						<form id="passwordform" role="form">
 						<form id="passwordform" role="form">
 							<div class="form-group">
 							<div class="form-group">
 								<label for="passworddecrypt"><span class="glyphicon glyphicon-eye-open"></span> <?php echo I18n::_('Please enter the password for this paste:') ?></label>
 								<label for="passworddecrypt"><span class="glyphicon glyphicon-eye-open"></span> <?php echo I18n::_('Please enter the password for this paste:') ?></label>
-								<input id="passworddecrypt" type="password" class="form-control" placeholder="<?php echo I18n::_('Enter password') ?>">
+								<input id="passworddecrypt" type="password" class="form-control" placeholder="<?php echo I18n::_('Enter password') ?>" required="required">
 							</div>
 							</div>
 							<button type="submit" class="btn btn-success btn-block"><span class="glyphicon glyphicon-off"></span> <?php echo I18n::_('Decrypt') ?></button>
 							<button type="submit" class="btn btn-success btn-block"><span class="glyphicon glyphicon-off"></span> <?php echo I18n::_('Decrypt') ?></button>
 						</form>
 						</form>

+ 9 - 14
tpl/page.php

@@ -22,8 +22,12 @@ endif;
 ?>
 ?>
 		<script type="text/javascript" data-cfasync="false" src="js/jquery-3.3.1.js" integrity="sha512-+NqPlbbtM1QqiK8ZAo4Yrj2c4lNQoGv8P79DPtKzj++l5jnN39rHA/xsqn8zE9l0uSoxaCdrOgFs6yjyfbBxSg==" crossorigin="anonymous"></script>
 		<script type="text/javascript" data-cfasync="false" src="js/jquery-3.3.1.js" integrity="sha512-+NqPlbbtM1QqiK8ZAo4Yrj2c4lNQoGv8P79DPtKzj++l5jnN39rHA/xsqn8zE9l0uSoxaCdrOgFs6yjyfbBxSg==" crossorigin="anonymous"></script>
 		<script type="text/javascript" data-cfasync="false" src="js/sjcl-1.0.7.js" integrity="sha512-J2eNenPwyfXkMVNMFz9Q54kKfYi5AA3mQWpNgtjSJzsKHtpbhUt/7bvcjGwwmzE8ZUVWMI/ndagIX1lG+SfxGA==" crossorigin="anonymous"></script>
 		<script type="text/javascript" data-cfasync="false" src="js/sjcl-1.0.7.js" integrity="sha512-J2eNenPwyfXkMVNMFz9Q54kKfYi5AA3mQWpNgtjSJzsKHtpbhUt/7bvcjGwwmzE8ZUVWMI/ndagIX1lG+SfxGA==" crossorigin="anonymous"></script>
-		<script type="text/javascript" data-cfasync="false" src="js/kjua.min.js" integrity="sha512-hmvfOhcr4J8bjQ2GuNVzfSbuulv72wgQCJpgnXc2+cCHKqvYo8pK2nc0Q4Esem2973zo1radyIMTEkt+xJlhBA==" crossorigin="anonymous"></script>
 <?php
 <?php
+if ($QRCODE):
+?>
+		<script async type="text/javascript" data-cfasync="false" src="js/kjua-0.1.2.js" integrity="sha512-hmvfOhcr4J8bjQ2GuNVzfSbuulv72wgQCJpgnXc2+cCHKqvYo8pK2nc0Q4Esem2973zo1radyIMTEkt+xJlhBA==" crossorigin="anonymous"></script>
+<?php
+endif;
 if ($ZEROBINCOMPATIBILITY):
 if ($ZEROBINCOMPATIBILITY):
 ?>
 ?>
 		<script type="text/javascript" data-cfasync="false" src="js/base64-1.7.js" integrity="sha512-JdwsSP3GyHR+jaCkns9CL9NTt4JUJqm/BsODGmYhBcj5EAPKcHYh+OiMfyHbcDLECe17TL0hjXADFkusAqiYgA==" crossorigin="anonymous"></script>
 		<script type="text/javascript" data-cfasync="false" src="js/base64-1.7.js" integrity="sha512-JdwsSP3GyHR+jaCkns9CL9NTt4JUJqm/BsODGmYhBcj5EAPKcHYh+OiMfyHbcDLECe17TL0hjXADFkusAqiYgA==" crossorigin="anonymous"></script>
@@ -44,17 +48,12 @@ if ($SYNTAXHIGHLIGHTING):
 endif;
 endif;
 if ($MARKDOWN):
 if ($MARKDOWN):
 ?>
 ?>
-		<script type="text/javascript" data-cfasync="false" src="js/showdown-1.8.6.js" integrity="sha512-IWAOP5QX4d1WA8ZSKXJtMWdAW8fOifwB0LyZFKaq2WcvsWF/Xmg8aQwxMOUpCjSaYY/V+NASlReVD6uCSDDvHg==" crossorigin="anonymous"></script>
-		<script type="text/javascript" data-cfasync="false" src="js/purify-1.0.5.js" integrity="sha512-y68WmhxZiNWBzbhCnMOhRIQDLQPN2zPTCbLHsjggRAjvLVzt4wihsvaMAdtz+VpoFP/SYXFJQUB6h6BH3gvDpA==" crossorigin="anonymous"></script>
+		<script type="text/javascript" data-cfasync="false" src="js/showdown-1.8.6.js" integrity="sha512-YFg2sBCGT00I6X5KzgCLP4VqRlmPMRhkVvJS9oJKk5LxiUzzcjzV5m4fNf6mQMctLrhgS5LFKiFF3vzIuXbjAw==" crossorigin="anonymous"></script>
+		<script type="text/javascript" data-cfasync="false" src="js/purify-1.0.5.js" integrity="sha512-IpCJCwlqipmuhbr7fdEOTA4ENcBURsQSDAqXqbr/3dcA2swwJon7D6IStGUQntycGCNCdIM/FdPciBq0gUrLJA==" crossorigin="anonymous"></script>
 <?php
 <?php
 endif;
 endif;
-if ($QRCODE):
 ?>
 ?>
-		<script async type="text/javascript" data-cfasync="false" src="js/kjua-0.1.2.js" integrity="sha512-hmvfOhcr4J8bjQ2GuNVzfSbuulv72wgQCJpgnXc2+cCHKqvYo8pK2nc0Q4Esem2973zo1radyIMTEkt+xJlhBA==" crossorigin="anonymous"></script>
-<?php
-endif;
-?>
-		<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-0G0kfqJ9im61vY7wBS3UlCjwLvQw8EeNppPy/SWDIuX+2iS6hgM4KbvgTQ6nJwDZPwbsT3R2bPanQKBWKTXcqA==" crossorigin="anonymous"></script>
+		<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-l8K/QzXxp/AhoBXhZK6/tkpDn6JckqzRmIX8NcESonR2nVp+dgunCYY07ap+jNM2julZL5Sq5QpOQ6oXz+U+og==" 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]-->
@@ -140,11 +139,7 @@ if ($DISCUSSION):
 ?> checked="checked"<?php
 ?> checked="checked"<?php
     endif;
     endif;
 ?> />
 ?> />
-						<label for="opendiscussion" <?php
-    if (!$OPENDISCUSSION):
-?> style="color: #BBBBBB;"<?php
-    endif;
-?>><?php echo I18n::_('Open discussion'); ?></label>
+						<label for="opendiscussion"><?php echo I18n::_('Open discussion'); ?></label>
 					</div>
 					</div>
 <?php
 <?php
 endif;
 endif;

Некоторые файлы не были показаны из-за большого количества измененных файлов