2024-10-11 01:14:18 -04:00
< ? php declare ( strict_types = 1 );
2016-08-09 05:54:42 -04:00
use PrivateBin\I18n ;
?> <!DOCTYPE html>
2023-09-19 01:29:00 -04:00
< html lang = " <?php echo I18n::getLanguage(); ?> " < ? php echo I18n :: isRtl () ? ' dir="rtl"' : '' ; ?> >
2016-07-19 08:02:26 -04:00
< head >
< meta charset = " utf-8 " />
2022-03-13 12:24:47 -04:00
< meta http - equiv = " Content-Security-Policy " content = " <?php echo I18n::encode( $CSPHEADER ); ?> " >
2016-07-19 08:02:26 -04:00
< meta name = " robots " content = " noindex " />
2018-11-21 17:32:06 -05:00
< meta name = " google " content = " notranslate " >
2017-01-01 10:33:11 -05:00
< title >< ? php echo I18n :: _ ( $NAME ); ?> </title>
2016-08-09 05:54:42 -04:00
< link type = " text/css " rel = " stylesheet " href = " css/privatebin.css?<?php echo rawurlencode( $VERSION ); ?> " />
< ? php
if ( $SYNTAXHIGHLIGHTING ) :
?>
< link type = " text/css " rel = " stylesheet " href = " css/prettify/prettify.css?<?php echo rawurlencode( $VERSION ); ?> " />
< ? php
2024-04-18 15:36:43 -04:00
if ( ! empty ( $SYNTAXHIGHLIGHTINGTHEME )) :
2016-08-09 05:54:42 -04:00
?>
< link type = " text/css " rel = " stylesheet " href = " css/prettify/<?php echo rawurlencode( $SYNTAXHIGHLIGHTINGTHEME ); ?>.css?<?php echo rawurlencode( $VERSION ); ?> " />
< ? php
2016-07-26 02:19:35 -04:00
endif ;
2016-08-09 05:54:42 -04:00
endif ;
?>
2024-07-09 15:38:41 -04:00
< ? php $this -> _scriptTag ( 'js/jquery-3.7.1.js' , 'defer' ); ?>
2016-08-16 05:11:03 -04:00
< ? php
2018-07-21 02:44:04 -04:00
if ( $QRCODE ) :
?>
2024-07-09 16:47:15 -04:00
< ? php $this -> _scriptTag ( 'js/kjua-0.9.0.js' , 'async' ); ?>
2018-07-21 02:44:04 -04:00
< ? php
endif ;
2016-08-16 05:11:03 -04:00
if ( $ZEROBINCOMPATIBILITY ) :
?>
2024-07-09 16:47:15 -04:00
< ? php $this -> _scriptTag ( 'js/base64-1.7.js' , 'async' ); ?>
2016-08-16 05:11:03 -04:00
< ? php
endif ;
?>
2024-07-09 16:47:15 -04:00
< ? php $this -> _scriptTag ( 'js/zlib-1.3.1.js' , 'async' ); ?>
< ? php $this -> _scriptTag ( 'js/base-x-4.0.0.js' , 'async' ); ?>
< ? php $this -> _scriptTag ( 'js/rawinflate-0.3.js' , 'async' ); ?>
2016-08-09 05:54:42 -04:00
< ? php
if ( $SYNTAXHIGHLIGHTING ) :
?>
2024-07-09 16:47:15 -04:00
< ? php $this -> _scriptTag ( 'js/prettify.js' , 'async' ); ?>
2016-08-09 05:54:42 -04:00
< ? php
endif ;
if ( $MARKDOWN ) :
?>
2024-07-09 16:47:15 -04:00
< ? php $this -> _scriptTag ( 'js/showdown-2.1.0.js' , 'async' ); ?>
2016-08-09 05:54:42 -04:00
< ? php
2016-07-19 08:02:26 -04:00
endif ;
2016-08-09 05:54:42 -04:00
?>
2024-12-22 05:17:34 -05:00
< ? php $this -> _scriptTag ( 'js/purify-3.2.3.js' , 'async' ); ?>
2024-07-09 16:47:15 -04:00
< ? php $this -> _scriptTag ( 'js/legacy.js' , 'async' ); ?>
2024-07-09 15:38:41 -04:00
< ? php $this -> _scriptTag ( 'js/privatebin.js' , 'defer' ); ?>
2020-03-23 13:58:26 -04:00
<!-- icon -->
2017-01-08 04:13:12 -05:00
< link rel = " apple-touch-icon " href = " img/apple-touch-icon.png?<?php echo rawurlencode( $VERSION ); ?> " sizes = " 180x180 " />
< link rel = " icon " type = " image/png " href = " img/favicon-32x32.png?<?php echo rawurlencode( $VERSION ); ?> " sizes = " 32x32 " />
< link rel = " icon " type = " image/png " href = " img/favicon-16x16.png?<?php echo rawurlencode( $VERSION ); ?> " sizes = " 16x16 " />
2016-07-19 08:02:26 -04:00
< link rel = " manifest " href = " manifest.json?<?php echo rawurlencode( $VERSION ); ?> " />
2017-01-08 04:13:12 -05:00
< link rel = " mask-icon " href = " img/safari-pinned-tab.svg?<?php echo rawurlencode( $VERSION ); ?> " color = " #ffcc00 " />
< link rel = " shortcut icon " href = " img/favicon.ico " >
2016-07-19 08:02:26 -04:00
< meta name = " msapplication-config " content = " browserconfig.xml " >
< meta name = " theme-color " content = " #ffe57e " />
2020-03-23 13:58:26 -04:00
<!-- Twitter / social media cards -->
< meta name = " twitter:card " content = " summary " />
2022-10-25 00:34:40 -04:00
< meta name = " twitter:title " content = " <?php echo I18n::_('Encrypted note on %s', I18n::_( $NAME )) ?> " />
2020-03-23 13:58:26 -04:00
< meta name = " twitter:description " content = " <?php echo I18n::_('Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.') ?> " />
< meta name = " twitter:image " content = " img/apple-touch-icon.png?<?php echo rawurlencode( $VERSION ); ?> " />
< meta property = " og:title " content = " <?php echo I18n::_( $NAME ); ?> " />
< meta property = " og:site_name " content = " <?php echo I18n::_( $NAME ); ?> " />
< meta property = " og:description " content = " <?php echo I18n::_('Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.') ?> " />
< meta property = " og:image " content = " img/apple-touch-icon.png?<?php echo rawurlencode( $VERSION ); ?> " />
< meta property = " og:image:type " content = " image/png " />
< meta property = " og:image:width " content = " 180 " />
< meta property = " og:image:height " content = " 180 " />
2016-07-19 08:02:26 -04:00
</ head >
2019-06-23 13:45:40 -04:00
< body data - compression = " <?php echo rawurlencode( $COMPRESSION ); ?> " >
2016-07-19 08:02:26 -04:00
< header >
< div id = " aboutbox " >
2021-03-06 08:12:59 -05:00
< ? php echo sprintf (
2021-03-07 13:56:19 -05:00
I18n :: _ ( '%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.' ,
I18n :: _ ( $NAME ),
'%s' , '%s'
),
'<i>' , '</i>' ), ' ' , $INFO ;
?>
2021-03-06 08:12:59 -05:00
< br />
2016-08-09 05:54:42 -04:00
< ? php
2024-04-18 15:36:43 -04:00
if ( ! empty ( $NOTICE )) :
2016-08-09 05:54:42 -04:00
?>
2020-02-01 03:15:14 -05:00
< span class = " blink " > ▶ </ span > < ? php echo I18n :: encode ( $NOTICE );
2016-08-09 05:54:42 -04:00
endif ;
?>
2016-07-19 08:02:26 -04:00
</ div >
2017-01-01 10:33:11 -05:00
< h1 class = " title reloadlink " >< ? php echo I18n :: _ ( $NAME ); ?> </h1><br />
2016-08-09 05:54:42 -04:00
< h2 class = " title " >< ? php echo I18n :: _ ( 'Because ignorance is bliss' ); ?> </h2><br />
2016-07-19 08:02:26 -04:00
< h3 class = " title " >< ? php echo $VERSION ; ?> </h3>
2020-02-01 02:46:59 -05:00
< noscript >< div id = " noscript " class = " nonworking " >< ? php echo I18n :: _ ( 'JavaScript is required for %s to work. Sorry for the inconvenience.' , I18n :: _ ( $NAME )); ?> </div></noscript>
2020-02-02 01:35:33 -05:00
< div id = " oldnotice " class = " nonworking hidden " >
< ? php echo I18n :: _ ( '%s requires a modern browser to work.' , I18n :: _ ( $NAME )), PHP_EOL ; ?>
2016-07-19 08:02:26 -04:00
< a href = " https://www.mozilla.org/firefox/ " > Firefox </ a > ,
< a href = " https://www.opera.com/ " > Opera </ a > ,
2020-02-02 01:35:33 -05:00
< a href = " https://www.google.com/chrome " > Chrome </ a > … < br />
< span class = " small " >< ? php echo I18n :: _ ( 'For more information <a href="%s">see this FAQ entry</a>.' , 'https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-it-show-me-the-error-privatebin-requires-a-modern-browser-to-work' ); ?> </span>
2016-07-19 08:02:26 -04:00
</ div >
2019-06-17 15:40:37 -04:00
< ? php
if ( $HTTPWARNING ) :
?>
2019-09-19 13:14:48 -04:00
< div id = " httpnotice " class = " errorMessage hidden " >
2020-02-02 01:35:33 -05:00
< ? php echo I18n :: _ ( 'This website is using an insecure connection! Please only use it for testing.' ); ?> <br />
2019-06-22 01:52:18 -04:00
< span class = " small " >< ? php echo I18n :: _ ( 'For more information <a href="%s">see this FAQ entry</a>.' , 'https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-it-show-me-an-error-about-an-insecure-connection' ); ?> </span>
2019-06-21 13:03:45 -04:00
</ div >
2019-09-19 13:14:48 -04:00
< div id = " insecurecontextnotice " class = " errorMessage hidden " >
< ? php echo I18n :: _ ( 'Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href="%s">switching to HTTPS</a>.' , $HTTPSLINK ); ?>
</ div >
2019-06-17 15:40:37 -04:00
< ? php
endif ;
?>
2016-07-19 08:02:26 -04:00
</ header >
< section >
< article >
2017-03-12 09:16:08 -04:00
< div id = " loadingindicator " class = " hidden " >< ? php echo I18n :: _ ( 'Loading…' ); ?> </div>
2020-02-01 03:15:14 -05:00
< div id = " status " >< ? php echo I18n :: encode ( $STATUS ); ?> </div>
< div id = " errormessage " class = " hidden " >< ? php echo I18n :: encode ( $ERROR ); ?> </div>
2016-07-19 08:02:26 -04:00
< div id = " toolbar " >
2016-08-09 05:54:42 -04:00
< button id = " newbutton " class = " reloadlink hidden " >< img src = " img/icon_new.png " width = " 11 " height = " 15 " alt = " " />< ? php echo I18n :: _ ( 'New' ); ?> </button>
2017-04-11 16:25:14 -04:00
< button id = " retrybutton " class = " reloadlink hidden " >< ? php echo I18n :: _ ( 'Retry' ), PHP_EOL ; ?> </button>
2024-02-12 15:50:11 -05:00
< button id = " sendbutton " class = " hidden " >< img src = " img/icon_send.png " width = " 18 " height = " 15 " alt = " " />< ? php echo I18n :: _ ( 'Create' ); ?> </button>
2016-08-09 05:54:42 -04:00
< button id = " clonebutton " class = " hidden " >< img src = " img/icon_clone.png " width = " 15 " height = " 17 " alt = " " />< ? php echo I18n :: _ ( 'Clone' ); ?> </button>
< button id = " rawtextbutton " class = " hidden " >< img src = " img/icon_raw.png " width = " 15 " height = " 15 " alt = " " />< ? php echo I18n :: _ ( 'Raw text' ); ?> </button>
2021-04-18 03:07:57 -04:00
< button id = " downloadtextbutton " class = " hidden " >< ? php echo I18n :: _ ( 'Save paste' ), PHP_EOL ; ?> </button>
2023-09-09 16:26:11 -04:00
< ? php
if ( $EMAIL ) :
?>
2019-08-21 17:36:22 -04:00
< button id = " emaillink " class = " hidden " >< img src = " img/icon_email.png " width = " 15 " height = " 15 " alt = " " />< ? php echo I18n :: _ ( 'Email' ); ?> </button>
2017-12-25 08:59:15 -05:00
< ? php
2023-09-09 16:26:11 -04:00
endif ;
2017-12-25 08:59:15 -05:00
if ( $QRCODE ) :
?>
< button id = " qrcodelink " class = " hidden " >< img src = " img/icon_qr.png " width = " 15 " height = " 15 " alt = " " />< ? php echo I18n :: _ ( 'QR code' ); ?> </button>
< ? php
endif ;
?>
2016-08-09 05:54:42 -04:00
< div id = " expiration " class = " hidden button " >< ? php echo I18n :: _ ( 'Expires' ); ?> :
< select id = " pasteExpiration " name = " pasteExpiration " >
< ? php
foreach ( $EXPIRE as $key => $value ) :
?>
2016-07-19 08:02:26 -04:00
< option value = " <?php echo $key ; ?> " < ? php
2016-08-09 05:54:42 -04:00
if ( $key == $EXPIREDEFAULT ) :
?> selected="selected"<?php
endif ;
?> ><?php echo $value; ?></option>
< ? php
endforeach ;
?>
2016-07-19 08:02:26 -04:00
</ select >
</ div >
< div id = " remainingtime " class = " hidden " ></ div >
< div id = " burnafterreadingoption " class = " button hidden " >
2016-08-15 08:24:42 -04:00
< input type = " checkbox " id = " burnafterreading " name = " burnafterreading " < ? php
2016-08-09 05:54:42 -04:00
if ( $BURNAFTERREADINGSELECTED ) :
?> checked="checked"<?php
endif ;
?> />
< label for = " burnafterreading " >< ? php echo I18n :: _ ( 'Burn after reading' ); ?> </label>
</ div >
< ? php
if ( $DISCUSSION ) :
?>
2017-02-25 03:35:55 -05:00
< div id = " opendiscussionoption " class = " button hidden " >
2016-08-15 08:24:42 -04:00
< input type = " checkbox " id = " opendiscussion " name = " opendiscussion " < ? php
2016-08-09 05:54:42 -04:00
if ( $OPENDISCUSSION ) :
?> checked="checked"<?php
endif ;
?> />
2018-07-21 02:44:04 -04:00
< label for = " opendiscussion " >< ? php echo I18n :: _ ( 'Open discussion' ); ?> </label>
2016-08-09 05:54:42 -04:00
</ div >
< ? php
2016-07-19 08:02:26 -04:00
endif ;
2016-08-09 05:54:42 -04:00
if ( $PASSWORD ) :
?>
2016-07-19 08:02:26 -04:00
< div id = " password " class = " hidden " >
2016-08-09 05:54:42 -04:00
< input type = " password " id = " passwordinput " placeholder = " <?php echo I18n::_('Password (recommended)'); ?> " size = " 32 " />
</ div >
< ? php
endif ;
?>
< div id = " formatter " class = " button hidden " >< ? php echo I18n :: _ ( 'Format' ); ?> :
< select id = " pasteFormatter " name = " pasteFormatter " >
< ? php
foreach ( $FORMATTER as $key => $value ) :
?>
2016-07-19 08:02:26 -04:00
< option value = " <?php echo $key ; ?> " < ? php
2016-08-09 05:54:42 -04:00
if ( $key == $FORMATTERDEFAULT ) :
?> selected="selected"<?php
endif ;
?> ><?php echo $value; ?></option>
< ? php
endforeach ;
?>
2016-07-19 08:02:26 -04:00
</ select >
2016-08-09 05:54:42 -04:00
</ div >
< ? php
2024-04-18 15:36:43 -04:00
if ( ! empty ( $LANGUAGESELECTION )) :
2016-08-09 05:54:42 -04:00
?>
2016-07-19 08:02:26 -04:00
< div id = " language " class = " button " >
2016-08-09 05:54:42 -04:00
< select name = " lang " >
< ? php
foreach ( $LANGUAGES as $key => $value ) :
?>
2016-08-09 08:46:32 -04:00
< option data - lang = " <?php echo $key ; ?> " value = " <?php echo $key ; ?> " < ? php
2016-08-09 05:54:42 -04:00
if ( $key == $LANGUAGESELECTION ) :
?> selected="selected"<?php
endif ;
?> ><?php echo $value[0]; ?> (<?php echo $value[1]; ?>)</option>
< ? php
endforeach ;
?>
2016-07-19 08:02:26 -04:00
</ select >
2016-08-09 05:54:42 -04:00
</ div >
< ? php
endif ;
?>
2016-07-19 08:02:26 -04:00
</ div >
2018-01-02 02:23:11 -05:00
< ? php
if ( $QRCODE ) :
?>
< div id = " qrcode-display " ></ div >
< ? php
endif ;
?> <div id="pastesuccess" class="hidden">
2016-07-19 08:02:26 -04:00
< div id = " deletelink " ></ div >
2018-02-25 04:09:19 -05:00
< div id = " pastelink " ></ div >
2016-08-09 05:54:42 -04:00
< ? php
2024-04-18 15:36:43 -04:00
if ( ! empty ( $URLSHORTENER )) :
2016-08-09 05:54:42 -04:00
?>
2020-02-01 03:15:14 -05:00
< button id = " shortenbutton " data - shortener = " <?php echo I18n::encode( $URLSHORTENER ); ?> " >< img src = " img/icon_shorten.png " width = " 13 " height = " 15 " />< ? php echo I18n :: _ ( 'Shorten URL' ); ?> </button>
2016-08-09 05:54:42 -04:00
< ? php
endif ;
?>
</ div >
< ? php
if ( $FILEUPLOAD ) :
?>
< div id = " attachment " class = " hidden " >< a >< ? php echo I18n :: _ ( 'Download attachment' ); ?> </a></div>
2016-07-19 08:02:26 -04:00
< div id = " attach " class = " hidden " >
2016-08-09 05:54:42 -04:00
< span id = " clonedfile " class = " hidden " >< ? php echo I18n :: _ ( 'Cloned file attached.' ); ?> </span>
< span id = " filewrap " >< ? php echo I18n :: _ ( 'Attach a file' ); ?> : <input type="file" id="file" name="file" /></span>
2017-05-13 15:43:32 -04:00
< span id = " dragAndDropFileName " class = " dragAndDropFile " >< ? php echo I18n :: _ ( 'alternatively drag & drop a file or paste an image from the clipboard' ); ?> </span>
2016-08-09 05:54:42 -04:00
< button id = " fileremovebutton " >< ? php echo I18n :: _ ( 'Remove attachment' ); ?> </button>
</ div >
< ? php
endif ;
?>
2016-07-19 08:02:26 -04:00
< div id = " preview " class = " hidden " >
2016-08-09 05:54:42 -04:00
< button id = " messageedit " >< ? php echo I18n :: _ ( 'Editor' ); ?> </button>
< button id = " messagepreview " >< ? php echo I18n :: _ ( 'Preview' ); ?> </button>
2016-07-19 08:02:26 -04:00
</ div >
2017-02-12 09:35:37 -05:00
< div id = " attachmentPreview " class = " hidden " ></ div >
2016-07-19 08:02:26 -04:00
< div id = " prettymessage " class = " hidden " >
< pre id = " prettyprint " class = " prettyprint linenums:1 " ></ pre >
</ div >
2017-03-12 09:16:08 -04:00
< div id = " plaintext " class = " hidden " ></ div >
2016-07-19 08:02:26 -04:00
< textarea id = " message " name = " message " cols = " 80 " rows = " 25 " class = " hidden " ></ textarea >
</ article >
</ section >
< section >
< div id = " discussion " class = " hidden " >
2016-08-09 05:54:42 -04:00
< h4 class = " title " >< ? php echo I18n :: _ ( 'Discussion' ); ?> </h4>
2017-03-12 09:16:08 -04:00
< div id = " commentcontainer " ></ div >
2016-07-19 08:02:26 -04:00
</ div >
</ section >
2017-03-12 09:16:08 -04:00
< ? php
if ( $DISCUSSION ) :
?>
2018-04-30 14:01:38 -04:00
< div id = " serverdata " class = " hidden " aria - hidden = " true " >
2017-03-12 09:16:08 -04:00
< div id = " templates " >
2024-04-23 15:15:00 -04:00
< article id = " commenttemplate " class = " comment " >
< div class = " commentmeta " >
< span class = " nickname " > name </ span >
< span class = " commentdate " > 0000 - 00 - 00 </ span >
</ div >
< div class = " commentdata " > c </ div >
< button class = " btn btn-default btn-sm " >< ? php echo I18n :: _ ( 'Reply' ); ?> </button>
</ article >
< div id = " commenttailtemplate " class = " comment " >
< button class = " btn btn-default btn-sm " >< ? php echo I18n :: _ ( 'Add comment' ); ?> </button>
</ div >
< div id = " replytemplate " class = " reply hidden " >
< input type = " text " id = " nickname " class = " form-control " title = " <?php echo I18n::_('Optional nickname…'); ?> " placeholder = " <?php echo I18n::_('Optional nickname…'); ?> " />
< textarea id = " replymessage " class = " replymessage form-control " cols = " 80 " rows = " 7 " ></ textarea >< br />
< div id = " replystatus " role = " alert " class = " statusmessage hidden alert " >
< span class = " glyphicon " aria - hidden = " true " ></ span >
</ div >
< button id = " replybutton " class = " btn btn-default btn-sm " >< ? php echo I18n :: _ ( 'Post comment' ); ?> </button>
</ div >
2017-03-12 09:16:08 -04:00
</ div >
2018-04-30 14:01:38 -04:00
</ div >
2017-03-12 09:16:08 -04:00
< ? php
endif ;
2019-08-15 19:28:42 -04:00
?>
< ? php
if ( $FILEUPLOAD ) :
?>
< div id = " dropzone " class = " hidden " tabindex = " -1 " aria - hidden = " true " ></ div >
< ? php
endif ;
2017-03-12 09:16:08 -04:00
?>
2017-12-25 08:59:15 -05:00
< section class = " container " >
2016-12-12 12:37:54 -05:00
< div id = " noscript " role = " alert " class = " nonworking alert alert-info noscript-hide " >< span class = " glyphicon glyphicon-exclamation-sign " aria - hidden = " true " >
< span > < ? php echo I18n :: _ ( 'Loading…' ); ?> </span><br>
2020-02-02 01:35:33 -05:00
< span class = " small " >< ? php echo I18n :: _ ( 'In case this message never disappears please have a look at <a href="%s">this FAQ for information to troubleshoot</a>.' , 'https://github.com/PrivateBin/PrivateBin/wiki/FAQ#why-does-the-loading-message-not-go-away' ); ?> </span>
2016-12-12 12:37:54 -05:00
</ div >
</ section >
2016-07-19 08:02:26 -04:00
</ body >
</ html >