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 }
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'); }
<?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");
<?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');
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###']);
} $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'));
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'); }
<?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');
/** * 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> '; if ($close_form) { $s .= '</form>' . "\n"; } return $s; }
$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) {
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);
<?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';
<?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
/** * Sets the favicon path. * * @param string $file */ public static function setFavicon($file) { self::$favicon = $file; }
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
$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>';
public function getFormattedMessage() { if (null === $this->message) { return null; } if ($this->isSuccessfull()) { return rex_view::success($this->message); } else { return rex_view::error($this->message); } }
<?php echo rex_view::info($this->i18n('default_text'));
/** * Bindet ggf extensions ein. * * @param rex_extension_point $ep */ function rex_metainfo_extensions_handler(rex_extension_point $ep) { $page = $ep->getSubject(); $mainpage = rex_be_controller::getCurrentPagePart(1); $mypage = 'metainfo'; // additional javascripts if ($mainpage == 'metainfo' || $page == 'content/metainfo' || $page == 'structure') { rex_view::addJsFile(rex_url::addonAssets($mypage, 'metainfo.js')); } // include extensions $curDir = __DIR__ . '/..'; if ($page == 'structure') { require_once $curDir . '/lib/handler/category_handler.php'; } elseif ($mainpage == 'mediapool') { require_once $curDir . '/lib/handler/media_handler.php'; } elseif ($mainpage == 'content') { require_once $curDir . '/extensions/extension_content_sidebar.php'; } elseif ($page == 'backup') { require_once $curDir . '/extensions/extension_cleanup.php'; } }
$fragment->setVar('body', $content, false); $content = $fragment->parse('core/page/section.php'); $show_list = false; } else { if ($func == "edit") { $content = rex_view::success(rex_i18n::msg('yform_email_info_template_updated')); } else { $content = rex_view::success(rex_i18n::msg('yform_email_info_template_added')); } } } else { if ($func == 'delete') { $query = "delete from {$table} where id='" . $template_id . "' "; $delsql = rex_sql::factory(); $delsql->setQuery($query); $content = rex_view::success(rex_i18n::msg('yform_email_info_template_deleted')); } } echo $content; if ($show_list) { $add_sql = ' ORDER BY name'; $link = ''; $sql = "select * from {$table} " . $add_sql; $list = rex_list::factory($sql); // $list->setCaption(rex_i18n::msg('yform_email_header_template_caption')); $list->addTableAttribute('summary', rex_i18n::msg('yform_email_header_template_summary')); $list->addTableAttribute('class', 'table-striped'); $list->addTableColumnGroup(array(40, 40, '*', 153, 153)); $tdIcon = '<i class="rex-icon rex-icon-template"></i>'; $thIcon = '<a href="' . $list->getUrl(['func' => 'add']) . '"' . rex::getAccesskey(rex_i18n::msg('create_template'), 'add') . ' title="' . rex_i18n::msg('create_template') . '"><i class="rex-icon rex-icon-add-template"></i></a>'; $list->addColumn($thIcon, $tdIcon, 0, ['<th class="rex-table-icon">###VALUE###</th>', '<td class="rex-table-icon">###VALUE###</td>']);
<?php /** * @package redaxo5 */ // -------------- Defaults $subpage = rex_be_controller::getCurrentPagePart(2); $func = rex_request('func', 'string'); echo rex_view::title(rex_i18n::msg('modules')); include rex_be_controller::getCurrentPageObject()->getSubPath();
$error = ''; } elseif ($error != '') { echo rex_view::error($error); $error = ''; } if (is_array($success)) { if (count($success) > 0) { echo rex_view::success(implode('<br />', $success)); } $success = ''; } elseif ($success != '') { echo rex_view::success($success); $success = ''; } if (!empty($args['types'])) { echo rex_view::info(rex_i18n::msg('pool_file_filter') . ' <code>' . $args['types'] . '</code>'); } //deletefilelist und cat change $panel = ' <form action="' . rex_url::currentBackendPage() . '" method="post" enctype="multipart/form-data"> <fieldset> <input type="hidden" id="media_method" name="media_method" value="" /> ' . $arg_fields . ' <table class="table table-striped table-hover"> <thead> <tr> <th class="rex-table-icon"><a href="' . rex_url::backendController(['page' => 'mediapool/upload']) . '"' . rex::getAccesskey(rex_i18n::msg('pool_file_insert'), 'add') . ' title="' . rex_i18n::msg('pool_file_insert') . '"><i class="rex-icon rex-icon-add-media"></i></a></th> <th class="rex-table-thumbnail">' . rex_i18n::msg('pool_file_thumbnail') . '</th> <th>' . rex_i18n::msg('pool_file_info') . ' / ' . rex_i18n::msg('pool_file_description') . '</th>
/** * @return string */ public function get() { $this->init(); $this->setApplyUrl($this->getUrl(['func' => ''], false)); if (($controlElement = $this->getControlElement()) !== null) { if ($controlElement->saved()) { $this->processPostValues(); // speichern und umleiten // Nachricht in der Liste anzeigen if (($result = $this->validate()) === true && ($result = $this->save()) === true) { $this->redirect(rex_i18n::msg('form_saved')); } elseif (is_int($result) && isset($this->errorMessages[$result])) { $this->setWarning($this->errorMessages[$result]); } elseif (is_string($result) && $result != '') { $this->setWarning($result); } else { $this->setWarning(rex_i18n::msg('form_save_error')); } } elseif ($controlElement->applied()) { $this->processPostValues(); // speichern und wiederanzeigen // Nachricht im Formular anzeigen if (($result = $this->validate()) === true && ($result = $this->save()) === true) { $this->setMessage(rex_i18n::msg('form_applied')); } elseif (is_int($result) && isset($this->errorMessages[$result])) { $this->setWarning($this->errorMessages[$result]); } elseif (is_string($result) && $result != '') { $this->setWarning($result); } else { $this->setWarning(rex_i18n::msg('form_save_error')); } } elseif ($controlElement->deleted()) { // speichern und wiederanzeigen // Nachricht in der Liste anzeigen if (($result = $this->delete()) === true) { $this->redirect(rex_i18n::msg('form_deleted')); } elseif (is_string($result) && $result != '') { $this->setWarning($result); } else { $this->setWarning(rex_i18n::msg('form_delete_error')); } } elseif ($controlElement->resetted()) { // verwerfen und wiederanzeigen // Nachricht im Formular anzeigen $this->setMessage(rex_i18n::msg('form_resetted')); } elseif ($controlElement->aborted()) { // verwerfen und umleiten // Nachricht in der Liste anzeigen $this->redirect(rex_i18n::msg('form_resetted')); } } $actionParams = []; if ('get' == strtolower($this->method)) { // Parameter dem Formular hinzufügen foreach ($this->getParams() as $name => $value) { $this->addHiddenField($name, $value, ['internal::useArraySyntax' => 'none']); } } else { $actionParams = $this->getParams(); } $s = "\n"; $warning = $this->getWarning(); $message = $this->getMessage(); if ($warning != '') { $s .= ' ' . rex_view::warning($warning) . "\n"; } elseif ($message != '') { $s .= ' ' . rex_view::info($message) . "\n"; } $i = 0; $addHeaders = true; $fieldsets = $this->getFieldsetElements(); $last = count($fieldsets); $s .= '<form id="' . $this->divId . '" action="' . rex_url::backendController($actionParams) . '" method="' . $this->method . '">' . "\n"; foreach ($fieldsets as $fieldsetName => $fieldsetElements) { $s .= '<fieldset>' . "\n"; if ($fieldsetName != '') { $s .= '<legend>' . htmlspecialchars($fieldsetName) . '</legend>' . "\n"; } // Die HeaderElemente nur im 1. Fieldset ganz am Anfang einfügen if ($i == 0 && $addHeaders) { foreach ($this->getHeaderElements() as $element) { // Callback $element->setValue($this->preView($fieldsetName, $element->getFieldName(), $element->getValue())); // HeaderElemente immer ohne <p> $s .= $element->formatElement(); } $addHeaders = false; } foreach ($fieldsetElements as $element) { // Callback $element->setValue($this->preView($fieldsetName, $element->getFieldName(), $element->getValue())); $s .= $element->get(); } // Die FooterElemente nur innerhalb des letzten Fieldsets if ($i + 1 == $last) { foreach ($this->getFooterElements() as $element) { // Callback $element->setValue($this->preView($fieldsetName, $element->getFieldName(), $element->getValue())); $s .= $element->get(); } } $s .= '</fieldset>' . "\n"; ++$i; } $s .= '</form>' . "\n"; return $s; }
}, rex_extension::EARLY); if (rex::getUser() && $this->getProperty('compile')) { rex_addon::get('be_style')->setProperty('compile', true); rex_extension::register('PACKAGES_INCLUDED', function () { $compiler = new rex_scss_compiler(); $compiler->setRootDir($this->getPath('scss/')); $compiler->setScssFile($this->getPath('scss/master.scss')); // Compile in backend assets dir $compiler->setCssFile($this->getPath('assets/css/styles.css')); $compiler->compile(); // Compiled file to copy in frontend assets dir rex_file::copy($this->getPath('assets/css/styles.css'), $this->getAssetsPath('css/styles.css')); }); } rex_view::addCssFile($this->getAssetsUrl('css/styles.css')); rex_view::addJsFile($this->getAssetsUrl('javascripts/redaxo.js')); rex_extension::register('PAGE_HEADER', function (rex_extension_point $ep) { $icons = []; foreach (['57', '60', '72', '76', '114', '120', '144', '152'] as $size) { $size = $size . 'x' . $size; $icons[] = '<link rel="apple-touch-icon-precomposed" sizes="' . $size . '" href="' . $this->getAssetsUrl('images/apple-touch-icon-' . $size . '.png') . '" />'; } foreach (['16', '32', '96', '128', '196'] as $size) { $size = $size . 'x' . $size; $icons[] = '<link rel="icon" type="image/png" href="' . $this->getAssetsUrl('images/favicon-' . $size . '.png') . '" sizes="' . $size . '" />'; } $icons[] = '<meta name="msapplication-TileColor" content="#FFFFFF" />'; $icons[] = '<meta name="msapplication-TileImage" content="' . $this->getAssetsUrl('images/mstile-144x144.png') . '" />'; foreach (['70', '150', '310'] as $size) { $size = $size . 'x' . $size; $icons[] = '<meta name="msapplication-square' . $size . 'logo" content="' . $this->getAssetsUrl('images/mstile-' . $size . '.png') . '" />';
<?php /** * Cronjob Addon. * * @author gharlan[at]web[dot]de Gregor Harlan * * @package redaxo5 * * @var rex_addon $this */ echo rex_view::title($this->i18n('title')); rex_be_controller::includeCurrentPageSubPath();
<?php /** @var rex_addon $this */ $panel = ''; $settings = rex_post('settings', [['backups', 'bool', false], ['api_login', 'string'], ['api_key', 'string']], null); if (is_array($settings)) { foreach ($settings as $key => $value) { $this->setConfig($key, $value); } echo rex_view::success($this->i18n('settings_saved')); rex_install_webservice::deleteCache(); } $panel .= ' <fieldset> <legend>' . $this->i18n('settings_general') . '</legend>'; $formElements = []; $n = []; $n['reverse'] = true; $n['label'] = '<label>' . $this->i18n('settings_backups') . '</label>'; $n['field'] = '<input type="checkbox" name="settings[backups]" value="1" ' . ($this->getConfig('backups') ? 'checked="checked" ' : '') . '/>'; $formElements[] = $n; $fragment = new rex_fragment(); $fragment->setVar('elements', $formElements, false); $panel .= $fragment->parse('core/form/checkbox.php'); $panel .= ' </fieldset> <fieldset> <legend>' . $this->i18n('settings_myredaxo_account') . '</legend>'; $formElements = []; $n = []; $n['label'] = '<label for="install-settings-api-login">' . $this->i18n('settings_api_login') . '</label>';
$error = $return['message']; } // temp datei löschen if ($impname == '') { rex_file::delete($file_temp); } } else { $error = rex_i18n::msg('backup_file_could_not_be_uploaded') . ' ' . rex_i18n::msg('backup_you_have_no_write_permission_in', 'data/addons/backup/') . ' <br>'; } } } if ($success != '') { echo rex_view::success($success); } if ($error != '') { echo rex_view::error($error); } $fragment = new rex_fragment(); $fragment->setVar('class', 'info'); $fragment->setVar('title', rex_i18n::msg('backup_note'), false); $fragment->setVar('body', '<p>' . rex_i18n::msg('backup_intro_import') . '</p>', false); echo $fragment->parse('core/page/section.php'); $content = '<table class="table table-striped table-hover"> <thead> <tr> <th class="rex-table-icon"></th> <th>' . rex_i18n::msg('backup_filename') . '</th> <th class="rex-table-width-5">' . rex_i18n::msg('backup_filesize') . '</th> <th class="rex-table-width-5">' . rex_i18n::msg('backup_createdate') . '</th> <th class="rex-table-action" colspan="3">' . rex_i18n::msg('backup_function') . '</th> </tr>
case 'ART_SLICES_COPY': $type = 'slices_copy'; break; case 'SLICE_MOVE': $type = 'slice_' . $ep->getParam('direction'); break; default: $type = strtolower($ep->getName()); } $article_id = $ep->getParam('article_id'); $clang_id = $ep->getParam('clang_id'); $slice_revision = $ep->getParam('slice_revision'); rex_article_slice_history::makeSnapshot($article_id, $clang_id, $type, $slice_revision); }); rex_view::addCssFile($this->getAssetsUrl('history.css')); rex_view::addJsFile($this->getAssetsUrl('history.js')); $info = ''; switch (rex_request('rex_history_function', 'string')) { case 'snap': $article_id = rex_request('history_article_id', 'int'); $clang_id = rex_request('history_clang_id', 'int'); $revision = rex_request('history_revision', 'int', 0); $history_date = rex_request('history_date', 'string'); rex_article_slice_history::restoreSnapshot($history_date, $article_id, $clang_id, $revision); $info = $version['history_snapshot_history_reactivate_snapshot']; case 'layer': // article_id und clang_id und revision noch nötig $article_id = rex_request('history_article_id', 'int'); $clang_id = rex_request('history_clang_id', 'int'); $revision = rex_request('history_revision', 'int', 0); $versions = rex_article_slice_history::getSnapshots($article_id, $clang_id, $revision);
function getFieldPage() { // ********************************************* FIELD ADD/EDIT/LIST $func = rex_request('func', 'string', 'list'); $type_id = rex_request('type_id', 'string'); $type_name = rex_request('type_name', 'string'); $field_id = rex_request('field_id', 'int'); $link_vars = ''; foreach ($this->getLinkVars() as $k => $v) { $link_vars .= '&' . urlencode($k) . '=' . urlencode($v); } $TYPE = array('value' => rex_i18n::msg('yform_values'), 'validate' => rex_i18n::msg('yform_validates'), 'action' => rex_i18n::msg('yform_action')); // ********************************** TABELLE HOLEN $table = $this->table; $table_info = '<b>' . rex_i18n::translate($table->getName()) . ' [' . $table->getTableName() . ']</b> '; echo rex_view::info($table_info); // ********************************************* Missing Fields $mfields = $table->getMissingFields(); // ksort($mfields); $type_real_field = rex_request('type_real_field', 'string'); if ($type_real_field != '' && !array_key_exists($type_real_field, $mfields)) { $type_real_field = ''; } if ($type_real_field != '') { $panel = ''; $panel .= '<dl class="dl-horizontal text-left">'; $rfields = $this->table->getColumns(); foreach ($rfields[$type_real_field] as $k => $v) { $panel .= '<dt>' . ucfirst($k) . ':</dt><dd>' . $v . '</dd>'; } $panel .= '</dl>'; $fragment = new rex_fragment(); $fragment->setVar('class', 'info'); $fragment->setVar('title', 'Folgendes Feld wird verwendet: ' . $type_real_field); $fragment->setVar('body', $panel, false); echo $fragment->parse('core/page/section.php'); } // ********************************************* CHOOSE FIELD $types = rex_yform::getTypeArray(); if ($func == 'choosenadd') { $link = 'index.php?' . $link_vars . '&table_name=' . $table->getTableName() . '&func=add&'; $content = []; $panels = []; if (!$table->hasId()) { $content[] = rex_i18n::msg('yform_id_is_missing') . '' . rex_i18n::msg('yform_id_missing_info'); } else { if ($type_real_field == '' && count($mfields) > 0) { $tmp = ''; $d = 0; foreach ($mfields as $k => $v) { $d++; $l = 'index.php?' . $link_vars . '&table_name=' . $table->getTableName() . '&func=choosenadd&type_real_field=' . $k . '&type_layout=t'; $tmp .= '<a class="btn btn-default" href="' . $l . '">' . $k . '</a> '; } $fragment = new rex_fragment(); $fragment->setVar('class', 'info'); $fragment->setVar('title', 'Es gibt noch Felder in der Tabelle welche nicht zugewiesen sind.'); $fragment->setVar('body', $tmp, false); echo $fragment->parse('core/page/section.php'); } $tmp = ''; if (isset($types['value'])) { ksort($types['value']); $tmp .= '<table class="table table-hover">'; foreach ($types['value'] as $k => $v) { $tmp .= '<tr><th><a class="btn btn-default btn-block" href="' . $link . 'type_id=value&type_name=' . $k . '&type_real_field=' . $type_real_field . '"><code>' . $k . '</code></a></th><td class="vertical-middle">' . $v['description'] . '</td></tr>'; } $tmp .= '</table>'; } $fragment = new rex_fragment(); $fragment->setVar('title', $TYPE['value']); $fragment->setVar('content', $tmp, false); $panels[] = $fragment->parse('core/page/section.php'); $tmp = ''; if (isset($types['validate'])) { ksort($types['validate']); $tmp .= '<table class="table table-hover">'; foreach ($types['validate'] as $k => $v) { $tmp .= '<tr><th><a class="btn btn-default btn-block" href="' . $link . 'type_id=validate&type_name=' . $k . '"><code>' . $k . '</code></a></th><td class="vertical-middle">' . $v['description'] . '</td></tr>'; } $tmp .= '</table>'; } $fragment = new rex_fragment(); $fragment->setVar('title', $TYPE['validate']); $fragment->setVar('content', $tmp, false); $panels[] = $fragment->parse('core/page/section.php'); } $fragment = new rex_fragment(); $fragment->setVar('title', rex_i18n::msg('yform_choosenadd')); $fragment->setVar('body', rex_i18n::msg('yform_choosenadd_description'), false); echo $fragment->parse('core/page/section.php'); $fragment = new rex_fragment(); $fragment->setVar('content', $panels, false); echo $fragment->parse('core/page/grid.php'); $table_echo = '<a class="btn btn-default" href="index.php?' . $link_vars . '&table_name=' . $table->getTableName() . '">' . rex_i18n::msg('yform_back_to_overview') . '</a>'; $fragment = new rex_fragment(); $fragment->setVar('footer', $table_echo, false); echo $fragment->parse('core/page/section.php'); } // ********************************************* FORMULAR if (($func == 'add' || $func == 'edit') && isset($types[$type_id][$type_name])) { $yform = new rex_yform(); $yform->setDebug(false); foreach ($this->getLinkVars() as $k => $v) { $yform->setHiddenField($k, $v); } $yform->setHiddenField('func', $func); $yform->setHiddenField('table_name', $table->getTableName()); $yform->setHiddenField('type_real_field', $type_real_field); $yform->setHiddenField('list', rex_request('list', 'string')); $yform->setHiddenField('sort', rex_request('sort', 'string')); $yform->setHiddenField('sorttype', rex_request('sorttype', 'string')); $yform->setHiddenField('start', rex_request('start', 'string')); $yform->setValueField('hidden', array('table_name', $table->getTableName())); $yform->setValueField('hidden', array('type_name', $type_name, 'REQUEST')); $yform->setValueField('hidden', array('type_id', $type_id, 'REQUEST')); $yform->setValueField('prio', array('prio', 'Prioritaet', array('name', 'type_id', 'type_name'), array('table_name'))); $selectFields = array(); $i = 1; foreach ($types[$type_id][$type_name]['values'] as $k => $v) { $field = $this->getFieldName($k, $type_id); $selectFields['f' . $i] = $field; $i++; switch ($v['type']) { case 'name': if ($func == 'edit') { $yform->setValueField('showvalue', array($field, 'Name')); } else { if (!isset($v['value']) && $type_real_field != '') { $v['value'] = $type_real_field; } elseif (!isset($v['value'])) { $v['value'] = ''; } $yform->setValueField('text', array($field, 'Name', $v['value'])); $yform->setValidateField('empty', array($field, rex_i18n::msg('yform_validatenamenotempty'))); $yform->setValidateField('preg_match', array($field, "/(([a-zA-Z])+([a-zA-Z0-9\\_])*)/", rex_i18n::msg('yform_validatenamepregmatch'))); $yform->setValidateField('customfunction', array($field, 'rex_yform_manager_checkField', array('table_name' => $table->getTableName()), rex_i18n::msg('yform_validatenamecheck'))); } break; case 'no_db': if (!isset($v['default']) || $v['default'] != 1) { $v['default'] = 0; } $yform->setValueField('checkbox', array($field, rex_i18n::msg('yform_donotsaveindb'), 'no_db', $v['default'])); break; case 'boolean': // checkbox|check_design|Bezeichnung|Value|1/0|[no_db] if (!isset($v['default'])) { $v['default'] = ''; } $yform->setValueField('checkbox', array($field, $v['label'], '', $v['default'])); break; case 'select': // select|gender|Geschlecht *|Frau=w;Herr=m|[no_db]|defaultwert|multiple=1 $yform->setValueField('select', array($field, $v['label'], $v['options'], '', $v['default'], 0)); break; case 'table': // ist fest eingetragen, damit keine Dinge durcheinandergehen if ($func == 'edit') { $yform->setValueField('showvalue', array($field, $v['label'])); } else { $_tables = rex_yform_manager_table::getAll(); $_options = array(); if (isset($v['empty_option']) && $v['empty_option']) { $_options[0] = '–='; } foreach ($_tables as $_table) { $_options[$_table['table_name']] = str_replace('=', '-', rex_i18n::translate($_table['name']) . ' [' . $_table['table_name'] . ']') . '=' . $_table['table_name']; $_options[$_table['table_name']] = str_replace(',', '.', $_options[$_table['table_name']]); } if (!isset($v['default'])) { $v['default'] = ''; } $yform->setValueField('select', array($field, $v['label'], implode(',', $_options), '', $v['default'], 0)); } break; case 'textarea': $yform->setValueField('textarea', array($field, $v['label'])); break; case 'table.field': // Todo: // Todo: case 'select_name': $_fields = array(); foreach ($table->getValueFields() as $_k => $_v) { $_fields[] = $_k; } $yform->setValueField('select', array($field, $v['label'], implode(',', $_fields), '', '', 0)); break; case 'select_names': $_fields = array(); foreach ($table->getValueFields() as $_k => $_v) { $_fields[] = $_k; } $yform->setValueField('select', array($field, $v['label'], implode(',', $_fields), '', '', 1, 5)); break; default: // nur beim "Bezeichnungsfeld" if ($field == 'label' && $type_real_field != '' && !isset($v['value'])) { $v['value'] = $type_real_field; } elseif (!isset($v['value'])) { $v['value'] = ''; } $yform->setValueField('text', array($field, $v['label'], $v['value'])); } } $yform->setActionField('showtext', array('', '<p>' . rex_i18n::msg('yform_thankyouforentry') . '</p>')); $yform->setObjectparams('main_table', rex_yform_manager_field::table()); if ($func == 'edit') { $yform->setObjectparams('submit_btn_label', rex_i18n::msg('yform_save')); $yform->setHiddenField('field_id', $field_id); $yform->setActionField('manage_db', array(rex_yform_manager_field::table(), "id={$field_id}")); $yform->setObjectparams('main_id', $field_id); $yform->setObjectparams('main_where', "id={$field_id}"); $sql = rex_sql::factory(); $sql->setQuery('SELECT * FROM ' . rex_yform_manager_field::table() . " WHERE id={$field_id}"); foreach ($selectFields as $alias => $field) { if ($alias != $field) { if ((!$sql->hasValue($field) || null === $sql->getValue($field) || '' === $sql->getValue($field)) && $sql->hasValue($alias)) { $sql->setValue($field, $sql->getValue($alias)); } $yform->setValueField('hidden', array($alias, '')); } } $yform->setObjectparams('sql_object', $sql); $yform->setObjectparams('getdata', true); } elseif ($func == 'add') { $yform->setObjectparams('submit_btn_label', rex_i18n::msg('yform_add')); $yform->setActionField('manage_db', array(rex_yform_manager_field::table())); } if ($type_id == 'value') { $yform->setValueField('checkbox', array('list_hidden', rex_i18n::msg('yform_hideinlist'), 1, '1')); $yform->setValueField('checkbox', array('search', rex_i18n::msg('yform_useassearchfieldalidatenamenotempty'), 1, '1')); } elseif ($type_id == 'validate') { $yform->setValueField('hidden', array('list_hidden', 1)); } $form = $yform->getForm(); if ($yform->objparams['form_show']) { if ($func == 'add') { $title = rex_i18n::msg('yform_addfield') . ' "' . $type_name . '"'; } else { $title = rex_i18n::msg('yform_editfield') . ' "' . $type_name . '"'; } $fragment = new rex_fragment(); $fragment->setVar('class', 'edit', false); $fragment->setVar('title', $title); $fragment->setVar('body', $form, false); // $fragment->setVar('buttons', $buttons, false); $form = $fragment->parse('core/page/section.php'); echo $form; $table_echo = '<a class="btn btn-default" href="index.php?' . $link_vars . '&table_name=' . $table->getTableName() . '">' . rex_i18n::msg('yform_back_to_overview') . '</a>'; $fragment = new rex_fragment(); $fragment->setVar('footer', $table_echo, false); echo $fragment->parse('core/page/section.php'); $func = ''; } else { if ($func == 'edit') { $this->generateAll(); echo rex_view::success(rex_i18n::msg('yform_thankyouforupdate')); } elseif ($func == 'add') { $this->generateAll(); echo rex_view::success(rex_i18n::msg('yform_thankyouforentry')); } $func = 'list'; } } // ********************************************* LOESCHEN if ($func == 'delete') { $sf = rex_sql::factory(); $sf->debugsql = self::$debug; $sf->setQuery('select * from ' . rex_yform_manager_field::table() . ' where table_name="' . $table->getTableName() . '" and id=' . $field_id); $sfa = $sf->getArray(); if (count($sfa) == 1) { $query = 'delete from ' . rex_yform_manager_field::table() . ' where table_name="' . $table->getTableName() . '" and id=' . $field_id; $delsql = rex_sql::factory(); $delsql->debugsql = self::$debug; $delsql->setQuery($query); echo rex_view::success(rex_i18n::msg('yform_tablefielddeleted')); $this->generateAll(); } else { echo rex_view::warning(rex_i18n::msg('yform_tablefieldnotfound')); } $func = 'list'; } // ********************************************* CREATE/UPDATE FIELDS if ($func == 'updatetable') { $this->generateAll(); echo rex_view::info(rex_i18n::msg('yform_tablesupdated')); $func = 'list'; } if ($func == 'updatetablewithdelete') { $this->generateAll(array('delete_fields' => true)); echo rex_view::info(rex_i18n::msg('yform_tablesupdated')); $func = 'list'; } if ($func == 'show_form_notation') { $formbuilder_fields = $table->getFields(); $notation_php = ''; $notation_pipe = ''; $notation_email = ''; $notation_php_pre = array('$yform = new rex_yform();', '$yform->setObjectparams(\'form_skin\', \'default\');', '$yform->setObjectparams(\'form_showformafterupdate\', 0);', '$yform->setObjectparams(\'real_field_names\', true);'); $notation_php .= implode("\n", $notation_php_pre) . "\n"; $notation_pipe_pre = array('objparams|form_skin|bootstrap', 'objparams|form_showformafterupdate|0', 'objparams|real_field_names|true'); $notation_pipe .= implode("\n", $notation_pipe_pre) . "\n"; foreach ($formbuilder_fields as $field) { $class = 'rex_yform_' . $field->getType() . '_' . $field->getTypeName(); $cl = new $class(); $definitions = $cl->getDefinitions(); $values = array(); $i = 1; foreach ($definitions['values'] as $key => $_) { $key = $this->getFieldName($key, $field['type_id']); if (isset($field[$key])) { $values[] = $field[$key]; } elseif (isset($field['f' . $i])) { $values[] = $field['f' . $i]; } else { $values[] = ''; } $i++; } if ($field['type_id'] == 'value') { $notation_php .= "\n" . '$yform->setValueField(\'' . $field['type_name'] . '\', array("' . rtrim(implode('","', $values), '","') . '"));'; $notation_pipe .= "\n" . $field['type_name'] . '|' . rtrim(implode('|', $values), '|') . '|'; $notation_email .= "\n" . $field['label'] . ': ###' . $field['name'] . '###'; } elseif ($field['type_id'] == 'validate') { $notation_php .= "\n" . '$yform->setValidateField(\'' . $field['type_name'] . '\', array("' . rtrim(implode('","', $values), '","') . '"));'; $notation_pipe .= "\n" . $field['type_id'] . '|' . $field['type_name'] . '|' . rtrim(implode('|', $values), '|') . '|'; } elseif ($field['type_id'] == 'action') { $notation_php .= "\n" . '$yform->setActionField(\'' . $field['type_name'] . '\', array("' . rtrim(implode('","', $values), '","') . '"));'; $notation_pipe .= "\n" . $field['type_id'] . '|' . $field['type_name'] . '|' . rtrim(implode('|', $values), '|') . '|'; } } $notation_php .= "\n\n" . '$yform->setActionField(\'email\', array(\'emailtemplate\', \'emaillabel\', \'email@domain.de\'));'; $notation_php .= "\n" . 'echo $yform->getForm();'; $notation_pipe .= "\n\n" . 'action|email|emailtemplate|emaillabel|email@domain.de'; $fragment = new rex_fragment(); $fragment->setVar('title', 'PHP'); $fragment->setVar('body', '<pre class="pre-scrollable">' . $notation_php . '</pre>', false); $content = $fragment->parse('core/page/section.php'); echo $content; $fragment = new rex_fragment(); $fragment->setVar('title', 'Pipe'); $fragment->setVar('body', '<pre class="pre-scrollable">' . $notation_pipe . '</pre>', false); $content = $fragment->parse('core/page/section.php'); echo $content; $fragment = new rex_fragment(); $fragment->setVar('title', 'E-Mail'); $fragment->setVar('body', '<pre class="pre-scrollable">' . $notation_email . '</pre>', false); $content = $fragment->parse('core/page/section.php'); echo $content; $func = 'list'; } // ********************************************* LIST if ($func == 'list') { $show_list = true; $show_list = rex_extension::registerPoint(new rex_extension_point('YFORM_MANAGER_TABLE_FIELD_FUNC', $show_list, ['table' => $table, 'link_vars' => $this->getLinkVars()])); if ($show_list) { function rex_yform_list_format($p, $value = '') { if ($value != '') { $p['value'] = $value; } switch ($p['list']->getValue('type_id')) { case 'validate': $style = 'color:#aaa;'; // background-color:#cfd9d9; break; case 'action': $style = 'background-color:#cfd9d9;'; break; default: $style = 'background-color:#eff9f9;'; break; } return '<td style="' . $style . '">' . $p['value'] . '</td>'; } function rex_yform_list_edit_format($p) { return rex_yform_list_format($p, $p['list']->getColumnLink(rex_i18n::msg('yform_function'), '<i class="rex-icon rex-icon-edit"></i> ' . rex_i18n::msg('yform_edit'))); } function rex_yform_list_delete_format($p) { return rex_yform_list_format($p, $p['list']->getColumnLink(rex_i18n::msg('yform_delete'), '<i class="rex-icon rex-icon-delete"></i> ' . rex_i18n::msg('yform_delete'))); } $context = new rex_context($this->getLinkVars()); $items = []; $item = []; $item['label'] = rex_i18n::msg('yform_manager_show_form_notation'); $item['url'] = $context->getUrl(['table_name' => $table->getTableName(), 'func' => 'show_form_notation']); $item['attributes']['class'][] = 'btn-default'; if (rex_request('func', 'string') == 'show_form_notation') { $item['attributes']['class'][] = 'active'; } $items[] = $item; $item = []; $item['label'] = rex_i18n::msg('yform_updatetable'); $item['url'] = $context->getUrl(['table_name' => $table->getTableName(), 'func' => 'updatetable']); $item['attributes']['class'][] = 'btn-default'; if (rex_request('func', 'string') == 'updatetable') { $item['attributes']['class'][] = 'active'; } $items[] = $item; $item = []; $item['label'] = rex_i18n::msg('yform_updatetable_with_delete'); $item['url'] = $context->getUrl(['table_name' => $table->getTableName(), 'func' => 'updatetablewithdelete']); $item['attributes']['class'][] = 'btn-default'; if (rex_request('func', 'string') == 'updatetablewithdelete') { $item['attributes']['class'][] = 'active'; } $item['attributes']['onclick'][] = 'return confirm(\'' . rex_i18n::msg('yform_updatetable_with_delete_confirm') . '\')'; $items[] = $item; $fragment = new rex_fragment(); $fragment->setVar('buttons', $items, false); $fragment->setVar('size', 'xs', false); $panel_options = $fragment->parse('core/buttons/button_group.php'); $sql = 'select id, prio, type_id, type_name, name from ' . rex_yform_manager_field::table() . ' where table_name="' . $table->getTableName() . '" order by prio'; $list = rex_list::factory($sql, 30); // $list->debug = 1; // $list->setColumnFormat('id', 'Id'); $tdIcon = '<i class="rex-icon rex-icon-table"></i>'; $thIcon = '<a href="' . $list->getUrl(['table_name' => $table->getTableName(), 'func' => 'choosenadd']) . '"' . rex::getAccesskey(rex_i18n::msg('add'), 'add') . '><i class="rex-icon rex-icon-add"></i></a>'; $list->addColumn($thIcon, $tdIcon, 0, ['<th class="rex-table-icon">###VALUE###</th>', '<td class="rex-table-icon">###VALUE###</td>']); $list->setColumnParams($thIcon, ['field_id' => '###id###', 'func' => 'edit', 'type_name' => '###type_name###', 'type_id' => '###type_id###']); foreach ($this->getLinkVars() as $k => $v) { $list->addParam($k, $v); } $list->addParam('start', rex_request('start', 'int')); $list->addParam('table_name', $table->getTableName()); $list->removeColumn('id'); $list->setColumnLabel('prio', rex_i18n::msg('yform_manager_table_prio_short')); //$list->setColumnLayout('prio', ['<th class="rex-table-priority">###VALUE###</th>', '<td class="rex-table-priority" data-title="' . rex_i18n::msg('yform_manager_table_prio_short') . '">###VALUE###</td>']); $list->setColumnLayout('prio', array('<th>###VALUE###</th>', '###VALUE###')); $list->setColumnFormat('prio', 'custom', 'rex_yform_list_format'); $list->setColumnLabel('type_id', rex_i18n::msg('yform_manager_type_id')); $list->setColumnLayout('type_id', array('<th>###VALUE###</th>', '###VALUE###')); $list->setColumnFormat('type_id', 'custom', 'rex_yform_list_format'); $list->setColumnLabel('type_name', rex_i18n::msg('yform_manager_type_name')); $list->setColumnLayout('type_name', array('<th>###VALUE###</th>', '###VALUE###')); $list->setColumnFormat('type_name', 'custom', 'rex_yform_list_format'); $list->setColumnLabel('name', rex_i18n::msg('yform_manager_name')); $list->setColumnLayout('name', array('<th>###VALUE###</th>', '###VALUE###')); // ###VALUE### $list->setColumnFormat('name', 'custom', 'rex_yform_list_format'); $list->addColumn(rex_i18n::msg('yform_function'), '<i class="rex-icon rex-icon-edit"></i> ' . rex_i18n::msg('yform_edit')); $list->setColumnParams(rex_i18n::msg('yform_function'), array('field_id' => '###id###', 'func' => 'edit', 'type_name' => '###type_name###', 'type_id' => '###type_id###')); $list->setColumnLayout(rex_i18n::msg('yform_function'), array('<th class="rex-table-action" colspan="2">###VALUE###</th>', '###VALUE###')); $list->setColumnFormat(rex_i18n::msg('yform_function'), 'custom', 'rex_yform_list_edit_format'); $list->addColumn(rex_i18n::msg('yform_delete'), '<i class="rex-icon rex-icon-delete"></i> ' . rex_i18n::msg('yform_delete')); $list->setColumnParams(rex_i18n::msg('yform_delete'), array('field_id' => '###id###', 'func' => 'delete')); $list->setColumnLayout(rex_i18n::msg('yform_delete'), array('', '###VALUE###')); $list->setColumnFormat(rex_i18n::msg('yform_delete'), 'custom', 'rex_yform_list_delete_format'); $list->addLinkAttribute(rex_i18n::msg('yform_delete'), 'onclick', 'return confirm(\' [###type_id###, ###type_name###, ###name###] ' . rex_i18n::msg('yform_delete') . ' ?\')'); $content = $list->get(); $fragment = new rex_fragment(); $fragment->setVar('title', rex_i18n::msg('yform_manager_tablefield_overview')); $fragment->setVar('options', $panel_options, false); $fragment->setVar('content', $content, false); $content = $fragment->parse('core/page/section.php'); echo $content; } } }
<?php /** * This file is part of the Dao Var package. * * @author (c) Thomas Blum <*****@*****.**> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ $subpage = rex_be_controller::getCurrentPagePart(2); echo rex_view::title(rex_i18n::msg('dao_var_title')); include rex_be_controller::getCurrentPageObject()->getSubPath();