bootstrap.php 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500
  1. <?php
  2. use PrivateBin\I18n;
  3. $isCpct = substr($template, 9, 8) === '-compact';
  4. $isDark = substr($template, 9, 5) === '-dark';
  5. $isPage = substr($template, -5) === '-page';
  6. ?><!DOCTYPE html>
  7. <html>
  8. <head>
  9. <meta charset="utf-8" />
  10. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  11. <meta name="viewport" content="width=device-width, initial-scale=1">
  12. <meta name="robots" content="noindex" />
  13. <meta name="referrer" content="no-referrer">
  14. <title><?php echo I18n::_($NAME); ?></title>
  15. <?php
  16. if (!$isDark):
  17. ?>
  18. <link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-3.3.5.css" />
  19. <?php
  20. endif;
  21. ?>
  22. <link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-theme-3.3.5.css" />
  23. <?php
  24. if ($isDark):
  25. ?>
  26. <link type="text/css" rel="stylesheet" href="css/bootstrap/darkstrap-0.9.3.css" />
  27. <?php
  28. endif;
  29. ?>
  30. <link type="text/css" rel="stylesheet" href="css/bootstrap/privatebin.css?<?php echo rawurlencode($VERSION); ?>" />
  31. <?php
  32. if ($SYNTAXHIGHLIGHTING):
  33. ?>
  34. <link type="text/css" rel="stylesheet" href="css/prettify/prettify.css?<?php echo rawurlencode($VERSION); ?>" />
  35. <?php
  36. if (strlen($SYNTAXHIGHLIGHTINGTHEME)):
  37. ?>
  38. <link type="text/css" rel="stylesheet" href="css/prettify/<?php echo rawurlencode($SYNTAXHIGHLIGHTINGTHEME); ?>.css?<?php echo rawurlencode($VERSION); ?>" />
  39. <?php
  40. endif;
  41. endif;
  42. ?>
  43. <noscript><link type="text/css" rel="stylesheet" href="css/noscript.css" /></noscript>
  44. <script type="text/javascript" src="js/jquery-3.1.1.js" integrity="sha512-U6K1YLIFUWcvuw5ucmMtT9HH4t0uz3M366qrF5y4vnyH6dgDzndlcGvH/Lz5k8NFh80SN95aJ5rqGZEdaQZ7ZQ==" crossorigin="anonymous"></script>
  45. <script type="text/javascript" src="js/sjcl-1.0.6.js" integrity="sha512-DsyxLV/uBoQlRTJmW5Gb2SxXUXB+aYeZ6zk+NuXy8LuLyi8oGti9AGn6He5fUY2DtgQ2//RjfaZog8exFuunUQ==" crossorigin="anonymous"></script>
  46. <?php
  47. if ($ZEROBINCOMPATIBILITY):
  48. ?>
  49. <script type="text/javascript" src="js/base64-1.7.js" integrity="sha512-JdwsSP3GyHR+jaCkns9CL9NTt4JUJqm/BsODGmYhBcj5EAPKcHYh+OiMfyHbcDLECe17TL0hjXADFkusAqiYgA==" crossorigin="anonymous"></script>
  50. <?php
  51. else:
  52. ?>
  53. <script type="text/javascript" src="js/base64-2.1.9.js" integrity="sha512-rbqAby7hObftbEoGQzkhUbEh5YkUn2MtekTLs4btvo2oly4CZ3DxhJzEh0u/rNzS54tcJdqi5Ug1ruugEd2U1g==" crossorigin="anonymous"></script>
  54. <?php
  55. endif;
  56. ?>
  57. <script type="text/javascript" src="js/rawdeflate-0.5.js" integrity="sha512-tTdZ7qMr7tt5VQy4iCHu6/aGB12eRwbUy+AEI5rXntfsjcRfBeeqJloMsBU9FrGk1bIYLiuND/FhU42LO1bi0g==" crossorigin="anonymous"></script>
  58. <script type="text/javascript" src="js/rawinflate-0.3.js" integrity="sha512-g8uelGgJW9A/Z1tB6Izxab++oj5kdD7B4qC7DHwZkB6DGMXKyzx7v5mvap2HXueI2IIn08YlRYM56jwWdm2ucQ==" crossorigin="anonymous"></script>
  59. <script type="text/javascript" src="js/bootstrap-3.3.7.js" integrity="sha512-iztkobsvnjKfAtTNdHkGVjAYTrrtlC7mGp/54c40wowO7LhURYl3gVzzcEqGl/qKXQltJ2HwMrdLcNUdo+N/RQ==" crossorigin="anonymous"></script>
  60. <?php
  61. if ($SYNTAXHIGHLIGHTING):
  62. ?>
  63. <script type="text/javascript" src="js/prettify.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-m8iHxoN+Fe12xxFwWNdY/TS4KoFntHp29qY0xUzBnPd0bkKMOR/dFhEdTWydpt0b/fIXyhB+znGYUvgjfJ2RzQ==" crossorigin="anonymous"></script>
  64. <?php
  65. endif;
  66. if ($MARKDOWN):
  67. ?>
  68. <script type="text/javascript" src="js/showdown-1.6.1.js" integrity="sha512-e6kAsBTgFnTBnEQXrq8BV6+XFwxb3kyWHeEPOl+KhxaWt3xImE2zAW2+yP3E2CQ7F9yoJl1poVU9qxkOEtVsTQ==" crossorigin="anonymous"></script>
  69. <?php
  70. endif;
  71. ?>
  72. <script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-RFxFzaLFEWaKebOSTwwDtsfv1WBl7x/FOjBeoHxTGOeuwy5jUp2Woyiw4cJUtyMMlFHMQmd4REzomUIksszKKg==" crossorigin="anonymous"></script>
  73. <!--[if lt IE 10]>
  74. <style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
  75. <![endif]-->
  76. <link rel="apple-touch-icon" href="img/apple-touch-icon.png?<?php echo rawurlencode($VERSION); ?>" sizes="180x180" />
  77. <link rel="icon" type="image/png" href="img/favicon-32x32.png?<?php echo rawurlencode($VERSION); ?>" sizes="32x32" />
  78. <link rel="icon" type="image/png" href="img/favicon-16x16.png?<?php echo rawurlencode($VERSION); ?>" sizes="16x16" />
  79. <link rel="manifest" href="manifest.json?<?php echo rawurlencode($VERSION); ?>" />
  80. <link rel="mask-icon" href="img/safari-pinned-tab.svg?<?php echo rawurlencode($VERSION); ?>" color="#ffcc00" />
  81. <link rel="shortcut icon" href="img/favicon.ico">
  82. <meta name="msapplication-config" content="browserconfig.xml">
  83. <meta name="theme-color" content="#ffe57e" />
  84. </head>
  85. <body role="document"<?php
  86. if ($isCpct):
  87. ?> class="navbar-spacing"<?php
  88. endif;
  89. ?>>
  90. <div id="passwordmodal" class="modal fade" role="dialog">
  91. <div class="modal-dialog">
  92. <div class="modal-content">
  93. <div class="modal-body">
  94. <form id="passwordform" role="form">
  95. <div class="form-group">
  96. <label for="passworddecrypt"><span class="glyphicon glyphicon-eye-open"></span> <?php echo I18n::_('Please enter the password for this paste:') ?></label>
  97. <input id="passworddecrypt" type="password" class="form-control" placeholder="<?php echo I18n::_('Enter password') ?>">
  98. </div>
  99. <button type="submit" class="btn btn-success btn-block"><span class="glyphicon glyphicon-off"></span> <?php echo I18n::_('Decrypt') ?></button>
  100. </form>
  101. </div>
  102. </div>
  103. </div>
  104. </div>
  105. <nav class="navbar navbar-<?php echo $isDark ? 'inverse' : 'default'; ?> navbar-<?php echo $isCpct ? 'fixed' : 'static'; ?>-top"><?php
  106. if ($isCpct):
  107. ?><div class="container"><?php
  108. endif;
  109. ?>
  110. <div class="navbar-header">
  111. <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
  112. <span class="sr-only"><?php echo I18n::_('Toggle navigation'); ?></span>
  113. <span class="icon-bar"></span>
  114. <span class="icon-bar"></span>
  115. <span class="icon-bar"></span>
  116. </button>
  117. <a class="reloadlink navbar-brand" href="">
  118. <img alt="<?php echo I18n::_($NAME); ?>" src="img/icon.svg" width="38" />
  119. </a>
  120. </div>
  121. <div id="navbar" class="navbar-collapse collapse">
  122. <ul class="nav navbar-nav">
  123. <li id="loadingindicator" class="navbar-text hidden">
  124. <span class="glyphicon glyphicon-time" aria-hidden="true"></span>
  125. <?php echo I18n::_('Loading…'), PHP_EOL; ?>
  126. </li>
  127. <li>
  128. <button id="retrybutton" type="button" class="reloadlink hidden btn btn-<?php echo $isDark ? 'warning' : 'primary'; ?> navbar-btn">
  129. <span class="glyphicon glyphicon-repeat" aria-hidden="true"></span> <?php echo I18n::_('Retry'), PHP_EOL; ?>
  130. </button>
  131. </li>
  132. <li>
  133. <?php
  134. if ($isPage):
  135. ?>
  136. <button id="sendbutton" type="button" class="hidden btn btn-<?php echo $isDark ? 'warning' : 'primary'; ?> navbar-btn">
  137. <span class="glyphicon glyphicon-upload" aria-hidden="true"></span> <?php echo I18n::_('Send'), PHP_EOL;
  138. else:
  139. ?>
  140. <button id="newbutton" type="button" class="hidden btn btn-<?php echo $isDark ? 'warning' : 'default'; ?> navbar-btn">
  141. <span class="glyphicon glyphicon-file" aria-hidden="true"></span> <?php echo I18n::_('New'), PHP_EOL;
  142. endif;
  143. ?>
  144. </button>
  145. <?php
  146. if ($EXPIRECLONE):
  147. ?>
  148. <button id="clonebutton" type="button" class="hidden btn btn-<?php echo $isDark ? 'warning' : 'default'; ?> navbar-btn">
  149. <span class="glyphicon glyphicon-duplicate" aria-hidden="true"></span> <?php echo I18n::_('Clone'), PHP_EOL; ?>
  150. </button>
  151. <?php
  152. endif;
  153. ?>
  154. <button id="rawtextbutton" type="button" class="hidden btn btn-<?php echo $isDark ? 'warning' : 'default'; ?> navbar-btn">
  155. <span class="glyphicon glyphicon-text-background" aria-hidden="true"></span> <?php echo I18n::_('Raw text'), PHP_EOL; ?>
  156. </button>
  157. </li>
  158. <li class="dropdown">
  159. <select id="pasteExpiration" name="pasteExpiration" class="hidden">
  160. <?php
  161. foreach ($EXPIRE as $key => $value):
  162. ?>
  163. <option value="<?php echo $key; ?>"<?php
  164. if ($key == $EXPIREDEFAULT):
  165. ?> selected="selected"<?php
  166. endif;
  167. ?>><?php echo $value; ?></option>
  168. <?php
  169. endforeach;
  170. ?>
  171. </select>
  172. <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>
  173. <ul class="dropdown-menu">
  174. <?php
  175. foreach ($EXPIRE as $key => $value):
  176. ?>
  177. <li>
  178. <a href="#" data-expiration="<?php echo $key; ?>">
  179. <?php echo $value, PHP_EOL; ?>
  180. </a>
  181. </li>
  182. <?php
  183. endforeach;
  184. ?>
  185. </ul>
  186. </li>
  187. <?php
  188. if ($isCpct):
  189. ?>
  190. <li id="formatter" class="dropdown">
  191. <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><?php echo I18n::_('Options'); ?> <span class="caret"></span></a>
  192. <ul class="dropdown-menu">
  193. <li id="burnafterreadingoption" class="checkbox hidden">
  194. <label>
  195. <input type="checkbox" id="burnafterreading" name="burnafterreading"<?php
  196. if ($BURNAFTERREADINGSELECTED):
  197. ?> checked="checked"<?php
  198. endif;
  199. ?> />
  200. <?php echo I18n::_('Burn after reading'), PHP_EOL; ?>
  201. </label>
  202. </li>
  203. <?php
  204. if ($DISCUSSION):
  205. ?>
  206. <li id="opendiscussionoption" class="checkbox hidden">
  207. <label>
  208. <input type="checkbox" id="opendiscussion" name="opendiscussion"<?php
  209. if ($OPENDISCUSSION):
  210. ?> checked="checked"<?php
  211. endif;
  212. ?> />
  213. <?php echo I18n::_('Open discussion'), PHP_EOL; ?>
  214. </label>
  215. </li>
  216. <?php
  217. endif;
  218. ?>
  219. <li role="separator" class="divider"></li>
  220. <li>
  221. <div>
  222. <?php echo I18n::_('Format'); ?>: <span id="pasteFormatterDisplay"><?php echo $FORMATTER[$FORMATTERDEFAULT]; ?></span> <span class="caret"></span>
  223. </div>
  224. </li>
  225. <?php
  226. foreach ($FORMATTER as $key => $value):
  227. ?>
  228. <li>
  229. <a href="#" data-format="<?php echo $key; ?>">
  230. <?php echo $value, PHP_EOL; ?>
  231. </a>
  232. </li>
  233. <?php
  234. endforeach;
  235. ?>
  236. </ul>
  237. <select id="pasteFormatter" name="pasteFormatter" class="hidden">
  238. </select>
  239. </li>
  240. <?php
  241. else:
  242. ?>
  243. <li>
  244. <div id="burnafterreadingoption" class="navbar-text checkbox hidden">
  245. <label>
  246. <input type="checkbox" id="burnafterreading" name="burnafterreading"<?php
  247. if ($BURNAFTERREADINGSELECTED):
  248. ?> checked="checked"<?php
  249. endif;
  250. ?> />
  251. <?php echo I18n::_('Burn after reading'), PHP_EOL; ?>
  252. </label>
  253. </div>
  254. </li>
  255. <?php
  256. if ($DISCUSSION):
  257. ?>
  258. <li>
  259. <div id="opendiscussionoption" class="navbar-text checkbox hidden">
  260. <label>
  261. <input type="checkbox" id="opendiscussion" name="opendiscussion"<?php
  262. if ($OPENDISCUSSION):
  263. ?> checked="checked"<?php
  264. endif;
  265. ?> />
  266. <?php echo I18n::_('Open discussion'), PHP_EOL; ?>
  267. </label>
  268. </div>
  269. </li>
  270. <?php
  271. endif;
  272. endif;
  273. if ($PASSWORD):
  274. ?>
  275. <li>
  276. <div id="password" class="navbar-form hidden">
  277. <input type="password" id="passwordinput" placeholder="<?php echo I18n::_('Password (recommended)'); ?>" class="form-control" size="19" />
  278. </div>
  279. </li>
  280. <?php
  281. endif;
  282. if ($FILEUPLOAD):
  283. ?>
  284. <li id="attach" class="hidden dropdown">
  285. <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>
  286. <ul class="dropdown-menu">
  287. <li id="filewrap">
  288. <div>
  289. <input type="file" id="file" name="file" />
  290. </div>
  291. </li>
  292. <li id="customattachment" class="hidden"></li>
  293. <li>
  294. <a id="fileremovebutton" href="#">
  295. <?php echo I18n::_('Remove attachment'), PHP_EOL; ?>
  296. </a>
  297. </li>
  298. </ul>
  299. </li>
  300. <?php
  301. endif;
  302. if (!$isCpct):
  303. ?>
  304. <li class="dropdown">
  305. <select id="pasteFormatter" name="pasteFormatter" class="hidden">
  306. <?php
  307. foreach ($FORMATTER as $key => $value):
  308. ?>
  309. <option value="<?php echo $key; ?>"<?php
  310. if ($key == $FORMATTERDEFAULT):
  311. ?> selected="selected"<?php
  312. endif;
  313. ?>><?php echo $value; ?></option>
  314. <?php
  315. endforeach;
  316. ?>
  317. </select>
  318. <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>
  319. <ul class="dropdown-menu">
  320. <?php
  321. foreach ($FORMATTER as $key => $value):
  322. ?>
  323. <li>
  324. <a href="#" data-format="<?php echo $key; ?>">
  325. <?php echo $value, PHP_EOL; ?>
  326. </a>
  327. </li>
  328. <?php
  329. endforeach;
  330. ?>
  331. </ul>
  332. </li>
  333. <?php
  334. endif;
  335. ?>
  336. </ul>
  337. <ul class="nav navbar-nav pull-right">
  338. <?php
  339. if (strlen($LANGUAGESELECTION)):
  340. ?>
  341. <li id="language" class="dropdown">
  342. <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>
  343. <ul class="dropdown-menu">
  344. <?php
  345. foreach ($LANGUAGES as $key => $value):
  346. ?>
  347. <li>
  348. <a href="#" data-lang="<?php echo $key; ?>">
  349. <?php echo $value[0]; ?> (<?php echo $value[1]; ?>)
  350. </a>
  351. </li>
  352. <?php
  353. endforeach;
  354. ?>
  355. </ul>
  356. </li>
  357. <?php
  358. endif;
  359. ?>
  360. <li>
  361. <?php
  362. if ($isPage):
  363. ?>
  364. <button id="newbutton" type="button" class="reloadlink hidden btn btn-<?php echo $isDark ? 'warning' : 'default'; ?> navbar-btn">
  365. <span class="glyphicon glyphicon-file" aria-hidden="true"></span> <?php echo I18n::_('New'), PHP_EOL;
  366. else:
  367. ?>
  368. <button id="sendbutton" type="button" class="hidden btn btn-<?php echo $isDark ? 'warning' : 'primary'; ?> navbar-btn">
  369. <span class="glyphicon glyphicon-upload" aria-hidden="true"></span> <?php echo I18n::_('Send'), PHP_EOL;
  370. endif;
  371. ?>
  372. </button>
  373. </li>
  374. </ul>
  375. </div>
  376. <?php
  377. if ($isCpct):
  378. ?></div><?php
  379. endif;
  380. ?></nav>
  381. <main>
  382. <section class="container">
  383. <?php
  384. if (strlen($NOTICE)):
  385. ?>
  386. <div role="alert" class="alert alert-info">
  387. <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
  388. <?php echo htmlspecialchars($NOTICE), PHP_EOL; ?>
  389. </div>
  390. <?php
  391. endif;
  392. ?>
  393. <div id="remainingtime" role="alert" class="hidden alert alert-info">
  394. <span class="glyphicon glyphicon-fire" aria-hidden="true"></span>
  395. </div>
  396. <?php
  397. if ($FILEUPLOAD):
  398. ?>
  399. <div id="attachment" role="alert" class="hidden alert alert-info">
  400. <span class="glyphicon glyphicon-download-alt" aria-hidden="true"></span>
  401. <a class="alert-link"><?php echo I18n::_('Download attachment'), PHP_EOL; ?></a>
  402. </div>
  403. <?php
  404. endif;
  405. ?>
  406. <div id="status" role="alert" class="statusmessage alert alert-info<?php echo empty($STATUS) ? ' hidden' : '' ?>">
  407. <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
  408. <?php echo htmlspecialchars($STATUS), PHP_EOL; ?>
  409. </div>
  410. <div id="errormessage" role="alert" class="statusmessage<?php echo empty($ERROR) ? ' hidden' : '' ?> alert alert-danger">
  411. <span class="glyphicon glyphicon-alert" aria-hidden="true"></span>
  412. <?php echo htmlspecialchars($ERROR), PHP_EOL; ?>
  413. </div>
  414. <noscript>
  415. <div id="noscript" role="alert" class="nonworking alert alert-<?php echo $isDark ? 'error' : 'warning'; ?>">
  416. <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
  417. <?php echo I18n::_('JavaScript is required for %s to work.<br />Sorry for the inconvenience.', I18n::_($NAME)), PHP_EOL; ?>
  418. </div>
  419. </noscript>
  420. <div id="oldienotice" role="alert" class="hidden nonworking alert alert-danger">
  421. <span class="glyphicon glyphicon-alert" aria-hidden="true"></span>
  422. <?php echo I18n::_('%s requires a modern browser to work.', I18n::_($NAME)), PHP_EOL; ?>
  423. </div>
  424. <div id="ienotice" role="alert" class="hidden alert alert-<?php echo $isDark ? 'error' : 'warning'; ?>">
  425. <span class="glyphicon glyphicon-question-sign" aria-hidden="true"></span>
  426. <?php echo I18n::_('Still using Internet Explorer? Do yourself a favor, switch to a modern browser:'), PHP_EOL; ?>
  427. <a href="https://www.mozilla.org/firefox/">Firefox</a>,
  428. <a href="https://www.opera.com/">Opera</a>,
  429. <a href="https://www.google.com/chrome">Chrome</a>…
  430. </div>
  431. <div id="pasteSuccess" role="alert" class="hidden alert alert-success">
  432. <span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
  433. <div id="deletelink"></div>
  434. <div id="pastelink">
  435. <?php
  436. if (strlen($URLSHORTENER)):
  437. ?>
  438. <button id="shortenbutton" data-shortener="<?php echo htmlspecialchars($URLSHORTENER); ?>" type="button" class="btn btn-<?php echo $isDark ? 'warning' : 'primary'; ?>">
  439. <span class="glyphicon glyphicon-send" aria-hidden="true"></span> <?php echo I18n::_('Shorten URL'), PHP_EOL; ?>
  440. </button>
  441. <?php
  442. endif;
  443. ?>
  444. </div>
  445. </div>
  446. <ul id="editorTabs" class="nav nav-tabs hidden">
  447. <li role="presentation" class="active"><a id="messageedit" href="#"><?php echo I18n::_('Editor'); ?></a></li>
  448. <li role="presentation"><a id="messagepreview" href="#"><?php echo I18n::_('Preview'); ?></a></li>
  449. </ul>
  450. </section>
  451. <section class="container">
  452. <article class="row">
  453. <div id="placeholder" class="col-md-12 hidden"><?php echo I18n::_('+++ no paste text +++'); ?></div>
  454. <div id="attachmentPreview" class="col-md-12 text-center hidden"></div>
  455. <div id="prettymessage" class="col-md-12 hidden">
  456. <pre id="prettyprint" class="col-md-12 prettyprint linenums:1"></pre>
  457. </div>
  458. <div id="plaintext" class="col-md-12 hidden"></div>
  459. <p class="col-md-12"><textarea id="message" name="message" cols="80" rows="25" class="form-control hidden"></textarea></p>
  460. </article>
  461. </section>
  462. <section class="container">
  463. <div id="discussion" class="hidden">
  464. <h4><?php echo I18n::_('Discussion'); ?></h4>
  465. <div id="commentcontainer"></div>
  466. </div>
  467. </section>
  468. <section class="container">
  469. <div id="noscript" role="alert" class="nonworking alert alert-info noscript-hide">
  470. <span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span>
  471. <?php echo I18n::_('Loading…'); ?><br />
  472. <span class="small"><?php echo I18n::_('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>.'); ?></span>
  473. </div>
  474. </section>
  475. <footer class="container">
  476. <div class="row">
  477. <h4 class="col-md-5 col-xs-8"><?php echo I18n::_($NAME); ?> <small>- <?php echo I18n::_('Because ignorance is bliss'); ?></small></h4>
  478. <p class="col-md-1 col-xs-4 text-center"><?php echo $VERSION; ?></p>
  479. <p id="aboutbox" class="col-md-6 col-xs-12">
  480. <?php echo I18n::_('%s is a minimalist, open source online pastebin where the server has zero knowledge of pasted data. Data is encrypted/decrypted <i>in the browser</i> using 256 bits AES. More information on the <a href="https://privatebin.info/">project page</a>.', I18n::_($NAME)), PHP_EOL; ?>
  481. </p>
  482. </div>
  483. </footer>
  484. </main>
  485. <div id="serverdata" class="hidden" aria-hidden="true">
  486. <?php
  487. if ($DISCUSSION):
  488. ?>
  489. <div id="templates">
  490. <!-- @TODO: when I intend/structure this corrrectly Firefox adds whitespaces everywhere which completly destroy the layout. (same possible when you remove the template data below and show this area in the browser) -->
  491. <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>
  492. <p id="commenttailtemplate" class="comment"><button class="btn btn-default btn-sm"><?php echo I18n::_('Add comment'); ?></button></p>
  493. <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>
  494. </div>
  495. <?php
  496. endif;
  497. ?>
  498. </div>
  499. </body>
  500. </html>