bootstrap.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1">
  7. <meta name="robots" content="noindex" />
  8. <title>{function="i18n::_('PrivateBin')"}</title>
  9. <link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-3.3.5.css" />
  10. <link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-theme-3.3.5.css" />
  11. <link type="text/css" rel="stylesheet" href="css/bootstrap/privatebin.css?{$VERSION|rawurlencode}" />{if="$SYNTAXHIGHLIGHTING"}
  12. <link type="text/css" rel="stylesheet" href="css/prettify/prettify.css?{$VERSION|rawurlencode}" />{if="strlen($SYNTAXHIGHLIGHTINGTHEME)"}
  13. <link type="text/css" rel="stylesheet" href="css/prettify/{$SYNTAXHIGHLIGHTINGTHEME}.css?{$VERSION|rawurlencode}" />{/if}{/if}
  14. <script type="text/javascript" src="js/jquery-1.11.3.js"></script>
  15. <script type="text/javascript" src="js/sjcl-1.0.4.js"></script>
  16. <script type="text/javascript" src="js/base64-{$BASE64JSVERSION}.js"></script>
  17. <script type="text/javascript" src="js/rawdeflate-0.5.js"></script>
  18. <script type="text/javascript" src="js/rawinflate-0.3.js"></script>
  19. <script type="text/javascript" src="js/bootstrap-3.3.5.js"></script>{if="$SYNTAXHIGHLIGHTING"}
  20. <script type="text/javascript" src="js/prettify.js?{$VERSION|rawurlencode}"></script>{/if}{if="$MARKDOWN"}
  21. <script type="text/javascript" src="js/showdown-1.4.1.js"></script>{/if}
  22. <script type="text/javascript" src="js/privatebin.js?{$VERSION|rawurlencode}"></script>
  23. <!--[if lt IE 10]>
  24. <style type="text/css">#ienotice {display:block !important;} #oldienotice {display:block !important;}</style>
  25. <![endif]-->
  26. <link rel="apple-touch-icon" href="apple-touch-icon.png?{$VERSION|rawurlencode}" sizes="180x180" />
  27. <link rel="icon" type="image/png" href="favicon-32x32.png?{$VERSION|rawurlencode}" sizes="32x32" />
  28. <link rel="icon" type="image/png" href="favicon-16x16.png?{$VERSION|rawurlencode}" sizes="16x16" />
  29. <link rel="manifest" href="manifest.json?{$VERSION|rawurlencode}" />
  30. <link rel="mask-icon" href="safari-pinned-tab.svg?{$VERSION|rawurlencode}" color="#ffcc00" />
  31. <link rel="shortcut icon" href="favicon.ico">
  32. <meta name="msapplication-config" content="browserconfig.xml">
  33. <meta name="theme-color" content="#ffe57e" />
  34. </head>
  35. <body role="document">
  36. <nav class="navbar navbar-default navbar-static-top">
  37. <div class="navbar-header">
  38. <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
  39. <span class="sr-only">{function="i18n::_('Toggle navigation')"}</span>
  40. <span class="icon-bar"></span>
  41. <span class="icon-bar"></span>
  42. <span class="icon-bar"></span>
  43. </button>
  44. <a class="reloadlink navbar-brand" href="/">
  45. <img alt="{function="i18n::_('PrivateBin')"}" src="favicon-32x32.png" width="20" />
  46. </a>
  47. </div>
  48. <div id="navbar" class="navbar-collapse collapse">
  49. <ul class="nav navbar-nav">
  50. <li>
  51. <button id="newbutton" type="button" class="reloadlink hidden btn btn-default navbar-btn">
  52. <span class="glyphicon glyphicon-file" aria-hidden="true"></span> {function="i18n::_('New')"}
  53. </button>{if="$EXPIRECLONE"}
  54. <button id="clonebutton" type="button" class="hidden btn btn-default navbar-btn">
  55. <span class="glyphicon glyphicon-duplicate" aria-hidden="true"></span> {function="i18n::_('Clone')"}
  56. </button>{/if}
  57. <button id="rawtextbutton" type="button" class="hidden btn btn-default navbar-btn">
  58. <span class="glyphicon glyphicon-text-background" aria-hidden="true"></span> {function="i18n::_('Raw text')"}
  59. </button>
  60. </li>
  61. <li class="dropdown">
  62. <select id="pasteExpiration" name="pasteExpiration" class="hidden">
  63. {loop="EXPIRE"}
  64. <option value="{$key}"{if="$key == $EXPIREDEFAULT"} selected="selected"{/if}>{$value}</option>{/loop}
  65. </select>
  66. <a id="expiration" href="#" class="hidden dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{function="i18n::_('Expires')"}: <span id="pasteExpirationDisplay">{$EXPIRE[$EXPIREDEFAULT]}</span> <span class="caret"></span></a>
  67. <ul class="dropdown-menu">
  68. {loop="EXPIRE"}
  69. <li>
  70. <a href="#" onclick="$('#pasteExpiration').val('{$key}');$('#pasteExpirationDisplay').text('{$value}');return false;">
  71. {$value}
  72. </a>
  73. </li>{/loop}
  74. </ul>
  75. </li>
  76. <li>
  77. <div id="burnafterreadingoption" class="navbar-text checkbox hidden">
  78. <label>
  79. <input type="checkbox" id="burnafterreading" name="burnafterreading" {if="$BURNAFTERREADINGSELECTED"} checked="checked"{/if} />
  80. {function="i18n::_('Burn after reading')"}
  81. </label>
  82. </div>
  83. </li>{if="$DISCUSSION"}
  84. <li>
  85. <div id="opendisc" class="navbar-text checkbox hidden">
  86. <label>
  87. <input type="checkbox" id="opendiscussion" name="opendiscussion" {if="$OPENDISCUSSION"} checked="checked"{/if} />
  88. {function="i18n::_('Open discussion')"}
  89. </label>
  90. </div>
  91. </li>{/if}{if="$PASSWORD"}
  92. <li>
  93. <div id="password" class="navbar-form hidden">
  94. <input type="password" id="passwordinput" placeholder="{function="i18n::_('Password (recommended)')"}" class="form-control" size="19"/>
  95. </div>
  96. </li>{/if}{if="$FILEUPLOAD"}
  97. <li id="attach" class="hidden dropdown">
  98. <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{function="i18n::_('Attach a file')"} <span class="caret"></span></a>
  99. <ul class="dropdown-menu">
  100. <li id="filewrap">
  101. <div>
  102. <input type="file" id="file" name="file" />
  103. </div>
  104. </li>
  105. <li>
  106. <a id="fileremovebutton" href="#">
  107. {function="i18n::_('Remove attachment')"}
  108. </a>
  109. </li>
  110. </ul>
  111. </li>{/if}
  112. <li class="dropdown">
  113. <select id="pasteFormatter" name="pasteFormatter" class="hidden">
  114. {loop="FORMATTER"}
  115. <option value="{$key}"{if="$key == $FORMATTERDEFAULT"} selected="selected"{/if}>{$value}</option>{/loop}
  116. </select>
  117. <a id="formatter" href="#" class="hidden dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{function="i18n::_('Format')"}: <span id="pasteFormatterDisplay">{$FORMATTER[$FORMATTERDEFAULT]}</span> <span class="caret"></span></a>
  118. <ul class="dropdown-menu">
  119. {loop="FORMATTER"}
  120. <li>
  121. <a href="#" onclick="$('#pasteFormatter').val('{$key}');$('#pasteFormatterDisplay').text('{$value}');return false;">
  122. {$value}
  123. </a>
  124. </li>{/loop}
  125. </ul>
  126. </li>
  127. </ul>
  128. <ul class="nav navbar-nav pull-right">{if="strlen($LANGUAGESELECTION)"}
  129. <li id="language" class="dropdown">
  130. <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> {$LANGUAGES[$LANGUAGESELECTION][0]} <span class="caret"></span></a>
  131. <ul class="dropdown-menu">
  132. {loop="LANGUAGES"}
  133. <li>
  134. <a href="#" class="reloadlink" onclick="document.cookie='lang={$key}';">
  135. {$value[0]} ({$value[1]})
  136. </a>
  137. </li>{/loop}
  138. </ul>
  139. </li>{/if}
  140. <li>
  141. <button id="sendbutton" type="button" class="hidden btn btn-primary navbar-btn">
  142. <span class="glyphicon glyphicon-upload" aria-hidden="true"></span> {function="i18n::_('Send')"}
  143. </button>
  144. </li>
  145. </ul>
  146. </div>
  147. </nav>
  148. <header class="container">{if="strlen($NOTICE)"}
  149. <div role="alert" class="alert alert-info">
  150. <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> {$NOTICE|htmlspecialchars}
  151. </div>{/if}
  152. <div id="remainingtime" role="alert" class="hidden alert alert-info">
  153. <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
  154. </div>{if="$FILEUPLOAD"}
  155. <div id="attachment" role="alert" class="hidden alert alert-info">
  156. <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> <a>{function="i18n::_('Download attachment')"}</a> <span id="clonedfile" class="hidden">{function="i18n::_('Cloned file attached.')"}</span>
  157. </div>{/if}{if="strlen($STATUS)"}
  158. <div id="status" role="alert" class="alert alert-success">
  159. <span class="glyphicon glyphicon-ok" aria-hidden="true"></span> {$STATUS|htmlspecialchars}
  160. </div>{/if}
  161. <div id="errormessage" role="alert" class="{if="!strlen($ERROR)"}hidden {/if}alert alert-danger"><span class="glyphicon glyphicon-alert" aria-hidden="true"></span> {$ERROR|htmlspecialchars}</div>
  162. <noscript><div id="noscript" role="alert" class="nonworking alert alert-warning"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> {function="i18n::_('Javascript is required for PrivateBin to work.<br />Sorry for the inconvenience.')"}</div></noscript>
  163. <div id="oldienotice" role="alert" class="hidden nonworking alert alert-danger"><span class="glyphicon glyphicon-alert" aria-hidden="true"></span> {function="i18n::_('PrivateBin requires a modern browser to work.')"}</div>
  164. <div id="ienotice" role="alert" class="hidden alert alert-warning"><span class="glyphicon glyphicon-question-sign" aria-hidden="true"></span> {function="i18n::_('Still using Internet Explorer? Do yourself a favor, switch to a modern browser:')"}
  165. <a href="https://www.mozilla.org/firefox/">Firefox</a>,
  166. <a href="https://www.opera.com/">Opera</a>,
  167. <a href="https://www.google.com/chrome">Chrome</a>,
  168. <a href="https://www.apple.com/safari">Safari</a>,
  169. <a href="https://www.microsoft.com/edge">Edge</a>...
  170. </div>
  171. <div id="pasteresult" role="alert" class="hidden alert alert-success">
  172. <span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
  173. <div id="deletelink"></div>
  174. <div id="pastelink">{if="strlen($URLSHORTENER)"}
  175. <button id="shortenbutton" data-shortener="{$URLSHORTENER|htmlspecialchars}" type="button" class="btn btn-primary">
  176. <span class="glyphicon glyphicon-send" aria-hidden="true"></span> {function="i18n::_('Shorten URL')"}
  177. </button>
  178. {/if}</div>
  179. </div>
  180. <ul id="preview" class="nav nav-tabs hidden">
  181. <li role="presentation" class="active"><a id="messageedit" href="#">{function="i18n::_('Editor')"}</a></li>
  182. <li role="presentation"><a id="messagepreview" href="#">{function="i18n::_('Preview')"}</a></li>
  183. </ul>
  184. </header>
  185. <section class="container">
  186. <article class="row">
  187. <div id="image" class="col-md-12 text-center hidden"></div>
  188. <div id="prettymessage" class="col-md-12 hidden">
  189. <pre id="prettyprint" class="col-md-12 prettyprint linenums:1"></pre>
  190. </div>
  191. <div id="cleartext" class="col-md-12 hidden"></div>
  192. <p class="col-md-12"><textarea id="message" name="message" cols="80" rows="25" class="form-control hidden"></textarea></p>
  193. </article>
  194. </section>
  195. <section class="container">
  196. <div id="discussion" class="hidden">
  197. <h4>{function="i18n::_('Discussion')"}</h4>
  198. <div id="comments"></div>
  199. </div>
  200. </section>
  201. <footer class="container">
  202. <div class="row">
  203. <h4 class="col-md-5 col-xs-8">{function="i18n::_('PrivateBin')"} <small>- {function="i18n::_('Because ignorance is bliss')"}</small></h4>
  204. <p class="col-md-1 col-xs-4 text-center">{$VERSION}</p>
  205. <p id="aboutbox" class="col-md-6 col-xs-12">
  206. {function="i18n::_('PrivateBin 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://github.com/PrivateBin/PrivateBin/wiki">project page</a>.')"}
  207. </p>
  208. </div>
  209. </footer>
  210. <div id="cipherdata" class="hidden">{$CIPHERDATA}</div>
  211. </body>
  212. </html>