adding option to hide clone button on expiring pastes, resolves #34
This commit is contained in:
parent
f96b0c0afe
commit
ca07398b66
8 changed files with 26 additions and 9 deletions
|
@ -53,6 +53,10 @@ languageselection = false
|
||||||
; make sure the value exists in [expire_options]
|
; make sure the value exists in [expire_options]
|
||||||
default = "1week"
|
default = "1week"
|
||||||
|
|
||||||
|
; optionally the "clone" button can be disabled on expiring pastes
|
||||||
|
; note that this only hides the button, copy & paste is still possible
|
||||||
|
; clone = false
|
||||||
|
|
||||||
[expire_options]
|
[expire_options]
|
||||||
; Set each one of these to the number of seconds in the expiration period,
|
; Set each one of these to the number of seconds in the expiration period,
|
||||||
; or 0 if it should never expire
|
; or 0 if it should never expire
|
||||||
|
|
|
@ -46,6 +46,7 @@ class configuration
|
||||||
),
|
),
|
||||||
'expire' => array(
|
'expire' => array(
|
||||||
'default' => '1week',
|
'default' => '1week',
|
||||||
|
'clone' => true,
|
||||||
),
|
),
|
||||||
'expire_options' => array(
|
'expire_options' => array(
|
||||||
'5min' => 300,
|
'5min' => 300,
|
||||||
|
|
|
@ -47,6 +47,14 @@ class zerobin
|
||||||
*/
|
*/
|
||||||
private $_data = '';
|
private $_data = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* does the paste expire
|
||||||
|
*
|
||||||
|
* @access private
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
private $_doesExpire = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* formatter
|
* formatter
|
||||||
*
|
*
|
||||||
|
@ -354,7 +362,9 @@ class zerobin
|
||||||
$paste = $this->_model->getPaste($dataid);
|
$paste = $this->_model->getPaste($dataid);
|
||||||
if ($paste->exists())
|
if ($paste->exists())
|
||||||
{
|
{
|
||||||
$this->_data = json_encode($paste->get());
|
$data = $paste->get();
|
||||||
|
$this->_doesExpire = property_exists($data, 'meta') && property_exists($data->meta, 'expire_date');
|
||||||
|
$this->_data = json_encode($data);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -434,6 +444,7 @@ class zerobin
|
||||||
$page->assign('LANGUAGES', i18n::getLanguageLabels(i18n::getAvailableLanguages()));
|
$page->assign('LANGUAGES', i18n::getLanguageLabels(i18n::getAvailableLanguages()));
|
||||||
$page->assign('EXPIRE', $expire);
|
$page->assign('EXPIRE', $expire);
|
||||||
$page->assign('EXPIREDEFAULT', $this->_conf->getKey('default', 'expire'));
|
$page->assign('EXPIREDEFAULT', $this->_conf->getKey('default', 'expire'));
|
||||||
|
$page->assign('EXPIRECLONE', !$this->_doesExpire || ($this->_doesExpire && $this->_conf->getKey('clone', 'expire')));
|
||||||
$page->draw($this->_conf->getKey('template'));
|
$page->draw($this->_conf->getKey('template'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -41,10 +41,10 @@
|
||||||
<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="t('Send')"}
|
<span class="glyphicon glyphicon-upload" aria-hidden="true"></span> {function="t('Send')"}
|
||||||
</button>
|
</button>{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="t('Clone')"}
|
<span class="glyphicon glyphicon-duplicate" aria-hidden="true"></span> {function="t('Clone')"}
|
||||||
</button>
|
</button>{/if}
|
||||||
<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="t('Raw text')"}
|
<span class="glyphicon glyphicon-text-background" aria-hidden="true"></span> {function="t('Raw text')"}
|
||||||
</button>
|
</button>
|
||||||
|
|
|
@ -40,10 +40,10 @@
|
||||||
<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="t('Send')"}
|
<span class="glyphicon glyphicon-upload" aria-hidden="true"></span> {function="t('Send')"}
|
||||||
</button>
|
</button>{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="t('Clone')"}
|
<span class="glyphicon glyphicon-duplicate" aria-hidden="true"></span> {function="t('Clone')"}
|
||||||
</button>
|
</button>{/if}
|
||||||
<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="t('Raw text')"}
|
<span class="glyphicon glyphicon-text-background" aria-hidden="true"></span> {function="t('Raw text')"}
|
||||||
</button>
|
</button>
|
||||||
|
|
|
@ -40,10 +40,10 @@
|
||||||
<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="t('New')"}
|
<span class="glyphicon glyphicon-file" aria-hidden="true"></span> {function="t('New')"}
|
||||||
</button>
|
</button>{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="t('Clone')"}
|
<span class="glyphicon glyphicon-duplicate" aria-hidden="true"></span> {function="t('Clone')"}
|
||||||
</button>
|
</button>{/if}
|
||||||
<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="t('Raw text')"}
|
<span class="glyphicon glyphicon-text-background" aria-hidden="true"></span> {function="t('Raw text')"}
|
||||||
</button>
|
</button>
|
||||||
|
|
|
@ -43,8 +43,8 @@
|
||||||
<div id="errormessage" class="hidden">{$ERROR|htmlspecialchars}</div>
|
<div id="errormessage" class="hidden">{$ERROR|htmlspecialchars}</div>
|
||||||
<div id="toolbar">
|
<div id="toolbar">
|
||||||
<button id="newbutton" class="reloadlink hidden"><img src="img/icon_new.png" width="11" height="15" alt="" />{function="t('New')"}</button>
|
<button id="newbutton" class="reloadlink hidden"><img src="img/icon_new.png" width="11" height="15" alt="" />{function="t('New')"}</button>
|
||||||
<button id="sendbutton" class="hidden"><img src="img/icon_send.png" width="18" height="15" alt="" />{function="t('Send')"}</button>
|
<button id="sendbutton" class="hidden"><img src="img/icon_send.png" width="18" height="15" alt="" />{function="t('Send')"}</button>{if="$EXPIRECLONE"}
|
||||||
<button id="clonebutton" class="hidden"><img src="img/icon_clone.png" width="15" height="17" alt="" />{function="t('Clone')"}</button>
|
<button id="clonebutton" class="hidden"><img src="img/icon_clone.png" width="15" height="17" alt="" />{function="t('Clone')"}</button>{/if}
|
||||||
<button id="rawtextbutton" class="hidden"><img src="img/icon_raw.png" width="15" height="15" alt="" />{function="t('Raw text')"}</button>
|
<button id="rawtextbutton" class="hidden"><img src="img/icon_raw.png" width="15" height="15" alt="" />{function="t('Raw text')"}</button>
|
||||||
<div id="expiration" class="hidden button">{function="t('Expires')"}:
|
<div id="expiration" class="hidden button">{function="t('Expires')"}:
|
||||||
<select id="pasteExpiration" name="pasteExpiration">
|
<select id="pasteExpiration" name="pasteExpiration">
|
||||||
|
|
|
@ -43,6 +43,7 @@ class RainTPLTest extends PHPUnit_Framework_TestCase
|
||||||
$page->assign('LANGUAGES', i18n::getLanguageLabels(i18n::getAvailableLanguages()));
|
$page->assign('LANGUAGES', i18n::getLanguageLabels(i18n::getAvailableLanguages()));
|
||||||
$page->assign('EXPIRE', self::$expire);
|
$page->assign('EXPIRE', self::$expire);
|
||||||
$page->assign('EXPIREDEFAULT', self::$expire_default);
|
$page->assign('EXPIREDEFAULT', self::$expire_default);
|
||||||
|
$page->assign('EXPIRECLONE', true);
|
||||||
ob_start();
|
ob_start();
|
||||||
$page->draw('page');
|
$page->draw('page');
|
||||||
$this->_content = ob_get_contents();
|
$this->_content = ob_get_contents();
|
||||||
|
|
Loading…
Reference in a new issue