2024-10-11 07:14:18 +02:00
< ? php declare ( strict_types = 1 );
2016-08-09 11:54:42 +02:00
use PrivateBin\I18n ;
2017-01-08 10:02:07 +01:00
$isCpct = substr ( $template , 9 , 8 ) === '-compact' ;
$isDark = substr ( $template , 9 , 5 ) === '-dark' ;
$isPage = substr ( $template , - 5 ) === '-page' ;
2016-08-09 11:54:42 +02:00
?> <!DOCTYPE html>
2023-09-19 07:29:00 +02:00
< html lang = " <?php echo I18n::getLanguage(); ?> " < ? php echo I18n :: isRtl () ? ' dir="rtl"' : '' ; ?> >
2016-07-19 14:02:26 +02:00
< head >
< meta charset = " utf-8 " />
2022-03-13 17:24:47 +01:00
< meta http - equiv = " Content-Security-Policy " content = " <?php echo I18n::encode( $CSPHEADER ); ?> " >
2016-07-19 14:02:26 +02:00
< meta http - equiv = " X-UA-Compatible " content = " IE=edge " >
< meta name = " viewport " content = " width=device-width, initial-scale=1 " >
< meta name = " robots " content = " noindex " />
2018-11-21 23:32:06 +01:00
< meta name = " google " content = " notranslate " >
2017-01-01 16:33:11 +01:00
< title >< ? php echo I18n :: _ ( $NAME ); ?> </title>
2017-01-08 09:40:13 +01:00
< ? php
2020-10-04 12:16:42 +02:00
if ( ! $isDark ) :
2017-01-08 09:40:13 +01:00
?>
2019-06-16 09:27:11 +02:00
< link type = " text/css " rel = " stylesheet " href = " css/bootstrap/bootstrap-3.4.1.css " />
2017-01-08 09:40:13 +01:00
< ? php
endif ;
?>
2019-06-16 09:27:11 +02:00
< link type = " text/css " rel = " stylesheet " href = " css/bootstrap/bootstrap-theme-3.4.1.css " />
2017-01-08 09:40:13 +01:00
< ? php
2020-10-04 12:16:42 +02:00
if ( $isDark ) :
2017-01-08 09:40:13 +01:00
?>
< link type = " text/css " rel = " stylesheet " href = " css/bootstrap/darkstrap-0.9.3.css " />
< ? php
endif ;
?>
2016-08-09 11:54:42 +02:00
< link type = " text/css " rel = " stylesheet " href = " css/bootstrap/privatebin.css?<?php echo rawurlencode( $VERSION ); ?> " />
< ? php
2020-10-04 12:16:42 +02:00
if ( $SYNTAXHIGHLIGHTING ) :
2016-08-09 11:54:42 +02:00
?>
< link type = " text/css " rel = " stylesheet " href = " css/prettify/prettify.css?<?php echo rawurlencode( $VERSION ); ?> " />
< ? php
2024-04-18 21:36:43 +02:00
if ( ! empty ( $SYNTAXHIGHLIGHTINGTHEME )) :
2016-08-09 11:54:42 +02:00
?>
< link type = " text/css " rel = " stylesheet " href = " css/prettify/<?php echo rawurlencode( $SYNTAXHIGHLIGHTINGTHEME ); ?>.css?<?php echo rawurlencode( $VERSION ); ?> " />
< ? php
2016-07-26 08:19:35 +02:00
endif ;
2016-08-09 11:54:42 +02:00
endif ;
?>
2016-11-13 12:27:09 +01:00
< noscript >< link type = " text/css " rel = " stylesheet " href = " css/noscript.css " /></ noscript >
2024-10-23 00:29:42 +02:00
< ? php $this -> _scriptTag ( 'js/jquery-3.7.1.js' , 'defer' ); ?>
2016-08-16 11:11:03 +02:00
< ? php
2020-10-04 12:16:42 +02:00
if ( $QRCODE ) :
2017-12-25 14:59:15 +01:00
?>
2024-07-09 21:38:41 +02:00
< ? php $this -> _scriptTag ( 'js/kjua-0.9.0.js' , 'async' ); ?>
2017-12-25 14:59:15 +01:00
< ? php
endif ;
2020-10-04 12:16:42 +02:00
if ( $ZEROBINCOMPATIBILITY ) :
2016-08-16 11:11:03 +02:00
?>
2024-07-09 21:38:41 +02:00
< ? php $this -> _scriptTag ( 'js/base64-1.7.js' , 'async' ); ?>
2016-08-16 11:11:03 +02:00
< ? php
endif ;
?>
2024-07-09 21:38:41 +02:00
< ? php $this -> _scriptTag ( 'js/zlib-1.3.1.js' , 'async' ); ?>
2024-10-23 00:29:42 +02:00
< ? php $this -> _scriptTag ( 'js/base-x-4.0.0.js' , 'defer' ); ?>
< ? php $this -> _scriptTag ( 'js/rawinflate-0.3.js' , 'defer' ); ?>
2024-07-09 21:38:41 +02:00
< ? php $this -> _scriptTag ( 'js/bootstrap-3.4.1.js' , 'defer' ); ?>
2016-08-09 11:54:42 +02:00
< ? php
2020-10-04 12:16:42 +02:00
if ( $SYNTAXHIGHLIGHTING ) :
2016-08-09 11:54:42 +02:00
?>
2024-07-09 21:38:41 +02:00
< ? php $this -> _scriptTag ( 'js/prettify.js' , 'async' ); ?>
2016-08-09 11:54:42 +02:00
< ? php
endif ;
2020-10-04 12:16:42 +02:00
if ( $MARKDOWN ) :
2016-08-09 11:54:42 +02:00
?>
2024-07-09 21:38:41 +02:00
< ? php $this -> _scriptTag ( 'js/showdown-2.1.0.js' , 'async' ); ?>
2016-08-09 11:54:42 +02:00
< ? php
2016-07-19 14:02:26 +02:00
endif ;
2016-08-09 11:54:42 +02:00
?>
2024-10-19 11:17:53 +02:00
< ? php $this -> _scriptTag ( 'js/purify-3.1.7.js' , 'async' ); ?>
2024-07-09 21:38:41 +02:00
< ? php $this -> _scriptTag ( 'js/legacy.js' , 'async' ); ?>
< ? php $this -> _scriptTag ( 'js/privatebin.js' , 'defer' ); ?>
2020-03-23 18:58:26 +01:00
<!-- icon -->
2020-07-01 19:47:12 +02:00
< link rel = " apple-touch-icon " href = " <?php echo I18n::encode( $BASEPATH ); ?>img/apple-touch-icon.png " sizes = " 180x180 " />
Make Opengraph really functional
3 URLs of images used on social networks are passed in absolute URL.
Note that I did not pass all the images in absolute URLs, but, it could be consistent to do so, but, if the images work, maybe a relative call is more efficient?
Remove the version of PrivateBin, at the end of each image. This apparently prevents the opengraph from working, and, so I deleted on all of the images, to remain consistent at this level. This will make fewer requests, and, anyway, the images are not intended to change with each version.
2020-06-30 22:36:36 +02:00
< link rel = " icon " type = " image/png " href = " img/favicon-32x32.png " sizes = " 32x32 " />
< link rel = " icon " type = " image/png " href = " img/favicon-16x16.png " sizes = " 16x16 " />
2016-07-19 14:02:26 +02:00
< link rel = " manifest " href = " manifest.json?<?php echo rawurlencode( $VERSION ); ?> " />
Make Opengraph really functional
3 URLs of images used on social networks are passed in absolute URL.
Note that I did not pass all the images in absolute URLs, but, it could be consistent to do so, but, if the images work, maybe a relative call is more efficient?
Remove the version of PrivateBin, at the end of each image. This apparently prevents the opengraph from working, and, so I deleted on all of the images, to remain consistent at this level. This will make fewer requests, and, anyway, the images are not intended to change with each version.
2020-06-30 22:36:36 +02:00
< link rel = " mask-icon " href = " img/safari-pinned-tab.svg " color = " #ffcc00 " />
2017-01-08 10:13:12 +01:00
< link rel = " shortcut icon " href = " img/favicon.ico " >
2016-07-19 14:02:26 +02:00
< meta name = " msapplication-config " content = " browserconfig.xml " >
< meta name = " theme-color " content = " #ffe57e " />
2020-03-23 18:58:26 +01:00
<!-- Twitter / social media cards -->
< meta name = " twitter:card " content = " summary " />
2022-10-25 06:34:40 +02:00
< meta name = " twitter:title " content = " <?php echo I18n::_('Encrypted note on %s', I18n::_( $NAME )) ?> " />
2020-03-23 18:58:26 +01: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.') ?> " />
2020-07-01 19:47:12 +02:00
< meta name = " twitter:image " content = " <?php echo I18n::encode( $BASEPATH ); ?>img/apple-touch-icon.png " />
2020-03-23 18:58:26 +01:00
< 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.') ?> " />
2020-07-01 19:47:12 +02:00
< meta property = " og:image " content = " <?php echo I18n::encode( $BASEPATH ); ?>img/apple-touch-icon.png " />
2020-03-23 18:58:26 +01:00
< 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 14:02:26 +02:00
</ head >
2019-06-23 19:45:40 +02:00
< body role = " document " data - compression = " <?php echo rawurlencode( $COMPRESSION ); ?> " < ? php
$class = array ();
if ( $isCpct ) {
$class [] = 'navbar-spacing' ;
}
if ( $isDark ) {
$class [] = 'dark-theme' ;
}
if ( count ( $class )) {
echo ' class="' , implode ( ' ' , $class ), '"' ;
}
2017-01-08 09:40:13 +01:00
?> >
2017-11-26 15:59:12 +01:00
< div id = " passwordmodal " tabindex = " -1 " class = " modal fade " role = " dialog " aria - hidden = " true " >
< div class = " modal-dialog " role = " document " >
2016-11-13 18:12:10 +01:00
< div class = " modal-content " >
< div class = " modal-body " >
< form id = " passwordform " role = " form " >
< 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>
2018-07-21 08:44:04 +02:00
< input id = " passworddecrypt " type = " password " class = " form-control " placeholder = " <?php echo I18n::_('Enter password') ?> " required = " required " >
2016-11-13 18:12:10 +01:00
</ div >
< button type = " submit " class = " btn btn-success btn-block " >< span class = " glyphicon glyphicon-off " ></ span > < ? php echo I18n :: _ ( 'Decrypt' ) ?> </button>
</ form >
</ div >
</ div >
</ div >
</ div >
2024-01-27 18:26:19 +01:00
< div id = " loadconfirmmodal " tabindex = " -1 " class = " modal fade " role = " dialog " aria - hidden = " true " >
< div class = " modal-dialog " role = " document " >
< div class = " modal-content " >
< div class = " modal-header " >
< button type = " button " class = " close " data - dismiss = " modal " aria - label = " <?php echo I18n::_('Close') ?> " >< span aria - hidden = " true " >& times ; </ span ></ button >
2024-03-21 23:25:17 +01:00
< h4 class = " modal-title " >< ? php echo I18n :: _ ( 'This secret message can only be displayed once. Would you like to see it now?' ) ?> </h4>
2024-01-27 18:26:19 +01:00
</ div >
< div class = " modal-body text-center " >
2024-03-21 23:25:17 +01:00
< button id = " loadconfirm-open-now " type = " button " class = " btn btn-success " data - dismiss = " modal " >< span class = " glyphicon glyphicon-download " ></ span > < ? php echo I18n :: _ ( 'Yes, see it' ) ?> </button>
2024-01-27 18:26:19 +01:00
</ div >
</ div >
</ div >
</ div >
2018-01-02 08:23:11 +01:00
< ? php
2020-10-04 12:16:42 +02:00
if ( $QRCODE ) :
2018-01-02 08:23:11 +01:00
?>
2024-01-27 18:26:19 +01:00
< div id = " qrcodemodal " tabindex = " -1 " class = " modal fade " role = " dialog " aria - hidden = " true " >
2017-11-26 15:59:12 +01:00
< div class = " modal-dialog " role = " document " >
< div class = " modal-content " >
2024-01-27 18:26:19 +01:00
< div class = " modal-header " >
< button type = " button " class = " close " data - dismiss = " modal " aria - label = " <?php echo I18n::_('Close') ?> " >< span aria - hidden = " true " >& times ; </ span ></ button >
< h4 class = " modal-title " >< ? php echo I18n :: _ ( 'QR code' ) ?> </h4>
</ div >
2017-11-26 15:59:12 +01:00
< div class = " modal-body " >
< div class = " mx-auto " id = " qrcode-display " ></ div >
</ div >
</ div >
</ div >
</ div >
2018-01-02 08:23:11 +01:00
< ? php
endif ;
2023-09-09 22:26:11 +02:00
if ( $EMAIL ) :
2018-01-02 08:23:11 +01:00
?>
2024-01-27 18:26:19 +01:00
< div id = " emailconfirmmodal " tabindex = " -1 " class = " modal fade " role = " dialog " aria - hidden = " true " >
2019-08-21 23:36:22 +02:00
< div class = " modal-dialog " role = " document " >
< div class = " modal-content " >
2024-01-27 18:26:19 +01:00
< div class = " modal-header " >
< button type = " button " class = " close " data - dismiss = " modal " aria - label = " <?php echo I18n::_('Close') ?> " >< span aria - hidden = " true " >& times ; </ span ></ button >
< h4 class = " modal-title " >< ? php echo I18n :: _ ( 'Recipient may become aware of your timezone, convert time to UTC?' ) ?> </h4>
2019-08-21 23:36:22 +02:00
</ div >
2024-01-27 18:26:19 +01:00
< div class = " modal-body row " >
< div class = " col-xs-12 col-md-6 " >
< button id = " emailconfirm-timezone-current " type = " button " class = " btn btn-danger " >< span class = " glyphicon glyphicon-time " ></ span > < ? php echo I18n :: _ ( 'Use Current Timezone' ) ?> </button>
</ div >
< div class = " col-xs-12 col-md-6 text-right " >
< button id = " emailconfirm-timezone-utc " type = " button " class = " btn btn-success " >< span class = " glyphicon glyphicon-globe " ></ span > < ? php echo I18n :: _ ( 'Convert To UTC' ) ?> </button>
2019-08-21 23:36:22 +02:00
</ div >
</ div >
</ div >
</ div >
</ div >
2023-09-09 22:26:11 +02:00
< ? php
endif ;
?>
2017-01-08 09:40:13 +01:00
< nav class = " navbar navbar-<?php echo $isDark ? 'inverse' : 'default'; ?> navbar-<?php echo $isCpct ? 'fixed' : 'static'; ?>-top " >< ? php
2020-10-04 12:16:42 +02:00
if ( $isCpct ) :
2017-01-08 09:40:13 +01:00
?> <div class="container"><?php
endif ;
?>
2016-07-19 14:02:26 +02:00
< div class = " navbar-header " >
< button type = " button " class = " navbar-toggle collapsed " data - toggle = " collapse " data - target = " #navbar " aria - expanded = " false " aria - controls = " navbar " >
2016-08-09 11:54:42 +02:00
< span class = " sr-only " >< ? php echo I18n :: _ ( 'Toggle navigation' ); ?> </span>
2016-07-19 14:02:26 +02:00
< span class = " icon-bar " ></ span >
< span class = " icon-bar " ></ span >
< span class = " icon-bar " ></ span >
</ button >
2016-08-20 18:53:07 +02:00
< a class = " reloadlink navbar-brand " href = " " >
2017-01-01 16:33:11 +01:00
< img alt = " <?php echo I18n::_( $NAME ); ?> " src = " img/icon.svg " width = " 38 " />
2016-07-19 14:02:26 +02:00
</ a >
</ div >
< div id = " navbar " class = " navbar-collapse collapse " >
< ul class = " nav navbar-nav " >
2017-02-05 22:09:46 +01:00
< li id = " loadingindicator " class = " navbar-text hidden " >
2017-02-15 22:59:55 +01:00
< span class = " glyphicon glyphicon-time " aria - hidden = " true " ></ span >
2017-03-12 14:16:08 +01:00
< ? php echo I18n :: _ ( 'Loading…' ), PHP_EOL ; ?>
2017-02-05 22:09:46 +01:00
</ li >
2016-07-19 14:02:26 +02:00
< li >
2017-04-11 22:21:30 +02:00
< button id = " retrybutton " type = " button " class = " reloadlink hidden btn btn-<?php echo $isDark ? 'warning' : 'primary'; ?> navbar-btn " >
< span class = " glyphicon glyphicon-repeat " aria - hidden = " true " ></ span > < ? php echo I18n :: _ ( 'Retry' ), PHP_EOL ; ?>
</ button >
</ li >
< li >
2017-01-08 09:40:13 +01:00
< ? php
2020-10-04 12:16:42 +02:00
if ( $isPage ) :
2017-01-08 09:40:13 +01:00
?>
< button id = " sendbutton " type = " button " class = " hidden btn btn-<?php echo $isDark ? 'warning' : 'primary'; ?> navbar-btn " >
2024-02-12 21:50:11 +01:00
< span class = " glyphicon glyphicon-upload " aria - hidden = " true " ></ span > < ? php echo I18n :: _ ( 'Create' ), PHP_EOL ;
2020-10-04 12:16:42 +02:00
else :
2017-01-08 09:40:13 +01:00
?>
2017-02-14 22:21:55 +01:00
< button id = " newbutton " type = " button " class = " hidden btn btn-<?php echo $isDark ? 'warning' : 'default'; ?> navbar-btn " >
2017-01-08 09:40:13 +01:00
< span class = " glyphicon glyphicon-file " aria - hidden = " true " ></ span > < ? php echo I18n :: _ ( 'New' ), PHP_EOL ;
endif ;
?>
2016-08-09 11:54:42 +02:00
</ button >
2017-01-08 09:40:13 +01:00
< button id = " clonebutton " type = " button " class = " hidden btn btn-<?php echo $isDark ? 'warning' : 'default'; ?> navbar-btn " >
2016-08-15 14:24:42 +02:00
< span class = " glyphicon glyphicon-duplicate " aria - hidden = " true " ></ span > < ? php echo I18n :: _ ( 'Clone' ), PHP_EOL ; ?>
2016-08-09 11:54:42 +02:00
</ button >
2017-01-08 09:40:13 +01:00
< button id = " rawtextbutton " type = " button " class = " hidden btn btn-<?php echo $isDark ? 'warning' : 'default'; ?> navbar-btn " >
2016-08-15 14:24:42 +02:00
< span class = " glyphicon glyphicon-text-background " aria - hidden = " true " ></ span > < ? php echo I18n :: _ ( 'Raw text' ), PHP_EOL ; ?>
2016-07-19 14:02:26 +02:00
</ button >
2021-04-14 03:11:58 +02:00
< button id = " downloadtextbutton " type = " button " class = " hidden btn btn-<?php echo $isDark ? 'warning' : 'default'; ?> navbar-btn " >
2021-04-18 09:07:57 +02:00
< span class = " glyphicon glyphicon glyphicon-download-alt " aria - hidden = " true " ></ span > < ? php echo I18n :: _ ( 'Save paste' ), PHP_EOL ; ?>
2021-04-14 03:11:58 +02:00
</ button >
2023-09-09 22:26:11 +02:00
< ? php
if ( $EMAIL ) :
?>
2019-08-21 23:36:22 +02:00
< button id = " emaillink " type = " button " class = " hidden btn btn-<?php echo $isDark ? 'warning' : 'default'; ?> navbar-btn " >
< span class = " glyphicon glyphicon-envelope " aria - hidden = " true " ></ span > < ? php echo I18n :: _ ( 'Email' ), PHP_EOL ; ?>
</ button >
2017-12-25 14:59:15 +01:00
< ? php
2023-09-09 22:26:11 +02:00
endif ;
2020-10-04 12:16:42 +02:00
if ( $QRCODE ) :
2017-12-25 14:59:15 +01:00
?>
< button id = " qrcodelink " type = " button " data - toggle = " modal " data - target = " #qrcodemodal " class = " hidden btn btn-<?php echo $isDark ? 'warning' : 'default'; ?> navbar-btn " >
< span class = " glyphicon glyphicon-qrcode " aria - hidden = " true " ></ span > < ? php echo I18n :: _ ( 'QR code' ), PHP_EOL ; ?>
</ button >
< ? php
endif ;
?>
2016-07-19 14:02:26 +02:00
</ li >
< li class = " dropdown " >
2016-08-09 11:54:42 +02:00
< select id = " pasteExpiration " name = " pasteExpiration " class = " hidden " >
< ? php
2020-10-04 12:16:42 +02:00
foreach ( $EXPIRE as $key => $value ) :
2016-08-09 11:54:42 +02:00
?>
2016-07-19 14:02:26 +02:00
< option value = " <?php echo $key ; ?> " < ? php
2020-10-04 12:16:42 +02:00
if ( $key == $EXPIREDEFAULT ) :
2016-08-09 11:54:42 +02:00
?> selected="selected"<?php
endif ;
?> ><?php echo $value; ?></option>
< ? php
endforeach ;
?>
2016-07-19 14:02:26 +02:00
</ select >
2016-08-09 11:54:42 +02:00
< a id = " expiration " href = " # " class = " hidden dropdown-toggle " data - toggle = " dropdown " role = " button " aria - haspopup = " true " aria - expanded = " false " >< ? php echo I18n :: _ ( 'Expires' ); ?> : <span id="pasteExpirationDisplay"><?php echo $EXPIRE[$EXPIREDEFAULT]; ?></span> <span class="caret"></span></a>
< ul class = " dropdown-menu " >
< ? php
2020-10-04 12:16:42 +02:00
foreach ( $EXPIRE as $key => $value ) :
2016-08-09 11:54:42 +02:00
?>
2016-07-19 14:02:26 +02:00
< li >
2016-08-09 14:46:32 +02:00
< a href = " # " data - expiration = " <?php echo $key ; ?> " >
2016-08-15 14:24:42 +02:00
< ? php echo $value , PHP_EOL ; ?>
2016-07-19 14:02:26 +02:00
</ a >
2016-08-09 11:54:42 +02:00
</ li >
< ? php
endforeach ;
?>
2016-07-19 14:02:26 +02:00
</ ul >
</ li >
2017-01-08 09:40:13 +01:00
< ? php
2020-10-04 12:16:42 +02:00
if ( $isCpct ) :
2017-01-08 09:40:13 +01:00
?>
2019-06-21 17:21:40 +02:00
< li class = " dropdown " >
< a id = " formatter " href = " # " class = " dropdown-toggle " data - toggle = " dropdown " role = " button " aria - haspopup = " true " aria - expanded = " false " >< ? php echo I18n :: _ ( 'Options' ); ?> <span class="caret"></span></a>
2017-01-08 09:40:13 +01:00
< ul class = " dropdown-menu " >
< li id = " burnafterreadingoption " class = " checkbox hidden " >
< label >
< input type = " checkbox " id = " burnafterreading " name = " burnafterreading " < ? php
2020-10-04 12:16:42 +02:00
if ( $BURNAFTERREADINGSELECTED ) :
2017-01-08 09:40:13 +01:00
?> checked="checked"<?php
endif ;
?> />
< ? php echo I18n :: _ ( 'Burn after reading' ), PHP_EOL ; ?>
</ label >
</ li >
< ? php
2020-10-04 12:16:42 +02:00
if ( $DISCUSSION ) :
2017-01-08 09:40:13 +01:00
?>
2017-02-13 11:35:04 +01:00
< li id = " opendiscussionoption " class = " checkbox hidden " >
2017-01-08 09:40:13 +01:00
< label >
< input type = " checkbox " id = " opendiscussion " name = " opendiscussion " < ? php
2020-10-04 12:16:42 +02:00
if ( $OPENDISCUSSION ) :
2017-01-08 09:40:13 +01:00
?> checked="checked"<?php
endif ;
?> />
< ? php echo I18n :: _ ( 'Open discussion' ), PHP_EOL ; ?>
</ label >
</ li >
< ? php
endif ;
?>
< li role = " separator " class = " divider " ></ li >
< li >
< div >
< ? php echo I18n :: _ ( 'Format' ); ?> : <span id="pasteFormatterDisplay"><?php echo $FORMATTER[$FORMATTERDEFAULT]; ?></span> <span class="caret"></span>
</ div >
</ li >
< ? php
2020-10-04 12:16:42 +02:00
foreach ( $FORMATTER as $key => $value ) :
2017-01-08 09:40:13 +01:00
?>
< li >
< a href = " # " data - format = " <?php echo $key ; ?> " >
< ? php echo $value , PHP_EOL ; ?>
</ a >
</ li >
< ? php
endforeach ;
?>
</ ul >
< select id = " pasteFormatter " name = " pasteFormatter " class = " hidden " >
2017-05-26 20:55:45 +02:00
< ? php
2020-10-04 12:16:42 +02:00
foreach ( $FORMATTER as $key => $value ) :
2017-05-26 20:55:45 +02:00
?>
< option value = " <?php echo $key ; ?> " < ? php
2020-10-04 12:16:42 +02:00
if ( $key == $FORMATTERDEFAULT ) :
2017-05-26 20:55:45 +02:00
?> selected="selected"<?php
endif ;
?> ><?php echo $value; ?></option>
< ? php
endforeach ;
?>
2017-01-08 09:40:13 +01:00
</ select >
</ li >
< ? php
2020-10-04 12:16:42 +02:00
else :
2017-01-08 09:40:13 +01:00
?>
2016-07-19 14:02:26 +02:00
< li >
< div id = " burnafterreadingoption " class = " navbar-text checkbox hidden " >
< label >
2016-08-15 14:24:42 +02:00
< input type = " checkbox " id = " burnafterreading " name = " burnafterreading " < ? php
2020-10-04 12:16:42 +02:00
if ( $BURNAFTERREADINGSELECTED ) :
2016-08-09 11:54:42 +02:00
?> checked="checked"<?php
2017-01-08 09:40:13 +01:00
endif ;
2016-08-09 11:54:42 +02:00
?> />
2016-08-15 14:24:42 +02:00
< ? php echo I18n :: _ ( 'Burn after reading' ), PHP_EOL ; ?>
2016-07-19 14:02:26 +02:00
</ label >
</ div >
2016-08-09 11:54:42 +02:00
</ li >
< ? php
2020-10-04 12:16:42 +02:00
if ( $DISCUSSION ) :
2016-08-09 11:54:42 +02:00
?>
2016-07-19 14:02:26 +02:00
< li >
2017-02-13 11:35:04 +01:00
< div id = " opendiscussionoption " class = " navbar-text checkbox hidden " >
2016-07-19 14:02:26 +02:00
< label >
2016-08-15 14:24:42 +02:00
< input type = " checkbox " id = " opendiscussion " name = " opendiscussion " < ? php
2020-10-04 12:16:42 +02:00
if ( $OPENDISCUSSION ) :
2016-08-09 11:54:42 +02:00
?> checked="checked"<?php
2017-01-08 09:40:13 +01:00
endif ;
2016-08-09 11:54:42 +02:00
?> />
2016-08-15 14:24:42 +02:00
< ? php echo I18n :: _ ( 'Open discussion' ), PHP_EOL ; ?>
2017-11-26 15:59:12 +01:00
</ label >
2016-07-19 14:02:26 +02:00
</ div >
2016-08-09 11:54:42 +02:00
</ li >
< ? php
2017-01-08 09:40:13 +01:00
endif ;
2016-07-19 14:02:26 +02:00
endif ;
2020-10-04 12:16:42 +02:00
if ( $PASSWORD ) :
2016-08-09 11:54:42 +02:00
?>
2016-07-19 14:02:26 +02:00
< li >
< div id = " password " class = " navbar-form hidden " >
2017-05-21 00:08:17 +02:00
< input type = " password " id = " passwordinput " placeholder = " <?php echo I18n::_('Password (recommended)'); ?> " class = " form-control " size = " 23 " />
2016-07-19 14:02:26 +02:00
</ div >
2016-08-09 11:54:42 +02:00
</ li >
< ? php
2016-07-19 14:02:26 +02:00
endif ;
2020-10-04 12:16:42 +02:00
if ( $FILEUPLOAD ) :
2016-08-09 11:54:42 +02:00
?>
2016-07-19 14:02:26 +02:00
< li id = " attach " class = " hidden dropdown " >
2016-08-09 11:54:42 +02:00
< a href = " # " class = " dropdown-toggle " data - toggle = " dropdown " role = " button " aria - haspopup = " true " aria - expanded = " false " >< ? php echo I18n :: _ ( 'Attach a file' ); ?> <span class="caret"></span></a>
2016-07-19 14:02:26 +02:00
< ul class = " dropdown-menu " >
< li id = " filewrap " >
< div >
< input type = " file " id = " file " name = " file " />
</ div >
2017-05-13 21:43:32 +02:00
< div id = " dragAndDropFileName " class = " dragAndDropFile " >< ? php echo I18n :: _ ( 'alternatively drag & drop a file or paste an image from the clipboard' ); ?> </div>
2016-07-19 14:02:26 +02:00
</ li >
2017-02-15 22:59:55 +01:00
< li id = " customattachment " class = " hidden " ></ li >
2016-07-19 14:02:26 +02:00
< li >
< a id = " fileremovebutton " href = " # " >
2016-08-15 14:24:42 +02:00
< ? php echo I18n :: _ ( 'Remove attachment' ), PHP_EOL ; ?>
2016-07-19 14:02:26 +02:00
</ a >
</ li >
</ ul >
2016-08-09 11:54:42 +02:00
</ li >
< ? php
endif ;
2020-10-04 12:16:42 +02:00
if ( ! $isCpct ) :
2016-08-09 11:54:42 +02:00
?>
2016-07-19 14:02:26 +02:00
< li class = " dropdown " >
2016-08-09 11:54:42 +02:00
< select id = " pasteFormatter " name = " pasteFormatter " class = " hidden " >
< ? php
2020-10-04 12:16:42 +02:00
foreach ( $FORMATTER as $key => $value ) :
2016-08-09 11:54:42 +02:00
?>
2016-07-19 14:02:26 +02:00
< option value = " <?php echo $key ; ?> " < ? php
2020-10-04 12:16:42 +02:00
if ( $key == $FORMATTERDEFAULT ) :
2016-08-09 11:54:42 +02:00
?> selected="selected"<?php
2017-01-08 09:40:13 +01:00
endif ;
2016-08-09 11:54:42 +02:00
?> ><?php echo $value; ?></option>
< ? php
2017-01-08 09:40:13 +01:00
endforeach ;
2016-08-09 11:54:42 +02:00
?>
2016-07-19 14:02:26 +02:00
</ select >
2016-08-09 11:54:42 +02:00
< a id = " formatter " href = " # " class = " hidden dropdown-toggle " data - toggle = " dropdown " role = " button " aria - haspopup = " true " aria - expanded = " false " >< ? php echo I18n :: _ ( 'Format' ); ?> : <span id="pasteFormatterDisplay"><?php echo $FORMATTER[$FORMATTERDEFAULT]; ?></span> <span class="caret"></span></a>
< ul class = " dropdown-menu " >
< ? php
2020-10-04 12:16:42 +02:00
foreach ( $FORMATTER as $key => $value ) :
2016-08-09 11:54:42 +02:00
?>
2016-07-19 14:02:26 +02:00
< li >
2016-08-09 14:46:32 +02:00
< a href = " # " data - format = " <?php echo $key ; ?> " >
2016-08-15 14:24:42 +02:00
< ? php echo $value , PHP_EOL ; ?>
2016-07-19 14:02:26 +02:00
</ a >
2016-08-09 11:54:42 +02:00
</ li >
< ? php
2017-01-08 09:40:13 +01:00
endforeach ;
2016-08-09 11:54:42 +02:00
?>
2016-07-19 14:02:26 +02:00
</ ul >
</ li >
2017-01-08 09:40:13 +01:00
< ? php
endif ;
?>
2016-07-19 14:02:26 +02:00
</ ul >
2016-08-09 11:54:42 +02:00
< ul class = " nav navbar-nav pull-right " >
< ? php
2024-04-18 21:36:43 +02:00
if ( ! empty ( $LANGUAGESELECTION )) :
2016-08-09 11:54:42 +02:00
?>
2016-07-19 14:02:26 +02:00
< li id = " language " class = " dropdown " >
< a href = " # " class = " dropdown-toggle " data - toggle = " dropdown " role = " button " aria - haspopup = " true " aria - expanded = " false " >< span class = " glyphicon glyphicon-flag " aria - hidden = " true " ></ span > < ? php echo $LANGUAGES [ $LANGUAGESELECTION ][ 0 ]; ?> <span class="caret"></span></a>
2020-11-22 22:13:43 +01:00
< ul class = " dropdown-menu dropdown-menu-right " >
2016-08-09 11:54:42 +02:00
< ? php
2020-10-04 12:16:42 +02:00
foreach ( $LANGUAGES as $key => $value ) :
2016-08-09 11:54:42 +02:00
?>
2016-07-19 14:02:26 +02:00
< li >
2016-08-09 14:46:32 +02:00
< a href = " # " data - lang = " <?php echo $key ; ?> " >
2016-07-19 14:02:26 +02:00
< ? php echo $value [ 0 ]; ?> (<?php echo $value[1]; ?>)
</ a >
2016-08-09 11:54:42 +02:00
</ li >
< ? php
endforeach ;
?>
2016-07-19 14:02:26 +02:00
</ ul >
2016-08-09 11:54:42 +02:00
</ li >
< ? php
endif ;
?>
2016-07-19 14:02:26 +02:00
</ ul >
</ div >
2017-01-08 09:40:13 +01:00
< ? php
2020-10-04 12:16:42 +02:00
if ( $isCpct ) :
2017-01-08 09:40:13 +01:00
?> </div><?php
endif ;
?> </nav>
2017-02-17 20:46:10 +01:00
< main >
< section class = " container " >
2016-08-09 11:54:42 +02:00
< ? php
2024-04-18 21:36:43 +02:00
if ( ! empty ( $NOTICE )) :
2016-08-09 11:54:42 +02:00
?>
2017-02-17 20:46:10 +01:00
< div role = " alert " class = " alert alert-info " >
2017-03-12 14:16:08 +01:00
< span class = " glyphicon glyphicon-info-sign " aria - hidden = " true " ></ span >
2020-02-01 09:15:14 +01:00
< ? php echo I18n :: encode ( $NOTICE ), PHP_EOL ; ?>
2017-02-17 20:46:10 +01:00
</ div >
2016-08-09 11:54:42 +02:00
< ? php
endif ;
?>
2017-02-17 20:46:10 +01:00
< div id = " remainingtime " role = " alert " class = " hidden alert alert-info " >
2017-03-12 14:16:08 +01:00
< span class = " glyphicon glyphicon-fire " aria - hidden = " true " ></ span >
2017-02-17 20:46:10 +01:00
</ div >
2016-08-09 11:54:42 +02:00
< ? php
2020-10-04 12:16:42 +02:00
if ( $FILEUPLOAD ) :
2016-08-09 11:54:42 +02:00
?>
2017-02-17 20:46:10 +01:00
< div id = " attachment " role = " alert " class = " hidden alert alert-info " >
2017-03-12 14:16:08 +01:00
< span class = " glyphicon glyphicon-download-alt " aria - hidden = " true " ></ span >
2024-04-21 11:02:14 +02:00
< a class = " alert-link " >< ? php echo I18n :: _ ( 'Download attachment' ); ?> </a>
2017-02-17 20:46:10 +01:00
</ div >
2016-08-09 11:54:42 +02:00
< ? php
endif ;
2024-10-23 00:29:42 +02:00
?>
2024-10-13 23:45:05 +02:00
< div id = " status " role = " alert " class = " clearfix alert alert-<?php echo (bool) $ISDELETED ? 'success' : 'info'; echo empty( $STATUS ) ? ' hidden' : '' ?> " >
2017-02-17 20:46:10 +01:00
< span class = " glyphicon glyphicon-info-sign " aria - hidden = " true " ></ span >
2020-02-01 09:15:14 +01:00
< ? php echo I18n :: encode ( $STATUS ), PHP_EOL ; ?>
2024-10-14 18:54:36 +02:00
< ? php
if (( bool ) $ISDELETED ) :
?>
< button type = " button " class = " btn btn-default pull-right " id = " new-from-alert " >
2024-10-18 03:56:27 +02:00
< span class = " glyphicon glyphicon-repeat " ></ span > < ? php echo I18n :: _ ( 'Start over' ), PHP_EOL ; ?>
2024-10-14 18:54:36 +02:00
</ button >
< ? php endif ; ?>
2017-03-12 14:16:08 +01:00
</ div >
2019-06-17 21:40:37 +02:00
< div id = " errormessage " role = " alert " class = " <?php echo empty( $ERROR ) ? 'hidden' : '' ?> alert alert-danger " >
2017-03-12 14:16:08 +01:00
< span class = " glyphicon glyphicon-alert " aria - hidden = " true " ></ span >
2020-02-01 09:15:14 +01:00
< ? php echo I18n :: encode ( $ERROR ), PHP_EOL ; ?>
2017-03-12 14:16:08 +01:00
</ div >
< noscript >
2019-06-17 21:09:21 +02:00
< div id = " noscript " role = " alert " class = " alert alert-<?php echo $isDark ? 'error' : 'warning'; ?> " >
2017-03-12 14:16:08 +01:00
< span class = " glyphicon glyphicon-exclamation-sign " aria - hidden = " true " ></ span >
2020-02-01 08:46:59 +01:00
< ? php echo I18n :: _ ( 'JavaScript is required for %s to work. Sorry for the inconvenience.' , I18n :: _ ( $NAME )), PHP_EOL ; ?>
2017-03-12 14:16:08 +01:00
</ div >
</ noscript >
2019-06-17 21:09:21 +02:00
< div id = " oldnotice " role = " alert " class = " hidden alert alert-danger " >
2017-03-12 14:16:08 +01:00
< span class = " glyphicon glyphicon-alert " aria - hidden = " true " ></ span >
< ? php echo I18n :: _ ( '%s requires a modern browser to work.' , I18n :: _ ( $NAME )), PHP_EOL ; ?>
2017-02-17 20:46:10 +01:00
< a href = " https://www.mozilla.org/firefox/ " > Firefox </ a > ,
< a href = " https://www.opera.com/ " > Opera </ a > ,
2020-02-02 07:35:33 +01: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>
2017-02-17 20:46:10 +01:00
</ div >
2019-06-17 21:40:37 +02:00
< ? php
2020-10-04 12:16:42 +02:00
if ( $HTTPWARNING ) :
2019-06-17 21:40:37 +02:00
?>
< div id = " httpnotice " role = " alert " class = " hidden alert alert-danger " >
< span class = " glyphicon glyphicon-alert " aria - hidden = " true " ></ span >
2024-04-21 11:02:14 +02:00
< ? php echo I18n :: _ ( 'This website is using an insecure connection! Please only use it for testing.' ); ?> <br />
2019-06-22 07:52:18 +02: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-17 21:40:37 +02:00
</ div >
2019-09-19 19:14:48 +02:00
< div id = " insecurecontextnotice " role = " alert " class = " hidden alert alert-danger " >
< span class = " glyphicon glyphicon-alert " aria - hidden = " true " ></ span >
2024-04-21 11:02:14 +02:00
< ? php echo I18n :: _ ( 'Your browser may require an HTTPS connection to support the WebCrypto API. Try <a href="%s">switching to HTTPS</a>.' , $HTTPSLINK ), PHP_EOL ; ?>
2019-09-19 19:14:48 +02:00
</ div >
2019-06-17 21:40:37 +02:00
< ? php
endif ;
?>
2019-08-14 01:21:26 +02:00
< div id = " pastesuccess " class = " hidden " >
< div role = " alert " class = " alert alert-success " >
< span class = " glyphicon glyphicon-ok " aria - hidden = " true " ></ span >
< div id = " deletelink " ></ div >
< div id = " pastelink " ></ div >
</ div >
2016-08-09 11:54:42 +02:00
< ? php
2024-04-18 21:36:43 +02:00
if ( ! empty ( $URLSHORTENER )) :
2016-08-09 11:54:42 +02:00
?>
2019-08-14 01:21:26 +02:00
< p >
2020-02-01 09:15:14 +01:00
< button id = " shortenbutton " data - shortener = " <?php echo I18n::encode( $URLSHORTENER ); ?> " type = " button " class = " btn btn-<?php echo $isDark ? 'warning' : 'primary'; ?> btn-block " >
2018-02-25 10:09:19 +01:00
< span class = " glyphicon glyphicon-send " aria - hidden = " true " ></ span > < ? php echo I18n :: _ ( 'Shorten URL' ), PHP_EOL ; ?>
</ button >
2019-08-14 01:21:26 +02:00
</ p >
< div role = " alert " class = " alert alert-danger " >
< span class = " glyphicon glyphicon-exclamation-sign " aria - hidden = " true " ></ span >
< ? php echo I18n :: _ ( 'URL shortener may expose your decrypt key in URL.' ), PHP_EOL ; ?>
</ div >
2016-08-09 11:54:42 +02:00
< ? php
endif ;
?>
2016-07-19 14:02:26 +02:00
</ div >
2017-02-17 20:46:10 +01:00
< ul id = " editorTabs " class = " nav nav-tabs hidden " >
2020-02-04 18:29:14 +01:00
< li role = " presentation " class = " active " >< a role = " tab " aria - selected = " true " aria - controls = " editorTabs " id = " messageedit " href = " # " >< ? php echo I18n :: _ ( 'Editor' ); ?> </a></li>
< li role = " presentation " >< a role = " tab " aria - selected = " false " aria - controls = " editorTabs " id = " messagepreview " href = " # " >< ? php echo I18n :: _ ( 'Preview' ); ?> </a></li>
2019-08-14 01:21:26 +02:00
< li role = " presentation " class = " pull-right " >
< ? php
2020-10-04 12:16:42 +02:00
if ( $isPage ) :
2019-08-14 01:21:26 +02:00
?>
2019-08-15 20:58:27 +02:00
< button id = " newbutton " type = " button " class = " reloadlink hidden btn btn-<?php echo $isDark ? 'warning' : 'default'; ?> " >
2019-08-14 01:21:26 +02:00
< span class = " glyphicon glyphicon-file " aria - hidden = " true " ></ span > < ? php echo I18n :: _ ( 'New' ), PHP_EOL ;
2020-10-04 12:16:42 +02:00
else :
2019-08-14 01:21:26 +02:00
?>
2019-08-15 20:58:27 +02:00
< button id = " sendbutton " type = " button " class = " hidden btn btn-<?php echo $isDark ? 'warning' : 'primary'; ?> " >
2024-02-12 21:50:11 +01:00
< span class = " glyphicon glyphicon-upload " aria - hidden = " true " ></ span > < ? php echo I18n :: _ ( 'Create' ), PHP_EOL ;
2019-08-14 01:21:26 +02:00
endif ;
?>
</ button >
</ li >
2017-02-17 20:46:10 +01:00
</ ul >
</ section >
< section class = " container " >
< article class = " row " >
< div id = " placeholder " class = " col-md-12 hidden " >< ? php echo I18n :: _ ( '+++ no paste text +++' ); ?> </div>
< div id = " attachmentPreview " class = " col-md-12 text-center hidden " ></ div >
< div id = " prettymessage " class = " col-md-12 hidden " >
< pre id = " prettyprint " class = " col-md-12 prettyprint linenums:1 " ></ pre >
</ div >
< div id = " plaintext " class = " col-md-12 hidden " ></ div >
< p class = " col-md-12 " >< textarea id = " message " name = " message " cols = " 80 " rows = " 25 " class = " form-control hidden " ></ textarea ></ p >
</ article >
</ section >
< section class = " container " >
< div id = " discussion " class = " hidden " >
< h4 >< ? php echo I18n :: _ ( 'Discussion' ); ?> </h4>
< div id = " commentcontainer " ></ div >
2016-07-19 14:02:26 +02:00
</ div >
2017-02-17 20:46:10 +01:00
</ section >
< section class = " container " >
2019-06-17 21:40:37 +02:00
< div id = " noscript " role = " alert " class = " alert alert-info noscript-hide " >
2017-03-12 14:16:08 +01:00
< span class = " glyphicon glyphicon-exclamation-sign " aria - hidden = " true " ></ span >
< ? php echo I18n :: _ ( 'Loading…' ); ?> <br />
2020-02-02 07:35:33 +01: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>
2017-02-17 20:46:10 +01:00
</ div >
</ section >
< footer class = " container " >
< div class = " row " >
< h4 class = " col-md-5 col-xs-8 " >< ? php echo I18n :: _ ( $NAME ); ?> <small>- <?php echo I18n::_('Because ignorance is bliss'); ?></small></h4>
< p class = " col-md-1 col-xs-4 text-center " >< ? php echo $VERSION ; ?> </p>
< p id = " aboutbox " class = " col-md-6 col-xs-12 " >
2021-03-06 14:12:59 +01:00
< ? php echo sprintf (
2021-03-07 19:56:19 +01: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 , PHP_EOL ;
?>
2017-02-17 20:46:10 +01:00
</ p >
</ div >
</ footer >
</ main >
2017-02-25 09:35:55 +01:00
< ? php
2020-10-04 12:16:42 +02:00
if ( $DISCUSSION ) :
2017-02-25 09:35:55 +01:00
?>
2018-04-30 20:01:38 +02:00
< div id = " serverdata " class = " hidden " aria - hidden = " true " >
2017-02-17 20:46:10 +01:00
< div id = " templates " >
2024-04-23 21:15:00 +02: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 >
< p id = " commenttailtemplate " class = " comment " >
< button class = " btn btn-default btn-sm " >< ? php echo I18n :: _ ( 'Add comment' ); ?> </button>
</ p >
< 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 >
2016-07-19 14:02:26 +02:00
</ div >
2018-04-30 20:01:38 +02:00
</ div >
2017-02-25 09:35:55 +01:00
< ? php
endif ;
2019-08-16 01:28:42 +02:00
?>
< ? php
2020-10-04 12:16:42 +02:00
if ( $FILEUPLOAD ) :
2019-08-16 01:28:42 +02:00
?>
< div id = " dropzone " class = " hidden " tabindex = " -1 " aria - hidden = " true " ></ div >
< ? php
endif ;
2017-02-25 09:35:55 +01:00
?>
2016-07-19 14:02:26 +02:00
</ body >
2020-02-04 18:29:14 +01:00
</ html >