refactoring away RainTPL and templating, resolves #36
This commit is contained in:
parent
b94e019719
commit
c5606a47fe
15 changed files with 1369 additions and 2237 deletions
1164
lib/RainTPL.php
1164
lib/RainTPL.php
File diff suppressed because it is too large
Load diff
|
@ -423,10 +423,8 @@ class privatebin
|
||||||
setcookie('lang', $languageselection);
|
setcookie('lang', $languageselection);
|
||||||
}
|
}
|
||||||
|
|
||||||
$page = new RainTPL;
|
$page = new view;
|
||||||
$page::$path_replace = false;
|
$page->assign('CIPHERDATA', $this->_data);
|
||||||
// we escape it here because ENT_NOQUOTES can't be used in RainTPL templates
|
|
||||||
$page->assign('CIPHERDATA', htmlspecialchars($this->_data, ENT_NOQUOTES));
|
|
||||||
$page->assign('ERROR', i18n::_($this->_error));
|
$page->assign('ERROR', i18n::_($this->_error));
|
||||||
$page->assign('STATUS', i18n::_($this->_status));
|
$page->assign('STATUS', i18n::_($this->_status));
|
||||||
$page->assign('VERSION', self::VERSION);
|
$page->assign('VERSION', self::VERSION);
|
||||||
|
|
59
lib/view.php
Normal file
59
lib/view.php
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* PrivateBin
|
||||||
|
*
|
||||||
|
* a zero-knowledge paste bin
|
||||||
|
*
|
||||||
|
* @link https://github.com/PrivateBin/PrivateBin
|
||||||
|
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||||
|
* @license http://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||||
|
* @version 0.22
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* view
|
||||||
|
*
|
||||||
|
* Displays the templates
|
||||||
|
*/
|
||||||
|
class view
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* variables available in the template
|
||||||
|
*
|
||||||
|
* @access private
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
private $_variables = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* assign variables to be used inside of the template
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @param string $name
|
||||||
|
* @param mixed $value
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function assign($name, $value)
|
||||||
|
{
|
||||||
|
$this->_variables[$name] = $value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* render a template
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
* @param string $template
|
||||||
|
* @throws Exception
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function draw($template)
|
||||||
|
{
|
||||||
|
$path = PATH . 'tpl' . DIRECTORY_SEPARATOR . $template . '.php';
|
||||||
|
if (!file_exists($path))
|
||||||
|
{
|
||||||
|
throw new Exception('Template ' . $template . ' not found!', 80);
|
||||||
|
}
|
||||||
|
extract($this->_variables);
|
||||||
|
include $path;
|
||||||
|
}
|
||||||
|
}
|
|
@ -5,29 +5,37 @@
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<meta name="robots" content="noindex" />
|
<meta name="robots" content="noindex" />
|
||||||
<title>{function="i18n::_('PrivateBin')"}</title>
|
<title><?php echo i18n::_('PrivateBin'); ?></title>
|
||||||
<link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-3.3.5.css" />
|
<link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-3.3.5.css" />
|
||||||
<link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-theme-3.3.5.css" />
|
<link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-theme-3.3.5.css" />
|
||||||
<link type="text/css" rel="stylesheet" href="css/bootstrap/privatebin.css?{$VERSION|rawurlencode}" />{if="$SYNTAXHIGHLIGHTING"}
|
<link type="text/css" rel="stylesheet" href="css/bootstrap/privatebin.css?<?php echo rawurlencode($VERSION); ?>" /><?php
|
||||||
<link type="text/css" rel="stylesheet" href="css/prettify/prettify.css?{$VERSION|rawurlencode}" />{if="strlen($SYNTAXHIGHLIGHTINGTHEME)"}
|
if ($SYNTAXHIGHLIGHTING): ?>
|
||||||
<link type="text/css" rel="stylesheet" href="css/prettify/{$SYNTAXHIGHLIGHTINGTHEME}.css?{$VERSION|rawurlencode}" />{/if}{/if}
|
<link type="text/css" rel="stylesheet" href="css/prettify/prettify.css?<?php echo rawurlencode($VERSION); ?>" /><?php
|
||||||
|
if (strlen($SYNTAXHIGHLIGHTINGTHEME)): ?>
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/prettify/<?php echo rawurlencode($SYNTAXHIGHLIGHTINGTHEME); ?>.css?<?php echo rawurlencode($VERSION); ?>" /><?php
|
||||||
|
endif;
|
||||||
|
endif; ?>
|
||||||
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
|
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
|
||||||
<script type="text/javascript" src="js/sjcl-1.0.4.js"></script>
|
<script type="text/javascript" src="js/sjcl-1.0.4.js"></script>
|
||||||
<script type="text/javascript" src="js/base64-{$BASE64JSVERSION}.js"></script>
|
<script type="text/javascript" src="js/base64-<?php echo rawurlencode($BASE64JSVERSION); ?>.js"></script>
|
||||||
<script type="text/javascript" src="js/rawdeflate-0.5.js"></script>
|
<script type="text/javascript" src="js/rawdeflate-0.5.js"></script>
|
||||||
<script type="text/javascript" src="js/rawinflate-0.3.js"></script>
|
<script type="text/javascript" src="js/rawinflate-0.3.js"></script>
|
||||||
<script type="text/javascript" src="js/bootstrap-3.3.5.js"></script>{if="$SYNTAXHIGHLIGHTING"}
|
<script type="text/javascript" src="js/bootstrap-3.3.5.js"></script><?php
|
||||||
<script type="text/javascript" src="js/prettify.js?{$VERSION|rawurlencode}"></script>{/if}{if="$MARKDOWN"}
|
if ($SYNTAXHIGHLIGHTING): ?>
|
||||||
<script type="text/javascript" src="js/showdown-1.4.1.js"></script>{/if}
|
<script type="text/javascript" src="js/prettify.js?<?php echo rawurlencode($VERSION); ?>"></script><?php
|
||||||
<script type="text/javascript" src="js/privatebin.js?{$VERSION|rawurlencode}"></script>
|
endif;
|
||||||
|
if ($MARKDOWN): ?>
|
||||||
|
<script type="text/javascript" src="js/showdown-1.4.1.js"></script><?php
|
||||||
|
endif; ?>
|
||||||
|
<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>"></script>
|
||||||
<!--[if lt IE 10]>
|
<!--[if lt IE 10]>
|
||||||
<style type="text/css">#ienotice {display:block !important;} #oldienotice {display:block !important;}</style>
|
<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
<link rel="apple-touch-icon" href="apple-touch-icon.png?{$VERSION|rawurlencode}" sizes="180x180" />
|
<link rel="apple-touch-icon" href="apple-touch-icon.png?<?php echo rawurlencode($VERSION); ?>" sizes="180x180" />
|
||||||
<link rel="icon" type="image/png" href="favicon-32x32.png?{$VERSION|rawurlencode}" sizes="32x32" />
|
<link rel="icon" type="image/png" href="favicon-32x32.png?<?php echo rawurlencode($VERSION); ?>" sizes="32x32" />
|
||||||
<link rel="icon" type="image/png" href="favicon-16x16.png?{$VERSION|rawurlencode}" sizes="16x16" />
|
<link rel="icon" type="image/png" href="favicon-16x16.png?<?php echo rawurlencode($VERSION); ?>" sizes="16x16" />
|
||||||
<link rel="manifest" href="manifest.json?{$VERSION|rawurlencode}" />
|
<link rel="manifest" href="manifest.json?<?php echo rawurlencode($VERSION); ?>" />
|
||||||
<link rel="mask-icon" href="safari-pinned-tab.svg?{$VERSION|rawurlencode}" color="#ffcc00" />
|
<link rel="mask-icon" href="safari-pinned-tab.svg?<?php echo rawurlencode($VERSION); ?>" color="#ffcc00" />
|
||||||
<link rel="shortcut icon" href="favicon.ico">
|
<link rel="shortcut icon" href="favicon.ico">
|
||||||
<meta name="msapplication-config" content="browserconfig.xml">
|
<meta name="msapplication-config" content="browserconfig.xml">
|
||||||
<meta name="theme-color" content="#ffe57e" />
|
<meta name="theme-color" content="#ffe57e" />
|
||||||
|
@ -37,83 +45,102 @@
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="navbar-header">
|
<div class="navbar-header">
|
||||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
||||||
<span class="sr-only">{function="i18n::_('Toggle navigation')"}</span>
|
<span class="sr-only"><?php echo i18n::_('Toggle navigation'); ?></span>
|
||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
</button>
|
</button>
|
||||||
<a class="reloadlink navbar-brand" href="/">
|
<a class="reloadlink navbar-brand" href="/">
|
||||||
<img alt="{function="i18n::_('PrivateBin')"}" src="favicon-32x32.png" width="20" />
|
<img alt="<?php echo i18n::_('PrivateBin'); ?>" src="favicon-32x32.png" width="20" />
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div id="navbar" class="navbar-collapse collapse">
|
<div id="navbar" class="navbar-collapse collapse">
|
||||||
<ul class="nav navbar-nav">
|
<ul class="nav navbar-nav">
|
||||||
<li>
|
<li>
|
||||||
<button id="sendbutton" type="button" class="hidden btn btn-default navbar-btn">
|
<button id="sendbutton" type="button" class="hidden btn btn-default navbar-btn">
|
||||||
<span class="glyphicon glyphicon-upload" aria-hidden="true"></span> {function="i18n::_('Send')"}
|
<span class="glyphicon glyphicon-upload" aria-hidden="true"></span> <?php echo i18n::_('Send'); ?>
|
||||||
</button>{if="$EXPIRECLONE"}
|
</button><?php
|
||||||
|
if ($EXPIRECLONE): ?>
|
||||||
<button id="clonebutton" type="button" class="hidden btn btn-default navbar-btn">
|
<button id="clonebutton" type="button" class="hidden btn btn-default navbar-btn">
|
||||||
<span class="glyphicon glyphicon-duplicate" aria-hidden="true"></span> {function="i18n::_('Clone')"}
|
<span class="glyphicon glyphicon-duplicate" aria-hidden="true"></span> <?php echo i18n::_('Clone'); ?>
|
||||||
</button>{/if}
|
</button><?php
|
||||||
|
endif; ?>
|
||||||
<button id="rawtextbutton" type="button" class="hidden btn btn-default navbar-btn">
|
<button id="rawtextbutton" type="button" class="hidden btn btn-default navbar-btn">
|
||||||
<span class="glyphicon glyphicon-text-background" aria-hidden="true"></span> {function="i18n::_('Raw text')"}
|
<span class="glyphicon glyphicon-text-background" aria-hidden="true"></span> <?php echo i18n::_('Raw text'); ?>
|
||||||
</button>
|
</button>
|
||||||
</li>
|
</li>
|
||||||
<li class="dropdown">
|
<li class="dropdown">
|
||||||
<select id="pasteExpiration" name="pasteExpiration" class="hidden">
|
<select id="pasteExpiration" name="pasteExpiration" class="hidden"><?php
|
||||||
{loop="EXPIRE"}
|
foreach ($EXPIRE as $key => $value): ?>
|
||||||
<option value="{$key}"{if="$key == $EXPIREDEFAULT"} selected="selected"{/if}>{$value}</option>{/loop}
|
<option value="<?php echo $key; ?>"<?php
|
||||||
|
if ($key == $EXPIREDEFAULT): ?> selected="selected"<?php
|
||||||
|
endif; ?>><?php echo $value; ?></option><?php
|
||||||
|
endforeach; ?>
|
||||||
</select>
|
</select>
|
||||||
<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>
|
<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">
|
<ul class="dropdown-menu"><?php
|
||||||
{loop="EXPIRE"}
|
foreach ($EXPIRE as $key => $value): ?>
|
||||||
<li>
|
<li>
|
||||||
<a href="#" onclick="$('#pasteExpiration').val('{$key}');$('#pasteExpirationDisplay').text('{$value}');return false;">
|
<a href="#" onclick="$('#pasteExpiration').val('<?php echo $key; ?>');$('#pasteExpirationDisplay').text('<?php echo $value; ?>');return false;">
|
||||||
{$value}
|
<?php echo $value; ?>
|
||||||
</a>
|
</a>
|
||||||
</li>{/loop}
|
</li><?php
|
||||||
|
endforeach; ?>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li id="formatter" class="dropdown">
|
<li id="formatter" class="dropdown">
|
||||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">{function="i18n::_('Options')"} <span class="caret"></span></a>
|
<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>
|
||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu">
|
||||||
<li id="burnafterreadingoption" class="checkbox hidden">
|
<li id="burnafterreadingoption" class="checkbox hidden">
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" id="burnafterreading" name="burnafterreading" {if="$BURNAFTERREADINGSELECTED"} checked="checked"{/if} />
|
<input type="checkbox" id="burnafterreading" name="burnafterreading" <?php
|
||||||
{function="i18n::_('Burn after reading')"}
|
if ($BURNAFTERREADINGSELECTED): ?> checked="checked"<?php
|
||||||
|
endif; ?> />
|
||||||
|
<?php echo i18n::_('Burn after reading'); ?>
|
||||||
</label>
|
</label>
|
||||||
</li>{if="$DISCUSSION"}
|
</li><?php
|
||||||
|
if ($DISCUSSION): ?>
|
||||||
<li id="opendisc" class="checkbox hidden">
|
<li id="opendisc" class="checkbox hidden">
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" id="opendiscussion" name="opendiscussion" {if="$OPENDISCUSSION"} checked="checked"{/if} />
|
<input type="checkbox" id="opendiscussion" name="opendiscussion" <?php
|
||||||
{function="i18n::_('Open discussion')"}
|
if ($OPENDISCUSSION): ?> checked="checked"<?php
|
||||||
|
endif; ?> />
|
||||||
|
<?php echo i18n::_('Open discussion'); ?>
|
||||||
</label>
|
</label>
|
||||||
</li>{/if}
|
</li><?php
|
||||||
|
endif; ?>
|
||||||
<li role="separator" class="divider"></li>
|
<li role="separator" class="divider"></li>
|
||||||
<li>
|
<li>
|
||||||
<div>
|
<div>
|
||||||
{function="i18n::_('Format')"}: <span id="pasteFormatterDisplay">{$FORMATTER[$FORMATTERDEFAULT]}</span> <span class="caret"></span>
|
<?php echo i18n::_('Format'); ?>: <span id="pasteFormatterDisplay"><?php echo $FORMATTER[$FORMATTERDEFAULT]; ?></span> <span class="caret"></span>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li><?php
|
||||||
{loop="FORMATTER"}
|
foreach ($FORMATTER as $key => $value): ?>
|
||||||
<li>
|
<li>
|
||||||
<a href="#" onclick="$('#pasteFormatter').val('{$key}');$('#pasteFormatterDisplay').text('{$value}');return false;">
|
<a href="#" onclick="$('#pasteFormatter').val('<?php echo $key; ?>');$('#pasteFormatterDisplay').text('<?php echo $value; ?>');return false;">
|
||||||
{$value}
|
<?php echo $value; ?>
|
||||||
</a>
|
</a>
|
||||||
</li>{/loop}
|
</li><?php
|
||||||
|
endforeach; ?>
|
||||||
</ul>
|
</ul>
|
||||||
<select id="pasteFormatter" name="pasteFormatter" class="hidden">
|
<select id="pasteFormatter" name="pasteFormatter" class="hidden"><?php
|
||||||
{loop="FORMATTER"}
|
foreach ($FORMATTER as $key => $value): ?>
|
||||||
<option value="{$key}"{if="$key == $FORMATTERDEFAULT"} selected="selected"{/if}>{$value}</option>{/loop}
|
<option value="<?php echo $key; ?>"<?php
|
||||||
|
if ($key == $FORMATTERDEFAULT): ?> selected="selected"<?php
|
||||||
|
endif; ?>><?php echo $value; ?></option><?php
|
||||||
|
endforeach; ?>
|
||||||
</select>
|
</select>
|
||||||
</li>{if="$PASSWORD"}
|
</li><?php
|
||||||
|
if ($PASSWORD): ?>
|
||||||
<li>
|
<li>
|
||||||
<div id="password" class="navbar-form hidden">
|
<div id="password" class="navbar-form hidden">
|
||||||
<input type="password" id="passwordinput" placeholder="{function="i18n::_('Password (recommended)')"}" class="form-control" size="19"/>
|
<input type="password" id="passwordinput" placeholder="<?php echo i18n::_('Password (recommended)'); ?>" class="form-control" size="19"/>
|
||||||
</div>
|
</div>
|
||||||
</li>{/if}{if="$FILEUPLOAD"}
|
</li><?php
|
||||||
|
endif;
|
||||||
|
if ($FILEUPLOAD): ?>
|
||||||
<li id="attach" class="hidden dropdown">
|
<li id="attach" class="hidden dropdown">
|
||||||
<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>
|
<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>
|
||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu">
|
||||||
<li id="filewrap">
|
<li id="filewrap">
|
||||||
<div>
|
<div>
|
||||||
|
@ -122,68 +149,81 @@
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a id="fileremovebutton" href="#">
|
<a id="fileremovebutton" href="#">
|
||||||
{function="i18n::_('Remove attachment')"}
|
<?php echo i18n::_('Remove attachment'); ?>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>{/if}
|
</li><?php
|
||||||
|
endif; ?>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="nav navbar-nav pull-right">{if="strlen($LANGUAGESELECTION)"}
|
<ul class="nav navbar-nav pull-right"><?php
|
||||||
|
if (strlen($LANGUAGESELECTION)): ?>
|
||||||
<li id="language" class="dropdown">
|
<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> {$LANGUAGES[$LANGUAGESELECTION][0]} <span class="caret"></span></a>
|
<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>
|
||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu"><?php
|
||||||
{loop="LANGUAGES"}
|
foreach ($LANGUAGES as $key => $value): ?>
|
||||||
<li>
|
<li>
|
||||||
<a href="#" class="reloadlink" onclick="document.cookie='lang={$key}';">
|
<a href="#" class="reloadlink" onclick="document.cookie='lang={$key}';">
|
||||||
{$value[0]} ({$value[1]})
|
<?php echo $value[0]; ?> (<?php echo $value[1]; ?>)
|
||||||
</a>
|
</a>
|
||||||
</li>{/loop}
|
</li><?php
|
||||||
|
endforeach; ?>
|
||||||
</ul>
|
</ul>
|
||||||
</li>{/if}
|
</li><?php
|
||||||
|
endif; ?>
|
||||||
<li>
|
<li>
|
||||||
<button id="newbutton" type="button" class="reloadlink hidden btn btn-default navbar-btn">
|
<button id="newbutton" type="button" class="reloadlink hidden btn btn-default navbar-btn">
|
||||||
<span class="glyphicon glyphicon-file" aria-hidden="true"></span> {function="i18n::_('New')"}
|
<span class="glyphicon glyphicon-file" aria-hidden="true"></span> <?php echo i18n::_('New'); ?>
|
||||||
</button>
|
</button>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
<header class="container">{if="strlen($NOTICE)"}
|
<header class="container"><?php
|
||||||
|
if (strlen($NOTICE)): ?>
|
||||||
<div role="alert" class="alert alert-info">
|
<div role="alert" class="alert alert-info">
|
||||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> {$NOTICE|htmlspecialchars}
|
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> <?php echo htmlspecialchars($NOTICE); ?>
|
||||||
</div>{/if}
|
</div><?php
|
||||||
|
endif; ?>
|
||||||
<div id="remainingtime" role="alert" class="hidden alert alert-info">
|
<div id="remainingtime" role="alert" class="hidden alert alert-info">
|
||||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
|
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
|
||||||
</div>{if="$FILEUPLOAD"}
|
</div><?php
|
||||||
|
if ($FILEUPLOAD): ?>
|
||||||
<div id="attachment" role="alert" class="hidden alert alert-info">
|
<div id="attachment" role="alert" class="hidden alert alert-info">
|
||||||
<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>
|
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> <a><?php echo i18n::_('Download attachment'); ?></a> <span id="clonedfile" class="hidden"><?php echo i18n::_('Cloned file attached.'); ?></span>
|
||||||
</div>{/if}{if="strlen($STATUS)"}
|
</div><?php
|
||||||
|
endif;
|
||||||
|
if (strlen($STATUS)): ?>
|
||||||
<div id="status" role="alert" class="alert alert-success">
|
<div id="status" role="alert" class="alert alert-success">
|
||||||
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span> {$STATUS|htmlspecialchars}
|
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span> <?php echo htmlspecialchars($STATUS); ?>
|
||||||
</div>{/if}
|
</div><?php
|
||||||
<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>
|
endif; ?>
|
||||||
<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>
|
<div id="errormessage" role="alert" class="<?php
|
||||||
<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>
|
if (!strlen($ERROR)): ?>hidden <?php
|
||||||
<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:')"}
|
endif; ?>alert alert-danger"><span class="glyphicon glyphicon-alert" aria-hidden="true"></span> <?php echo htmlspecialchars($ERROR); ?></div>
|
||||||
|
<noscript><div id="noscript" role="alert" class="nonworking alert alert-warning"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> <?php echo i18n::_('Javascript is required for PrivateBin to work.<br />Sorry for the inconvenience.'); ?></div></noscript>
|
||||||
|
<div id="oldienotice" role="alert" class="hidden nonworking alert alert-danger"><span class="glyphicon glyphicon-alert" aria-hidden="true"></span> <?php echo i18n::_('PrivateBin requires a modern browser to work.'); ?></div>
|
||||||
|
<div id="ienotice" role="alert" class="hidden alert alert-warning"><span class="glyphicon glyphicon-question-sign" aria-hidden="true"></span> <?php echo i18n::_('Still using Internet Explorer? Do yourself a favor, switch to a modern browser:'); ?>
|
||||||
<a href="https://www.mozilla.org/firefox/">Firefox</a>,
|
<a href="https://www.mozilla.org/firefox/">Firefox</a>,
|
||||||
<a href="https://www.opera.com/">Opera</a>,
|
<a href="https://www.opera.com/">Opera</a>,
|
||||||
<a href="https://www.google.com/chrome">Chrome</a>,
|
<a href="https://www.google.com/chrome">Chrome</a>,
|
||||||
<a href="https://www.apple.com/safari">Safari</a>,
|
<a href="https://www.apple.com/safari">Safari</a>...
|
||||||
<a href="https://www.microsoft.com/edge">Edge</a>...
|
|
||||||
</div>
|
</div>
|
||||||
<div id="pasteresult" role="alert" class="hidden alert alert-success">
|
<div id="pasteresult" role="alert" class="hidden alert alert-success">
|
||||||
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
|
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
|
||||||
<div id="deletelink"></div>
|
<div id="deletelink"></div>
|
||||||
<div id="pastelink">{if="strlen($URLSHORTENER)"}
|
<div id="pastelink"><?php
|
||||||
<button id="shortenbutton" data-shortener="{$URLSHORTENER|htmlspecialchars}" type="button" class="btn btn-primary">
|
if (strlen($URLSHORTENER)): ?>
|
||||||
<span class="glyphicon glyphicon-send" aria-hidden="true"></span> {function="i18n::_('Shorten URL')"}
|
<button id="shortenbutton" data-shortener="<?php echo htmlspecialchars($URLSHORTENER); ?>" type="button" class="btn btn-primary">
|
||||||
</button>
|
<span class="glyphicon glyphicon-send" aria-hidden="true"></span> <?php echo i18n::_('Shorten URL'); ?>
|
||||||
{/if}</div>
|
</button><?php
|
||||||
|
endif; ?>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<ul id="preview" class="nav nav-tabs hidden">
|
<ul id="preview" class="nav nav-tabs hidden">
|
||||||
<li role="presentation" class="active"><a id="messageedit" href="#">{function="i18n::_('Editor')"}</a></li>
|
<li role="presentation" class="active"><a id="messageedit" href="#"><?php echo i18n::_('Editor'); ?></a></li>
|
||||||
<li role="presentation"><a id="messagepreview" href="#">{function="i18n::_('Preview')"}</a></li>
|
<li role="presentation"><a id="messagepreview" href="#"><?php echo i18n::_('Preview'); ?></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</header>
|
</header>
|
||||||
<section class="container">
|
<section class="container">
|
||||||
|
@ -198,19 +238,19 @@
|
||||||
</section>
|
</section>
|
||||||
<section class="container">
|
<section class="container">
|
||||||
<div id="discussion" class="hidden">
|
<div id="discussion" class="hidden">
|
||||||
<h4>{function="i18n::_('Discussion')"}</h4>
|
<h4><?php echo i18n::_('Discussion'); ?></h4>
|
||||||
<div id="comments"></div>
|
<div id="comments"></div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<footer class="container">
|
<footer class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<h4 class="col-md-5 col-xs-8">{function="i18n::_('PrivateBin')"} <small>- {function="i18n::_('Because ignorance is bliss')"}</small></h4>
|
<h4 class="col-md-5 col-xs-8"><?php echo i18n::_('PrivateBin'); ?> <small>- <?php echo i18n::_('Because ignorance is bliss'); ?></small></h4>
|
||||||
<p class="col-md-1 col-xs-4 text-center">{$VERSION}</p>
|
<p class="col-md-1 col-xs-4 text-center"><?php echo $VERSION; ?></p>
|
||||||
<p id="aboutbox" class="col-md-6 col-xs-12">
|
<p id="aboutbox" class="col-md-6 col-xs-12">
|
||||||
{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>.')"}
|
<?php echo 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>.'); ?>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
<div id="cipherdata" class="hidden">{$CIPHERDATA}</div>
|
<div id="cipherdata" class="hidden"><?php echo htmlspecialchars($CIPHERDATA, ENT_NOQUOTES); ?></div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
|
@ -1,212 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
<meta name="robots" content="noindex" />
|
|
||||||
<title>{function="i18n::_('PrivateBin')"}</title>
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-theme-3.3.5.css" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/bootstrap/darkstrap-0.9.3.css" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/bootstrap/privatebin.css?{$VERSION|rawurlencode}" />{if="$SYNTAXHIGHLIGHTING"}
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/prettify/prettify.css?{$VERSION|rawurlencode}" />{if="strlen($SYNTAXHIGHLIGHTINGTHEME)"}
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/prettify/{$SYNTAXHIGHLIGHTINGTHEME}.css?{$VERSION|rawurlencode}" />{/if}{/if}
|
|
||||||
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
|
|
||||||
<script type="text/javascript" src="js/sjcl-1.0.4.js"></script>
|
|
||||||
<script type="text/javascript" src="js/base64-{$BASE64JSVERSION}.js"></script>
|
|
||||||
<script type="text/javascript" src="js/rawdeflate-0.5.js"></script>
|
|
||||||
<script type="text/javascript" src="js/rawinflate-0.3.js"></script>
|
|
||||||
<script type="text/javascript" src="js/bootstrap-3.3.5.js"></script>{if="$SYNTAXHIGHLIGHTING"}
|
|
||||||
<script type="text/javascript" src="js/prettify.js?{$VERSION|rawurlencode}"></script>{/if}{if="$MARKDOWN"}
|
|
||||||
<script type="text/javascript" src="js/showdown-1.4.1.js"></script>{/if}
|
|
||||||
<script type="text/javascript" src="js/privatebin.js?{$VERSION|rawurlencode}"></script>
|
|
||||||
<!--[if lt IE 10]>
|
|
||||||
<style type="text/css">#ienotice {display:block !important;} #oldienotice {display:block !important;}</style>
|
|
||||||
<![endif]-->
|
|
||||||
<link rel="apple-touch-icon" href="apple-touch-icon.png?{$VERSION|rawurlencode}" sizes="180x180" />
|
|
||||||
<link rel="icon" type="image/png" href="favicon-32x32.png?{$VERSION|rawurlencode}" sizes="32x32" />
|
|
||||||
<link rel="icon" type="image/png" href="favicon-16x16.png?{$VERSION|rawurlencode}" sizes="16x16" />
|
|
||||||
<link rel="manifest" href="manifest.json?{$VERSION|rawurlencode}" />
|
|
||||||
<link rel="mask-icon" href="safari-pinned-tab.svg?{$VERSION|rawurlencode}" color="#ffcc00" />
|
|
||||||
<link rel="shortcut icon" href="favicon.ico">
|
|
||||||
<meta name="msapplication-config" content="browserconfig.xml">
|
|
||||||
<meta name="theme-color" content="#ffe57e" />
|
|
||||||
</head>
|
|
||||||
<body role="document">
|
|
||||||
<nav class="navbar navbar-inverse navbar-static-top">
|
|
||||||
<div class="navbar-header">
|
|
||||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
|
||||||
<span class="sr-only">{function="i18n::_('Toggle navigation')"}</span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
</button>
|
|
||||||
<a class="reloadlink navbar-brand" href="/">
|
|
||||||
<img alt="{function="i18n::_('PrivateBin')"}" src="favicon-32x32.png" width="20" />
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div id="navbar" class="navbar-collapse collapse">
|
|
||||||
<ul class="nav navbar-nav">
|
|
||||||
<li>
|
|
||||||
<button id="sendbutton" type="button" class="hidden btn btn-warning navbar-btn">
|
|
||||||
<span class="glyphicon glyphicon-upload" aria-hidden="true"></span> {function="i18n::_('Send')"}
|
|
||||||
</button>{if="$EXPIRECLONE"}
|
|
||||||
<button id="clonebutton" type="button" class="hidden btn btn-warning navbar-btn">
|
|
||||||
<span class="glyphicon glyphicon-duplicate" aria-hidden="true"></span> {function="i18n::_('Clone')"}
|
|
||||||
</button>{/if}
|
|
||||||
<button id="rawtextbutton" type="button" class="hidden btn btn-warning navbar-btn">
|
|
||||||
<span class="glyphicon glyphicon-text-background" aria-hidden="true"></span> {function="i18n::_('Raw text')"}
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
<li class="dropdown">
|
|
||||||
<select id="pasteExpiration" name="pasteExpiration" class="hidden">
|
|
||||||
{loop="EXPIRE"}
|
|
||||||
<option value="{$key}"{if="$key == $EXPIREDEFAULT"} selected="selected"{/if}>{$value}</option>{/loop}
|
|
||||||
</select>
|
|
||||||
<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>
|
|
||||||
<ul class="dropdown-menu">
|
|
||||||
{loop="EXPIRE"}
|
|
||||||
<li>
|
|
||||||
<a href="#" onclick="$('#pasteExpiration').val('{$key}');$('#pasteExpirationDisplay').text('{$value}');return false;">
|
|
||||||
{$value}
|
|
||||||
</a>
|
|
||||||
</li>{/loop}
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<div id="burnafterreadingoption" class="navbar-text checkbox hidden">
|
|
||||||
<label>
|
|
||||||
<input type="checkbox" id="burnafterreading" name="burnafterreading" {if="$BURNAFTERREADINGSELECTED"} checked="checked"{/if} />
|
|
||||||
{function="i18n::_('Burn after reading')"}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</li>{if="$DISCUSSION"}
|
|
||||||
<li>
|
|
||||||
<div id="opendisc" class="navbar-text checkbox hidden">
|
|
||||||
<label>
|
|
||||||
<input type="checkbox" id="opendiscussion" name="opendiscussion" {if="$OPENDISCUSSION"} checked="checked"{/if} />
|
|
||||||
{function="i18n::_('Open discussion')"}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</li>{/if}{if="$PASSWORD"}
|
|
||||||
<li>
|
|
||||||
<div id="password" class="navbar-form hidden">
|
|
||||||
<input type="password" id="passwordinput" placeholder="{function="i18n::_('Password (recommended)')"}" class="form-control" size="19"/>
|
|
||||||
</div>
|
|
||||||
</li>{/if}{if="$FILEUPLOAD"}
|
|
||||||
<li id="attach" class="hidden dropdown">
|
|
||||||
<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>
|
|
||||||
<ul class="dropdown-menu">
|
|
||||||
<li id="filewrap">
|
|
||||||
<div>
|
|
||||||
<input type="file" id="file" name="file" />
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a id="fileremovebutton" href="#">
|
|
||||||
{function="i18n::_('Remove attachment')"}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</li>{/if}
|
|
||||||
<li class="dropdown">
|
|
||||||
<select id="pasteFormatter" name="pasteFormatter" class="hidden">
|
|
||||||
{loop="FORMATTER"}
|
|
||||||
<option value="{$key}"{if="$key == $FORMATTERDEFAULT"} selected="selected"{/if}>{$value}</option>{/loop}
|
|
||||||
</select>
|
|
||||||
<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>
|
|
||||||
<ul class="dropdown-menu">
|
|
||||||
{loop="FORMATTER"}
|
|
||||||
<li>
|
|
||||||
<a href="#" onclick="$('#pasteFormatter').val('{$key}');$('#pasteFormatterDisplay').text('{$value}');return false;">
|
|
||||||
{$value}
|
|
||||||
</a>
|
|
||||||
</li>{/loop}
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<ul class="nav navbar-nav pull-right">{if="strlen($LANGUAGESELECTION)"}
|
|
||||||
<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> {$LANGUAGES[$LANGUAGESELECTION][0]} <span class="caret"></span></a>
|
|
||||||
<ul class="dropdown-menu">
|
|
||||||
{loop="LANGUAGES"}
|
|
||||||
<li>
|
|
||||||
<a href="#" class="reloadlink" onclick="document.cookie='lang={$key}';">
|
|
||||||
{$value[0]} ({$value[1]})
|
|
||||||
</a>
|
|
||||||
</li>{/loop}
|
|
||||||
</ul>
|
|
||||||
</li>{/if}
|
|
||||||
<li>
|
|
||||||
<button id="newbutton" type="button" class="reloadlink hidden btn btn-warning navbar-btn">
|
|
||||||
<span class="glyphicon glyphicon-file" aria-hidden="true"></span> {function="i18n::_('New')"}
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
<header class="container">{if="strlen($NOTICE)"}
|
|
||||||
<div role="alert" class="alert alert-info">
|
|
||||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> {$NOTICE|htmlspecialchars}
|
|
||||||
</div>{/if}
|
|
||||||
<div id="remainingtime" role="alert" class="hidden alert alert-info">
|
|
||||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
|
|
||||||
</div>{if="$FILEUPLOAD"}
|
|
||||||
<div id="attachment" role="alert" class="hidden alert alert-info">
|
|
||||||
<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>
|
|
||||||
</div>{/if}{if="strlen($STATUS)"}
|
|
||||||
<div id="status" role="alert" class="alert alert-success">
|
|
||||||
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span> {$STATUS|htmlspecialchars}
|
|
||||||
</div>{/if}
|
|
||||||
<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>
|
|
||||||
<noscript><div id="noscript" role="alert" class="nonworking alert alert-error"><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>
|
|
||||||
<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>
|
|
||||||
<div id="ienotice" role="alert" class="hidden alert alert-error"><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:')"}
|
|
||||||
<a href="https://www.mozilla.org/firefox/">Firefox</a>,
|
|
||||||
<a href="https://www.opera.com/">Opera</a>,
|
|
||||||
<a href="https://www.google.com/chrome">Chrome</a>,
|
|
||||||
<a href="https://www.apple.com/safari">Safari</a>,
|
|
||||||
<a href="https://www.microsoft.com/edge">Edge</a>...
|
|
||||||
</div>
|
|
||||||
<div id="pasteresult" role="alert" class="hidden alert alert-success">
|
|
||||||
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
|
|
||||||
<div id="deletelink"></div>
|
|
||||||
<div id="pastelink">{if="strlen($URLSHORTENER)"}
|
|
||||||
<button id="shortenbutton" data-shortener="{$URLSHORTENER|htmlspecialchars}" type="button" class="btn btn-warning">
|
|
||||||
<span class="glyphicon glyphicon-send" aria-hidden="true"></span> {function="i18n::_('Shorten URL')"}
|
|
||||||
</button>
|
|
||||||
{/if}</div>
|
|
||||||
</div>
|
|
||||||
<ul id="preview" class="nav nav-tabs hidden">
|
|
||||||
<li role="presentation" class="active"><a id="messageedit" href="#">{function="i18n::_('Editor')"}</a></li>
|
|
||||||
<li role="presentation"><a id="messagepreview" href="#">{function="i18n::_('Preview')"}</a></li>
|
|
||||||
</ul>
|
|
||||||
</header>
|
|
||||||
<section class="container">
|
|
||||||
<article class="row">
|
|
||||||
<div id="image" 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="cleartext" 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>{function="i18n::_('Discussion')"}</h4>
|
|
||||||
<div id="comments"></div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<footer class="container">
|
|
||||||
<div class="row">
|
|
||||||
<h4 class="col-md-5 col-xs-8">{function="i18n::_('PrivateBin')"} <small>- {function="i18n::_('Because ignorance is bliss')"}</small></h4>
|
|
||||||
<p class="col-md-1 col-xs-4 text-center">{$VERSION}</p>
|
|
||||||
<p id="aboutbox" class="col-md-6 col-xs-12">
|
|
||||||
{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>.')"}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
<div id="cipherdata" class="hidden">{$CIPHERDATA}</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
252
tpl/bootstrap-dark-page.php
Normal file
252
tpl/bootstrap-dark-page.php
Normal file
|
@ -0,0 +1,252 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<meta name="robots" content="noindex" />
|
||||||
|
<title><?php echo i18n::_('PrivateBin'); ?></title>
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-theme-3.3.5.css" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/bootstrap/darkstrap-0.9.3.css" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/bootstrap/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
|
||||||
|
if (strlen($SYNTAXHIGHLIGHTINGTHEME)): ?>
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/prettify/<?php echo rawurlencode($SYNTAXHIGHLIGHTINGTHEME); ?>.css?<?php echo rawurlencode($VERSION); ?>" /><?php
|
||||||
|
endif;
|
||||||
|
endif; ?>
|
||||||
|
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
|
||||||
|
<script type="text/javascript" src="js/sjcl-1.0.4.js"></script>
|
||||||
|
<script type="text/javascript" src="js/base64-<?php echo rawurlencode($BASE64JSVERSION); ?>.js"></script>
|
||||||
|
<script type="text/javascript" src="js/rawdeflate-0.5.js"></script>
|
||||||
|
<script type="text/javascript" src="js/rawinflate-0.3.js"></script>
|
||||||
|
<script type="text/javascript" src="js/bootstrap-3.3.5.js"></script><?php
|
||||||
|
if ($SYNTAXHIGHLIGHTING): ?>
|
||||||
|
<script type="text/javascript" src="js/prettify.js?<?php echo rawurlencode($VERSION); ?>"></script><?php
|
||||||
|
endif;
|
||||||
|
if ($MARKDOWN): ?>
|
||||||
|
<script type="text/javascript" src="js/showdown-1.4.1.js"></script><?php
|
||||||
|
endif; ?>
|
||||||
|
<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>"></script>
|
||||||
|
<!--[if lt IE 10]>
|
||||||
|
<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
|
||||||
|
<![endif]-->
|
||||||
|
<link rel="apple-touch-icon" href="apple-touch-icon.png?<?php echo rawurlencode($VERSION); ?>" sizes="180x180" />
|
||||||
|
<link rel="icon" type="image/png" href="favicon-32x32.png?<?php echo rawurlencode($VERSION); ?>" sizes="32x32" />
|
||||||
|
<link rel="icon" type="image/png" href="favicon-16x16.png?<?php echo rawurlencode($VERSION); ?>" sizes="16x16" />
|
||||||
|
<link rel="manifest" href="manifest.json?<?php echo rawurlencode($VERSION); ?>" />
|
||||||
|
<link rel="mask-icon" href="safari-pinned-tab.svg?<?php echo rawurlencode($VERSION); ?>" color="#ffcc00" />
|
||||||
|
<link rel="shortcut icon" href="favicon.ico">
|
||||||
|
<meta name="msapplication-config" content="browserconfig.xml">
|
||||||
|
<meta name="theme-color" content="#ffe57e" />
|
||||||
|
</head>
|
||||||
|
<body role="document">
|
||||||
|
<nav class="navbar navbar-inverse navbar-static-top">
|
||||||
|
<div class="navbar-header">
|
||||||
|
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
||||||
|
<span class="sr-only"><?php echo i18n::_('Toggle navigation'); ?></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="reloadlink navbar-brand" href="/">
|
||||||
|
<img alt="<?php echo i18n::_('PrivateBin'); ?>" src="favicon-32x32.png" width="20" />
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div id="navbar" class="navbar-collapse collapse">
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li>
|
||||||
|
<button id="sendbutton" type="button" class="hidden btn btn-warning navbar-btn">
|
||||||
|
<span class="glyphicon glyphicon-upload" aria-hidden="true"></span> <?php echo i18n::_('Send'); ?>
|
||||||
|
</button><?php
|
||||||
|
if ($EXPIRECLONE): ?>
|
||||||
|
<button id="clonebutton" type="button" class="hidden btn btn-warning navbar-btn">
|
||||||
|
<span class="glyphicon glyphicon-duplicate" aria-hidden="true"></span> <?php echo i18n::_('Clone'); ?>
|
||||||
|
</button><?php
|
||||||
|
endif; ?>
|
||||||
|
<button id="rawtextbutton" type="button" class="hidden btn btn-warning navbar-btn">
|
||||||
|
<span class="glyphicon glyphicon-text-background" aria-hidden="true"></span> <?php echo i18n::_('Raw text'); ?>
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<select id="pasteExpiration" name="pasteExpiration" class="hidden"><?php
|
||||||
|
foreach ($EXPIRE as $key => $value): ?>
|
||||||
|
<option value="<?php echo $key; ?>"<?php
|
||||||
|
if ($key == $EXPIREDEFAULT): ?> selected="selected"<?php
|
||||||
|
endif; ?>><?php echo $value; ?></option><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</select>
|
||||||
|
<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
|
||||||
|
foreach ($EXPIRE as $key => $value): ?>
|
||||||
|
<li>
|
||||||
|
<a href="#" onclick="$('#pasteExpiration').val('<?php echo $key; ?>');$('#pasteExpirationDisplay').text('<?php echo $value; ?>');return false;">
|
||||||
|
<?php echo $value; ?>
|
||||||
|
</a>
|
||||||
|
</li><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div id="burnafterreadingoption" class="navbar-text checkbox hidden">
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" id="burnafterreading" name="burnafterreading" <?php
|
||||||
|
if ($BURNAFTERREADINGSELECTED): ?> checked="checked"<?php
|
||||||
|
endif; ?> />
|
||||||
|
<?php echo i18n::_('Burn after reading'); ?>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</li><?php
|
||||||
|
if ($DISCUSSION): ?>
|
||||||
|
<li>
|
||||||
|
<div id="opendisc" class="navbar-text checkbox hidden">
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" id="opendiscussion" name="opendiscussion" <?php
|
||||||
|
if ($OPENDISCUSSION): ?> checked="checked"<?php
|
||||||
|
endif; ?> />
|
||||||
|
<?php echo i18n::_('Open discussion'); ?>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</li><?php
|
||||||
|
endif;
|
||||||
|
if ($PASSWORD): ?>
|
||||||
|
<li>
|
||||||
|
<div id="password" class="navbar-form hidden">
|
||||||
|
<input type="password" id="passwordinput" placeholder="<?php echo i18n::_('Password (recommended)'); ?>" class="form-control" size="19" />
|
||||||
|
</div>
|
||||||
|
</li><?php
|
||||||
|
endif;
|
||||||
|
if ($FILEUPLOAD): ?>
|
||||||
|
<li id="attach" class="hidden dropdown">
|
||||||
|
<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>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li id="filewrap">
|
||||||
|
<div>
|
||||||
|
<input type="file" id="file" name="file" />
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a id="fileremovebutton" href="#">
|
||||||
|
<?php echo i18n::_('Remove attachment'); ?>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li><?php
|
||||||
|
endif; ?>
|
||||||
|
<li class="dropdown">
|
||||||
|
<select id="pasteFormatter" name="pasteFormatter" class="hidden"><?php
|
||||||
|
foreach ($FORMATTER as $key => $value): ?>
|
||||||
|
<option value="<?php echo $key; ?>"<?php
|
||||||
|
if ($key == $FORMATTERDEFAULT): ?> selected="selected"<?php
|
||||||
|
endif; ?>><?php echo $value; ?></option><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</select>
|
||||||
|
<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
|
||||||
|
foreach ($FORMATTER as $key => $value): ?>
|
||||||
|
<li>
|
||||||
|
<a href="#" onclick="$('#pasteFormatter').val('<?php echo $key; ?>');$('#pasteFormatterDisplay').text('<?php echo $value; ?>');return false;">
|
||||||
|
<?php echo $value; ?>
|
||||||
|
</a>
|
||||||
|
</li><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<ul class="nav navbar-nav pull-right"><?php
|
||||||
|
if (strlen($LANGUAGESELECTION)): ?>
|
||||||
|
<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>
|
||||||
|
<ul class="dropdown-menu"><?php
|
||||||
|
foreach ($LANGUAGES as $key => $value): ?>
|
||||||
|
<li>
|
||||||
|
<a href="#" class="reloadlink" onclick="document.cookie='lang=<?php echo $key; ?>';">
|
||||||
|
<?php echo $value[0]; ?> (<?php echo $value[1]; ?>)
|
||||||
|
</a>
|
||||||
|
</li><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</ul>
|
||||||
|
</li><?php
|
||||||
|
endif; ?>
|
||||||
|
<li>
|
||||||
|
<button id="newbutton" type="button" class="reloadlink hidden btn btn-warning navbar-btn">
|
||||||
|
<span class="glyphicon glyphicon-file" aria-hidden="true"></span> <?php echo i18n::_('New'); ?>
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<header class="container"><?php
|
||||||
|
if (strlen($NOTICE)): ?>
|
||||||
|
<div role="alert" class="alert alert-info">
|
||||||
|
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> <?php echo htmlspecialchars($NOTICE); ?>
|
||||||
|
</div><?php
|
||||||
|
endif; ?>
|
||||||
|
<div id="remainingtime" role="alert" class="hidden alert alert-info">
|
||||||
|
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
|
||||||
|
</div><?php
|
||||||
|
if ($FILEUPLOAD): ?>
|
||||||
|
<div id="attachment" role="alert" class="hidden alert alert-info">
|
||||||
|
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> <a><?php echo i18n::_('Download attachment'); ?></a> <span id="clonedfile" class="hidden"><?php echo i18n::_('Cloned file attached.'); ?></span>
|
||||||
|
</div><?php
|
||||||
|
endif;
|
||||||
|
if (strlen($STATUS)): ?>
|
||||||
|
<div id="status" role="alert" class="alert alert-success">
|
||||||
|
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span> <?php echo htmlspecialchars($STATUS); ?>
|
||||||
|
</div><?php
|
||||||
|
endif; ?>
|
||||||
|
<div id="errormessage" role="alert" class="<?php
|
||||||
|
if (!strlen($ERROR)): ?>hidden <?php
|
||||||
|
endif; ?>alert alert-danger"><span class="glyphicon glyphicon-alert" aria-hidden="true"></span> <?php echo htmlspecialchars($ERROR); ?></div>
|
||||||
|
<noscript><div id="noscript" role="alert" class="nonworking alert alert-error"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> <?php echo i18n::_('Javascript is required for PrivateBin to work.<br />Sorry for the inconvenience.'); ?></div></noscript>
|
||||||
|
<div id="oldienotice" role="alert" class="hidden nonworking alert alert-danger"><span class="glyphicon glyphicon-alert" aria-hidden="true"></span> <?php echo i18n::_('PrivateBin requires a modern browser to work.'); ?></div>
|
||||||
|
<div id="ienotice" role="alert" class="hidden alert alert-error"><span class="glyphicon glyphicon-question-sign" aria-hidden="true"></span> <?php echo i18n::_('Still using Internet Explorer? Do yourself a favor, switch to a modern browser:'); ?>
|
||||||
|
<a href="https://www.mozilla.org/firefox/">Firefox</a>,
|
||||||
|
<a href="https://www.opera.com/">Opera</a>,
|
||||||
|
<a href="https://www.google.com/chrome">Chrome</a>,
|
||||||
|
<a href="https://www.apple.com/safari">Safari</a>...
|
||||||
|
</div>
|
||||||
|
<div id="pasteresult" role="alert" class="hidden alert alert-success">
|
||||||
|
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
|
||||||
|
<div id="deletelink"></div>
|
||||||
|
<div id="pastelink"><?php
|
||||||
|
if (strlen($URLSHORTENER)): ?>
|
||||||
|
<button id="shortenbutton" data-shortener="<?php echo htmlspecialchars($URLSHORTENER); ?>" type="button" class="btn btn-warning">
|
||||||
|
<span class="glyphicon glyphicon-send" aria-hidden="true"></span> <?php echo i18n::_('Shorten URL'); ?>
|
||||||
|
</button><?php
|
||||||
|
endif; ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<ul id="preview" class="nav nav-tabs hidden">
|
||||||
|
<li role="presentation" class="active"><a id="messageedit" href="#"><?php echo i18n::_('Editor'); ?></a></li>
|
||||||
|
<li role="presentation"><a id="messagepreview" href="#"><?php echo i18n::_('Preview'); ?></a></li>
|
||||||
|
</ul>
|
||||||
|
</header>
|
||||||
|
<section class="container">
|
||||||
|
<article class="row">
|
||||||
|
<div id="image" 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="cleartext" 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="comments"></div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<footer class="container">
|
||||||
|
<div class="row">
|
||||||
|
<h4 class="col-md-5 col-xs-8"><?php echo i18n::_('PrivateBin'); ?> <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">
|
||||||
|
<?php echo 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>.'); ?>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
<div id="cipherdata" class="hidden"><?php echo htmlspecialchars($CIPHERDATA, ENT_NOQUOTES); ?></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -1,212 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
<meta name="robots" content="noindex" />
|
|
||||||
<title>{function="i18n::_('PrivateBin')"}</title>
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-theme-3.3.5.css" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/bootstrap/darkstrap-0.9.3.css" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/bootstrap/privatebin.css?{$VERSION|rawurlencode}" />{if="$SYNTAXHIGHLIGHTING"}
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/prettify/prettify.css?{$VERSION|rawurlencode}" />{if="strlen($SYNTAXHIGHLIGHTINGTHEME)"}
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/prettify/{$SYNTAXHIGHLIGHTINGTHEME}.css?{$VERSION|rawurlencode}" />{/if}{/if}
|
|
||||||
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
|
|
||||||
<script type="text/javascript" src="js/sjcl-1.0.4.js"></script>
|
|
||||||
<script type="text/javascript" src="js/base64-{$BASE64JSVERSION}.js"></script>
|
|
||||||
<script type="text/javascript" src="js/rawdeflate-0.5.js"></script>
|
|
||||||
<script type="text/javascript" src="js/rawinflate-0.3.js"></script>
|
|
||||||
<script type="text/javascript" src="js/bootstrap-3.3.5.js"></script>{if="$SYNTAXHIGHLIGHTING"}
|
|
||||||
<script type="text/javascript" src="js/prettify.js?{$VERSION|rawurlencode}"></script>{/if}{if="$MARKDOWN"}
|
|
||||||
<script type="text/javascript" src="js/showdown-1.4.1.js"></script>{/if}
|
|
||||||
<script type="text/javascript" src="js/privatebin.js?{$VERSION|rawurlencode}"></script>
|
|
||||||
<!--[if lt IE 10]>
|
|
||||||
<style type="text/css">#ienotice {display:block !important;} #oldienotice {display:block !important;}</style>
|
|
||||||
<![endif]-->
|
|
||||||
<link rel="apple-touch-icon" href="apple-touch-icon.png?{$VERSION|rawurlencode}" sizes="180x180" />
|
|
||||||
<link rel="icon" type="image/png" href="favicon-32x32.png?{$VERSION|rawurlencode}" sizes="32x32" />
|
|
||||||
<link rel="icon" type="image/png" href="favicon-16x16.png?{$VERSION|rawurlencode}" sizes="16x16" />
|
|
||||||
<link rel="manifest" href="manifest.json?{$VERSION|rawurlencode}" />
|
|
||||||
<link rel="mask-icon" href="safari-pinned-tab.svg?{$VERSION|rawurlencode}" color="#ffcc00" />
|
|
||||||
<link rel="shortcut icon" href="favicon.ico">
|
|
||||||
<meta name="msapplication-config" content="browserconfig.xml">
|
|
||||||
<meta name="theme-color" content="#ffe57e" />
|
|
||||||
</head>
|
|
||||||
<body role="document">
|
|
||||||
<nav class="navbar navbar-inverse navbar-static-top">
|
|
||||||
<div class="navbar-header">
|
|
||||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
|
||||||
<span class="sr-only">{function="i18n::_('Toggle navigation')"}</span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
</button>
|
|
||||||
<a class="reloadlink navbar-brand" href="/">
|
|
||||||
<img alt="{function="i18n::_('PrivateBin')"}" src="favicon-32x32.png" width="20" />
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div id="navbar" class="navbar-collapse collapse">
|
|
||||||
<ul class="nav navbar-nav">
|
|
||||||
<li>
|
|
||||||
<button id="newbutton" type="button" class="reloadlink hidden btn btn-warning navbar-btn">
|
|
||||||
<span class="glyphicon glyphicon-file" aria-hidden="true"></span> {function="i18n::_('New')"}
|
|
||||||
</button>{if="$EXPIRECLONE"}
|
|
||||||
<button id="clonebutton" type="button" class="hidden btn btn-warning navbar-btn">
|
|
||||||
<span class="glyphicon glyphicon-duplicate" aria-hidden="true"></span> {function="i18n::_('Clone')"}
|
|
||||||
</button>{/if}
|
|
||||||
<button id="rawtextbutton" type="button" class="hidden btn btn-warning navbar-btn">
|
|
||||||
<span class="glyphicon glyphicon-text-background" aria-hidden="true"></span> {function="i18n::_('Raw text')"}
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
<li class="dropdown">
|
|
||||||
<select id="pasteExpiration" name="pasteExpiration" class="hidden">
|
|
||||||
{loop="EXPIRE"}
|
|
||||||
<option value="{$key}"{if="$key == $EXPIREDEFAULT"} selected="selected"{/if}>{$value}</option>{/loop}
|
|
||||||
</select>
|
|
||||||
<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>
|
|
||||||
<ul class="dropdown-menu">
|
|
||||||
{loop="EXPIRE"}
|
|
||||||
<li>
|
|
||||||
<a href="#" onclick="$('#pasteExpiration').val('{$key}');$('#pasteExpirationDisplay').text('{$value}');return false;">
|
|
||||||
{$value}
|
|
||||||
</a>
|
|
||||||
</li>{/loop}
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<div id="burnafterreadingoption" class="navbar-text checkbox hidden">
|
|
||||||
<label>
|
|
||||||
<input type="checkbox" id="burnafterreading" name="burnafterreading" {if="$BURNAFTERREADINGSELECTED"} checked="checked"{/if} />
|
|
||||||
{function="i18n::_('Burn after reading')"}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</li>{if="$DISCUSSION"}
|
|
||||||
<li>
|
|
||||||
<div id="opendisc" class="navbar-text checkbox hidden">
|
|
||||||
<label>
|
|
||||||
<input type="checkbox" id="opendiscussion" name="opendiscussion" {if="$OPENDISCUSSION"} checked="checked"{/if} />
|
|
||||||
{function="i18n::_('Open discussion')"}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</li>{/if}{if="$PASSWORD"}
|
|
||||||
<li>
|
|
||||||
<div id="password" class="navbar-form hidden">
|
|
||||||
<input type="password" id="passwordinput" placeholder="{function="i18n::_('Password (recommended)')"}" class="form-control" size="19"/>
|
|
||||||
</div>
|
|
||||||
</li>{/if}{if="$FILEUPLOAD"}
|
|
||||||
<li id="attach" class="hidden dropdown">
|
|
||||||
<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>
|
|
||||||
<ul class="dropdown-menu">
|
|
||||||
<li id="filewrap">
|
|
||||||
<div>
|
|
||||||
<input type="file" id="file" name="file" />
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a id="fileremovebutton" href="#">
|
|
||||||
{function="i18n::_('Remove attachment')"}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</li>{/if}
|
|
||||||
<li class="dropdown">
|
|
||||||
<select id="pasteFormatter" name="pasteFormatter" class="hidden">
|
|
||||||
{loop="FORMATTER"}
|
|
||||||
<option value="{$key}"{if="$key == $FORMATTERDEFAULT"} selected="selected"{/if}>{$value}</option>{/loop}
|
|
||||||
</select>
|
|
||||||
<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>
|
|
||||||
<ul class="dropdown-menu">
|
|
||||||
{loop="FORMATTER"}
|
|
||||||
<li>
|
|
||||||
<a href="#" onclick="$('#pasteFormatter').val('{$key}');$('#pasteFormatterDisplay').text('{$value}');return false;">
|
|
||||||
{$value}
|
|
||||||
</a>
|
|
||||||
</li>{/loop}
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<ul class="nav navbar-nav pull-right">{if="strlen($LANGUAGESELECTION)"}
|
|
||||||
<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> {$LANGUAGES[$LANGUAGESELECTION][0]} <span class="caret"></span></a>
|
|
||||||
<ul class="dropdown-menu">
|
|
||||||
{loop="LANGUAGES"}
|
|
||||||
<li>
|
|
||||||
<a href="#" class="reloadlink" onclick="document.cookie='lang={$key}';">
|
|
||||||
{$value[0]} ({$value[1]})
|
|
||||||
</a>
|
|
||||||
</li>{/loop}
|
|
||||||
</ul>
|
|
||||||
</li>{/if}
|
|
||||||
<li>
|
|
||||||
<button id="sendbutton" type="button" class="hidden btn btn-warning navbar-btn">
|
|
||||||
<span class="glyphicon glyphicon-upload" aria-hidden="true"></span> {function="i18n::_('Send')"}
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
<header class="container">{if="strlen($NOTICE)"}
|
|
||||||
<div role="alert" class="alert alert-info">
|
|
||||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> {$NOTICE|htmlspecialchars}
|
|
||||||
</div>{/if}
|
|
||||||
<div id="remainingtime" role="alert" class="hidden alert alert-info">
|
|
||||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
|
|
||||||
</div>{if="$FILEUPLOAD"}
|
|
||||||
<div id="attachment" role="alert" class="hidden alert alert-info">
|
|
||||||
<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>
|
|
||||||
</div>{/if}{if="strlen($STATUS)"}
|
|
||||||
<div id="status" role="alert" class="alert alert-success">
|
|
||||||
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span> {$STATUS|htmlspecialchars}
|
|
||||||
</div>{/if}
|
|
||||||
<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>
|
|
||||||
<noscript><div id="noscript" role="alert" class="nonworking alert alert-error"><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>
|
|
||||||
<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>
|
|
||||||
<div id="ienotice" role="alert" class="hidden alert alert-error"><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:')"}
|
|
||||||
<a href="https://www.mozilla.org/firefox/">Firefox</a>,
|
|
||||||
<a href="https://www.opera.com/">Opera</a>,
|
|
||||||
<a href="https://www.google.com/chrome">Chrome</a>,
|
|
||||||
<a href="https://www.apple.com/safari">Safari</a>,
|
|
||||||
<a href="https://www.microsoft.com/edge">Edge</a>...
|
|
||||||
</div>
|
|
||||||
<div id="pasteresult" role="alert" class="hidden alert alert-success">
|
|
||||||
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
|
|
||||||
<div id="deletelink"></div>
|
|
||||||
<div id="pastelink">{if="strlen($URLSHORTENER)"}
|
|
||||||
<button id="shortenbutton" data-shortener="{$URLSHORTENER|htmlspecialchars}" type="button" class="btn btn-warning">
|
|
||||||
<span class="glyphicon glyphicon-send" aria-hidden="true"></span> {function="i18n::_('Shorten URL')"}
|
|
||||||
</button>
|
|
||||||
{/if}</div>
|
|
||||||
</div>
|
|
||||||
<ul id="preview" class="nav nav-tabs hidden">
|
|
||||||
<li role="presentation" class="active"><a id="messageedit" href="#">{function="i18n::_('Editor')"}</a></li>
|
|
||||||
<li role="presentation"><a id="messagepreview" href="#">{function="i18n::_('Preview')"}</a></li>
|
|
||||||
</ul>
|
|
||||||
</header>
|
|
||||||
<section class="container">
|
|
||||||
<article class="row">
|
|
||||||
<div id="image" 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="cleartext" 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>{function="i18n::_('Discussion')"}</h4>
|
|
||||||
<div id="comments"></div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<footer class="container">
|
|
||||||
<div class="row">
|
|
||||||
<h4 class="col-md-5 col-xs-8">{function="i18n::_('PrivateBin')"} <small>- {function="i18n::_('Because ignorance is bliss')"}</small></h4>
|
|
||||||
<p class="col-md-1 col-xs-4 text-center">{$VERSION}</p>
|
|
||||||
<p id="aboutbox" class="col-md-6 col-xs-12">
|
|
||||||
{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>.')"}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
<div id="cipherdata" class="hidden">{$CIPHERDATA}</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
252
tpl/bootstrap-dark.php
Normal file
252
tpl/bootstrap-dark.php
Normal file
|
@ -0,0 +1,252 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<meta name="robots" content="noindex" />
|
||||||
|
<title><?php echo i18n::_('PrivateBin'); ?></title>
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-theme-3.3.5.css" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/bootstrap/darkstrap-0.9.3.css" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/bootstrap/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
|
||||||
|
if (strlen($SYNTAXHIGHLIGHTINGTHEME)): ?>
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/prettify/<?php echo rawurlencode($SYNTAXHIGHLIGHTINGTHEME); ?>.css?<?php echo rawurlencode($VERSION); ?>" /><?php
|
||||||
|
endif;
|
||||||
|
endif; ?>
|
||||||
|
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
|
||||||
|
<script type="text/javascript" src="js/sjcl-1.0.4.js"></script>
|
||||||
|
<script type="text/javascript" src="js/base64-<?php echo rawurlencode($BASE64JSVERSION); ?>.js"></script>
|
||||||
|
<script type="text/javascript" src="js/rawdeflate-0.5.js"></script>
|
||||||
|
<script type="text/javascript" src="js/rawinflate-0.3.js"></script>
|
||||||
|
<script type="text/javascript" src="js/bootstrap-3.3.5.js"></script><?php
|
||||||
|
if ($SYNTAXHIGHLIGHTING): ?>
|
||||||
|
<script type="text/javascript" src="js/prettify.js?<?php echo rawurlencode($VERSION); ?>"></script><?php
|
||||||
|
endif;
|
||||||
|
if ($MARKDOWN): ?>
|
||||||
|
<script type="text/javascript" src="js/showdown-1.4.1.js"></script><?php
|
||||||
|
endif; ?>
|
||||||
|
<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>"></script>
|
||||||
|
<!--[if lt IE 10]>
|
||||||
|
<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
|
||||||
|
<![endif]-->
|
||||||
|
<link rel="apple-touch-icon" href="apple-touch-icon.png?<?php echo rawurlencode($VERSION); ?>" sizes="180x180" />
|
||||||
|
<link rel="icon" type="image/png" href="favicon-32x32.png?<?php echo rawurlencode($VERSION); ?>" sizes="32x32" />
|
||||||
|
<link rel="icon" type="image/png" href="favicon-16x16.png?<?php echo rawurlencode($VERSION); ?>" sizes="16x16" />
|
||||||
|
<link rel="manifest" href="manifest.json?<?php echo rawurlencode($VERSION); ?>" />
|
||||||
|
<link rel="mask-icon" href="safari-pinned-tab.svg?<?php echo rawurlencode($VERSION); ?>" color="#ffcc00" />
|
||||||
|
<link rel="shortcut icon" href="favicon.ico">
|
||||||
|
<meta name="msapplication-config" content="browserconfig.xml">
|
||||||
|
<meta name="theme-color" content="#ffe57e" />
|
||||||
|
</head>
|
||||||
|
<body role="document">
|
||||||
|
<nav class="navbar navbar-inverse navbar-static-top">
|
||||||
|
<div class="navbar-header">
|
||||||
|
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
||||||
|
<span class="sr-only"><?php echo i18n::_('Toggle navigation'); ?></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="reloadlink navbar-brand" href="/">
|
||||||
|
<img alt="<?php echo i18n::_('PrivateBin'); ?>" src="favicon-32x32.png" width="20" />
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div id="navbar" class="navbar-collapse collapse">
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li>
|
||||||
|
<button id="newbutton" type="button" class="reloadlink hidden btn btn-warning navbar-btn">
|
||||||
|
<span class="glyphicon glyphicon-file" aria-hidden="true"></span> <?php echo i18n::_('New'); ?>
|
||||||
|
</button><?php
|
||||||
|
if ($EXPIRECLONE): ?>
|
||||||
|
<button id="clonebutton" type="button" class="hidden btn btn-warning navbar-btn">
|
||||||
|
<span class="glyphicon glyphicon-duplicate" aria-hidden="true"></span> <?php echo i18n::_('Clone'); ?>
|
||||||
|
</button><?php
|
||||||
|
endif; ?>
|
||||||
|
<button id="rawtextbutton" type="button" class="hidden btn btn-warning navbar-btn">
|
||||||
|
<span class="glyphicon glyphicon-text-background" aria-hidden="true"></span> <?php echo i18n::_('Raw text'); ?>
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<select id="pasteExpiration" name="pasteExpiration" class="hidden"><?php
|
||||||
|
foreach ($EXPIRE as $key => $value): ?>
|
||||||
|
<option value="<?php echo $key; ?>"<?php
|
||||||
|
if ($key == $EXPIREDEFAULT): ?> selected="selected"<?php
|
||||||
|
endif; ?>><?php echo $value; ?></option><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</select>
|
||||||
|
<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
|
||||||
|
foreach ($EXPIRE as $key => $value): ?>
|
||||||
|
<li>
|
||||||
|
<a href="#" onclick="$('#pasteExpiration').val('<?php echo $key; ?>');$('#pasteExpirationDisplay').text('<?php echo $value; ?>');return false;">
|
||||||
|
<?php echo $value; ?>
|
||||||
|
</a>
|
||||||
|
</li><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div id="burnafterreadingoption" class="navbar-text checkbox hidden">
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" id="burnafterreading" name="burnafterreading" <?php
|
||||||
|
if ($BURNAFTERREADINGSELECTED): ?> checked="checked"<?php
|
||||||
|
endif; ?> />
|
||||||
|
<?php echo i18n::_('Burn after reading'); ?>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</li><?php
|
||||||
|
if ($DISCUSSION): ?>
|
||||||
|
<li>
|
||||||
|
<div id="opendisc" class="navbar-text checkbox hidden">
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" id="opendiscussion" name="opendiscussion" <?php
|
||||||
|
if ($OPENDISCUSSION): ?> checked="checked"<?php
|
||||||
|
endif; ?> />
|
||||||
|
<?php echo i18n::_('Open discussion'); ?>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</li><?php
|
||||||
|
endif;
|
||||||
|
if ($PASSWORD): ?>
|
||||||
|
<li>
|
||||||
|
<div id="password" class="navbar-form hidden">
|
||||||
|
<input type="password" id="passwordinput" placeholder="<?php echo i18n::_('Password (recommended)'); ?>" class="form-control" size="19" />
|
||||||
|
</div>
|
||||||
|
</li><?php
|
||||||
|
endif;
|
||||||
|
if ($FILEUPLOAD): ?>
|
||||||
|
<li id="attach" class="hidden dropdown">
|
||||||
|
<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>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li id="filewrap">
|
||||||
|
<div>
|
||||||
|
<input type="file" id="file" name="file" />
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a id="fileremovebutton" href="#">
|
||||||
|
<?php echo i18n::_('Remove attachment'); ?>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li><?php
|
||||||
|
endif; ?>
|
||||||
|
<li class="dropdown">
|
||||||
|
<select id="pasteFormatter" name="pasteFormatter" class="hidden"><?php
|
||||||
|
foreach ($FORMATTER as $key => $value): ?>
|
||||||
|
<option value="<?php echo $key; ?>"<?php
|
||||||
|
if ($key == $FORMATTERDEFAULT): ?> selected="selected"<?php
|
||||||
|
endif; ?>><?php echo $value; ?></option><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</select>
|
||||||
|
<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
|
||||||
|
foreach ($FORMATTER as $key => $value): ?>
|
||||||
|
<li>
|
||||||
|
<a href="#" onclick="$('#pasteFormatter').val('<?php echo $key; ?>');$('#pasteFormatterDisplay').text('<?php echo $value; ?>');return false;">
|
||||||
|
<?php echo $value; ?>
|
||||||
|
</a>
|
||||||
|
</li><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<ul class="nav navbar-nav pull-right"><?php
|
||||||
|
if (strlen($LANGUAGESELECTION)): ?>
|
||||||
|
<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>
|
||||||
|
<ul class="dropdown-menu"><?php
|
||||||
|
foreach ($LANGUAGES as $key => $value): ?>
|
||||||
|
<li>
|
||||||
|
<a href="#" class="reloadlink" onclick="document.cookie='lang=<?php echo $key; ?>';">
|
||||||
|
<?php echo $value[0]; ?> (<?php echo $value[1]; ?>)
|
||||||
|
</a>
|
||||||
|
</li><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</ul>
|
||||||
|
</li><?php
|
||||||
|
endif; ?>
|
||||||
|
<li>
|
||||||
|
<button id="sendbutton" type="button" class="hidden btn btn-warning navbar-btn">
|
||||||
|
<span class="glyphicon glyphicon-upload" aria-hidden="true"></span> <?php echo i18n::_('Send'); ?>
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<header class="container"><?php
|
||||||
|
if (strlen($NOTICE)): ?>
|
||||||
|
<div role="alert" class="alert alert-info">
|
||||||
|
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> <?php echo htmlspecialchars($NOTICE); ?>
|
||||||
|
</div><?php
|
||||||
|
endif; ?>
|
||||||
|
<div id="remainingtime" role="alert" class="hidden alert alert-info">
|
||||||
|
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
|
||||||
|
</div><?php
|
||||||
|
if ($FILEUPLOAD): ?>
|
||||||
|
<div id="attachment" role="alert" class="hidden alert alert-info">
|
||||||
|
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> <a><?php echo i18n::_('Download attachment'); ?></a> <span id="clonedfile" class="hidden"><?php echo i18n::_('Cloned file attached.'); ?></span>
|
||||||
|
</div><?php
|
||||||
|
endif;
|
||||||
|
if (strlen($STATUS)): ?>
|
||||||
|
<div id="status" role="alert" class="alert alert-success">
|
||||||
|
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span> <?php echo htmlspecialchars($STATUS); ?>
|
||||||
|
</div><?php
|
||||||
|
endif; ?>
|
||||||
|
<div id="errormessage" role="alert" class="<?php
|
||||||
|
if (!strlen($ERROR)): ?>hidden <?php
|
||||||
|
endif; ?>alert alert-danger"><span class="glyphicon glyphicon-alert" aria-hidden="true"></span> <?php echo htmlspecialchars($ERROR); ?></div>
|
||||||
|
<noscript><div id="noscript" role="alert" class="nonworking alert alert-error"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> <?php echo i18n::_('Javascript is required for PrivateBin to work.<br />Sorry for the inconvenience.'); ?></div></noscript>
|
||||||
|
<div id="oldienotice" role="alert" class="hidden nonworking alert alert-danger"><span class="glyphicon glyphicon-alert" aria-hidden="true"></span> <?php echo i18n::_('PrivateBin requires a modern browser to work.'); ?></div>
|
||||||
|
<div id="ienotice" role="alert" class="hidden alert alert-error"><span class="glyphicon glyphicon-question-sign" aria-hidden="true"></span> <?php echo i18n::_('Still using Internet Explorer? Do yourself a favor, switch to a modern browser:'); ?>
|
||||||
|
<a href="https://www.mozilla.org/firefox/">Firefox</a>,
|
||||||
|
<a href="https://www.opera.com/">Opera</a>,
|
||||||
|
<a href="https://www.google.com/chrome">Chrome</a>,
|
||||||
|
<a href="https://www.apple.com/safari">Safari</a>...
|
||||||
|
</div>
|
||||||
|
<div id="pasteresult" role="alert" class="hidden alert alert-success">
|
||||||
|
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
|
||||||
|
<div id="deletelink"></div>
|
||||||
|
<div id="pastelink"><?php
|
||||||
|
if (strlen($URLSHORTENER)): ?>
|
||||||
|
<button id="shortenbutton" data-shortener="<?php echo htmlspecialchars($URLSHORTENER); ?>" type="button" class="btn btn-warning">
|
||||||
|
<span class="glyphicon glyphicon-send" aria-hidden="true"></span> <?php echo i18n::_('Shorten URL'); ?>
|
||||||
|
</button><?php
|
||||||
|
endif; ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<ul id="preview" class="nav nav-tabs hidden">
|
||||||
|
<li role="presentation" class="active"><a id="messageedit" href="#"><?php echo i18n::_('Editor'); ?></a></li>
|
||||||
|
<li role="presentation"><a id="messagepreview" href="#"><?php echo i18n::_('Preview'); ?></a></li>
|
||||||
|
</ul>
|
||||||
|
</header>
|
||||||
|
<section class="container">
|
||||||
|
<article class="row">
|
||||||
|
<div id="image" 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="cleartext" 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="comments"></div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<footer class="container">
|
||||||
|
<div class="row">
|
||||||
|
<h4 class="col-md-5 col-xs-8"><?php echo i18n::_('PrivateBin'); ?> <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">
|
||||||
|
<?php echo 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>.'); ?>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
<div id="cipherdata" class="hidden"><?php echo htmlspecialchars($CIPHERDATA, ENT_NOQUOTES); ?></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -1,212 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
<meta name="robots" content="noindex" />
|
|
||||||
<title>{function="i18n::_('PrivateBin')"}</title>
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-3.3.5.css" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-theme-3.3.5.css" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/bootstrap/privatebin.css?{$VERSION|rawurlencode}" />{if="$SYNTAXHIGHLIGHTING"}
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/prettify/prettify.css?{$VERSION|rawurlencode}" />{if="strlen($SYNTAXHIGHLIGHTINGTHEME)"}
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/prettify/{$SYNTAXHIGHLIGHTINGTHEME}.css?{$VERSION|rawurlencode}" />{/if}{/if}
|
|
||||||
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
|
|
||||||
<script type="text/javascript" src="js/sjcl-1.0.4.js"></script>
|
|
||||||
<script type="text/javascript" src="js/base64-{$BASE64JSVERSION}.js"></script>
|
|
||||||
<script type="text/javascript" src="js/rawdeflate-0.5.js"></script>
|
|
||||||
<script type="text/javascript" src="js/rawinflate-0.3.js"></script>
|
|
||||||
<script type="text/javascript" src="js/bootstrap-3.3.5.js"></script>{if="$SYNTAXHIGHLIGHTING"}
|
|
||||||
<script type="text/javascript" src="js/prettify.js?{$VERSION|rawurlencode}"></script>{/if}{if="$MARKDOWN"}
|
|
||||||
<script type="text/javascript" src="js/showdown-1.4.1.js"></script>{/if}
|
|
||||||
<script type="text/javascript" src="js/privatebin.js?{$VERSION|rawurlencode}"></script>
|
|
||||||
<!--[if lt IE 10]>
|
|
||||||
<style type="text/css">#ienotice {display:block !important;} #oldienotice {display:block !important;}</style>
|
|
||||||
<![endif]-->
|
|
||||||
<link rel="apple-touch-icon" href="apple-touch-icon.png?{$VERSION|rawurlencode}" sizes="180x180" />
|
|
||||||
<link rel="icon" type="image/png" href="favicon-32x32.png?{$VERSION|rawurlencode}" sizes="32x32" />
|
|
||||||
<link rel="icon" type="image/png" href="favicon-16x16.png?{$VERSION|rawurlencode}" sizes="16x16" />
|
|
||||||
<link rel="manifest" href="manifest.json?{$VERSION|rawurlencode}" />
|
|
||||||
<link rel="mask-icon" href="safari-pinned-tab.svg?{$VERSION|rawurlencode}" color="#ffcc00" />
|
|
||||||
<link rel="shortcut icon" href="favicon.ico">
|
|
||||||
<meta name="msapplication-config" content="browserconfig.xml">
|
|
||||||
<meta name="theme-color" content="#ffe57e" />
|
|
||||||
</head>
|
|
||||||
<body role="document">
|
|
||||||
<nav class="navbar navbar-default navbar-static-top">
|
|
||||||
<div class="navbar-header">
|
|
||||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
|
||||||
<span class="sr-only">{function="i18n::_('Toggle navigation')"}</span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
</button>
|
|
||||||
<a class="reloadlink navbar-brand" href="/">
|
|
||||||
<img alt="{function="i18n::_('PrivateBin')"}" src="favicon-32x32.png" width="20" />
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div id="navbar" class="navbar-collapse collapse">
|
|
||||||
<ul class="nav navbar-nav">
|
|
||||||
<li>
|
|
||||||
<button id="sendbutton" type="button" class="hidden btn btn-default navbar-btn">
|
|
||||||
<span class="glyphicon glyphicon-upload" aria-hidden="true"></span> {function="i18n::_('Send')"}
|
|
||||||
</button>{if="$EXPIRECLONE"}
|
|
||||||
<button id="clonebutton" type="button" class="hidden btn btn-default navbar-btn">
|
|
||||||
<span class="glyphicon glyphicon-duplicate" aria-hidden="true"></span> {function="i18n::_('Clone')"}
|
|
||||||
</button>{/if}
|
|
||||||
<button id="rawtextbutton" type="button" class="hidden btn btn-default navbar-btn">
|
|
||||||
<span class="glyphicon glyphicon-text-background" aria-hidden="true"></span> {function="i18n::_('Raw text')"}
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
<li class="dropdown">
|
|
||||||
<select id="pasteExpiration" name="pasteExpiration" class="hidden">
|
|
||||||
{loop="EXPIRE"}
|
|
||||||
<option value="{$key}"{if="$key == $EXPIREDEFAULT"} selected="selected"{/if}>{$value}</option>{/loop}
|
|
||||||
</select>
|
|
||||||
<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>
|
|
||||||
<ul class="dropdown-menu">
|
|
||||||
{loop="EXPIRE"}
|
|
||||||
<li>
|
|
||||||
<a href="#" onclick="$('#pasteExpiration').val('{$key}');$('#pasteExpirationDisplay').text('{$value}');return false;">
|
|
||||||
{$value}
|
|
||||||
</a>
|
|
||||||
</li>{/loop}
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<div id="burnafterreadingoption" class="navbar-text checkbox hidden">
|
|
||||||
<label>
|
|
||||||
<input type="checkbox" id="burnafterreading" name="burnafterreading" {if="$BURNAFTERREADINGSELECTED"} checked="checked"{/if} />
|
|
||||||
{function="i18n::_('Burn after reading')"}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</li>{if="$DISCUSSION"}
|
|
||||||
<li>
|
|
||||||
<div id="opendisc" class="navbar-text checkbox hidden">
|
|
||||||
<label>
|
|
||||||
<input type="checkbox" id="opendiscussion" name="opendiscussion" {if="$OPENDISCUSSION"} checked="checked"{/if} />
|
|
||||||
{function="i18n::_('Open discussion')"}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</li>{/if}{if="$PASSWORD"}
|
|
||||||
<li>
|
|
||||||
<div id="password" class="navbar-form hidden">
|
|
||||||
<input type="password" id="passwordinput" placeholder="{function="i18n::_('Password (recommended)')"}" class="form-control" size="19"/>
|
|
||||||
</div>
|
|
||||||
</li>{/if}{if="$FILEUPLOAD"}
|
|
||||||
<li id="attach" class="hidden dropdown">
|
|
||||||
<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>
|
|
||||||
<ul class="dropdown-menu">
|
|
||||||
<li id="filewrap">
|
|
||||||
<div>
|
|
||||||
<input type="file" id="file" name="file" />
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a id="fileremovebutton" href="#">
|
|
||||||
{function="i18n::_('Remove attachment')"}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</li>{/if}
|
|
||||||
<li class="dropdown">
|
|
||||||
<select id="pasteFormatter" name="pasteFormatter" class="hidden">
|
|
||||||
{loop="FORMATTER"}
|
|
||||||
<option value="{$key}"{if="$key == $FORMATTERDEFAULT"} selected="selected"{/if}>{$value}</option>{/loop}
|
|
||||||
</select>
|
|
||||||
<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>
|
|
||||||
<ul class="dropdown-menu">
|
|
||||||
{loop="FORMATTER"}
|
|
||||||
<li>
|
|
||||||
<a href="#" onclick="$('#pasteFormatter').val('{$key}');$('#pasteFormatterDisplay').text('{$value}');return false;">
|
|
||||||
{$value}
|
|
||||||
</a>
|
|
||||||
</li>{/loop}
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<ul class="nav navbar-nav pull-right">{if="strlen($LANGUAGESELECTION)"}
|
|
||||||
<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> {$LANGUAGES[$LANGUAGESELECTION][0]} <span class="caret"></span></a>
|
|
||||||
<ul class="dropdown-menu">
|
|
||||||
{loop="LANGUAGES"}
|
|
||||||
<li>
|
|
||||||
<a href="#" class="reloadlink" onclick="document.cookie='lang={$key}';">
|
|
||||||
{$value[0]} ({$value[1]})
|
|
||||||
</a>
|
|
||||||
</li>{/loop}
|
|
||||||
</ul>
|
|
||||||
</li>{/if}
|
|
||||||
<li>
|
|
||||||
<button id="newbutton" type="button" class="reloadlink hidden btn btn-default navbar-btn">
|
|
||||||
<span class="glyphicon glyphicon-file" aria-hidden="true"></span> {function="i18n::_('New')"}
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
<header class="container">{if="strlen($NOTICE)"}
|
|
||||||
<div role="alert" class="alert alert-info">
|
|
||||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> {$NOTICE|htmlspecialchars}
|
|
||||||
</div>{/if}
|
|
||||||
<div id="remainingtime" role="alert" class="hidden alert alert-info">
|
|
||||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
|
|
||||||
</div>{if="$FILEUPLOAD"}
|
|
||||||
<div id="attachment" role="alert" class="hidden alert alert-info">
|
|
||||||
<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>
|
|
||||||
</div>{/if}{if="strlen($STATUS)"}
|
|
||||||
<div id="status" role="alert" class="alert alert-success">
|
|
||||||
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span> {$STATUS|htmlspecialchars}
|
|
||||||
</div>{/if}
|
|
||||||
<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>
|
|
||||||
<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>
|
|
||||||
<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>
|
|
||||||
<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:')"}
|
|
||||||
<a href="https://www.mozilla.org/firefox/">Firefox</a>,
|
|
||||||
<a href="https://www.opera.com/">Opera</a>,
|
|
||||||
<a href="https://www.google.com/chrome">Chrome</a>,
|
|
||||||
<a href="https://www.apple.com/safari">Safari</a>,
|
|
||||||
<a href="https://www.microsoft.com/edge">Edge</a>...
|
|
||||||
</div>
|
|
||||||
<div id="pasteresult" role="alert" class="hidden alert alert-success">
|
|
||||||
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
|
|
||||||
<div id="deletelink"></div>
|
|
||||||
<div id="pastelink">{if="strlen($URLSHORTENER)"}
|
|
||||||
<button id="shortenbutton" data-shortener="{$URLSHORTENER|htmlspecialchars}" type="button" class="btn btn-primary">
|
|
||||||
<span class="glyphicon glyphicon-send" aria-hidden="true"></span> {function="i18n::_('Shorten URL')"}
|
|
||||||
</button>
|
|
||||||
{/if}</div>
|
|
||||||
</div>
|
|
||||||
<ul id="preview" class="nav nav-tabs hidden">
|
|
||||||
<li role="presentation" class="active"><a id="messageedit" href="#">{function="i18n::_('Editor')"}</a></li>
|
|
||||||
<li role="presentation"><a id="messagepreview" href="#">{function="i18n::_('Preview')"}</a></li>
|
|
||||||
</ul>
|
|
||||||
</header>
|
|
||||||
<section class="container">
|
|
||||||
<article class="row">
|
|
||||||
<div id="image" 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="cleartext" 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>{function="i18n::_('Discussion')"}</h4>
|
|
||||||
<div id="comments"></div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<footer class="container">
|
|
||||||
<div class="row">
|
|
||||||
<h4 class="col-md-5 col-xs-8">{function="i18n::_('PrivateBin')"} <small>- {function="i18n::_('Because ignorance is bliss')"}</small></h4>
|
|
||||||
<p class="col-md-1 col-xs-4 text-center">{$VERSION}</p>
|
|
||||||
<p id="aboutbox" class="col-md-6 col-xs-12">
|
|
||||||
{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>.')"}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
<div id="cipherdata" class="hidden">{$CIPHERDATA}</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
252
tpl/bootstrap-page.php
Normal file
252
tpl/bootstrap-page.php
Normal file
|
@ -0,0 +1,252 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<meta name="robots" content="noindex" />
|
||||||
|
<title><?php echo i18n::_('PrivateBin'); ?></title>
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-3.3.5.css" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-theme-3.3.5.css" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/bootstrap/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
|
||||||
|
if (strlen($SYNTAXHIGHLIGHTINGTHEME)): ?>
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/prettify/<?php echo rawurlencode($SYNTAXHIGHLIGHTINGTHEME); ?>.css?<?php echo rawurlencode($VERSION); ?>" /><?php
|
||||||
|
endif;
|
||||||
|
endif; ?>
|
||||||
|
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
|
||||||
|
<script type="text/javascript" src="js/sjcl-1.0.4.js"></script>
|
||||||
|
<script type="text/javascript" src="js/base64-<?php echo rawurlencode($BASE64JSVERSION); ?>.js"></script>
|
||||||
|
<script type="text/javascript" src="js/rawdeflate-0.5.js"></script>
|
||||||
|
<script type="text/javascript" src="js/rawinflate-0.3.js"></script>
|
||||||
|
<script type="text/javascript" src="js/bootstrap-3.3.5.js"></script><?php
|
||||||
|
if ($SYNTAXHIGHLIGHTING): ?>
|
||||||
|
<script type="text/javascript" src="js/prettify.js?<?php echo rawurlencode($VERSION); ?>"></script><?php
|
||||||
|
endif;
|
||||||
|
if ($MARKDOWN): ?>
|
||||||
|
<script type="text/javascript" src="js/showdown-1.4.1.js"></script><?php
|
||||||
|
endif; ?>
|
||||||
|
<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>"></script>
|
||||||
|
<!--[if lt IE 10]>
|
||||||
|
<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
|
||||||
|
<![endif]-->
|
||||||
|
<link rel="apple-touch-icon" href="apple-touch-icon.png?<?php echo rawurlencode($VERSION); ?>" sizes="180x180" />
|
||||||
|
<link rel="icon" type="image/png" href="favicon-32x32.png?<?php echo rawurlencode($VERSION); ?>" sizes="32x32" />
|
||||||
|
<link rel="icon" type="image/png" href="favicon-16x16.png?<?php echo rawurlencode($VERSION); ?>" sizes="16x16" />
|
||||||
|
<link rel="manifest" href="manifest.json?<?php echo rawurlencode($VERSION); ?>" />
|
||||||
|
<link rel="mask-icon" href="safari-pinned-tab.svg?<?php echo rawurlencode($VERSION); ?>" color="#ffcc00" />
|
||||||
|
<link rel="shortcut icon" href="favicon.ico">
|
||||||
|
<meta name="msapplication-config" content="browserconfig.xml">
|
||||||
|
<meta name="theme-color" content="#ffe57e" />
|
||||||
|
</head>
|
||||||
|
<body role="document">
|
||||||
|
<nav class="navbar navbar-default navbar-static-top">
|
||||||
|
<div class="navbar-header">
|
||||||
|
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
||||||
|
<span class="sr-only"><?php echo i18n::_('Toggle navigation'); ?></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="reloadlink navbar-brand" href="/">
|
||||||
|
<img alt="<?php echo i18n::_('PrivateBin'); ?>" src="favicon-32x32.png" width="20" />
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div id="navbar" class="navbar-collapse collapse">
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li>
|
||||||
|
<button id="sendbutton" type="button" class="hidden btn btn-primary navbar-btn">
|
||||||
|
<span class="glyphicon glyphicon-upload" aria-hidden="true"></span> <?php echo i18n::_('Send'); ?>
|
||||||
|
</button><?php
|
||||||
|
if ($EXPIRECLONE): ?>
|
||||||
|
<button id="clonebutton" type="button" class="hidden btn btn-default navbar-btn">
|
||||||
|
<span class="glyphicon glyphicon-duplicate" aria-hidden="true"></span> <?php echo i18n::_('Clone'); ?>
|
||||||
|
</button><?php
|
||||||
|
endif; ?>
|
||||||
|
<button id="rawtextbutton" type="button" class="hidden btn btn-default navbar-btn">
|
||||||
|
<span class="glyphicon glyphicon-text-background" aria-hidden="true"></span> <?php echo i18n::_('Raw text'); ?>
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<select id="pasteExpiration" name="pasteExpiration" class="hidden"><?php
|
||||||
|
foreach ($EXPIRE as $key => $value): ?>
|
||||||
|
<option value="<?php echo $key; ?>"<?php
|
||||||
|
if ($key == $EXPIREDEFAULT): ?> selected="selected"<?php
|
||||||
|
endif; ?>><?php echo $value; ?></option><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</select>
|
||||||
|
<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
|
||||||
|
foreach ($EXPIRE as $key => $value): ?>
|
||||||
|
<li>
|
||||||
|
<a href="#" onclick="$('#pasteExpiration').val('<?php echo $key; ?>');$('#pasteExpirationDisplay').text('<?php echo $value; ?>');return false;">
|
||||||
|
<?php echo $value; ?>
|
||||||
|
</a>
|
||||||
|
</li><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div id="burnafterreadingoption" class="navbar-text checkbox hidden">
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" id="burnafterreading" name="burnafterreading" <?php
|
||||||
|
if ($BURNAFTERREADINGSELECTED): ?> checked="checked"<?php
|
||||||
|
endif; ?> />
|
||||||
|
<?php echo i18n::_('Burn after reading'); ?>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</li><?php
|
||||||
|
if ($DISCUSSION): ?>
|
||||||
|
<li>
|
||||||
|
<div id="opendisc" class="navbar-text checkbox hidden">
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" id="opendiscussion" name="opendiscussion" <?php
|
||||||
|
if ($OPENDISCUSSION): ?> checked="checked"<?php
|
||||||
|
endif; ?> />
|
||||||
|
<?php echo i18n::_('Open discussion'); ?>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</li><?php
|
||||||
|
endif;
|
||||||
|
if ($PASSWORD): ?>
|
||||||
|
<li>
|
||||||
|
<div id="password" class="navbar-form hidden">
|
||||||
|
<input type="password" id="passwordinput" placeholder="<?php echo i18n::_('Password (recommended)'); ?>" class="form-control" size="19" />
|
||||||
|
</div>
|
||||||
|
</li><?php
|
||||||
|
endif;
|
||||||
|
if ($FILEUPLOAD): ?>
|
||||||
|
<li id="attach" class="hidden dropdown">
|
||||||
|
<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>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li id="filewrap">
|
||||||
|
<div>
|
||||||
|
<input type="file" id="file" name="file" />
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a id="fileremovebutton" href="#">
|
||||||
|
<?php echo i18n::_('Remove attachment'); ?>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li><?php
|
||||||
|
endif; ?>
|
||||||
|
<li class="dropdown">
|
||||||
|
<select id="pasteFormatter" name="pasteFormatter" class="hidden"><?php
|
||||||
|
foreach ($FORMATTER as $key => $value): ?>
|
||||||
|
<option value="<?php echo $key; ?>"<?php
|
||||||
|
if ($key == $FORMATTERDEFAULT): ?> selected="selected"<?php
|
||||||
|
endif; ?>><?php echo $value; ?></option><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</select>
|
||||||
|
<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
|
||||||
|
foreach ($FORMATTER as $key => $value): ?>
|
||||||
|
<li>
|
||||||
|
<a href="#" onclick="$('#pasteFormatter').val('<?php echo $key; ?>');$('#pasteFormatterDisplay').text('<?php echo $value; ?>');return false;">
|
||||||
|
<?php echo $value; ?>
|
||||||
|
</a>
|
||||||
|
</li><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<ul class="nav navbar-nav pull-right"><?php
|
||||||
|
if (strlen($LANGUAGESELECTION)): ?>
|
||||||
|
<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>
|
||||||
|
<ul class="dropdown-menu"><?php
|
||||||
|
foreach ($LANGUAGES as $key => $value): ?>
|
||||||
|
<li>
|
||||||
|
<a href="#" class="reloadlink" onclick="document.cookie='lang=<?php echo $key; ?>';">
|
||||||
|
<?php echo $value[0]; ?> (<?php echo $value[1]; ?>)
|
||||||
|
</a>
|
||||||
|
</li><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</ul>
|
||||||
|
</li><?php
|
||||||
|
endif; ?>
|
||||||
|
<li>
|
||||||
|
<button id="newbutton" type="button" class="reloadlink hidden btn btn-default navbar-btn">
|
||||||
|
<span class="glyphicon glyphicon-file" aria-hidden="true"></span> <?php echo i18n::_('New'); ?>
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<header class="container"><?php
|
||||||
|
if (strlen($NOTICE)): ?>
|
||||||
|
<div role="alert" class="alert alert-info">
|
||||||
|
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> <?php echo htmlspecialchars($NOTICE); ?>
|
||||||
|
</div><?php
|
||||||
|
endif; ?>
|
||||||
|
<div id="remainingtime" role="alert" class="hidden alert alert-info">
|
||||||
|
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
|
||||||
|
</div><?php
|
||||||
|
if ($FILEUPLOAD): ?>
|
||||||
|
<div id="attachment" role="alert" class="hidden alert alert-info">
|
||||||
|
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> <a><?php echo i18n::_('Download attachment'); ?></a> <span id="clonedfile" class="hidden"><?php echo i18n::_('Cloned file attached.'); ?></span>
|
||||||
|
</div><?php
|
||||||
|
endif;
|
||||||
|
if (strlen($STATUS)): ?>
|
||||||
|
<div id="status" role="alert" class="alert alert-success">
|
||||||
|
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span> <?php echo htmlspecialchars($STATUS); ?>
|
||||||
|
</div><?php
|
||||||
|
endif; ?>
|
||||||
|
<div id="errormessage" role="alert" class="<?php
|
||||||
|
if (!strlen($ERROR)): ?>hidden <?php
|
||||||
|
endif; ?>alert alert-danger"><span class="glyphicon glyphicon-alert" aria-hidden="true"></span> <?php echo htmlspecialchars($ERROR); ?></div>
|
||||||
|
<noscript><div id="noscript" role="alert" class="nonworking alert alert-warning"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> <?php echo i18n::_('Javascript is required for PrivateBin to work.<br />Sorry for the inconvenience.'); ?></div></noscript>
|
||||||
|
<div id="oldienotice" role="alert" class="hidden nonworking alert alert-danger"><span class="glyphicon glyphicon-alert" aria-hidden="true"></span> <?php echo i18n::_('PrivateBin requires a modern browser to work.'); ?></div>
|
||||||
|
<div id="ienotice" role="alert" class="hidden alert alert-warning"><span class="glyphicon glyphicon-question-sign" aria-hidden="true"></span> <?php echo i18n::_('Still using Internet Explorer? Do yourself a favor, switch to a modern browser:'); ?>
|
||||||
|
<a href="https://www.mozilla.org/firefox/">Firefox</a>,
|
||||||
|
<a href="https://www.opera.com/">Opera</a>,
|
||||||
|
<a href="https://www.google.com/chrome">Chrome</a>,
|
||||||
|
<a href="https://www.apple.com/safari">Safari</a>...
|
||||||
|
</div>
|
||||||
|
<div id="pasteresult" role="alert" class="hidden alert alert-success">
|
||||||
|
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
|
||||||
|
<div id="deletelink"></div>
|
||||||
|
<div id="pastelink"><?php
|
||||||
|
if (strlen($URLSHORTENER)): ?>
|
||||||
|
<button id="shortenbutton" data-shortener="<?php echo htmlspecialchars($URLSHORTENER); ?>" type="button" class="btn btn-primary">
|
||||||
|
<span class="glyphicon glyphicon-send" aria-hidden="true"></span> <?php echo i18n::_('Shorten URL'); ?>
|
||||||
|
</button><?php
|
||||||
|
endif; ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<ul id="preview" class="nav nav-tabs hidden">
|
||||||
|
<li role="presentation" class="active"><a id="messageedit" href="#"><?php echo i18n::_('Editor'); ?></a></li>
|
||||||
|
<li role="presentation"><a id="messagepreview" href="#"><?php echo i18n::_('Preview'); ?></a></li>
|
||||||
|
</ul>
|
||||||
|
</header>
|
||||||
|
<section class="container">
|
||||||
|
<article class="row">
|
||||||
|
<div id="image" 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="cleartext" 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="comments"></div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<footer class="container">
|
||||||
|
<div class="row">
|
||||||
|
<h4 class="col-md-5 col-xs-8"><?php echo i18n::_('PrivateBin'); ?> <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">
|
||||||
|
<?php echo 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>.'); ?>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
<div id="cipherdata" class="hidden"><?php echo htmlspecialchars($CIPHERDATA, ENT_NOQUOTES); ?></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -1,212 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
<meta name="robots" content="noindex" />
|
|
||||||
<title>{function="i18n::_('PrivateBin')"}</title>
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-3.3.5.css" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-theme-3.3.5.css" />
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/bootstrap/privatebin.css?{$VERSION|rawurlencode}" />{if="$SYNTAXHIGHLIGHTING"}
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/prettify/prettify.css?{$VERSION|rawurlencode}" />{if="strlen($SYNTAXHIGHLIGHTINGTHEME)"}
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/prettify/{$SYNTAXHIGHLIGHTINGTHEME}.css?{$VERSION|rawurlencode}" />{/if}{/if}
|
|
||||||
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
|
|
||||||
<script type="text/javascript" src="js/sjcl-1.0.4.js"></script>
|
|
||||||
<script type="text/javascript" src="js/base64-{$BASE64JSVERSION}.js"></script>
|
|
||||||
<script type="text/javascript" src="js/rawdeflate-0.5.js"></script>
|
|
||||||
<script type="text/javascript" src="js/rawinflate-0.3.js"></script>
|
|
||||||
<script type="text/javascript" src="js/bootstrap-3.3.5.js"></script>{if="$SYNTAXHIGHLIGHTING"}
|
|
||||||
<script type="text/javascript" src="js/prettify.js?{$VERSION|rawurlencode}"></script>{/if}{if="$MARKDOWN"}
|
|
||||||
<script type="text/javascript" src="js/showdown-1.4.1.js"></script>{/if}
|
|
||||||
<script type="text/javascript" src="js/privatebin.js?{$VERSION|rawurlencode}"></script>
|
|
||||||
<!--[if lt IE 10]>
|
|
||||||
<style type="text/css">#ienotice {display:block !important;} #oldienotice {display:block !important;}</style>
|
|
||||||
<![endif]-->
|
|
||||||
<link rel="apple-touch-icon" href="apple-touch-icon.png?{$VERSION|rawurlencode}" sizes="180x180" />
|
|
||||||
<link rel="icon" type="image/png" href="favicon-32x32.png?{$VERSION|rawurlencode}" sizes="32x32" />
|
|
||||||
<link rel="icon" type="image/png" href="favicon-16x16.png?{$VERSION|rawurlencode}" sizes="16x16" />
|
|
||||||
<link rel="manifest" href="manifest.json?{$VERSION|rawurlencode}" />
|
|
||||||
<link rel="mask-icon" href="safari-pinned-tab.svg?{$VERSION|rawurlencode}" color="#ffcc00" />
|
|
||||||
<link rel="shortcut icon" href="favicon.ico">
|
|
||||||
<meta name="msapplication-config" content="browserconfig.xml">
|
|
||||||
<meta name="theme-color" content="#ffe57e" />
|
|
||||||
</head>
|
|
||||||
<body role="document">
|
|
||||||
<nav class="navbar navbar-default navbar-static-top">
|
|
||||||
<div class="navbar-header">
|
|
||||||
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
|
||||||
<span class="sr-only">{function="i18n::_('Toggle navigation')"}</span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
</button>
|
|
||||||
<a class="reloadlink navbar-brand" href="/">
|
|
||||||
<img alt="{function="i18n::_('PrivateBin')"}" src="favicon-32x32.png" width="20" />
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div id="navbar" class="navbar-collapse collapse">
|
|
||||||
<ul class="nav navbar-nav">
|
|
||||||
<li>
|
|
||||||
<button id="newbutton" type="button" class="reloadlink hidden btn btn-default navbar-btn">
|
|
||||||
<span class="glyphicon glyphicon-file" aria-hidden="true"></span> {function="i18n::_('New')"}
|
|
||||||
</button>{if="$EXPIRECLONE"}
|
|
||||||
<button id="clonebutton" type="button" class="hidden btn btn-default navbar-btn">
|
|
||||||
<span class="glyphicon glyphicon-duplicate" aria-hidden="true"></span> {function="i18n::_('Clone')"}
|
|
||||||
</button>{/if}
|
|
||||||
<button id="rawtextbutton" type="button" class="hidden btn btn-default navbar-btn">
|
|
||||||
<span class="glyphicon glyphicon-text-background" aria-hidden="true"></span> {function="i18n::_('Raw text')"}
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
<li class="dropdown">
|
|
||||||
<select id="pasteExpiration" name="pasteExpiration" class="hidden">
|
|
||||||
{loop="EXPIRE"}
|
|
||||||
<option value="{$key}"{if="$key == $EXPIREDEFAULT"} selected="selected"{/if}>{$value}</option>{/loop}
|
|
||||||
</select>
|
|
||||||
<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>
|
|
||||||
<ul class="dropdown-menu">
|
|
||||||
{loop="EXPIRE"}
|
|
||||||
<li>
|
|
||||||
<a href="#" onclick="$('#pasteExpiration').val('{$key}');$('#pasteExpirationDisplay').text('{$value}');return false;">
|
|
||||||
{$value}
|
|
||||||
</a>
|
|
||||||
</li>{/loop}
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<div id="burnafterreadingoption" class="navbar-text checkbox hidden">
|
|
||||||
<label>
|
|
||||||
<input type="checkbox" id="burnafterreading" name="burnafterreading" {if="$BURNAFTERREADINGSELECTED"} checked="checked"{/if} />
|
|
||||||
{function="i18n::_('Burn after reading')"}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</li>{if="$DISCUSSION"}
|
|
||||||
<li>
|
|
||||||
<div id="opendisc" class="navbar-text checkbox hidden">
|
|
||||||
<label>
|
|
||||||
<input type="checkbox" id="opendiscussion" name="opendiscussion" {if="$OPENDISCUSSION"} checked="checked"{/if} />
|
|
||||||
{function="i18n::_('Open discussion')"}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</li>{/if}{if="$PASSWORD"}
|
|
||||||
<li>
|
|
||||||
<div id="password" class="navbar-form hidden">
|
|
||||||
<input type="password" id="passwordinput" placeholder="{function="i18n::_('Password (recommended)')"}" class="form-control" size="19"/>
|
|
||||||
</div>
|
|
||||||
</li>{/if}{if="$FILEUPLOAD"}
|
|
||||||
<li id="attach" class="hidden dropdown">
|
|
||||||
<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>
|
|
||||||
<ul class="dropdown-menu">
|
|
||||||
<li id="filewrap">
|
|
||||||
<div>
|
|
||||||
<input type="file" id="file" name="file" />
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a id="fileremovebutton" href="#">
|
|
||||||
{function="i18n::_('Remove attachment')"}
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</li>{/if}
|
|
||||||
<li class="dropdown">
|
|
||||||
<select id="pasteFormatter" name="pasteFormatter" class="hidden">
|
|
||||||
{loop="FORMATTER"}
|
|
||||||
<option value="{$key}"{if="$key == $FORMATTERDEFAULT"} selected="selected"{/if}>{$value}</option>{/loop}
|
|
||||||
</select>
|
|
||||||
<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>
|
|
||||||
<ul class="dropdown-menu">
|
|
||||||
{loop="FORMATTER"}
|
|
||||||
<li>
|
|
||||||
<a href="#" onclick="$('#pasteFormatter').val('{$key}');$('#pasteFormatterDisplay').text('{$value}');return false;">
|
|
||||||
{$value}
|
|
||||||
</a>
|
|
||||||
</li>{/loop}
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<ul class="nav navbar-nav pull-right">{if="strlen($LANGUAGESELECTION)"}
|
|
||||||
<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> {$LANGUAGES[$LANGUAGESELECTION][0]} <span class="caret"></span></a>
|
|
||||||
<ul class="dropdown-menu">
|
|
||||||
{loop="LANGUAGES"}
|
|
||||||
<li>
|
|
||||||
<a href="#" class="reloadlink" onclick="document.cookie='lang={$key}';">
|
|
||||||
{$value[0]} ({$value[1]})
|
|
||||||
</a>
|
|
||||||
</li>{/loop}
|
|
||||||
</ul>
|
|
||||||
</li>{/if}
|
|
||||||
<li>
|
|
||||||
<button id="sendbutton" type="button" class="hidden btn btn-primary navbar-btn">
|
|
||||||
<span class="glyphicon glyphicon-upload" aria-hidden="true"></span> {function="i18n::_('Send')"}
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
<header class="container">{if="strlen($NOTICE)"}
|
|
||||||
<div role="alert" class="alert alert-info">
|
|
||||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> {$NOTICE|htmlspecialchars}
|
|
||||||
</div>{/if}
|
|
||||||
<div id="remainingtime" role="alert" class="hidden alert alert-info">
|
|
||||||
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
|
|
||||||
</div>{if="$FILEUPLOAD"}
|
|
||||||
<div id="attachment" role="alert" class="hidden alert alert-info">
|
|
||||||
<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>
|
|
||||||
</div>{/if}{if="strlen($STATUS)"}
|
|
||||||
<div id="status" role="alert" class="alert alert-success">
|
|
||||||
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span> {$STATUS|htmlspecialchars}
|
|
||||||
</div>{/if}
|
|
||||||
<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>
|
|
||||||
<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>
|
|
||||||
<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>
|
|
||||||
<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:')"}
|
|
||||||
<a href="https://www.mozilla.org/firefox/">Firefox</a>,
|
|
||||||
<a href="https://www.opera.com/">Opera</a>,
|
|
||||||
<a href="https://www.google.com/chrome">Chrome</a>,
|
|
||||||
<a href="https://www.apple.com/safari">Safari</a>,
|
|
||||||
<a href="https://www.microsoft.com/edge">Edge</a>...
|
|
||||||
</div>
|
|
||||||
<div id="pasteresult" role="alert" class="hidden alert alert-success">
|
|
||||||
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
|
|
||||||
<div id="deletelink"></div>
|
|
||||||
<div id="pastelink">{if="strlen($URLSHORTENER)"}
|
|
||||||
<button id="shortenbutton" data-shortener="{$URLSHORTENER|htmlspecialchars}" type="button" class="btn btn-primary">
|
|
||||||
<span class="glyphicon glyphicon-send" aria-hidden="true"></span> {function="i18n::_('Shorten URL')"}
|
|
||||||
</button>
|
|
||||||
{/if}</div>
|
|
||||||
</div>
|
|
||||||
<ul id="preview" class="nav nav-tabs hidden">
|
|
||||||
<li role="presentation" class="active"><a id="messageedit" href="#">{function="i18n::_('Editor')"}</a></li>
|
|
||||||
<li role="presentation"><a id="messagepreview" href="#">{function="i18n::_('Preview')"}</a></li>
|
|
||||||
</ul>
|
|
||||||
</header>
|
|
||||||
<section class="container">
|
|
||||||
<article class="row">
|
|
||||||
<div id="image" 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="cleartext" 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>{function="i18n::_('Discussion')"}</h4>
|
|
||||||
<div id="comments"></div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<footer class="container">
|
|
||||||
<div class="row">
|
|
||||||
<h4 class="col-md-5 col-xs-8">{function="i18n::_('PrivateBin')"} <small>- {function="i18n::_('Because ignorance is bliss')"}</small></h4>
|
|
||||||
<p class="col-md-1 col-xs-4 text-center">{$VERSION}</p>
|
|
||||||
<p id="aboutbox" class="col-md-6 col-xs-12">
|
|
||||||
{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>.')"}
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
<div id="cipherdata" class="hidden">{$CIPHERDATA}</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
252
tpl/bootstrap.php
Normal file
252
tpl/bootstrap.php
Normal file
|
@ -0,0 +1,252 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<meta name="robots" content="noindex" />
|
||||||
|
<title><?php echo i18n::_('PrivateBin'); ?></title>
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-3.3.5.css" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/bootstrap/bootstrap-theme-3.3.5.css" />
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/bootstrap/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
|
||||||
|
if (strlen($SYNTAXHIGHLIGHTINGTHEME)): ?>
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/prettify/<?php echo rawurlencode($SYNTAXHIGHLIGHTINGTHEME); ?>.css?<?php echo rawurlencode($VERSION); ?>" /><?php
|
||||||
|
endif;
|
||||||
|
endif; ?>
|
||||||
|
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
|
||||||
|
<script type="text/javascript" src="js/sjcl-1.0.4.js"></script>
|
||||||
|
<script type="text/javascript" src="js/base64-<?php echo rawurlencode($BASE64JSVERSION); ?>.js"></script>
|
||||||
|
<script type="text/javascript" src="js/rawdeflate-0.5.js"></script>
|
||||||
|
<script type="text/javascript" src="js/rawinflate-0.3.js"></script>
|
||||||
|
<script type="text/javascript" src="js/bootstrap-3.3.5.js"></script><?php
|
||||||
|
if ($SYNTAXHIGHLIGHTING): ?>
|
||||||
|
<script type="text/javascript" src="js/prettify.js?<?php echo rawurlencode($VERSION); ?>"></script><?php
|
||||||
|
endif;
|
||||||
|
if ($MARKDOWN): ?>
|
||||||
|
<script type="text/javascript" src="js/showdown-1.4.1.js"></script><?php
|
||||||
|
endif; ?>
|
||||||
|
<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>"></script>
|
||||||
|
<!--[if lt IE 10]>
|
||||||
|
<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
|
||||||
|
<![endif]-->
|
||||||
|
<link rel="apple-touch-icon" href="apple-touch-icon.png?<?php echo rawurlencode($VERSION); ?>" sizes="180x180" />
|
||||||
|
<link rel="icon" type="image/png" href="favicon-32x32.png?<?php echo rawurlencode($VERSION); ?>" sizes="32x32" />
|
||||||
|
<link rel="icon" type="image/png" href="favicon-16x16.png?<?php echo rawurlencode($VERSION); ?>" sizes="16x16" />
|
||||||
|
<link rel="manifest" href="manifest.json?<?php echo rawurlencode($VERSION); ?>" />
|
||||||
|
<link rel="mask-icon" href="safari-pinned-tab.svg?<?php echo rawurlencode($VERSION); ?>" color="#ffcc00" />
|
||||||
|
<link rel="shortcut icon" href="favicon.ico">
|
||||||
|
<meta name="msapplication-config" content="browserconfig.xml">
|
||||||
|
<meta name="theme-color" content="#ffe57e" />
|
||||||
|
</head>
|
||||||
|
<body role="document">
|
||||||
|
<nav class="navbar navbar-default navbar-static-top">
|
||||||
|
<div class="navbar-header">
|
||||||
|
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
|
||||||
|
<span class="sr-only"><?php echo i18n::_('Toggle navigation'); ?></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
<span class="icon-bar"></span>
|
||||||
|
</button>
|
||||||
|
<a class="reloadlink navbar-brand" href="/">
|
||||||
|
<img alt="<?php echo i18n::_('PrivateBin'); ?>" src="favicon-32x32.png" width="20" />
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div id="navbar" class="navbar-collapse collapse">
|
||||||
|
<ul class="nav navbar-nav">
|
||||||
|
<li>
|
||||||
|
<button id="newbutton" type="button" class="reloadlink hidden btn btn-default navbar-btn">
|
||||||
|
<span class="glyphicon glyphicon-file" aria-hidden="true"></span> <?php echo i18n::_('New'); ?>
|
||||||
|
</button><?php
|
||||||
|
if ($EXPIRECLONE): ?>
|
||||||
|
<button id="clonebutton" type="button" class="hidden btn btn-default navbar-btn">
|
||||||
|
<span class="glyphicon glyphicon-duplicate" aria-hidden="true"></span> <?php echo i18n::_('Clone'); ?>
|
||||||
|
</button><?php
|
||||||
|
endif; ?>
|
||||||
|
<button id="rawtextbutton" type="button" class="hidden btn btn-default navbar-btn">
|
||||||
|
<span class="glyphicon glyphicon-text-background" aria-hidden="true"></span> <?php echo i18n::_('Raw text'); ?>
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
<li class="dropdown">
|
||||||
|
<select id="pasteExpiration" name="pasteExpiration" class="hidden"><?php
|
||||||
|
foreach ($EXPIRE as $key => $value): ?>
|
||||||
|
<option value="<?php echo $key; ?>"<?php
|
||||||
|
if ($key == $EXPIREDEFAULT): ?> selected="selected"<?php
|
||||||
|
endif; ?>><?php echo $value; ?></option><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</select>
|
||||||
|
<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
|
||||||
|
foreach ($EXPIRE as $key => $value): ?>
|
||||||
|
<li>
|
||||||
|
<a href="#" onclick="$('#pasteExpiration').val('<?php echo $key; ?>');$('#pasteExpirationDisplay').text('<?php echo $value; ?>');return false;">
|
||||||
|
<?php echo $value; ?>
|
||||||
|
</a>
|
||||||
|
</li><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<div id="burnafterreadingoption" class="navbar-text checkbox hidden">
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" id="burnafterreading" name="burnafterreading" <?php
|
||||||
|
if ($BURNAFTERREADINGSELECTED): ?> checked="checked"<?php
|
||||||
|
endif; ?> />
|
||||||
|
<?php echo i18n::_('Burn after reading'); ?>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</li><?php
|
||||||
|
if ($DISCUSSION): ?>
|
||||||
|
<li>
|
||||||
|
<div id="opendisc" class="navbar-text checkbox hidden">
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" id="opendiscussion" name="opendiscussion" <?php
|
||||||
|
if ($OPENDISCUSSION): ?> checked="checked"<?php
|
||||||
|
endif; ?> />
|
||||||
|
<?php echo i18n::_('Open discussion'); ?>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</li><?php
|
||||||
|
endif;
|
||||||
|
if ($PASSWORD): ?>
|
||||||
|
<li>
|
||||||
|
<div id="password" class="navbar-form hidden">
|
||||||
|
<input type="password" id="passwordinput" placeholder="<?php echo i18n::_('Password (recommended)'); ?>" class="form-control" size="19" />
|
||||||
|
</div>
|
||||||
|
</li><?php
|
||||||
|
endif;
|
||||||
|
if ($FILEUPLOAD): ?>
|
||||||
|
<li id="attach" class="hidden dropdown">
|
||||||
|
<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>
|
||||||
|
<ul class="dropdown-menu">
|
||||||
|
<li id="filewrap">
|
||||||
|
<div>
|
||||||
|
<input type="file" id="file" name="file" />
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a id="fileremovebutton" href="#">
|
||||||
|
<?php echo i18n::_('Remove attachment'); ?>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</li><?php
|
||||||
|
endif; ?>
|
||||||
|
<li class="dropdown">
|
||||||
|
<select id="pasteFormatter" name="pasteFormatter" class="hidden"><?php
|
||||||
|
foreach ($FORMATTER as $key => $value): ?>
|
||||||
|
<option value="<?php echo $key; ?>"<?php
|
||||||
|
if ($key == $FORMATTERDEFAULT): ?> selected="selected"<?php
|
||||||
|
endif; ?>><?php echo $value; ?></option><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</select>
|
||||||
|
<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
|
||||||
|
foreach ($FORMATTER as $key => $value): ?>
|
||||||
|
<li>
|
||||||
|
<a href="#" onclick="$('#pasteFormatter').val('<?php echo $key; ?>');$('#pasteFormatterDisplay').text('<?php echo $value; ?>');return false;">
|
||||||
|
<?php echo $value; ?>
|
||||||
|
</a>
|
||||||
|
</li><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<ul class="nav navbar-nav pull-right"><?php
|
||||||
|
if (strlen($LANGUAGESELECTION)): ?>
|
||||||
|
<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>
|
||||||
|
<ul class="dropdown-menu"><?php
|
||||||
|
foreach ($LANGUAGES as $key => $value): ?>
|
||||||
|
<li>
|
||||||
|
<a href="#" class="reloadlink" onclick="document.cookie='lang=<?php echo $key; ?>';">
|
||||||
|
<?php echo $value[0]; ?> (<?php echo $value[1]; ?>)
|
||||||
|
</a>
|
||||||
|
</li><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</ul>
|
||||||
|
</li><?php
|
||||||
|
endif; ?>
|
||||||
|
<li>
|
||||||
|
<button id="sendbutton" type="button" class="hidden btn btn-primary navbar-btn">
|
||||||
|
<span class="glyphicon glyphicon-upload" aria-hidden="true"></span> <?php echo i18n::_('Send'); ?>
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
<header class="container"><?php
|
||||||
|
if (strlen($NOTICE)): ?>
|
||||||
|
<div role="alert" class="alert alert-info">
|
||||||
|
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> <?php echo htmlspecialchars($NOTICE); ?>
|
||||||
|
</div><?php
|
||||||
|
endif; ?>
|
||||||
|
<div id="remainingtime" role="alert" class="hidden alert alert-info">
|
||||||
|
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
|
||||||
|
</div><?php
|
||||||
|
if ($FILEUPLOAD): ?>
|
||||||
|
<div id="attachment" role="alert" class="hidden alert alert-info">
|
||||||
|
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> <a><?php echo i18n::_('Download attachment'); ?></a> <span id="clonedfile" class="hidden"><?php echo i18n::_('Cloned file attached.'); ?></span>
|
||||||
|
</div><?php
|
||||||
|
endif;
|
||||||
|
if (strlen($STATUS)): ?>
|
||||||
|
<div id="status" role="alert" class="alert alert-success">
|
||||||
|
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span> <?php echo htmlspecialchars($STATUS); ?>
|
||||||
|
</div><?php
|
||||||
|
endif; ?>
|
||||||
|
<div id="errormessage" role="alert" class="<?php
|
||||||
|
if (!strlen($ERROR)): ?>hidden <?php
|
||||||
|
endif; ?>alert alert-danger"><span class="glyphicon glyphicon-alert" aria-hidden="true"></span> <?php echo htmlspecialchars($ERROR); ?></div>
|
||||||
|
<noscript><div id="noscript" role="alert" class="nonworking alert alert-warning"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> <?php echo i18n::_('Javascript is required for PrivateBin to work.<br />Sorry for the inconvenience.'); ?></div></noscript>
|
||||||
|
<div id="oldienotice" role="alert" class="hidden nonworking alert alert-danger"><span class="glyphicon glyphicon-alert" aria-hidden="true"></span> <?php echo i18n::_('PrivateBin requires a modern browser to work.'); ?></div>
|
||||||
|
<div id="ienotice" role="alert" class="hidden alert alert-warning"><span class="glyphicon glyphicon-question-sign" aria-hidden="true"></span> <?php echo i18n::_('Still using Internet Explorer? Do yourself a favor, switch to a modern browser:'); ?>
|
||||||
|
<a href="https://www.mozilla.org/firefox/">Firefox</a>,
|
||||||
|
<a href="https://www.opera.com/">Opera</a>,
|
||||||
|
<a href="https://www.google.com/chrome">Chrome</a>,
|
||||||
|
<a href="https://www.apple.com/safari">Safari</a>...
|
||||||
|
</div>
|
||||||
|
<div id="pasteresult" role="alert" class="hidden alert alert-success">
|
||||||
|
<span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
|
||||||
|
<div id="deletelink"></div>
|
||||||
|
<div id="pastelink"><?php
|
||||||
|
if (strlen($URLSHORTENER)): ?>
|
||||||
|
<button id="shortenbutton" data-shortener="<?php echo htmlspecialchars($URLSHORTENER); ?>" type="button" class="btn btn-primary">
|
||||||
|
<span class="glyphicon glyphicon-send" aria-hidden="true"></span> <?php echo i18n::_('Shorten URL'); ?>
|
||||||
|
</button><?php
|
||||||
|
endif; ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<ul id="preview" class="nav nav-tabs hidden">
|
||||||
|
<li role="presentation" class="active"><a id="messageedit" href="#"><?php echo i18n::_('Editor'); ?></a></li>
|
||||||
|
<li role="presentation"><a id="messagepreview" href="#"><?php echo i18n::_('Preview'); ?></a></li>
|
||||||
|
</ul>
|
||||||
|
</header>
|
||||||
|
<section class="container">
|
||||||
|
<article class="row">
|
||||||
|
<div id="image" 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="cleartext" 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="comments"></div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<footer class="container">
|
||||||
|
<div class="row">
|
||||||
|
<h4 class="col-md-5 col-xs-8"><?php echo i18n::_('PrivateBin'); ?> <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">
|
||||||
|
<?php echo 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>.'); ?>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
<div id="cipherdata" class="hidden"><?php echo htmlspecialchars($CIPHERDATA, ENT_NOQUOTES); ?></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
121
tpl/page.html
121
tpl/page.html
|
@ -1,121 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8" />
|
|
||||||
<meta name="robots" content="noindex" />
|
|
||||||
<title>{function="i18n::_('PrivateBin')"}</title>
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/privatebin.css?{$VERSION|rawurlencode}" />{if="$SYNTAXHIGHLIGHTING"}
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/prettify/prettify.css?{$VERSION|rawurlencode}" />{if="strlen($SYNTAXHIGHLIGHTINGTHEME)"}
|
|
||||||
<link type="text/css" rel="stylesheet" href="css/prettify/{$SYNTAXHIGHLIGHTINGTHEME}.css?{$VERSION|rawurlencode}" />{/if}{/if}
|
|
||||||
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
|
|
||||||
<script type="text/javascript" src="js/sjcl-1.0.4.js"></script>
|
|
||||||
<script type="text/javascript" src="js/base64-{$BASE64JSVERSION}.js"></script>
|
|
||||||
<script type="text/javascript" src="js/rawdeflate-0.5.js"></script>
|
|
||||||
<script type="text/javascript" src="js/rawinflate-0.3.js"></script>{if="$SYNTAXHIGHLIGHTING"}
|
|
||||||
<script type="text/javascript" src="js/prettify.js?{$VERSION|rawurlencode}"></script>{/if}{if="$MARKDOWN"}
|
|
||||||
<script type="text/javascript" src="js/showdown-1.4.1.js"></script>{/if}
|
|
||||||
<script type="text/javascript" src="js/privatebin.js?{$VERSION|rawurlencode}"></script>
|
|
||||||
<!--[if lt IE 10]>
|
|
||||||
<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
|
|
||||||
<![endif]-->
|
|
||||||
<link rel="apple-touch-icon" href="apple-touch-icon.png?{$VERSION|rawurlencode}" sizes="180x180" />
|
|
||||||
<link rel="icon" type="image/png" href="favicon-32x32.png?{$VERSION|rawurlencode}" sizes="32x32" />
|
|
||||||
<link rel="icon" type="image/png" href="favicon-16x16.png?{$VERSION|rawurlencode}" sizes="16x16" />
|
|
||||||
<link rel="manifest" href="manifest.json?{$VERSION|rawurlencode}" />
|
|
||||||
<link rel="mask-icon" href="safari-pinned-tab.svg?{$VERSION|rawurlencode}" color="#ffcc00" />
|
|
||||||
<link rel="shortcut icon" href="favicon.ico">
|
|
||||||
<meta name="msapplication-config" content="browserconfig.xml">
|
|
||||||
<meta name="theme-color" content="#ffe57e" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<header>
|
|
||||||
<div id="aboutbox">
|
|
||||||
{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>.')"}<br />{if="strlen($NOTICE)"}
|
|
||||||
<span class="blink">▶</span> {$NOTICE}{/if}
|
|
||||||
</div>
|
|
||||||
<h1 class="title reloadlink">{function="i18n::_('PrivateBin')"}</h1><br />
|
|
||||||
<h2 class="title">{function="i18n::_('Because ignorance is bliss')"}</h2><br />
|
|
||||||
<h3 class="title">{$VERSION}</h3>
|
|
||||||
<noscript><div id="noscript" class="nonworking">{function="i18n::_('Javascript is required for PrivateBin to work.<br />Sorry for the inconvenience.')"}</div></noscript>
|
|
||||||
<div id="oldienotice" class="nonworking">{function="i18n::_('PrivateBin requires a modern browser to work.')"}</div>
|
|
||||||
<div id="ienotice">{function="i18n::_('Still using Internet Explorer? Do yourself a favor, switch to a modern browser:')"}
|
|
||||||
<a href="https://www.mozilla.org/firefox/">Firefox</a>,
|
|
||||||
<a href="https://www.opera.com/">Opera</a>,
|
|
||||||
<a href="https://www.google.com/chrome">Chrome</a>,
|
|
||||||
<a href="https://www.apple.com/safari">Safari</a>,
|
|
||||||
<a href="https://www.microsoft.com/edge">Edge</a>...
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
<section>
|
|
||||||
<article>
|
|
||||||
<div id="status">{$STATUS|htmlspecialchars}</div>
|
|
||||||
<div id="errormessage" class="hidden">{$ERROR|htmlspecialchars}</div>
|
|
||||||
<div id="toolbar">
|
|
||||||
<button id="newbutton" class="reloadlink hidden"><img src="img/icon_new.png" width="11" height="15" alt="" />{function="i18n::_('New')"}</button>
|
|
||||||
<button id="sendbutton" class="hidden"><img src="img/icon_send.png" width="18" height="15" alt="" />{function="i18n::_('Send')"}</button>{if="$EXPIRECLONE"}
|
|
||||||
<button id="clonebutton" class="hidden"><img src="img/icon_clone.png" width="15" height="17" alt="" />{function="i18n::_('Clone')"}</button>{/if}
|
|
||||||
<button id="rawtextbutton" class="hidden"><img src="img/icon_raw.png" width="15" height="15" alt="" />{function="i18n::_('Raw text')"}</button>
|
|
||||||
<div id="expiration" class="hidden button">{function="i18n::_('Expires')"}:
|
|
||||||
<select id="pasteExpiration" name="pasteExpiration">
|
|
||||||
{loop="EXPIRE"}
|
|
||||||
<option value="{$key}"{if="$key == $EXPIREDEFAULT"} selected="selected"{/if}>{$value}</option>{/loop}
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div id="remainingtime" class="hidden"></div>
|
|
||||||
<div id="burnafterreadingoption" class="button hidden">
|
|
||||||
<input type="checkbox" id="burnafterreading" name="burnafterreading" {if="$BURNAFTERREADINGSELECTED"} checked="checked"{/if} />
|
|
||||||
<label for="burnafterreading">{function="i18n::_('Burn after reading')"}</label>
|
|
||||||
</div>{if="$DISCUSSION"}
|
|
||||||
<div id="opendisc" class="button hidden">
|
|
||||||
<input type="checkbox" id="opendiscussion" name="opendiscussion" {if="$OPENDISCUSSION"} checked="checked"{/if} />
|
|
||||||
<label for="opendiscussion" {if="!$OPENDISCUSSION"} style="color: #BBBBBB;"{/if}>{function="i18n::_('Open discussion')"}</label>
|
|
||||||
</div>{/if}{if="$PASSWORD"}
|
|
||||||
<div id="password" class="hidden">
|
|
||||||
<input type="password" id="passwordinput" placeholder="{function="i18n::_('Password (recommended)')"}" size="32" />
|
|
||||||
</div>{/if}
|
|
||||||
<div id="formatter" class="button hidden">{function="i18n::_('Format')"}:
|
|
||||||
<select id="pasteFormatter" name="pasteFormatter">
|
|
||||||
{loop="FORMATTER"}
|
|
||||||
<option value="{$key}"{if="$key == $FORMATTERDEFAULT"} selected="selected"{/if}>{$value}</option>{/loop}
|
|
||||||
</select>
|
|
||||||
</div>{if="strlen($LANGUAGESELECTION)"}
|
|
||||||
<div id="language" class="button">
|
|
||||||
<select name="lang">
|
|
||||||
{loop="LANGUAGES"}
|
|
||||||
<option class="reloadlink" onclick="document.cookie='lang={$key}';" value="{$key}"{if="$key == $LANGUAGESELECTION"} selected="selected"{/if}>{$value[0]} ({$value[1]})</option>{/loop}
|
|
||||||
</select>
|
|
||||||
</div>{/if}
|
|
||||||
</div>
|
|
||||||
<div id="pasteresult" class="hidden">
|
|
||||||
<div id="deletelink"></div>
|
|
||||||
<div id="pastelink">{if="strlen($URLSHORTENER)"}
|
|
||||||
<button id="shortenbutton" data-shortener="{$URLSHORTENER|htmlspecialchars}"><img src="img/icon_shorten.png" width="13" height="15" />{function="i18n::_('Shorten URL')"}</button>
|
|
||||||
{/if}</div>
|
|
||||||
</div>{if="$FILEUPLOAD"}
|
|
||||||
<div id="attachment" class="hidden"><a>{function="i18n::_('Download attachment')"}</a></div>
|
|
||||||
<div id="attach" class="hidden">
|
|
||||||
<span id="clonedfile" class="hidden">{function="i18n::_('Cloned file attached.')"}</span>
|
|
||||||
<span id="filewrap">{function="i18n::_('Attach a file')"}: <input type="file" id="file" name="file" /></span>
|
|
||||||
<button id="fileremovebutton">{function="i18n::_('Remove attachment')"}</button>
|
|
||||||
</div>{/if}
|
|
||||||
<div id="preview" class="hidden">
|
|
||||||
<button id="messageedit">{function="i18n::_('Editor')"}</button>
|
|
||||||
<button id="messagepreview">{function="i18n::_('Preview')"}</button>
|
|
||||||
</div>
|
|
||||||
<div id="image" class="hidden"></div>
|
|
||||||
<div id="prettymessage" class="hidden">
|
|
||||||
<pre id="prettyprint" class="prettyprint linenums:1"></pre>
|
|
||||||
</div>
|
|
||||||
<div id="cleartext" class="hidden"></div>
|
|
||||||
<textarea id="message" name="message" cols="80" rows="25" class="hidden"></textarea>
|
|
||||||
</article>
|
|
||||||
</section>
|
|
||||||
<section>
|
|
||||||
<div id="discussion" class="hidden">
|
|
||||||
<h4 class="title">{function="i18n::_('Discussion')"}</h4>
|
|
||||||
<div id="comments"></div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<div id="cipherdata" class="hidden">{$CIPHERDATA}</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
157
tpl/page.php
Normal file
157
tpl/page.php
Normal file
|
@ -0,0 +1,157 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="robots" content="noindex" />
|
||||||
|
<title><?php echo i18n::_('PrivateBin'); ?></title>
|
||||||
|
<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
|
||||||
|
if (strlen($SYNTAXHIGHLIGHTINGTHEME)): ?>
|
||||||
|
<link type="text/css" rel="stylesheet" href="css/prettify/<?php echo rawurlencode($SYNTAXHIGHLIGHTINGTHEME); ?>.css?<?php echo rawurlencode($VERSION); ?>" /><?php
|
||||||
|
endif;
|
||||||
|
endif; ?>
|
||||||
|
<script type="text/javascript" src="js/jquery-1.11.3.js"></script>
|
||||||
|
<script type="text/javascript" src="js/sjcl-1.0.4.js"></script>
|
||||||
|
<script type="text/javascript" src="js/base64-<?php echo rawurlencode($BASE64JSVERSION); ?>.js"></script>
|
||||||
|
<script type="text/javascript" src="js/rawdeflate-0.5.js"></script>
|
||||||
|
<script type="text/javascript" src="js/rawinflate-0.3.js"></script><?php
|
||||||
|
if ($SYNTAXHIGHLIGHTING): ?>
|
||||||
|
<script type="text/javascript" src="js/prettify.js?<?php echo rawurlencode($VERSION); ?>"></script><?php
|
||||||
|
endif;
|
||||||
|
if ($MARKDOWN): ?>
|
||||||
|
<script type="text/javascript" src="js/showdown-1.4.1.js"></script><?php
|
||||||
|
endif; ?>
|
||||||
|
<script type="text/javascript" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>"></script>
|
||||||
|
<!--[if lt IE 10]>
|
||||||
|
<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;} #oldienotice {display:block;}</style>
|
||||||
|
<![endif]-->
|
||||||
|
<link rel="apple-touch-icon" href="apple-touch-icon.png?<?php echo rawurlencode($VERSION); ?>" sizes="180x180" />
|
||||||
|
<link rel="icon" type="image/png" href="favicon-32x32.png?<?php echo rawurlencode($VERSION); ?>" sizes="32x32" />
|
||||||
|
<link rel="icon" type="image/png" href="favicon-16x16.png?<?php echo rawurlencode($VERSION); ?>" sizes="16x16" />
|
||||||
|
<link rel="manifest" href="manifest.json?<?php echo rawurlencode($VERSION); ?>" />
|
||||||
|
<link rel="mask-icon" href="safari-pinned-tab.svg?<?php echo rawurlencode($VERSION); ?>" color="#ffcc00" />
|
||||||
|
<link rel="shortcut icon" href="favicon.ico">
|
||||||
|
<meta name="msapplication-config" content="browserconfig.xml">
|
||||||
|
<meta name="theme-color" content="#ffe57e" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<header>
|
||||||
|
<div id="aboutbox">
|
||||||
|
<?php echo 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>.'); ?><br /><?php
|
||||||
|
if (strlen($NOTICE)): ?>
|
||||||
|
<span class="blink">▶</span> <?php echo htmlspecialchars($NOTICE);
|
||||||
|
endif; ?>
|
||||||
|
</div>
|
||||||
|
<h1 class="title reloadlink"><?php echo i18n::_('PrivateBin'); ?></h1><br />
|
||||||
|
<h2 class="title"><?php echo i18n::_('Because ignorance is bliss'); ?></h2><br />
|
||||||
|
<h3 class="title"><?php echo $VERSION; ?></h3>
|
||||||
|
<noscript><div id="noscript" class="nonworking"><?php echo i18n::_('Javascript is required for PrivateBin to work.<br />Sorry for the inconvenience.'); ?></div></noscript>
|
||||||
|
<div id="oldienotice" class="nonworking"><?php echo i18n::_('PrivateBin requires a modern browser to work.'); ?></div>
|
||||||
|
<div id="ienotice"><?php echo i18n::_('Still using Internet Explorer? Do yourself a favor, switch to a modern browser:'); ?>
|
||||||
|
<a href="https://www.mozilla.org/firefox/">Firefox</a>,
|
||||||
|
<a href="https://www.opera.com/">Opera</a>,
|
||||||
|
<a href="https://www.google.com/chrome">Chrome</a>,
|
||||||
|
<a href="https://www.apple.com/safari">Safari</a>...
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<section>
|
||||||
|
<article>
|
||||||
|
<div id="status"><?php echo htmlspecialchars($STATUS); ?></div>
|
||||||
|
<div id="errormessage" class="hidden"><?php echo htmlspecialchars($ERROR); ?></div>
|
||||||
|
<div id="toolbar">
|
||||||
|
<button id="newbutton" class="reloadlink hidden"><img src="img/icon_new.png" width="11" height="15" alt="" /><?php echo i18n::_('New'); ?></button>
|
||||||
|
<button id="sendbutton" class="hidden"><img src="img/icon_send.png" width="18" height="15" alt="" /><?php echo i18n::_('Send'); ?></button><?php
|
||||||
|
if ($EXPIRECLONE): ?>
|
||||||
|
<button id="clonebutton" class="hidden"><img src="img/icon_clone.png" width="15" height="17" alt="" /><?php echo i18n::_('Clone'); ?></button><?php
|
||||||
|
endif; ?>
|
||||||
|
<button id="rawtextbutton" class="hidden"><img src="img/icon_raw.png" width="15" height="15" alt="" /><?php echo i18n::_('Raw text'); ?></button>
|
||||||
|
<div id="expiration" class="hidden button"><?php echo i18n::_('Expires'); ?>:
|
||||||
|
<select id="pasteExpiration" name="pasteExpiration"><?php
|
||||||
|
foreach ($EXPIRE as $key => $value): ?>
|
||||||
|
<option value="<?php echo $key; ?>"<?php
|
||||||
|
if ($key == $EXPIREDEFAULT): ?> selected="selected"<?php
|
||||||
|
endif; ?>><?php echo $value; ?></option><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div id="remainingtime" class="hidden"></div>
|
||||||
|
<div id="burnafterreadingoption" class="button hidden">
|
||||||
|
<input type="checkbox" id="burnafterreading" name="burnafterreading" <?php
|
||||||
|
if ($BURNAFTERREADINGSELECTED): ?> checked="checked"<?php
|
||||||
|
endif; ?> />
|
||||||
|
<label for="burnafterreading"><?php echo i18n::_('Burn after reading'); ?></label>
|
||||||
|
</div><?php
|
||||||
|
if ($DISCUSSION): ?>
|
||||||
|
<div id="opendisc" class="button hidden">
|
||||||
|
<input type="checkbox" id="opendiscussion" name="opendiscussion" <?php
|
||||||
|
if ($OPENDISCUSSION): ?> checked="checked"<?php
|
||||||
|
endif; ?> />
|
||||||
|
<label for="opendiscussion" <?php
|
||||||
|
if (!$OPENDISCUSSION): ?> style="color: #BBBBBB;"<?php
|
||||||
|
endif; ?>><?php echo i18n::_('Open discussion'); ?></label>
|
||||||
|
</div><?php
|
||||||
|
endif;
|
||||||
|
if ($PASSWORD): ?>
|
||||||
|
<div id="password" class="hidden">
|
||||||
|
<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): ?>
|
||||||
|
<option value="<?php echo $key; ?>"<?php
|
||||||
|
if ($key == $FORMATTERDEFAULT): ?> selected="selected"<?php
|
||||||
|
endif; ?>><?php echo $value; ?></option><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</select>
|
||||||
|
</div><?php
|
||||||
|
if (strlen($LANGUAGESELECTION)): ?>
|
||||||
|
<div id="language" class="button">
|
||||||
|
<select name="lang"><?php
|
||||||
|
foreach ($LANGUAGES as $key => $value): ?>
|
||||||
|
<option class="reloadlink" onclick="document.cookie='lang=<?php echo $key; ?>';" value="<?php echo $key; ?>"<?php
|
||||||
|
if ($key == $LANGUAGESELECTION): ?> selected="selected"<?php
|
||||||
|
endif; ?>><?php echo $value[0]; ?> (<?php echo $value[1]; ?>)</option><?php
|
||||||
|
endforeach; ?>
|
||||||
|
</select>
|
||||||
|
</div><?php
|
||||||
|
endif; ?>
|
||||||
|
</div>
|
||||||
|
<div id="pasteresult" class="hidden">
|
||||||
|
<div id="deletelink"></div>
|
||||||
|
<div id="pastelink"><?php
|
||||||
|
if (strlen($URLSHORTENER)): ?>
|
||||||
|
<button id="shortenbutton" data-shortener="<?php echo htmlspecialchars($URLSHORTENER); ?>"><img src="img/icon_shorten.png" width="13" height="15" /><?php echo i18n::_('Shorten URL'); ?></button><?php
|
||||||
|
endif; ?>
|
||||||
|
</div>
|
||||||
|
</div><?php
|
||||||
|
if ($FILEUPLOAD): ?>
|
||||||
|
<div id="attachment" class="hidden"><a><?php echo i18n::_('Download attachment'); ?></a></div>
|
||||||
|
<div id="attach" class="hidden">
|
||||||
|
<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>
|
||||||
|
<button id="fileremovebutton"><?php echo i18n::_('Remove attachment'); ?></button>
|
||||||
|
</div><?php
|
||||||
|
endif; ?>
|
||||||
|
<div id="preview" class="hidden">
|
||||||
|
<button id="messageedit"><?php echo i18n::_('Editor'); ?></button>
|
||||||
|
<button id="messagepreview"><?php echo i18n::_('Preview'); ?></button>
|
||||||
|
</div>
|
||||||
|
<div id="image" class="hidden"></div>
|
||||||
|
<div id="prettymessage" class="hidden">
|
||||||
|
<pre id="prettyprint" class="prettyprint linenums:1"></pre>
|
||||||
|
</div>
|
||||||
|
<div id="cleartext" class="hidden"></div>
|
||||||
|
<textarea id="message" name="message" cols="80" rows="25" class="hidden"></textarea>
|
||||||
|
</article>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<div id="discussion" class="hidden">
|
||||||
|
<h4 class="title"><?php echo i18n::_('Discussion'); ?></h4>
|
||||||
|
<div id="comments"></div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<div id="cipherdata" class="hidden"><?php echo htmlspecialchars($CIPHERDATA, ENT_NOQUOTES); ?></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -1,10 +1,18 @@
|
||||||
<?php
|
<?php
|
||||||
class RainTPLTest extends PHPUnit_Framework_TestCase
|
class viewTest extends PHPUnit_Framework_TestCase
|
||||||
{
|
{
|
||||||
private static $error = 'foo bar';
|
private static $error = 'foo bar';
|
||||||
|
|
||||||
private static $status = '!*#@?$+';
|
private static $status = '!*#@?$+';
|
||||||
|
|
||||||
|
private static $formatters = array(
|
||||||
|
'plaintext' => 'Plain Text',
|
||||||
|
'syntaxhighlighting' => 'Source Code',
|
||||||
|
'markdown' => 'Markdown',
|
||||||
|
);
|
||||||
|
|
||||||
|
private static $formatter_default = 'plaintext';
|
||||||
|
|
||||||
private static $expire = array(
|
private static $expire = array(
|
||||||
'5min' => '5 minutes',
|
'5min' => '5 minutes',
|
||||||
'1hour' => '1 hour',
|
'1hour' => '1 hour',
|
||||||
|
@ -20,12 +28,8 @@ class RainTPLTest extends PHPUnit_Framework_TestCase
|
||||||
public function setUp()
|
public function setUp()
|
||||||
{
|
{
|
||||||
/* Setup Routine */
|
/* Setup Routine */
|
||||||
$page = new RainTPL;
|
$page = new view;
|
||||||
$page::configure(array('cache_dir' => 'tmp/'));
|
$page->assign('CIPHERDATA', helper::getPaste()['data']);
|
||||||
$page::$path_replace = false;
|
|
||||||
|
|
||||||
// We escape it here because ENT_NOQUOTES can't be used in RainTPL templates.
|
|
||||||
$page->assign('CIPHERDATA', htmlspecialchars(helper::getPaste()['data'], ENT_NOQUOTES));
|
|
||||||
$page->assign('ERROR', self::$error);
|
$page->assign('ERROR', self::$error);
|
||||||
$page->assign('STATUS', self::$status);
|
$page->assign('STATUS', self::$status);
|
||||||
$page->assign('VERSION', self::$version);
|
$page->assign('VERSION', self::$version);
|
||||||
|
@ -34,6 +38,8 @@ class RainTPLTest extends PHPUnit_Framework_TestCase
|
||||||
$page->assign('MARKDOWN', true);
|
$page->assign('MARKDOWN', true);
|
||||||
$page->assign('SYNTAXHIGHLIGHTING', true);
|
$page->assign('SYNTAXHIGHLIGHTING', true);
|
||||||
$page->assign('SYNTAXHIGHLIGHTINGTHEME', 'sons-of-obsidian');
|
$page->assign('SYNTAXHIGHLIGHTINGTHEME', 'sons-of-obsidian');
|
||||||
|
$page->assign('FORMATTER', self::$formatters);
|
||||||
|
$page->assign('FORMATTERDEFAULT', self::$formatter_default);
|
||||||
$page->assign('BURNAFTERREADINGSELECTED', false);
|
$page->assign('BURNAFTERREADINGSELECTED', false);
|
||||||
$page->assign('PASSWORD', true);
|
$page->assign('PASSWORD', true);
|
||||||
$page->assign('FILEUPLOAD', false);
|
$page->assign('FILEUPLOAD', false);
|
||||||
|
@ -48,16 +54,12 @@ class RainTPLTest extends PHPUnit_Framework_TestCase
|
||||||
ob_start();
|
ob_start();
|
||||||
$page->draw('page');
|
$page->draw('page');
|
||||||
$this->_content = ob_get_contents();
|
$this->_content = ob_get_contents();
|
||||||
// run a second time from cache
|
|
||||||
$page->cache('page');
|
|
||||||
$page->draw('page');
|
|
||||||
ob_end_clean();
|
ob_end_clean();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function tearDown()
|
public function tearDown()
|
||||||
{
|
{
|
||||||
/* Tear Down Routine */
|
/* Tear Down Routine */
|
||||||
helper::rmdir(PATH . 'tmp');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testTemplateRendersCorrectly()
|
public function testTemplateRendersCorrectly()
|
||||||
|
@ -98,11 +100,12 @@ class RainTPLTest extends PHPUnit_Framework_TestCase
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @expectedException RainTpl_Exception
|
* @expectedException Exception
|
||||||
|
* @expectedExceptionCode 80
|
||||||
*/
|
*/
|
||||||
public function testMissingTemplate()
|
public function testMissingTemplate()
|
||||||
{
|
{
|
||||||
$test = new RainTPL;
|
$test = new view;
|
||||||
$test->draw('123456789 does not exist!');
|
$test->draw('123456789 does not exist!');
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in a new issue