bootstrap.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  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.2.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" sizes="180x180" href="apple-touch-icon.png?{$VERSION|rawurlencode}">
  27. <link rel="icon" type="image/png" href="favicon-32x32.png" sizes="32x32?{$VERSION|rawurlencode}">
  28. <link rel="icon" type="image/png" href="favicon-16x16.png" sizes="16x16?{$VERSION|rawurlencode}">
  29. <link rel="manifest" href="manifest.json?{$VERSION|rawurlencode}">
  30. <link rel="mask-icon" href="safari-pinned-tab.svg?{$VERSION|rawurlencode}" color="#ffcc00">
  31. <meta name="theme-color" content="#ffe57e">
  32. </head>
  33. <body role="document">
  34. <nav class="navbar navbar-default navbar-static-top">
  35. <div class="navbar-header">
  36. <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
  37. <span class="sr-only">{function="i18n::_('Toggle navigation')"}</span>
  38. <span class="icon-bar"></span>
  39. <span class="icon-bar"></span>
  40. <span class="icon-bar"></span>
  41. </button>
  42. <a class="reloadlink navbar-brand" href="/">{function="i18n::_('PrivateBin')"}</a>
  43. </div>
  44. <div id="navbar" class="navbar-collapse collapse">
  45. <ul class="nav navbar-nav">
  46. <li>
  47. <button id="newbutton" type="button" class="reloadlink hidden btn btn-default navbar-btn">
  48. <span class="glyphicon glyphicon-file" aria-hidden="true"></span> {function="i18n::_('New')"}
  49. </button>{if="$EXPIRECLONE"}
  50. <button id="clonebutton" type="button" class="hidden btn btn-default navbar-btn">
  51. <span class="glyphicon glyphicon-duplicate" aria-hidden="true"></span> {function="i18n::_('Clone')"}
  52. </button>{/if}
  53. <button id="rawtextbutton" type="button" class="hidden btn btn-default navbar-btn">
  54. <span class="glyphicon glyphicon-text-background" aria-hidden="true"></span> {function="i18n::_('Raw text')"}
  55. </button>
  56. </li>
  57. <li class="dropdown">
  58. <select id="pasteExpiration" name="pasteExpiration" class="hidden">
  59. {loop="EXPIRE"}
  60. <option value="{$key}"{if="$key == $EXPIREDEFAULT"} selected="selected"{/if}>{$value}</option>{/loop}
  61. </select>
  62. <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>
  63. <ul class="dropdown-menu">
  64. {loop="EXPIRE"}
  65. <li>
  66. <a href="#" onclick="$('#pasteExpiration').val('{$key}');$('#pasteExpirationDisplay').text('{$value}');return false;">
  67. {$value}
  68. </a>
  69. </li>{/loop}
  70. </ul>
  71. </li>
  72. <li>
  73. <div id="burnafterreadingoption" class="navbar-text checkbox hidden">
  74. <label>
  75. <input type="checkbox" id="burnafterreading" name="burnafterreading" {if="$BURNAFTERREADINGSELECTED"} checked="checked"{/if} />
  76. {function="i18n::_('Burn after reading')"}
  77. </label>
  78. </div>
  79. </li>{if="$DISCUSSION"}
  80. <li>
  81. <div id="opendisc" class="navbar-text checkbox hidden">
  82. <label>
  83. <input type="checkbox" id="opendiscussion" name="opendiscussion" {if="$OPENDISCUSSION"} checked="checked"{/if} />
  84. {function="i18n::_('Open discussion')"}
  85. </label>
  86. </div>
  87. </li>{/if}{if="$PASSWORD"}
  88. <li>
  89. <div id="password" class="navbar-form hidden">
  90. <input type="password" id="passwordinput" placeholder="{function="i18n::_('Password (recommended)')"}" class="form-control" size="19"/>
  91. </div>
  92. </li>{/if}{if="$FILEUPLOAD"}
  93. <li id="attach" class="hidden dropdown">
  94. <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>
  95. <ul class="dropdown-menu">
  96. <li id="filewrap">
  97. <div>
  98. <input type="file" id="file" name="file" />
  99. </div>
  100. </li>
  101. <li>
  102. <a id="fileremovebutton" href="#">
  103. {function="i18n::_('Remove attachment')"}
  104. </a>
  105. </li>
  106. </ul>
  107. </li>{/if}
  108. <li class="dropdown">
  109. <select id="pasteFormatter" name="pasteFormatter" class="hidden">
  110. {loop="FORMATTER"}
  111. <option value="{$key}"{if="$key == $FORMATTERDEFAULT"} selected="selected"{/if}>{$value}</option>{/loop}
  112. </select>
  113. <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>
  114. <ul class="dropdown-menu">
  115. {loop="FORMATTER"}
  116. <li>
  117. <a href="#" onclick="$('#pasteFormatter').val('{$key}');$('#pasteFormatterDisplay').text('{$value}');return false;">
  118. {$value}
  119. </a>
  120. </li>{/loop}
  121. </ul>
  122. </li>
  123. </ul>
  124. <ul class="nav navbar-nav pull-right">{if="strlen($LANGUAGESELECTION)"}
  125. <li id="language" class="dropdown">
  126. <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>
  127. <ul class="dropdown-menu">
  128. {loop="LANGUAGES"}
  129. <li>
  130. <a href="#" class="reloadlink" onclick="document.cookie='lang={$key}';">
  131. {$value[0]} ({$value[1]})
  132. </a>
  133. </li>{/loop}
  134. </ul>
  135. </li>{/if}
  136. <li>
  137. <button id="sendbutton" type="button" class="hidden btn btn-primary navbar-btn">
  138. <span class="glyphicon glyphicon-upload" aria-hidden="true"></span> {function="i18n::_('Send')"}
  139. </button>
  140. </li>
  141. </ul>
  142. </div>
  143. </nav>
  144. <header class="container">{if="strlen($NOTICE)"}
  145. <div role="alert" class="alert alert-info">
  146. <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> {$NOTICE|htmlspecialchars}
  147. </div>{/if}
  148. <div id="remainingtime" role="alert" class="hidden alert alert-info">
  149. <span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
  150. </div>{if="$FILEUPLOAD"}
  151. <div id="attachment" role="alert" class="hidden alert alert-info">
  152. <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>
  153. </div>{/if}{if="strlen($STATUS)"}
  154. <div id="status" role="alert" class="alert alert-success">
  155. <span class="glyphicon glyphicon-ok" aria-hidden="true"></span> {$STATUS|htmlspecialchars}
  156. </div>{/if}
  157. <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>
  158. <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>
  159. <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>
  160. <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:')"}
  161. <a href="http://www.mozilla.org/firefox/">Firefox</a>,
  162. <a href="http://www.opera.com/">Opera</a>,
  163. <a href="http://www.google.com/chrome">Chrome</a>,
  164. <a href="http://www.apple.com/safari">Safari</a>...
  165. </div>
  166. <div id="pasteresult" role="alert" class="hidden alert alert-success">
  167. <span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
  168. <div id="deletelink"></div>
  169. <div id="pastelink">{if="strlen($URLSHORTENER)"}
  170. <button id="shortenbutton" data-shortener="{$URLSHORTENER|htmlspecialchars}" type="button" class="btn btn-primary">
  171. <span class="glyphicon glyphicon-send" aria-hidden="true"></span> {function="i18n::_('Shorten URL')"}
  172. </button>
  173. {/if}</div>
  174. </div>
  175. <ul id="preview" class="nav nav-tabs hidden">
  176. <li role="presentation" class="active"><a id="messageedit" href="#">{function="i18n::_('Editor')"}</a></li>
  177. <li role="presentation"><a id="messagepreview" href="#">{function="i18n::_('Preview')"}</a></li>
  178. </ul>
  179. </header>
  180. <section class="container">
  181. <article class="row">
  182. <div id="image" class="col-md-12 text-center hidden"></div>
  183. <div id="prettymessage" class="col-md-12 hidden">
  184. <pre id="prettyprint" class="col-md-12 prettyprint linenums:1"></pre>
  185. </div>
  186. <div id="cleartext" class="col-md-12 hidden"></div>
  187. <p class="col-md-12"><textarea id="message" name="message" cols="80" rows="25" class="form-control hidden"></textarea></p>
  188. </article>
  189. </section>
  190. <section class="container">
  191. <div id="discussion" class="hidden">
  192. <h4>{function="i18n::_('Discussion')"}</h4>
  193. <div id="comments"></div>
  194. </div>
  195. </section>
  196. <footer class="container">
  197. <div class="row">
  198. <h4 class="col-md-5 col-xs-8">{function="i18n::_('PrivateBin')"} <small>- {function="i18n::_('Because ignorance is bliss')"}</small></h4>
  199. <p class="col-md-1 col-xs-4 text-center">{$VERSION}</p>
  200. <p id="aboutbox" class="col-md-6 col-xs-12">
  201. {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>.')"}
  202. </p>
  203. </div>
  204. </footer>
  205. <div id="cipherdata" class="hidden">{$CIPHERDATA}</div>
  206. </body>
  207. </html>