本文整理汇总了PHP中rex_view类的典型用法代码示例。如果您正苦于以下问题:PHP rex_view类的具体用法?PHP rex_view怎么用?PHP rex_view使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了rex_view类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getEntriesByTimeline
public static function getEntriesByTimeline()
{
//Start - get all timelines from the database
$sql = rex_sql::factory();
$timelines = $sql->getArray('SELECT `user_id` FROM `' . rex::getTablePrefix() . 'socialhub_facebook_timeline`');
unset($sql);
if (empty($timelines)) {
return false;
}
//End - get all timelines from the database
//Start - get all accounts from the database
$sql = rex_sql::factory();
$accounts = $sql->getArray('SELECT * FROM `' . rex::getTablePrefix() . 'socialhub_facebook_account` ORDER BY `id` ASC');
unset($sql);
if (empty($accounts)) {
return false;
}
//End - get all accounts from the database
//Start - get entries by timeline from twitter
foreach ($timelines as $timeline) {
$fb = new Facebook\Facebook(['app_id' => $accounts[0]['app_id'], 'app_secret' => $accounts[0]['app_secret'], 'default_graph_version' => 'v2.5', 'default_access_token' => $accounts[0]['app_id'] . '|' . $accounts[0]['app_secret']]);
try {
$response = $fb->get('/' . $timeline['user_id'] . '/posts');
} catch (Facebook\Exceptions\FacebookResponseException $e) {
echo rex_view::error('Graph returned an error: ' . $e->getMessage());
} catch (Facebook\Exceptions\FacebookSDKException $e) {
echo rex_view::error('Facebook SDK returned an error: ' . $e->getMessage());
}
if (empty($response)) {
return;
}
$response = json_decode($response->getBody(), true);
foreach ($response['data'] as $post) {
list($userID, $postID) = explode('_', $post['id']);
$newPost = rex_sql::factory();
$newPost->setTable(rex::getTablePrefix() . 'socialhub_entry_timeline');
$newPost->setWhere(['post_id' => $postID]);
$newPost->select();
if ($newPost->getRows() === 0) {
$newPost->reset();
$newPost->setTable(rex::getTablePrefix() . 'socialhub_entry_timeline');
$newPost->setValue('source', 'facebook');
$newPost->setValue('post_id', $postID);
$newPost->setValue('message', $post['message']);
$newPost->setValue('author_id', $userID);
$newPost->setValue('created_time', date('Y-m-d H:i:s', strtotime($post['created_time'])));
$newPost->setValue('query', '/' . $timeline['user_id'] . '/posts');
try {
$newPost->insert();
} catch (rex_sql_exception $e) {
echo rex_view::warning($e->getMessage());
}
}
}
}
//End - get entries by timeline from twitter
}
示例2: rex_fragment
echo $headline;
$fragment = new rex_fragment();
$fragment->setVar('title', rex_i18n::msg('setup_606'), false);
$fragment->setVar('body', $content, false);
$fragment->setVar('buttons', $buttons, false);
$content = $fragment->parse('core/page/section.php');
echo '<form class="rex-js-createadminform" action="' . rex_url::backendController() . '" method="post" autocomplete="off">' . $content . '</form>';
}
// ---------------------------------- step 7 . thank you . setup false
if ($step == 7) {
$configFile = rex_path::data('config.yml');
$config = array_merge(rex_file::getConfig(rex_path::core('default.config.yml')), rex_file::getConfig($configFile));
$config['setup'] = false;
if (rex_file::putConfig($configFile, $config)) {
$errmsg = '';
rex_file::delete(rex_path::cache('config.yml.cache'));
} else {
$errmsg = rex_i18n::msg('setup_701');
}
$headline = rex_view::title(rex_i18n::msg('setup_700'));
$content = '<h3>' . rex_i18n::msg('setup_703') . '</h3>';
$content .= rex_i18n::rawMsg('setup_704', '<a href="' . rex_url::backendController() . '">', '</a>');
$content .= '<p>' . rex_i18n::msg('setup_705') . '</p>';
$buttons = '<a class="btn btn-setup" href="' . rex_url::backendController() . '">' . rex_i18n::msg('setup_706') . '</a>';
echo $headline;
$fragment = new rex_fragment();
$fragment->setVar('heading', rex_i18n::msg('setup_702'), false);
$fragment->setVar('body', $content, false);
$fragment->setVar('buttons', $buttons, false);
echo $fragment->parse('core/page/section.php');
}
示例3: rex_post
<?php
/**
* @package redaxo5
*/
global $rex_user_loginmessage;
$rex_user_login = rex_post('rex_user_login', 'string');
echo rex_view::title(rex_i18n::msg('login'));
$js = '';
if ($rex_user_loginmessage != '') {
echo '<div class="rex-js-login-message">' . rex_view::error($rex_user_loginmessage) . "</div>\n";
$js = '
var time_el = $(".rex-js-login-message strong[data-time]");
if(time_el.length == 1) {
function disableLogin() {
var time = time_el.attr("data-time");
time_el.attr("data-time", time - 1);
var hours = Math.floor(time / 3600);
var mins = Math.floor((time - (hours * 3600)) / 60);
var secs = time % 60;
var formatted = (hours ? hours + "h " : "") + (hours || mins ? mins + "min " : "") + secs + "s";
time_el.html(formatted);
if(time > 0) {
setTimeout(disableLogin, 1000);
} else {
$("div.rex-message div").html("' . rex_i18n::msg('login_welcome') . '");
$("#rex-form-login").find(":input:not(:hidden)").prop("disabled", "");
$("#rex-id-login-user").focus();
}
};
$("#rex-form-login").find(":input:not(:hidden)").prop("disabled", "disabled");
示例4:
<?php
$plugin = rex_plugin::get('out5', 'wartungsarbeiten');
$content = '';
if (rex_post('config-submit', 'boolean')) {
$plugin->setConfig(rex_post('config', [['url', 'string']]));
$content .= rex_view::info('Änderung gespeichert');
}
$content .= '
<div class="rex-form">
<form action="' . rex_url::currentBackendPage() . '" method="post">
<fieldset>';
$formElements = [];
$n = [];
$n['label'] = '<label for="rex-out5-wartungsarbeiten-url">URL</label>';
$n['field'] = '<input class="form-control" type="text" id="rex-out5-wartungsarbeiten-url" name="config[url]" value="' . $plugin->getConfig('url') . '"/>';
$formElements[] = $n;
$fragment = new rex_fragment();
$fragment->setVar('elements', $formElements, false);
$content .= $fragment->parse('core/form/form.php');
$content .= '
</fieldset>
<fieldset class="rex-form-action">';
$formElements = [];
$n = [];
$n['field'] = '<div class="btn-toolbar"><button id="rex-out5-wartungsarbeiten-save" type="submit" name="config-submit" class="btn btn-save rex-form-aligned" value="1">Einstellungen speichern</button></div>';
$formElements[] = $n;
$fragment = new rex_fragment();
$fragment->setVar('elements', $formElements, false);
$content .= $fragment->parse('core/form/submit.php');
示例5: nl2br
echo rex_view::error($this->i18n('delete_error', $name));
}
$func = '';
}
if ($func == 'execute') {
$manager = rex_cronjob_manager_sql::factory();
$name = $manager->getName($oid);
$success = $manager->tryExecute($oid);
$msg = '';
if ($manager->hasMessage()) {
$msg = '<br /><br />' . $this->i18n('log_message') . ': <br />' . nl2br($manager->getMessage());
}
if ($success) {
echo rex_view::success($this->i18n('execute_success', $name) . $msg);
} else {
echo rex_view::error($this->i18n('execute_error', $name) . $msg);
}
$func = '';
}
if ($func == '') {
$query = 'SELECT id, name, type, `interval`, environment, execution_moment, status FROM ' . REX_CRONJOB_TABLE . ' ORDER BY name';
$list = rex_list::factory($query, 30, 'cronjobs');
$list->setNoRowsMessage($this->i18n('no_cronjobs'));
$tdIcon = '<i class="rex-icon rex-icon-cronjob"></i>';
$thIcon = '<a href="' . $list->getUrl(['func' => 'add']) . '" title="' . $this->i18n('add') . '"><i class="rex-icon rex-icon-add-cronjob"></i></a>';
$list->addColumn($thIcon, $tdIcon, 0, ['<th class="rex-table-icon">###VALUE###</th>', '<td class="rex-table-icon">###VALUE###</td>']);
$list->setColumnParams($thIcon, ['func' => 'edit', 'oid' => '###id###']);
$list->removeColumn('id');
$list->removeColumn('type');
$list->setColumnLabel('name', $this->i18n('name'));
$list->setColumnParams('name', ['func' => 'edit', 'oid' => '###id###']);
示例6:
}
$content = '
<form action="' . rex_url::currentBackendPage() . '" method="post">
' . $content . '
</form>';
echo $message;
echo $content;
$OUT = false;
}
}
if ($OUT) {
if ($success != '') {
$message .= rex_view::success($success);
}
if ($error != '') {
$message .= rex_view::error($error);
}
$list = rex_list::factory('SELECT id, name FROM ' . rex::getTablePrefix() . 'module ORDER BY name');
$list->addTableAttribute('class', 'table-striped table-hover');
$tdIcon = '<i class="rex-icon rex-icon-module"></i>';
$thIcon = '<a href="' . $list->getUrl(['function' => 'add']) . '"' . rex::getAccesskey(rex_i18n::msg('create_module'), 'add') . ' title="' . rex_i18n::msg('create_module') . '"><i class="rex-icon rex-icon-add-module"></i></a>';
$list->addColumn($thIcon, $tdIcon, 0, ['<th class="rex-table-icon">###VALUE###</th>', '<td class="rex-table-icon">###VALUE###</td>']);
$list->setColumnParams($thIcon, ['function' => 'edit', 'module_id' => '###id###']);
$list->setColumnLabel('id', rex_i18n::msg('id'));
$list->setColumnLayout('id', ['<th class="rex-table-id">###VALUE###</th>', '<td class="rex-table-id" data-title="' . rex_i18n::msg('id') . '">###VALUE###</td>']);
$list->setColumnLabel('name', rex_i18n::msg('module_description'));
$list->setColumnParams('name', ['function' => 'edit', 'module_id' => '###id###']);
$list->addColumn(rex_i18n::msg('module_functions'), '<i class="rex-icon rex-icon-edit"></i> ' . rex_i18n::msg('edit'));
$list->setColumnLayout(rex_i18n::msg('module_functions'), ['<th class="rex-table-action" colspan="2">###VALUE###</th>', '<td class="rex-table-action">###VALUE###</td>']);
$list->setColumnParams(rex_i18n::msg('module_functions'), ['function' => 'edit', 'module_id' => '###id###']);
$list->addColumn(rex_i18n::msg('delete_module'), '<i class="rex-icon rex-icon-delete"></i> ' . rex_i18n::msg('delete'));
示例7: htmlspecialchars
if (($sql->getValue('postsavemode') & $var) == $var) {
$postsavemode[] = $value;
}
}
$content .= '
<tr>
<td class="rex-table-icon"><a href="' . rex_url::currentBackendPage(['action_id' => $sql->getValue('id'), 'function' => 'edit']) . '" title="' . htmlspecialchars($sql->getValue('name')) . '"><i class="rex-icon rex-icon-action"></i></a></td>
<td class="rex-table-id" data-title="' . rex_i18n::msg('id') . '">' . $sql->getValue('id') . '</td>
<td data-title="' . rex_i18n::msg('action_name') . '"><a href="' . rex_url::currentBackendPage(['action_id' => $sql->getValue('id'), 'function' => 'edit']) . '">' . htmlspecialchars($sql->getValue('name')) . '</a></td>
<td data-title="' . rex_i18n::msg('action_header_preview') . '">' . implode('/', $previewmode) . '</td>
<td data-title="' . rex_i18n::msg('action_header_presave') . '">' . implode('/', $presavemode) . '</td>
<td data-title="' . rex_i18n::msg('action_header_postsave') . '">' . implode('/', $postsavemode) . '</td>
<td class="rex-table-action"><a href="' . rex_url::currentBackendPage(['action_id' => $sql->getValue('id'), 'function' => 'edit']) . '"><i class="rex-icon rex-icon-edit"></i> ' . rex_i18n::msg('change') . '</a></td>
<td class="rex-table-action"><a href="' . rex_url::currentBackendPage(['action_id' => $sql->getValue('id'), 'function' => 'delete']) . '" data-confirm="' . rex_i18n::msg('action_delete') . ' ?"><i class="rex-icon rex-icon-delete"></i> ' . rex_i18n::msg('delete') . '</a></td>
</tr>
';
$sql->next();
}
$content .= '</tbody>' . "\n";
}
$content .= '
</table>';
if ($rows < 1) {
$content .= rex_view::info(rex_i18n::msg('actions_not_found'));
}
echo $message;
$fragment = new rex_fragment();
$fragment->setVar('title', rex_i18n::msg('action_caption'), false);
$fragment->setVar('content', $content, false);
echo $fragment->parse('core/page/section.php');
}
示例8:
<?php
echo rex_view::title('yform');
$fragment = new rex_fragment();
$fragment->setVar('class', 'info');
$fragment->setVar('title', rex_i18n::msg('yform_description_title'), false);
$fragment->setVar('body', rex_i18n::rawMsg('yform_description_all', false) . rex_yform::showHelp(true, true), false);
echo $fragment->parse('core/page/section.php');
示例9: rex_mediapool_Mediaform
/**
* Ausgabe des Medienpool Formulars.
*/
function rex_mediapool_Mediaform($form_title, $button_title, $rex_file_category, $file_chooser, $close_form)
{
global $ftitle, $warning, $info;
$s = '';
$cats_sel = new rex_media_category_select();
$cats_sel->setStyle('class="form-control"');
$cats_sel->setSize(1);
$cats_sel->setName('rex_file_category');
$cats_sel->setId('rex-mediapool-category');
$cats_sel->addOption(rex_i18n::msg('pool_kats_no'), '0');
$cats_sel->setAttribute('onchange', 'this.form.submit()');
$cats_sel->setSelected($rex_file_category);
if (isset($warning)) {
if (is_array($warning)) {
if (count($warning) > 0) {
$s .= rex_view::error(implode('<br />', $warning));
}
} elseif ($warning != '') {
$s .= rex_view::error($warning);
}
$warning = '';
}
if (isset($info)) {
if (is_array($info)) {
if (count($info) > 0) {
$s .= rex_view::success(implode('<br />', $info));
}
} elseif ($info != '') {
$s .= rex_view::success($info);
}
$info = '';
}
if (!isset($ftitle)) {
$ftitle = '';
}
$arg_fields = '';
foreach (rex_request('args', 'array') as $arg_name => $arg_value) {
$arg_fields .= '<input type="hidden" name="args[' . $arg_name . ']" value="' . $arg_value . '" />' . "\n";
}
$opener_input_field = rex_request('opener_input_field', 'string');
if ($opener_input_field != '') {
$arg_fields .= '<input type="hidden" name="opener_input_field" value="' . htmlspecialchars($opener_input_field) . '" />' . "\n";
}
$add_submit = '';
if ($close_form && $opener_input_field != '') {
$add_submit = '<button class="btn btn-save" type="submit" name="saveandexit" value="' . rex_i18n::msg('pool_file_upload_get') . '"' . rex::getAccesskey(rex_i18n::msg('pool_file_upload_get'), 'save') . '>' . rex_i18n::msg('pool_file_upload_get') . '</button>';
}
$panel = '';
$formElements = [];
$e = [];
$e['label'] = '<label for="rex-mediapool-title">' . rex_i18n::msg('pool_file_title') . '</label>';
$e['field'] = '<input class="form-control" type="text" id="rex-mediapool-title" name="ftitle" value="' . htmlspecialchars($ftitle) . '" />';
$formElements[] = $e;
$e = [];
$e['label'] = '<label for="rex-mediapool-category">' . rex_i18n::msg('pool_file_category') . '</label>';
$e['field'] = $cats_sel->get();
$formElements[] = $e;
$fragment = new rex_fragment();
$fragment->setVar('elements', $formElements, false);
$panel .= $fragment->parse('core/form/form.php');
$panel .= rex_extension::registerPoint(new rex_extension_point('MEDIA_FORM_ADD', ''));
if ($file_chooser) {
$e = [];
$e['label'] = '<label for="rex-mediapool-choose-file">' . rex_i18n::msg('pool_file_file') . '</label>';
$e['field'] = '<input id="rex-mediapool-choose-file" type="file" name="file_new" />';
$e['note'] = '<h3>' . rex_i18n::msg('phpini_settings') . '</h3>
<dl class="dl-horizontal">
' . (rex_ini_get('file_uploads') == 0 ? '<dt><span class="text-warning">' . rex_i18n::msg('pool_upload') . '</span></dt><dd><span class="text-warning">' . rex_i18n::msg('pool_upload_disabled') . '</span></dd>' : '') . '
<dt>' . rex_i18n::msg('pool_max_uploadsize') . ':</dt><dd>' . rex_formatter::bytes(rex_ini_get('upload_max_filesize')) . '</dd>
<dt>' . rex_i18n::msg('pool_max_uploadtime') . ':</dt><dd>' . rex_ini_get('max_input_time') . 's</dd>
</dl>';
$fragment = new rex_fragment();
$fragment->setVar('elements', [$e], false);
$panel .= $fragment->parse('core/form/form.php');
}
$formElements = [];
$e = [];
$e['field'] = '<button class="btn btn-save" type="submit" name="save" value="' . $button_title . '"' . rex::getAccesskey($button_title, 'save') . '>' . $button_title . '</button>';
$formElements[] = $e;
$e = [];
$e['field'] = $add_submit;
$formElements[] = $e;
$fragment = new rex_fragment();
$fragment->setVar('elements', $formElements, false);
$buttons = $fragment->parse('core/form/submit.php');
$fragment = new rex_fragment();
$fragment->setVar('title', $form_title, false);
$fragment->setVar('body', $panel, false);
$fragment->setVar('buttons', $buttons, false);
$content = $fragment->parse('core/page/section.php');
$s .= ' <form action="' . rex_url::currentBackendPage() . '" method="post" enctype="multipart/form-data">
<fieldset>
<input type="hidden" name="media_method" value="add_file" />
' . $arg_fields . '
' . $content . '
</fieldset>
';
//.........这里部分代码省略.........
示例10: rex_yform_manager
$table = rex_yform_manager_table::get($table_name);
if ($table) {
$t = new rex_yform_manager();
$t->setTable($table);
$t->generateAll();
echo rex_view::success(rex_i18n::msg('yform_manager_table_added'));
}
}
}
}
}
if ($func == 'delete' && rex::getUser()->isAdmin()) {
$table_name = rex_request('table_name', 'string');
echo rex_yform_manager_table_api::removeTable($table_name);
$func = '';
echo rex_view::success(rex_i18n::msg('yform_manager_table_deleted'));
}
if ($show_list && rex::getUser()->isAdmin()) {
// formatting func fuer status col
function rex_yform_status_col($params)
{
$list = $params['list'];
return $list->getValue('status') == 1 ? '<span class="rex-online"><i class="rex-icon rex-icon-online"></i> ' . rex_i18n::msg('yform_tbl_active') . '</span>' : '<span class="rex-offline"><i class="rex-icon rex-icon-offline"></i> ' . rex_i18n::msg('yform_tbl_inactive') . '</span>';
}
function rex_yform_hidden_col($params)
{
$list = $params['list'];
return $list->getValue('hidden') == 1 ? '<span class="text-muted">' . rex_i18n::msg('yform_hidden') . '</span>' : '<span>' . rex_i18n::msg('yform_visible') . '</span>';
}
function rex_yform_list_translate($params)
{
示例11: rex_fragment
rex_yrewrite::deleteCache();
} else {
$showlist = false;
$fragment = new rex_fragment();
$fragment->setVar('class', 'edit', false);
$fragment->setVar('title', $this->i18n('edit_domain'));
$fragment->setVar('body', $form, false);
echo $fragment->parse('core/page/section.php');
}
} else {
if ($func == 'add') {
$yform->setActionField('db', [rex::getTable('yrewrite_domain')]);
$yform->setObjectparams('submit_btn_label', rex_i18n::msg('add'));
$form = $yform->getForm();
if ($yform->objparams['actions_executed']) {
echo rex_view::success($this->i18n('domain_added'));
rex_yrewrite::deleteCache();
} else {
$showlist = false;
$fragment = new rex_fragment();
$fragment->setVar('class', 'edit', false);
$fragment->setVar('title', $this->i18n('add_domain'));
$fragment->setVar('body', $form, false);
echo $fragment->parse('core/page/section.php');
}
}
}
}
if ($showlist) {
$sql = 'SELECT * FROM ' . rex::getTable('yrewrite_domain') . ' where alias_domain <> ""';
$list = rex_list::factory($sql, 100);
示例12: rex_request
<?php
/**
* MetaForm Addon.
*
* @author markus[dot]staab[at]redaxo[dot]de Markus Staab
*
* @package redaxo5
*/
// Parameter
$Basedir = __DIR__;
$subpage = rex_be_controller::getCurrentPagePart(2);
$func = rex_request('func', 'string');
echo rex_view::title(rex_i18n::msg('minfo_title'));
// Include Current Page
switch ($subpage) {
case 'media':
$prefix = 'med_';
break;
case 'categories':
$prefix = 'cat_';
break;
default:
$prefix = 'art_';
}
$metaTable = rex_metainfo_meta_table($prefix);
require $Basedir . '/field.php';
示例13: rex_request
<?php
/**
* YREWRITE Addon.
*
* @author jan.kristinus@yakamara.de
*
* @package redaxo\yrewrite
*
* @var rex_addon $this
*/
$func = rex_request('func', 'string');
if ($func != '') {
if ($func == 'htaccess') {
rex_yrewrite::copyHtaccess();
echo rex_view::success($this->i18n('htaccess_hasbeenset'));
}
}
$content = '
<h3>' . $this->i18n('htaccess_set') . '</h3>
<p>' . rex_i18n::rawMsg('yrewrite_htaccess_info') . '</p>
<p><a class="btn btn-primary" href="' . rex_url::currentBackendPage(['func' => 'htaccess']) . '">' . $this->i18n('yrewrite_htaccess_set') . '</a></p>
<h3>' . $this->i18n('info_headline') . '</h3>
<p>' . rex_i18n::rawMsg('yrewrite_info_text') . '</p>
<h3>' . $this->i18n('info_seo') . '</h3>
<p>' . rex_i18n::rawMsg('yrewrite_info_seo_text') . '
<br /><br />' . highlight_string('<?php
示例14: rex_extension_point
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();
// ----- inhalt ausgeben
示例15: foreach
$sel_lang->setStyle('class="form-control"');
$sel_lang->setName('settings[lang]');
$sel_lang->setId('rex-id-lang');
$sel_lang->setSize(1);
$sel_lang->setSelected(rex::getProperty('lang'));
foreach (rex_i18n::getLocales() as $l) {
$sel_lang->addOption($l, $l);
}
if (!empty($error)) {
echo rex_view::error(implode('<br />', $error));
}
if ($info != '') {
echo rex_view::info($info);
}
if ($success != '') {
echo rex_view::success($success);
}
$dbconfig = rex::getProperty('db');
$version = rex_path::src();
if (strlen($version) > 21) {
$version = substr($version, 0, 8) . '..' . substr($version, strlen($version) - 13);
}
$content = [];
$content[] = '
<h3>' . rex_i18n::msg('delete_cache') . '</h3>
<p>' . rex_i18n::msg('delete_cache_description') . '</p>
<p><a class="btn btn-delete" href="' . rex_url::currentBackendPage(['func' => 'generate']) . '">' . rex_i18n::msg('delete_cache') . '</a></p>
<h3>' . rex_i18n::msg('setup') . '</h3>
<p>' . rex_i18n::msg('setup_text') . '</p>
<p><a class="btn btn-setup" href="' . rex_url::currentBackendPage(['func' => 'setup']) . '" data-confirm="' . rex_i18n::msg('setup_restart') . '?" data-pjax="false">' . rex_i18n::msg('setup') . '</a></p>';