Пример #1
0
$n['right'] = '<button class="btn btn-search" type="submit"><i class="rex-icon rex-icon-search"></i></button>';
//$n['right'] = $dropdown;
$formElements[] = $n;
$fragment = new rex_fragment();
$fragment->setVar('elements', $formElements, false);
$toolbar = $fragment->parse('core/form/input_group.php');
$toolbar = '
<div class="navbar-form navbar-right">
<form action="' . rex_url::currentBackendPage() . '" method="post">
    ' . $arg_fields . '
    <div class="form-group">
    ' . $toolbar . '
    </div>
</form>
</div>';
$context = new rex_context(['page' => rex_be_controller::getCurrentPage()]);
/*
$view_buttons = [];

// symbol view
$button = [];
$button['url'] = $context->getUrl(['func' => 'media-view-icon']);
$button['attributes']['class'][] = 'btn-default';
$button['attributes']['title'] = rex_i18n::msg('mediapool_view_icon');
$button['icon'] = 'view-icon';
$view_buttons[] = $button;

// list view
$button = [];
$button['url'] = $context->getUrl(['func' => 'media-view-list']);
$button['attributes']['class'][] = 'btn-default';
Пример #2
0
 /**
  * Returns the url to the current backend page.
  *
  * @param array $params Params
  * @param bool  $escape Flag whether the argument separator "&" should be escaped (&amp;)
  *
  * @return string
  */
 public static function currentBackendPage(array $params = [], $escape = true)
 {
     return self::backendPage(rex_be_controller::getCurrentPage(), $params, $escape);
 }
Пример #3
0
 public static function addSlice()
 {
     $article_id = rex_request('article_id', 'int');
     $function = rex_request('page', 'string');
     $cut_slice_id = $slice_id = $_SESSION['slice_ui']['slice_id'];
     $module_id = $_SESSION['slice_ui']['module_id'];
     $clang = rex_get('clang');
     $ctype = rex_get('ctype');
     if (!self::checkPermissions(array('article_id' => $article_id, 'clang' => $clang, 'ctype' => $ctype, 'module_id' => $module_id))) {
         // Alle OBs schließen
         while (@ob_end_clean()) {
         }
         header("Location: " . rex_url::backendController() . '?article_id=' . $article_id . '&clang=' . $clang . '&page=content/edit&ctype=' . $ctype);
         exit;
     }
     $slice_revision = 0;
     $template_attributes = [];
     $newsql = rex_sql::factory();
     // $newsql->setDebug();
     $sliceTable = rex::getTablePrefix() . 'article_slice';
     $newsql->setTable($sliceTable);
     if (strpos($function, 'content/paste') !== false && !empty($_SESSION['slice_ui'])) {
         // determine priority value to get the new slice into the right order
         $priority = '0';
         // $prevSlice->setDebug();
         if ($function === 'content/paste') {
             $priority = 1;
         } else {
             $prevSlice = rex_sql::factory();
             $prevSlice->setQuery('SELECT * FROM ' . $sliceTable . ' WHERE id=' . rex_get('slice_id'));
             $priority = $prevSlice->getValue('priority') + 1;
         }
         $newsql->setValue('article_id', $article_id);
         $newsql->setValue('module_id', $module_id);
         $newsql->setValue('clang_id', $clang);
         $newsql->setValue('ctype_id', $ctype);
         $newsql->setValue('revision', $slice_revision);
         $newsql->setValue('priority', $priority);
         $newsql->addGlobalUpdateFields();
         $newsql->addGlobalCreateFields();
         try {
             $newsql->insert();
             $info = $action_message . rex_i18n::msg('block_added');
             $slice_id = $newsql->getLastId();
             if ($slice_id !== 0) {
                 $_SESSION['slice_ui']['slice_id'] = $slice_id;
             }
             rex_sql_util::organizePriorities(rex::getTable('article_slice'), 'priority', 'article_id=' . $article_id . ' AND clang_id=' . $clang . ' AND ctype_id=' . $ctype . ' AND revision=' . $slice_revision, 'priority, updatedate DESC');
             $function = '';
             // ----- EXTENSION POINT
             rex_extension::registerPoint(new rex_extension_point('SLICE_PASTED', '', ['article_id' => $article_id, 'clang' => $clang, 'function' => $function, 'slice_id' => $slice_id, 'page' => rex_be_controller::getCurrentPage(), 'ctype' => $ctype, 'category_id' => $category_id, 'module_id' => $module_id, 'article_revision' => &$article_revision, 'slice_revision' => &$slice_revision]));
             if ($_SESSION['slice_ui']['cut'] == 1) {
                 $curr = rex_sql::factory();
                 $curr->setDebug();
                 $curr->setTable($sliceTable);
                 $curr->setWhere(array('id' => $cut_slice_id));
                 $curr->delete();
                 rex_sql_util::organizePriorities(rex::getTable('article_slice'), 'priority', 'article_id=' . $_SESSION['slice_ui']['article_id'] . ' AND clang_id=' . $clang . ' AND ctype_id=' . $ctype . ' AND revision=' . $slice_revision, 'priority, updatedate DESC');
             }
         } catch (rex_sql_exception $e) {
             // echo rex_view::warning($e->getMessage());
         }
         // Alle OBs schließen
         while (@ob_end_clean()) {
         }
         header("Location: " . rex_url::backendController() . '?article_id=' . $article_id . '&clang=' . $clang . '&page=content/edit&ctype=' . $ctype);
         exit;
     }
 }
