additional_plugins/serendipity_event_typesetbuttons/buttons/AposButton.php
Matthias Gutjahr 51710d37e9 Complete refactoring of serendipity_event_typesetbuttons
- Add new syntax for s9y 2.0
- Add button classes
- Add unit tests
2014-04-25 10:12:17 +02:00

74 lines
1.8 KiB
PHP

<?php
require_once 'Button.php';
/**
* Class AposButton
*/
class AposButton extends Button
{
/**
* @var bool
*/
protected $useRealApos = true;
/**
* Constructor
*
* @param string $textarea
*/
public function __construct($textarea)
{
parent::__construct($textarea);
$this->setName('insapos');
$this->setValue(PLUGIN_EVENT_TYPESETBUTTONS_APOS_BUTTON);
}
/**
* @return boolean
*/
public function isUseRealApos()
{
return $this->useRealApos;
}
/**
* @param boolean $useRealApos
*/
public function setUseRealApos($useRealApos)
{
$this->useRealApos = $useRealApos;
}
/**
* @return string
*/
public function render()
{
if ($this->isLegacyMode()) {
$this->addClass('serendipityPrettyButton');
$this->addClass('input_button');
if ($this->isUseRealApos() === false) {
if ($this->isUseNamedEnts()) {
$this->setOnClickEvent(
"wrapSelection(document.forms['serendipityEntry']['" . $this->getTextarea(
) . "'],'&rsquo;','')"
);
} else {
$this->setOnClickEvent(
"wrapSelection(document.forms['serendipityEntry']['" . $this->getTextarea(
) . "'],'&#8217;','')"
);
}
} else {
$this->setOnClickEvent(
"wrapSelection(document.forms['serendipityEntry']['" . $this->getTextarea() . "'],'\\&\\#39\\;','')"
);
}
} else {
$this->addClass('wrap_selection');
$this->setOpenTag('&apos;');
}
return parent::render();
}
}