Пример #4
0
rex_view::setJsProperty('backend', true);
rex_view::setJsProperty('accesskeys', rex::getProperty('use_accesskeys'));
// ----- INCLUDE ADDONS
include_once rex_path::core('packages.php');
// ----- Prepare AddOn Pages
if (rex::getUser()) {
    rex_be_controller::appendPackagePages();
}
$pages = rex_extension::registerPoint(new rex_extension_point('PAGES_PREPARED', rex_be_controller::getPages()));
rex_be_controller::setPages($pages);
// Set Startpage
if ($user = rex::getUser()) {
    // --- page pruefen und benoetigte rechte checken
    rex_be_controller::checkPagePermissions($user);
}
$page = rex_be_controller::getCurrentPage();
rex_view::setJsProperty('page', $page);
// ----- EXTENSION POINT
// page variable validated
rex_extension::registerPoint(new rex_extension_point('PAGE_CHECKED', $page, ['pages' => $pages], true));
// trigger api functions
// If the backend session is timed out, rex_api_function would throw an exception
// so only trigger api functions if page != login
if ($page != 'login') {
    rex_api_function::handleCall();
}
// include the requested backend page
rex_be_controller::includeCurrentPage();
// ----- caching end für output filter
$CONTENT = ob_get_contents();
ob_end_clean();
Пример #5
0
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
use Sprog\Wildcard;
class_alias('\\Sprog\\Wildcard', 'Wildcard');
rex_perm::register('sprog[wildcard]', null, rex_perm::OPTIONS);
if (!rex::isBackend()) {
    \rex_extension::register('OUTPUT_FILTER', '\\Sprog\\Extension::replaceWildcards');
}
if (rex::isBackend() && rex::getUser()) {
    \rex_extension::register('CLANG_ADDED', '\\Sprog\\Extension::clangAdded');
    \rex_extension::register('CLANG_DELETED', '\\Sprog\\Extension::clangDeleted');
    rex_extension::register('PAGES_PREPARED', function () {
        if (rex::getUser()->isAdmin()) {
            if (\rex_be_controller::getCurrentPage() == 'sprog/settings') {
                $func = rex_request('func', 'string');
                if ($func == 'update') {
                    \rex_config::set('sprog', 'wildcard_clang_switch', rex_request('clang_switch', 'bool'));
                }
            }
        }
        if (rex::getUser()->isAdmin() || rex::getUser()->hasPerm('sprog[wildcard]')) {
            $page = \rex_be_controller::getPageObject('sprog/wildcard');
            if (Wildcard::isClangSwitchMode()) {
                $clang_id = str_replace('clang', '', rex_be_controller::getCurrentPagePart(3));
                $page->setSubPath(rex_path::addon('sprog', 'pages/wildcard.clang_switch.php'));
                foreach (\rex_clang::getAll() as $id => $clang) {
                    if (rex::getUser()->getComplexPerm('clang')->hasPerm($id)) {
                        $page->addSubpage((new rex_be_page('clang' . $id, $clang->getName()))->setSubPath(rex_path::addon('sprog', 'pages/wildcard.clang_switch.php'))->setIsActive($id == $clang_id));
                    }
Пример #6
0
 private function getModuleSelect($sliceId)
 {
     // ----- BLOCKAUSWAHL - SELECT
     $context = new rex_context(['page' => rex_be_controller::getCurrentPage(), 'article_id' => $this->article_id, 'clang' => $this->clang, 'ctype' => $this->ctype, 'slice_id' => $sliceId, 'function' => 'add']);
     $items = [];
     if (isset($this->MODULESELECT[$this->ctype])) {
         foreach ($this->MODULESELECT[$this->ctype] as $module) {
             $item = [];
             $item['title'] = $module['name'];
             $item['href'] = $context->getUrl(['module_id' => $module['id']]) . '#slice' . $sliceId;
             $items[] = $item;
         }
     }
     $fragment = new rex_fragment();
     $fragment->setVar('block', true);
     $fragment->setVar('button_label', rex_i18n::msg('add_block'));
     $fragment->setVar('items', $items, false);
     return '<li class="rex-slice rex-slice-select">' . $fragment->parse('core/dropdowns/dropdown.php') . '</li>';
 }
Пример #7
0
 protected function loadBackendConfig()
 {
     $this->addParam('page', rex_be_controller::getCurrentPage());
 }
Пример #8
0
/**
 * Layout Kopf des Backends.
 *
 * @package redaxo5
 */
$curPage = rex_be_controller::getCurrentPageObject();
if (!$curPage->hasLayout()) {
    if (rex_request::isPJAXRequest()) {
        // add title to the page, so pjax can update it. see gh#136
        echo '<title>' . htmlspecialchars(rex_be_controller::getPageTitle()) . '</title>';
    }
    return;
}
$body_attr = [];
$body_id = rex_string::normalize(rex_be_controller::getCurrentPage(), '-', ' ');
$body_attr['id'] = ['rex-page-' . $body_id];
$body_attr['onunload'] = ['closeAll();'];
$body_attr['class'] = ['rex-is-logged-out'];
if (rex::getUser()) {
    $body_attr['class'] = ['rex-is-logged-in'];
}
if ($curPage->isPopup()) {
    $body_attr['class'][] = 'rex-is-popup';
}
// ----- EXTENSION POINT
$body_attr = rex_extension::registerPoint(new rex_extension_point('PAGE_BODY_ATTR', $body_attr));
$body = '';
foreach ($body_attr as $k => $v) {
    $body .= ' ' . $k . '="';
    if (is_array($v)) {
Пример #9
0
<?php

// ------- Default Values
$HTMLArea = rex_request('HTMLArea', 'string');
$opener_input_field = rex_request('opener_input_field', 'string');
$opener_input_field_name = rex_request('opener_input_field_name', 'string');
$category_id = rex_request('category_id', 'int');
$category_id = rex_category::get($category_id) ? $category_id : 0;
$clang = rex_request('clang', 'int');
$clang = rex_clang::exists($clang) ? $clang : rex_clang::getStartId();
$context = new rex_context(['page' => rex_be_controller::getCurrentPage(), 'HTMLArea' => $HTMLArea, 'opener_input_field' => $opener_input_field, 'opener_input_field_name' => $opener_input_field_name, 'category_id' => $category_id, 'clang' => $clang]);
// ------- Build JS Functions
$func_body = '';
if ($HTMLArea != '') {
    if ($HTMLArea == 'TINY') {
        $func_body = 'window.opener.tinyMCE.insertLink(link);';
    } else {
        $func_body = 'window.opener.' . $HTMLArea . '.surroundHTML("<a href="+link+">","</a>");';
    }
}
if ($opener_input_field != '' && $opener_input_field_name == '') {
    $opener_input_field_name = $opener_input_field . '_NAME';
}
if ($opener_input_field == 'TINY') {
    $func_body .= 'window.opener.insertLink(link,name);
                                 self.close();';
} elseif (substr($opener_input_field, 0, 13) == 'REX_LINKLIST_') {
    $id = substr($opener_input_field, 13, strlen($opener_input_field));
    $func_body .= 'var linklist = "REX_LINKLIST_SELECT_' . $id . '";
                             var linkid = link.replace("redaxo://","");
                 var source = opener.document.getElementById(linklist);
Пример #10
0
        // ------------------------------------------ END: CONTENT HEAD MENUE
        // ------------------------------------------ WARNING
        if ($global_warning != '') {
            $contentMain .= rex_view::warning($global_warning);
        }
        if ($global_info != '') {
            $contentMain .= rex_view::success($global_info);
        }
        // --------------------------------------------- API MESSAGES
        $contentMain .= rex_api_function::getMessage();
        if ($warning != '') {
            $contentMain .= rex_view::warning($warning);
        }
        if ($info != '') {
            $contentMain .= rex_view::success($info);
        }
        // ----- EXTENSION POINT
        $contentMain .= rex_extension::registerPoint(new rex_extension_point('STRUCTURE_CONTENT_BEFORE_SLICES', '', ['article_id' => $article_id, 'clang' => $clang, 'function' => $function, 'slice_id' => $slice_id, 'page' => rex_be_controller::getCurrentPage(), 'ctype' => $ctype, 'category_id' => $category_id, 'article_revision' => &$article_revision, 'slice_revision' => &$slice_revision]));
        // ------------------------------------------ START: MODULE EDITIEREN/ADDEN ETC.
        $contentMain .= (include rex_be_controller::getCurrentPageObject()->getSubPath());
        // ------------------------------------------ END: AUSGABE
        // ----- EXTENSION POINT
        $contentMain .= rex_extension::registerPoint(new rex_extension_point('STRUCTURE_CONTENT_AFTER_SLICES', '', ['article_id' => $article_id, 'clang' => $clang, 'function' => $function, 'slice_id' => $slice_id, 'page' => rex_be_controller::getCurrentPage(), 'ctype' => $ctype, 'category_id' => $category_id, 'article_revision' => &$article_revision, 'slice_revision' => &$slice_revision]));
        // ----- EXTENSION POINT
        $contentSidebar = rex_extension::registerPoint(new rex_extension_point('STRUCTURE_CONTENT_SIDEBAR', '', ['article_id' => $article_id, 'clang' => $clang, 'function' => $function, 'slice_id' => $slice_id, 'page' => rex_be_controller::getCurrentPage(), 'ctype' => $ctype, 'category_id' => $category_id, 'article_revision' => &$article_revision, 'slice_revision' => &$slice_revision]));
        $fragment = new rex_fragment();
        $fragment->setVar('content', $contentMain, false);
        $fragment->setVar('sidebar', $contentSidebar, false);
        echo $fragment->parse('core/page/main_content.php');
    }
}
Пример #11
0
<?php

/**
 * This file is part of the Url package.
 *
 * @author (c) Thomas Blum <*****@*****.**>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
/**
 * Convert some text to Markdown...
 */
function markdown($text)
{
    return (new ParsedownExtra())->text($text);
}
if (rex::isBackend()) {
    rex_view::addCssFile($this->getAssetsUrl('dao.css'));
    rex_view::addJsFile($this->getAssetsUrl('vendor/redips/redips-table.js'));
    if (rex_be_controller::getCurrentPage() == 'dao_var/readme') {
        rex_view::addJsFile($this->getAssetsUrl('prism.js'));
    }
}
Пример #12
0
 private function getModuleSelect($sliceId)
 {
     // ----- BLOCKAUSWAHL - SELECT
     $context = new rex_context(['page' => rex_be_controller::getCurrentPage(), 'article_id' => $this->article_id, 'clang' => $this->clang, 'ctype' => $this->ctype, 'slice_id' => $sliceId, 'function' => 'add']);
     $position = ++$this->sliceAddPosition;
     $items = [];
     if (isset($this->MODULESELECT[$this->ctype])) {
         foreach ($this->MODULESELECT[$this->ctype] as $module) {
             $item = [];
             $item['title'] = $module['name'];
             $item['href'] = $context->getUrl(['module_id' => $module['id']]) . '#slice-add-pos-' . $position;
             $items[] = $item;
         }
     }
     $fragment = new rex_fragment();
     $fragment->setVar('block', true);
     $fragment->setVar('button_label', rex_i18n::msg('add_block'));
     $fragment->setVar('items', $items, false);
     $select = $fragment->parse('core/dropdowns/dropdown.php');
     $select = rex_extension::registerPoint(new rex_extension_point('STRUCTURE_CONTENT_MODULE_SELECT', $select, ['page' => rex_be_controller::getCurrentPage(), 'article_id' => $this->article_id, 'clang' => $this->clang, 'ctype' => $this->ctype, 'slice_id' => $sliceId]));
     return '<li class="rex-slice rex-slice-select" id="slice-add-pos-' . $position . '">' . $select . '</li>';
 }
Пример #13
0
 public static function addSlice()
 {
     $article_id = rex_request('article_id', 'int');
     $function = rex_request('page', 'string');
     $cut_slice_id = $slice_id = $_SESSION['slice_ui']['slice_id'];
     $module_id = $_SESSION['slice_ui']['module_id'];
     $clang = rex_get('clang');
     $ctype = rex_get('ctype');
     $category_id = rex_get('category_id');
     if (!self::checkPermissions(array('article_id' => $article_id, 'clang' => $clang, 'ctype' => $ctype, 'module_id' => $module_id))) {
         // Alle OBs schließen
         while (@ob_end_clean()) {
         }
         header("Location: " . rex_url::backendController() . '?article_id=' . $article_id . '&clang=' . $clang . '&page=content/edit&ctype=' . $ctype);
         exit;
     }
     $slice_revision = 0;
     $template_attributes = [];
     $newsql = rex_sql::factory();
     // $newsql->setDebug();
     $sliceTable = rex::getTablePrefix() . 'article_slice';
     $newsql->setTable($sliceTable);
     if (strpos($function, 'content/paste') !== false && !empty($_SESSION['slice_ui'])) {
         $priority = '0';
         // $prevSlice->setDebug();
         if ($function === 'content/paste') {
             $priority = 1;
         } else {
             $prevSlice = rex_sql::factory();
             $prevSlice->setTable($sliceTable);
             $prevSlice->setWhere(array('id' => rex_get('slice_id')));
             $prevSlice->select();
             $priority = $prevSlice->getValue('priority') + 1;
         }
         $copiedSlice = rex_sql::factory();
         $copiedSlice->setTable($sliceTable);
         $copiedSlice->setWhere(array('id' => $cut_slice_id));
         $copiedSlice->select();
         $exclude = array('id', 'createdate', 'updatedate', 'createuser', 'updateuser', 'priority');
         // print_r($copiedSlice->getRow());
         foreach ($copiedSlice->getRow() as $key => $value) {
             if (empty($value)) {
                 continue;
             }
             $field = end(explode('.', $key));
             if (in_array($field, $exclude)) {
                 continue;
             }
             $newsql->setValue($field, $value);
         }
         $newsql->setValue('article_id', $article_id);
         $newsql->setValue('module_id', $module_id);
         $newsql->setValue('clang_id', $clang);
         $newsql->setValue('ctype_id', $ctype);
         $newsql->setValue('revision', $slice_revision);
         $newsql->setValue('priority', $priority);
         $newsql->addGlobalUpdateFields();
         $newsql->addGlobalCreateFields();
         try {
             $newsql->insert();
             $slice_id = $newsql->getLastId();
             if ($slice_id !== 0) {
                 $_SESSION['slice_ui']['new_slice_id'] = $slice_id;
             }
             rex_sql_util::organizePriorities(rex::getTable('article_slice'), 'priority', 'article_id=' . $article_id . ' AND clang_id=' . $clang . ' AND ctype_id=' . $ctype . ' AND revision=' . $slice_revision, 'priority, updatedate DESC');
             $function = '';
             // ----- EXTENSION POINT
             rex_extension::registerPoint(new rex_extension_point('SLICE_PASTED', '', ['article_id' => $article_id, 'clang' => $clang, 'function' => $function, 'slice_id' => $slice_id, 'page' => rex_be_controller::getCurrentPage(), 'ctype' => $ctype, 'category_id' => $category_id, 'module_id' => $module_id, 'article_revision' => 0, 'slice_revision' => 0]));
             if ($_SESSION['slice_ui']['cut'] == 1) {
                 $curr = rex_sql::factory();
                 $curr->setDebug();
                 $curr->setTable($sliceTable);
                 $curr->setWhere(array('id' => $cut_slice_id));
                 $curr->delete();
                 rex_sql_util::organizePriorities(rex::getTable('article_slice'), 'priority', 'article_id=' . $_SESSION['slice_ui']['article_id'] . ' AND clang_id=' . $clang . ' AND ctype_id=' . $ctype . ' AND revision=' . $slice_revision, 'priority, updatedate DESC');
             }
         } catch (rex_sql_exception $e) {
             echo rex_view::warning($e->getMessage());
         }
         // die();
         // Alle OBs schließen
         while (@ob_end_clean()) {
         }
         header("Location: " . rex_url::backendController() . '?article_id=' . $article_id . '&clang=' . $clang . '&page=content/edit&ctype=' . $ctype);
         exit;
     }
 }
Пример #14
0
 /**
  * Laedt die Konfiguration die noetig ist um rex_form im REDAXO Backend zu verwenden.
  */
 protected function loadBackendConfig()
 {
     $func = rex_request('func', 'string');
     $this->addParam('page', rex_be_controller::getCurrentPage());
     $this->addParam('func', $func);
     $this->addParam('list', rex_request('list', 'string'));
     $controlFields = [];
     $controlFields['save'] = rex_i18n::msg('form_save');
     $controlFields['apply'] = $func == 'edit' ? rex_i18n::msg('form_apply') : '';
     $controlFields['delete'] = $func == 'edit' ? rex_i18n::msg('form_delete') : '';
     $controlFields['reset'] = '';
     //rex_i18n::msg('form_reset');
     $controlFields['abort'] = rex_i18n::msg('form_abort');
     // ----- EXTENSION POINT
     $controlFields = rex_extension::registerPoint(new rex_extension_point('REX_FORM_CONTROL_FIELDS', $controlFields, ['form' => $this]));
     $controlElements = [];
     foreach ($controlFields as $name => $label) {
         if ($label) {
             $controlElements[$name] = $this->addField('button', $name, $label, ['type' => 'submit', 'internal::useArraySyntax' => false, 'internal::fieldSeparateEnding' => true], false);
         } else {
             $controlElements[$name] = null;
         }
     }
     $this->addControlField($controlElements['save'], $controlElements['apply'], $controlElements['delete'], $controlElements['reset'], $controlElements['abort']);
 }
Пример #15
0
/**
 * Layout Kopf des Backends.
 *
 * @package redaxo5
 */
$curPage = rex_be_controller::getCurrentPageObject();
if (!$curPage->hasLayout()) {
    if (rex_request::isPJAXRequest()) {
        // add title to the page, so pjax can update it. see gh#136
        echo '<title>' . htmlspecialchars(rex_be_controller::getPageTitle()) . '</title>';
    }
    return;
}
$body_attr = [];
$body_id = str_replace('_', '-', rex_be_controller::getCurrentPage());
$body_attr['id'] = ['rex-page-' . $body_id];
$body_attr['onunload'] = ['closeAll();'];
$body_attr['class'] = ['rex-is-logged-out'];
if (rex::getUser()) {
    $body_attr['class'] = ['rex-is-logged-in'];
}
if ($curPage->isPopup()) {
    $body_attr['class'][] = 'rex-is-popup';
}
// ----- EXTENSION POINT
$body_attr = rex_extension::registerPoint(new rex_extension_point('PAGE_BODY_ATTR', $body_attr));
$body = '';
foreach ($body_attr as $k => $v) {
    $body .= ' ' . $k . '="';
    if (is_array($v)) {
Пример #16
0
</div><!-- END .rex-page -->
<?php 
if (rex_be_controller::getCurrentPage() != 'login' && !rex_be_controller::getCurrentPageObject()->isPopup()) {
    ?>
    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".rex-nav-main > .navbar-collapse">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
    </button>
<?php 
}
?>
</body>
</html>
Пример #17
0
  <?php 
if (rex::isBackend()) {
    if ($this->getConfig('status') != 'deaktiviert') {
        if (rex_be_controller::getCurrentPage() == 'structure') {
            rex_extension::register('OUTPUT_FILTER', function (rex_extension_point $ep) {
                // settings
                // - - - - - - - - - - - - - - - - - -
                // separator
                $sepp = $this->getConfig('sepp');
                // color
                $cssColor = $this->getConfig('cssColor');
                // background
                $cssBackground = $this->getConfig('cssBackground');
                // - - - - - - - - - - - - - - - - - -
                // settings end
                $seppClass = preg_replace('/\\W+/', '', $sepp);
                $html = $ep->getSubject();
                $put = '
    <script>
    var $sepp = "' . $sepp . '";
    var $seppClass = "' . $seppClass . '";
    $(document).on("rex:ready", function (event, container) {
        container.find(\'tr:contains("\' + $sepp + \'")\').each(function () {
            $(this).addClass($seppClass);
            var $td = $(this).find(\'td:contains("\' + $sepp + \'")\').addClass($seppClass);
            var $regex = new RegExp($sepp, "g");
            $td.html($td.html().replace($regex, "")).find("a").contents().unwrap();
        });
    });
    </script>
    <style>