<?php /** * Media Manager Addon. * * @author office[at]vscope[dot]at Wolfgang Hutteger * @author markus.staab[at]redaxo[dot]de Markus Staab * @author jan.kristinus[at]yakmara[dot]de Jan Kristinus * @author dh[at]daveholloway[dot]co[dot]uk Dave Holloway * * @package redaxo5 */ $subpage = rex_be_controller::getCurrentPagePart(2); $func = rex_request('func', 'string'); echo rex_view::title(rex_i18n::msg('media_manager')); if ($func == 'clear_cache') { $c = rex_media_manager::deleteCache(); echo rex_view::info(rex_i18n::msg('media_manager_cache_files_removed', $c)); $func = ''; } include rex_be_controller::getCurrentPageObject()->getSubPath();
<?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();
<?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");
$gc->setQuery('SELECT * FROM ' . rex::getTablePrefix() . 'media_category WHERE id=' . $rex_file_category); if ($gc->getRows() != 1) { $rex_file_category = 0; $rex_file_category_name = rex_i18n::msg('pool_kats_no'); } else { $rex_file_category_name = $gc->getValue('name'); } rex_set_session('media[rex_file_category]', $rex_file_category); // -------------- PERMS $PERMALL = rex::getUser()->getComplexPerm('media')->hasCategoryPerm(0); // -------------- Header $subline = rex_be_controller::getPageObject('mediapool')->getSubpages(); foreach ($subline as $sp) { $sp->setHref(rex_url::backendPage($sp->getFullKey(), $arg_url, false)); } echo rex_view::title(rex_i18n::msg('pool_media'), $subline); // -------------- Messages if ($success != '') { echo rex_view::info($success); $success = ''; } if ($error != '') { echo rex_view::error($error); $error = ''; } // -------------- Javascripts ?> <script type="text/javascript"> <!-- function selectMedia(filename, alt)
<?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();
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 /** * 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';
} </script> <?php $isRoot = $category_id === 0; $category = rex_category::get($category_id); $navigation = []; if ($category) { foreach ($category->getParentTree() as $parent) { $n = []; $n['title'] = str_replace(' ', ' ', htmlspecialchars($parent->getName())); $n['href'] = $context->getUrl(['category_id' => $parent->getId()]); $navigation[] = $n; } } echo rex_view::title('Linkmap'); $title = '<a href="' . $context->getUrl(['category_id' => 0]) . '"><i class="rex-icon rex-icon-sitestartarticle"></i> ' . rex_i18n::msg('homepage') . '</a>'; $fragment = new rex_fragment(); $fragment->setVar('title', $title, false); $fragment->setVar('items', $navigation, false); echo $fragment->parse('core/navigations/breadcrumb.php'); $content = []; $categoryTree = new rex_linkmap_category_tree($context); $panel = $categoryTree->getTree($category_id); $fragment = new rex_fragment(); $fragment->setVar('title', rex_i18n::msg('linkmap_categories'), false); $fragment->setVar('body', $panel, false); $content[] = $fragment->parse('core/page/section.php'); $articleList = new rex_linkmap_article_list($context); $panel = $articleList->getList($category_id); $fragment = new rex_fragment();
<?php /** * This file is part of the Sprog 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('sprog_title')); include rex_be_controller::getCurrentPageObject()->getSubPath();
break; } } if ($stop) { echo rex_view::error('You have no permission to this area'); exit; } } } else { $clang = rex_clang::getStartId(); } $context = new rex_context(['page' => 'structure', 'category_id' => $category_id, 'article_id' => $article_id, 'clang' => $clang]); // --------------------- Extension Point echo rex_extension::registerPoint(new rex_extension_point('PAGE_STRUCTURE_HEADER_PRE', '', ['context' => $context])); // --------------------------------------------- TITLE echo rex_view::title(rex_i18n::msg('title_structure')); // --------------------------------------------- Languages echo rex_view::clangSwitchAsButtons($context); // --------------------------------------------- Path require __DIR__ . '/../functions/function_rex_category.php'; // -------------- STATUS_TYPE Map $catStatusTypes = rex_category_service::statusTypes(); $artStatusTypes = rex_article_service::statusTypes(); // --------------------------------------------- API MESSAGES echo rex_api_function::getMessage(); // --------------------------------------------- KATEGORIE LISTE $cat_name = 'Homepage'; $category = rex_category::get($category_id, $clang); if ($category) { $cat_name = $category->getName(); }
<?php /** * rex5_multiupload Addon. * @author Friends Of REDAXO * @package redaxo * @var rex_addon $this */ echo rex_view::title('Rex5 Multiupload'); $upload = new rex_mediapool_multiupload(); $upload->setCallback("complete", "multiuploadEditFile"); echo $upload->createUploadForm();
<?php /** * Textile Addon. * * @author markus[dot]staab[at]redaxo[dot]de Markus Staab * * @package redaxo5 */ echo rex_view::title('Textile'); $mdl_input = '<?php if (rex_addon::get(\'textile\')->isAvailable()) { echo \'<textarea name="REX_INPUT_VALUE[1]" rows="10">REX_VALUE[1]</textarea><br /><br />\'; echo \'<a href="#" onclick="jQuery(\\\'#rex-textile-help\\\').toggle(\\\'fast\\\');">Zeige/verberge Textile Hilfe</a><br />\'; echo \'<div id="rex-textile-help" style="display:none">\'; rex_textile::showHelpOverview(); echo \'</div>\'; } else { echo rex_view::warning(\'Dieses Modul benötigt das "textile" Addon!\'); } '; $fragment = new rex_fragment(); $fragment->setVar('title', rex_i18n::msg('textile_code_for_module_input')); $fragment->setVar('body', rex_string::highlight($mdl_input), false); $content = $fragment->parse('core/page/section.php'); echo $content; $mdl_output = '<?php if (rex_addon::get(\'textile\')->isAvailable())
<?php /** * @package redaxo5 */ echo rex_view::title(rex_i18n::msg('addons'), ''); $content = ''; // -------------- RequestVars $subpage = rex_request('subpage', 'string'); // ----------------- HELPPAGE if ($subpage == 'help') { $package = rex_package::get(rex_request('package', 'string')); $name = $package->getPackageId(); $version = $package->getVersion(); $author = $package->getAuthor(); $supportPage = $package->getSupportPage(); if (!is_file($package->getPath('help.php'))) { $content .= rex_view::info(rex_i18n::msg('package_no_help_file')); } else { ob_start(); $package->includeFile('help.php'); $content .= ob_get_clean(); } $fragment = new rex_fragment(); $fragment->setVar('title', rex_i18n::msg('package_help') . ' ' . $name, false); $fragment->setVar('body', $content, false); echo $fragment->parse('core/page/section.php'); $credits = ''; $credits .= '<dl class="dl-horizontal">'; $credits .= '<dt>' . rex_i18n::msg('credits_name') . '</dt><dd>' . htmlspecialchars($name) . '</dd>'; if ($version) {
} </script> <?php $isRoot = $category_id === 0; $category = rex_category::get($category_id); $navigation = []; if ($category) { foreach ($category->getParentTree() as $parent) { $n = []; $n['title'] = str_replace(' ', ' ', htmlspecialchars($parent->getName())); $n['href'] = $context->getUrl(['category_id' => $parent->getId()]); $navigation[] = $n; } } echo rex_view::title('<i class="rex-icon rex-icon-linkmap"></i> Linkmap'); $title = '<a href="' . $context->getUrl(['category_id' => 0]) . '"><i class="rex-icon rex-icon-sitestartarticle"></i> ' . rex_i18n::msg('homepage') . '</a>'; $fragment = new rex_fragment(); $fragment->setVar('title', $title, false); $fragment->setVar('items', $navigation, false); echo $fragment->parse('core/navigations/breadcrumb.php'); $content = []; $categoryTree = new rex_linkmap_category_tree($context); $panel = $categoryTree->getTree($category_id); $fragment = new rex_fragment(); $fragment->setVar('title', rex_i18n::msg('linkmap_categories'), false); $fragment->setVar('content', $panel, false); $content[] = $fragment->parse('core/page/section.php'); $articleList = new rex_linkmap_article_list($context); $panel = $articleList->getList($category_id); $fragment = new rex_fragment();
<?php /** * @package redaxo5 */ echo rex_view::title(rex_i18n::msg('system')); rex_be_controller::includeCurrentPageSubPath();
<?php /** * @package redaxo5 */ // Für größere Exports den Speicher für PHP erhöhen. if (rex_ini_get('memory_limit') < 67108864) { @ini_set('memory_limit', '64M'); } // ------- Addon Includes include_once rex_path::addon('import_export', 'functions/function_import_export.php'); include_once rex_path::addon('import_export', 'functions/function_folder.php'); include_once rex_path::addon('import_export', 'functions/function_import_folder.php'); $subpage = rex_be_controller::getCurrentPagePart(2); echo rex_view::title(rex_i18n::msg('im_export_importexport')); include rex_be_controller::getCurrentPageObject()->getSubPath();
<?php /** * Creditsseite. Auflistung der Credits an die Entwickler von REDAXO und den AddOns. * * @package redaxo5 */ echo rex_view::title(rex_i18n::msg('credits'), ''); $content = []; $content[] = ' <h3>Jan Kristinus <small>jan.kristinus@redaxo.org</small></h3> <p> ' . rex_i18n::msg('credits_inventor') . ' & ' . rex_i18n::msg('credits_developer') . '<br /> Yakamara Media GmbH & Co. KG, <a href="http://www.yakamara.de" onclick="window.open(this.href); return false;">www.yakamara.de</a> </p> <h3>Markus Staab <small>markus.staab@redaxo.org</small></h3> <p>' . rex_i18n::msg('credits_developer') . '<br /> REDAXO, <a href="http://www.redaxo.org" onclick="window.open(this.href); return false;">www.redaxo.org</a> </p> <h3>Gregor Harlan <small>gregor.harlan@redaxo.org</small></h3> <p>' . rex_i18n::msg('credits_developer') . '<br /> Yakamara Media GmbH & Co. KG, <a href="http://www.yakamara.de" onclick="window.open(this.href); return false;">www.yakamara.de</a> </p>'; $content[] = ' <h3>Ralph Zumkeller <small>info@redaxo.org</small></h3> <p>' . rex_i18n::msg('credits_designer') . '<br /> Yakamara Media GmbH & Co. KG, <a href="http://www.yakamara.de" onclick="window.open(this.href); return false;">www.yakamara.de</a> </p>
<?php /** * @package redaxo5 */ $subpage = rex_be_controller::getCurrentPagePart(2); $func = rex_request('func', 'string'); $id = rex_request('id', 'int'); echo rex_view::title(rex_i18n::msg('user_management')); include rex_be_controller::getCurrentPageObject()->getSubPath();
<?php /** * @package redaxo5 */ echo rex_view::title(rex_i18n::msg('title_templates')); $OUT = true; $function = rex_request('function', 'string'); $template_id = rex_request('template_id', 'int'); $save = rex_request('save', 'string'); $goon = rex_request('goon', 'string'); $success = ''; $error = ''; $content = ''; $message = ''; if ($function == 'delete') { $del = rex_sql::factory(); $del->setQuery('SELECT ' . rex::getTablePrefix() . 'article.id,' . rex::getTablePrefix() . 'template.name FROM ' . rex::getTablePrefix() . 'article LEFT JOIN ' . rex::getTablePrefix() . 'template ON ' . rex::getTablePrefix() . 'article.template_id=' . rex::getTablePrefix() . 'template.id WHERE ' . rex::getTablePrefix() . 'article.template_id="' . $template_id . '" LIMIT 0,10'); if ($del->getRows() > 0 || rex_template::getDefaultId() == $template_id) { $error = rex_i18n::msg('cant_delete_template_because_its_in_use', rex_i18n::msg('id') . ' = ' . $template_id); } else { $del->setQuery('DELETE FROM ' . rex::getTablePrefix() . 'template WHERE id = "' . $template_id . '" LIMIT 1'); // max. ein Datensatz darf loeschbar sein rex_file::delete(rex_path::addonCache('templates', $template_id . '.template')); $success = rex_i18n::msg('template_deleted'); } } elseif ($function == 'edit') { $legend = rex_i18n::msg('edit_template') . ' <small class="rex-primary-id">' . rex_i18n::msg('id') . ' = ' . $template_id . '</small>'; $hole = rex_sql::factory();
$ctype = rex_request('ctype', 'int', 1); if (!array_key_exists($ctype, $ctypes)) { $ctype = 1; } // default = 1 // ----- Artikel wurde gefunden - Kategorie holen $OOArt = rex_article::get($article_id, $clang); $category_id = $OOArt->getCategoryId(); // ----- Request Parameter $subpage = rex_be_controller::getCurrentPagePart(2); $function = rex_request('function', 'string'); $warning = htmlspecialchars(rex_request('warning', 'string')); $info = htmlspecialchars(rex_request('info', 'string')); $context = new rex_context(['page' => rex_be_controller::getCurrentPage(), 'article_id' => $article_id, 'clang' => $clang, 'ctype' => $ctype]); // ----- Titel anzeigen echo rex_view::title(rex_i18n::msg('content'), ''); if (rex_be_controller::getCurrentPagePart(1) == 'content' && $article_id > 0) { $icon = $article->getValue('startarticle') == 1 ? 'rex-icon-startarticle' : 'rex-icon-article'; $term = $article->getValue('startarticle') == 1 ? rex_i18n::msg('start_article') : rex_i18n::msg('article'); //echo '<h2><i class="rex-icon ' . $icon . '" title="' . $term . '"></i> ' . $article->getValue('name') . ' <small>' . rex_i18n::msg('id') . '=' . $article->getValue('id') . ', ' . $term . '</small></h2>'; } // ----- Languages echo rex_view::clangSwitchAsButtons($context); // ----- category pfad und rechte require rex_path::addon('structure', 'functions/function_rex_category.php'); // ----- EXTENSION POINT echo rex_extension::registerPoint(new rex_extension_point('STRUCTURE_CONTENT_HEADER', '', ['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])); // --------------------- SEARCH BAR //require_once $this->getAddon()->getPath('functions/function_rex_searchbar.php'); //echo rex_structure_searchbar($context); // ----------------- HAT USER DIE RECHTE AN DIESEM ARTICLE ODER NICHT
<?php /** * yform * @author jan.kristinus[at]redaxo[dot]org Jan Kristinus * @author <a href="http://www.yakamara.de">www.yakamara.de</a> */ echo rex_view::title(rex_i18n::msg('yform')); // ********************************************* TABLE ADD/EDIT/LIST $func = rex_request('func', 'string', ''); $page = rex_request('page', 'string', ''); $table_id = rex_request('table_id', 'int'); $show_list = true; if ($func == 'tableset_import' && rex::getUser()->isAdmin()) { $yform = new rex_yform(); $yform->setDebug(true); $yform->setHiddenField('page', $page); $yform->setHiddenField('func', $func); $yform->setObjectparams('real_field_names', true); $yform->setValueField('upload', array('name' => 'importfile', 'label' => rex_i18n::msg('yform_manager_table_import_jsonimportfile'), 'max_size' => '1000', 'types' => '.json', 'required' => 1, 'messages' => array(rex_i18n::msg('yform_manager_table_import_warning_min'), rex_i18n::msg('yform_manager_table_import_warning_max'), rex_i18n::msg('yform_manager_table_import_warning_type'), rex_i18n::msg('yform_manager_table_import_warning_selectfile')), 'modus' => 'no_save', 'no_db' => 'no_db')); $form = $yform->getForm(); if ($yform->objparams['form_show']) { $fragment = new rex_fragment(); $fragment->setVar('class', 'edit', false); $fragment->setVar('title', rex_i18n::msg('yform_manager_tableset_import')); $fragment->setVar('body', $form, false); // $fragment->setVar('buttons', $buttons, false); $form = $fragment->parse('core/page/section.php'); echo $form; echo rex_view::info('<a href="index.php?page=' . $page . '"><b>« ' . rex_i18n::msg('yform_back_to_overview') . '</b></a>'); $show_list = false;
<?php $subpages = []; echo rex_view::title('be_style', $subpages); $pluginContent = rex_extension::registerPoint(new rex_extension_point('BE_STYLE_PAGE_CONTENT', '', [])); echo ' <div class="rex-addon-output"> <h2 class="rex-hl2">Themes/Plugins</h2> <div class="rex-addon-content"> ' . $pluginContent . ' </div> </div>';
<?php /** * yform * @author jan.kristinus[at]redaxo[dot]org Jan Kristinus * @author <a href="http://www.yakamara.de">www.yakamara.de</a> */ echo rex_view::title(rex_i18n::msg('yform_email_templates')); $table = rex::getTablePrefix() . 'yform_email_template'; $bezeichner = rex_i18n::msg('yform_email_template'); $csuchfelder = array('name', 'mail_from', 'mail_subject', 'body'); $func = rex_request('func', 'string', ''); $page = rex_request('page', 'string', ''); $template_id = rex_request('template_id', 'int'); $content = ''; $show_list = true; if ($func == 'edit' || $func == 'add') { echo rex_view::info(rex_i18n::rawMsg('yform_email_info_text')); $form_data = []; $form_data[] = 'text|name|translate:yform_email_key'; $form_data[] = 'validate|empty|name|Bitte key eintragen'; $form_data[] = 'text|mail_from|translate:yform_email_from'; $form_data[] = 'text|mail_from_name|translate:yform_email_from_name'; $form_data[] = 'text|subject|translate:yform_email_subject'; $form_data[] = 'textarea|body|translate:yform_email_body'; $form_data[] = 'textarea|body_html|translate:yform_email_body_html'; $form_data[] = 'be_medialist|attachments|translate:yform_email_attachments'; $form_data[] = 'action|showtext|Vielen Dank|||1'; $yform = rex_yform::factory(); $yform->setObjectparams('form_action', 'index.php?page=yform/email/index&func=' . $func); $yform->setFormData(implode("\n", $form_data));
<?php echo rex_view::title($this->i18n('aufgaben_title')); include rex_be_controller::getCurrentPageObject()->getSubPath();
<?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');
/** * @package redaxo5 */ $error = ''; $success = ''; $user = rex::getUser(); $user_id = $user->getId(); // Allgemeine Infos $userpsw = rex_request('userpsw', 'string'); $userpsw_new_1 = rex_request('userpsw_new_1', 'string'); $userpsw_new_2 = rex_request('userpsw_new_2', 'string'); $username = rex_request('username', 'string', $user->getName()); $userdesc = rex_request('userdesc', 'string', $user->getValue('description')); $userlogin = $user->getLogin(); // --------------------------------- Title echo rex_view::title(rex_i18n::msg('profile_title'), ''); // --------------------------------- BE LANG // backend sprache $sel_be_sprache = new rex_select(); $sel_be_sprache->setSize(1); $sel_be_sprache->setStyle('class="form-control"'); $sel_be_sprache->setName('userperm_be_sprache'); $sel_be_sprache->setId('rex-id-userperm-mylang'); $sel_be_sprache->addOption('default', ''); $saveLocale = rex_i18n::getLocale(); $langs = []; foreach (rex_i18n::getLocales() as $locale) { rex_i18n::setLocale($locale, false); // Locale nicht neu setzen $sel_be_sprache->addOption(rex_i18n::msg('lang'), $locale); }
<?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 /** * @package redaxo5 */ // Für größere Exports den Speicher für PHP erhöhen. if (rex_ini_get('memory_limit') < 67108864) { @ini_set('memory_limit', '64M'); } $subpage = rex_be_controller::getCurrentPagePart(2); echo rex_view::title(rex_i18n::msg('backup_title')); include rex_be_controller::getCurrentPageObject()->getSubPath();
public function getDataPage() { rex_extension::registerPoint(new rex_extension_point('YFORM_MANAGER_DATA_PAGE', $this)); // ********************************************* DATA ADD/EDIT/LIST $func = rex_request('func', 'string', ''); $data_id = rex_request('data_id', 'int', ''); $show_list = true; // -------------- rex_yform_manager_filter and sets $rex_yform_filter = rex_request('rex_yform_filter', 'array'); $rex_yform_set = rex_request('rex_yform_set', 'array'); // -------------- opener - popup for selection $popup = false; $rex_yform_manager_opener = rex_request('rex_yform_manager_opener', 'array'); if (count($rex_yform_manager_opener) > 0) { if (isset($rex_yform_manager_opener['id']) && $rex_yform_manager_opener['id'] != '') { $popup = true; // id, field, multiple } } // -------------- filter - popup for selection if (count($rex_yform_filter) > 0) { $popup = true; } if (is_bool($p = rex_request('popup', 'bool', null))) { $popup = $p; $this->setLinkVars(array('popup' => $p ? 1 : 0)); } // SearchObject $searchObject = new rex_yform_manager_search($this->table); $searchObject->setLinkVars(array("list" => rex_request('list', 'string', ''))); $searchObject->setLinkVars(array("start" => rex_request('start', 'string', ''))); $searchObject->setLinkVars(array("sort" => rex_request('sort', 'string', ''))); $searchObject->setLinkVars(array("sorttype" => rex_request('sorttype', 'string', ''))); $searchObject->setLinkVars($this->getLinkVars()); if (count($rex_yform_filter) > 0) { foreach ($rex_yform_filter as $k => $v) { if (is_array($v)) { foreach ($v as $k2 => $v2) { $searchObject->setLinkVars(array('rex_yform_filter[' . $k . '][' . $k2 . ']' => $v2)); } } else { $searchObject->setLinkVars(array('rex_yform_filter[' . $k . ']' => $v)); } } } if (count($rex_yform_set) > 0) { foreach ($rex_yform_set as $k => $v) { if (is_array($v)) { foreach ($v as $k2 => $v2) { $searchObject->setLinkVars(array('rex_yform_set[' . $k . '][' . $k2 . ']' => $v2)); } } else { $searchObject->setLinkVars(array('rex_yform_set[' . $k . ']' => $v)); } } } if (count($rex_yform_manager_opener) > 0) { foreach ($rex_yform_manager_opener as $k => $v) { $searchObject->setLinkVars(array('rex_yform_manager_opener[' . $k . ']' => $v)); } } $searchform = ''; if ($this->hasDataPageFunction('search')) { $searchform = '<div class="rex-addon-output"> <h3 class="rex-hl2">' . rex_i18n::msg('yform_manager_search') . '</h3> <div class="rex-addon-content"> <div class="yform" id="rex-yform">' . $searchObject->getForm() . '</div> </div> </div>'; } // -------------- DEFAULT - LISTE AUSGEBEN $link_vars = ''; foreach ($this->getLinkVars() as $k => $v) { $link_vars .= '&' . urlencode($k) . '=' . urlencode($v); } echo rex_view::title(rex_i18n::msg('yform_table') . ': ' . rex_i18n::translate($this->table->getName()) . ' <small>[' . $this->table->getTablename() . ']</small>', ''); echo rex_extension::registerPoint(new rex_extension_point('YFORM_MANAGER_REX_INFO', '')); $show_editpage = true; $show_editpage = rex_extension::registerPoint(new rex_extension_point('YFORM_MANAGER_DATA_EDIT_FUNC', $show_editpage, ['table' => $this->table, 'link_vars' => $this->getLinkVars()])); if ($show_editpage) { // -------------- DB FELDER HOLEN $field_names = array(); foreach ($this->table->getValueFields() as $field) { $field_names[] = $field->getName(); } // -------------- DB DATA HOLEN $data = array(); if ($data_id != '') { $gd = rex_sql::factory(); $gd->setQuery('select * from ' . $this->table->getTableName() . ' where id=' . $data_id); if ($gd->getRows() == 1) { $datas = $gd->getArray(); $data = current($datas); } else { $data_id = ''; } } // -------------- Opener foreach ($rex_yform_manager_opener as $k => $v) { $link_vars .= '&rex_yform_manager_opener[' . $k . ']=' . urlencode($v); } // -------------- Searchfields / Searchtext $link_vars .= '&' . http_build_query($searchObject->getSearchVars()); // -------------- FILTER UND SETS PRFEN $em_url_filter = ''; if (count($rex_yform_filter) > 0) { foreach ($rex_yform_filter as $k => $v) { if (!in_array($k, $field_names)) { unset($rex_yform_filter[$k]); } } $em_url_filter .= '&' . http_build_query(compact('rex_yform_filter')); } $em_url_set = ''; if (count($rex_yform_set) > 0) { foreach ($rex_yform_set as $k => $v) { if (!in_array($k, $field_names)) { unset($rex_yform_set[$k]); } } $em_url_filter .= '&' . http_build_query(compact('rex_yform_set')); } $em_url = $em_url_filter . $em_url_set; $em_rex_list = ''; $em_rex_list .= '&list=' . urlencode(rex_request('list', 'string')); $em_rex_list .= '&sort=' . urlencode(rex_request('sort', 'string')); $em_rex_list .= '&sorttype=' . urlencode(rex_request('sorttype', 'string')); $em_rex_list .= '&start=' . urlencode(rex_request('start', 'string')); // ---------- Popup - no menue, header ... if ($popup) { echo '<link rel="stylesheet" type="text/css" href="' . rex_plugin::get('yform', 'manager')->getAssetsUrl('popup.css') . '" />'; } // -------------- Import if (!$popup && $func == 'import' && $this->hasDataPageFunction('import')) { include rex_path::plugin('yform', 'manager', 'pages/data_import.php'); echo rex_view::info('<a href="index.php?' . $link_vars . $em_url . $em_rex_list . '"><b>« ' . rex_i18n::msg('yform_back_to_overview') . '</b></a>'); } // -------------- delete entry if ($func == 'delete' && $data_id != '' && $this->hasDataPageFunction('delete')) { $delete = true; if (rex_extension::registerPoint(new rex_extension_point('YFORM_DATA_DELETE', $delete, array('id' => $data_id, 'value' => $data, 'table' => $this->table)))) { $query = 'delete from ' . $this->table->getTablename() . ' where id=' . $data_id; $delsql = rex_sql::factory(); $delsql->debugsql = self::$debug; $delsql->setQuery($query); echo rex_view::success(rex_i18n::msg('yform_datadeleted')); $func = ''; $this->table->removeRelationTableRelicts(); rex_extension::registerPoint(new rex_extension_point('YFORM_DATA_DELETED', '', array('id' => $data_id, 'value' => $data, 'table' => $this->table))); } } // -------------- delete dataset if ($func == 'dataset_delete' && $this->hasDataPageFunction('truncate_table')) { $delete = true; $query = 'delete from `' . $this->table->getTablename() . '` ' . $this->getDataListQueryWhere($rex_yform_filter, $searchObject); if (rex_extension::registerPoint(new rex_extension_point('YFORM_DATA_DATASET_DELETE', $delete, array('table' => $this->table, 'query' => &$query)))) { $delsql = rex_sql::factory(); $delsql->debugsql = self::$debug; $delsql->setQuery($query); echo rex_view::success(rex_i18n::msg('yform_dataset_deleted')); $func = ''; $this->table->removeRelationTableRelicts(); rex_extension::registerPoint(new rex_extension_point('YFORM_DATA_DATASET_DELETED', '', array('table' => $this->table))); } } // -------------- truncate table if ($func == 'truncate_table' && $this->hasDataPageFunction('truncate_table')) { $truncate = true; if (rex_extension::registerPoint(new rex_extension_point('YFORM_DATA_TABLE_TRUNCATE', $truncate, array('table' => $this->table)))) { $query = 'truncate table ' . $this->table->getTablename(); $trunsql = rex_sql::factory(); $trunsql->setQuery($query); echo rex_view::info(rex_i18n::msg('yform_table_truncated')); $func = ''; $this->table->removeRelationTableRelicts(); rex_extension::registerPoint(new rex_extension_point('YFORM_DATA_TABLE_TRUNCATED', '', array('table' => $this->table))); } } // -------------- export dataset if ($func == 'dataset_export' && $this->hasDataPageFunction('export')) { ob_end_clean(); $sql = $this->getDataListQuery($rex_yform_filter, $searchObject); $data = ''; $fields = array(); $g = rex_sql::factory(); $g->setQuery($sql); $array = rex_extension::registerPoint(new rex_extension_point('YFORM_DATA_TABLE_EXPORT', $g->getArray(), array('table' => $this->table))); foreach ($array as $d) { if ($data == '') { foreach ($d as $a => $b) { $fields[] = '"' . $a . '"'; } $data = implode(';', $fields); } foreach ($d as $a => $b) { $d[$a] = '"' . str_replace('"', '""', $b) . '"'; } $data .= "\n" . implode(';', $d); } // ----- download - save as $filename = 'export_data_' . date('YmdHis') . '.csv'; $filesize = strlen($data); $filetype = 'application/octetstream'; $expires = 'Mon, 01 Jan 2000 01:01:01 GMT'; $last_modified = 'Mon, 01 Jan 2000 01:01:01 GMT'; header('Expires: ' . $expires); // Date in the past header('Last-Modified: ' . $last_modified); // always modified header('Cache-Control: no-store, no-cache, must-revalidate'); // HTTP/1.1 header('Cache-Control: post-check=0, pre-check=0', false); header('Pragma: no-cache'); header('Pragma: private'); header('Cache-control: private, must-revalidate'); header('Content-Type: ' . $filetype . '; name="' . $filename . '"'); header('Content-Disposition: attachment; filename="' . $filename . '"'); header('Content-Description: "' . $filename . '"'); header('Content-Length: ' . $filesize); echo $data; exit; } // -------------- form if ($func == 'add' && $this->hasDataPageFunction('add') || $func == 'edit') { $back = rex_view::info('<a href="index.php?' . $link_vars . $em_url . $em_rex_list . '"><b>« ' . rex_i18n::msg('yform_back_to_overview') . '</b></a>'); $yform = new rex_yform(); $yform->setDebug(self::$debug); foreach ($this->getLinkVars() as $k => $v) { $yform->setHiddenField($k, $v); } if (count($rex_yform_manager_opener) > 0) { foreach ($rex_yform_manager_opener as $k => $v) { $yform->setHiddenField('rex_yform_manager_opener[' . $k . ']', $v); } } if (count($rex_yform_filter) > 0) { foreach ($rex_yform_filter as $k => $v) { if (is_array($v)) { foreach ($v as $k2 => $v2) { $yform->setHiddenField('rex_yform_filter[' . $k . '][' . $k2 . ']', $v2); } } else { $yform->setHiddenField('rex_yform_filter[' . $k . ']', $v); } } } if (count($rex_yform_set) > 0) { foreach ($rex_yform_set as $k => $v) { if (is_array($v)) { foreach ($v as $k2 => $v2) { $yform->setHiddenField('rex_yform_set[' . $k . '][' . $k2 . ']', $v2); } } else { $yform->setHiddenField('rex_yform_set[' . $k . ']', $v); } } } foreach ($searchObject->getSearchVars() as $s_var => $values) { foreach ($values as $k => $v) { $yform->setHiddenField($s_var . '[' . $k . ']', $v); } } // for rexlist $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')); foreach ($this->table->getFields() 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->getType()); /*if ($field->getElement($key)) { $values[] = $field->getElement($key); } elseif ($field->getElement('f' . $i)) { $values[] = $field->getElement('f' . $i); } else { $values[] = ''; }*/ $values[] = $field->getElement($key); $i++; } if ($field->getType() == 'value') { if (in_array($values[1], $this->getFilterFields())) { // Feld vorhanden -> ignorieren -> hidden feld machen // TODO: Feld trotzdem noch aufnehmen, damit validierungen etc noch funktionieren } else { $yform->setValueField($field->getTypeName(), $values); } } elseif ($field->getType() == 'validate') { $yform->setValidateField($field->getTypeName(), $values); } elseif ($field->getType() == 'action') { $yform->setActionField($field->getTypeName(), $values); } } if (rex_request('rex_yform_show_formularblock', 'string') != '') { // Optional .. kann auch geloescht werden. Dient nur zu Hilfe beim Aufbau // von yform-Formularen über php // Textblock gibt den formalarblock als text aus, um diesen in das yform modul einsetzen zu können. // rex_yform_show_formularblock=1 $text_block = ''; foreach ($this->table->getFields() 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->getType()); if (isset($field[$key])) { $values[] = $field[$key]; } elseif (isset($field['f' . $i])) { $values[] = $field['f' . $i]; } else { $values[] = ''; } $i++; } if ($field->getType() == 'value') { $text_block .= "\n" . '$yform->setValueField("' . $field->getTypeName() . '",array("' . implode('","', $values) . '"));'; } else { if ($field->getType() == 'validate') { $text_block .= "\n" . '$yform->setValidateField("' . $field->getTypeName() . '",array("' . implode('","', $values) . '"));'; } else { if ($field->getType() == 'action') { $text_block .= "\n" . '$yform->setActionField("' . $field->getTypeName() . '",array("' . implode('","', $values) . '"));'; } } } // $text_block .= "\n".$field["type_name"].'|'.implode("|",$values); } echo '<pre>' . $text_block . '</pre>'; } $yform->setObjectparams('main_table', $this->table->getTablename()); // für db speicherungen und unique abfragen $yform->setObjectparams('rex_yform_set', $rex_yform_set); $yform_clone = clone $yform; $yform->setHiddenField('func', $func); // damit es neu im clone gesetzt werden kann if ($func == 'edit') { $yform->setHiddenField('data_id', $data_id); $yform->setActionField('db', array($this->table->getTablename(), "id={$data_id}")); $yform->setObjectparams('main_id', $data_id); $yform->setObjectparams('main_where', "id={$data_id}"); $yform->setObjectparams('getdata', true); $yform->setValueField('submits', array("name" => "submit", "labels" => rex_i18n::msg('yform_save') . "," . rex_i18n::msg('yform_save_apply'), "values" => "1,2", "no_db" => true, "css_classes" => "btn-save,btn-apply")); } elseif ($func == 'add') { $yform->setActionField('db', array($this->table->getTablename())); $yform->setValueField('submits', array("name" => "submit", "labels" => rex_i18n::msg('yform_add') . "," . rex_i18n::msg('yform_add_apply'), "values" => "1,2", "no_db" => true, "css_classes" => "btn-save,btn-apply")); } if ($func == 'edit') { $yform = rex_extension::registerPoint(new rex_extension_point('YFORM_DATA_UPDATE', $yform, array('table' => $this->table, 'data_id' => $data_id, 'data' => $data))); } elseif ($func == 'add') { $yform = rex_extension::registerPoint(new rex_extension_point('YFORM_DATA_ADD', $yform, array('table' => $this->table))); } $yform->executeFields(); $submit_type = 1; // normal, 2=apply foreach ($yform->objparams["values"] as $f) { if ($f->getName() == "submit") { if ($f->getValue() == 2) { // apply $yform->setObjectparams('form_showformafterupdate', 1); $yform->executeFields(); $submit_type = 2; } } } $form = $yform->executeActions(); if ($yform->objparams['actions_executed']) { if ($func == 'edit') { echo rex_view::info(rex_i18n::msg('yform_thankyouforupdate')); $yform = rex_extension::registerPoint(new rex_extension_point('YFORM_DATA_UPDATED', $yform, array('table' => $this->table, 'data_id' => $data_id, 'data' => $data))); } elseif ($func == 'add') { echo rex_view::info(rex_i18n::msg('yform_thankyouforentry')); $yform = rex_extension::registerPoint(new rex_extension_point('YFORM_DATA_ADDED', $yform, array('table' => $this->table))); if ($submit_type == 2) { $data_id = $yform->objparams['main_id']; $func = "edit"; $yform = $yform_clone; $yform->setHiddenField('func', $func); $yform->setHiddenField('data_id', $data_id); $yform->setActionField('db', array($this->table->getTablename(), "id={$data_id}")); $yform->setObjectparams('main_id', $data_id); $yform->setObjectparams('main_where', "id={$data_id}"); $yform->setObjectparams('getdata', true); $yform->setValueField('submits', array("name" => "submit", "labels" => rex_i18n::msg('yform_save') . "," . rex_i18n::msg('yform_save_apply'), "values" => "1,2", "no_db" => true, "css_classes" => "btn-save,btn-apply")); $yform->setObjectparams('form_showformafterupdate', 1); $yform->executeFields(); $form = $yform->executeActions(); } } } if ($yform->objparams['form_show'] || $yform->objparams['form_showformafterupdate']) { if ($func == 'add') { $title = rex_i18n::msg('yform_adddata'); } else { $title = rex_i18n::msg('yform_editdata'); } $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; echo rex_extension::registerPoint(new rex_extension_point('YFORM_DATA_FORM', '', array('form' => $form, 'func' => $func, 'this' => $this, 'table' => $this->table))); echo $back; $show_list = false; } } // ********************************************* LIST if ($show_list) { $sql = $this->getDataListQuery($rex_yform_filter, $searchObject); // ---------- LISTE AUSGEBEN /** @type rex_list $list */ $list = rex_list::factory($sql, $this->table->getListAmount()); if ($this->hasDataPageFunction('add')) { $tdIcon = '<i class="rex-icon rex-icon-table"></i>'; $thIcon = '<a href="index.php?' . $link_vars . '&func=add&' . $em_url . $em_rex_list . '"' . 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>']); if (!isset($rex_yform_manager_opener['id'])) { $list->setColumnParams($thIcon, ['data_id' => '###id###', 'func' => 'edit', 'start' => rex_request('start', 'string'), 'sort' => rex_request('sort', 'string'), 'sorttype' => rex_request('sorttype', 'string'), 'list' => rex_request('list', 'string')]); } } // $list->setColumnFormat('id', 'Id'); foreach ($this->getLinkVars() as $k => $v) { $list->addParam($k, $v); } $list->addParam('table_name', $this->table->getTablename()); if (count($rex_yform_filter) > 0) { foreach ($rex_yform_filter as $k => $v) { if (is_array($v)) { foreach ($v as $k2 => $v2) { $list->addParam('rex_yform_filter[' . $k . '][' . $k2 . ']', $v2); } } else { $list->addParam('rex_yform_filter[' . $k . ']', $v); } } } if (count($rex_yform_set) > 0) { foreach ($rex_yform_set as $k => $v) { if (is_array($v)) { foreach ($v as $k2 => $v2) { $list->addParam('rex_yform_set[' . $k . '][' . $k2 . ']', $v2); } } else { $list->addParam('rex_yform_set[' . $k . ']', $v); } } } if (count($rex_yform_manager_opener) > 0) { foreach ($rex_yform_manager_opener as $k => $v) { $list->addParam('rex_yform_manager_opener[' . $k . ']', $v); } } foreach ($searchObject->getSearchVars() as $s_var => $values) { foreach ($values as $k => $v) { $list->addParam($s_var . '[' . $k . ']', $v); } } $list->setColumnLabel('id', rex_i18n::msg('yform_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->setColumnParams('id', array('data_id' => '###id###', 'func' => 'edit')); $list->setColumnSortable('id'); foreach ($this->table->getFields() as $field) { if (!$field->isHiddenInList() && $field->getTypeName()) { if (method_exists('rex_yform_value_' . $field->getTypeName(), 'getListValue')) { $list->setColumnFormat($field->getName(), 'custom', array('rex_yform_value_' . $field->getTypeName(), 'getListValue'), array('field' => $field->toArray(), 'fields' => $this->table->getFields())); } } if ($field->getType() == 'value') { if ($field->isHiddenInList()) { $list->removeColumn($field->getName()); } else { $list->setColumnSortable($field->getName()); $list->setColumnLabel($field->getName(), $field->getLabel()); } } } if (isset($rex_yform_manager_opener['id'])) { $list->addColumn(rex_i18n::msg('yform_data_select'), ''); $list->setColumnFormat(rex_i18n::msg('yform_data_select'), 'custom', function ($params) { $value = ''; list($table_name, $field_name) = explode(".", $params["params"]["opener_field"]); $table = rex_yform_manager_table::get($table_name); if ($table) { $fields = $table->getValueFields(array("name" => $field_name)); if (isset($fields[$field_name])) { $target_table = $fields[$field_name]->getElement('table'); $target_field = $fields[$field_name]->getElement('field'); $values = rex_yform_value_be_manager_relation::getListValues($target_table, $target_field); $value = $values[$params['list']->getValue('id')]; } } return '<a href="javascript:yform_manager_setData(' . $params["params"]["opener_id"] . ',###id###,\'' . htmlspecialchars($value) . ' [id=###id###]\',' . $params["params"]["opener_multiple"] . ')">' . rex_i18n::msg('yform_data_select') . '</a>'; }, array("opener_id" => $rex_yform_manager_opener["id"], "opener_field" => $rex_yform_manager_opener["field"], "opener_multiple" => $rex_yform_manager_opener["multiple"])); } else { $list->addColumn(rex_i18n::msg('yform_function'), '<i class="rex-icon rex-icon-edit"></i> ' . rex_i18n::msg('yform_edit')); $list->setColumnLayout(rex_i18n::msg('yform_function'), ['<th class="rex-table-action">###VALUE###</th>', '<td class="rex-table-action">###VALUE###</td>']); $list->setColumnParams(rex_i18n::msg('yform_function'), array('data_id' => '###id###', 'func' => 'edit', 'start' => rex_request('start', 'string'), 'sort' => rex_request('sort', 'string'), 'sorttype' => rex_request('sorttype', 'string'), 'list' => rex_request('list', 'string'))); if ($this->hasDataPageFunction('delete')) { // Column layout fuer edit neu setzen $list->setColumnLayout(rex_i18n::msg('yform_function'), ['<th class="rex-table-action" colspan="2">###VALUE###</th>', '<td class="rex-table-action">###VALUE###</td>']); $list->addColumn(rex_i18n::msg('yform_delete'), '<i class="rex-icon rex-icon-delete"></i> ' . rex_i18n::msg('yform_delete')); $list->setColumnLayout(rex_i18n::msg('yform_delete'), ['', '<td class="rex-table-action">###VALUE###</td>']); $list->setColumnParams(rex_i18n::msg('yform_delete'), array('data_id' => '###id###', 'func' => 'delete', 'start' => rex_request('start', 'string'), 'sort' => rex_request('sort', 'string'), 'sorttype' => rex_request('sorttype', 'string'), 'list' => rex_request('list', 'string'))); $list->addLinkAttribute(rex_i18n::msg('yform_delete'), 'onclick', 'return confirm(\' id=###id### ' . rex_i18n::msg('yform_delete') . ' ?\')'); } } // ********************************************* $list = rex_extension::registerPoint(new rex_extension_point('YFORM_DATA_LIST', $list, array('table' => $this->table))); if ($rex_yform_filter) { $filter = array(); $getFilter = function (rex_yform_manager_field $field, $value) { if ('be_manager_relation' == $field->getTypeName()) { $listValues = rex_yform_value_be_manager_relation::getListValues($field->getElement('table'), $field->getElement('field'), array('id' => $value)); if (isset($listValues[$value])) { $value = $listValues[$value]; } } return '<b>' . rex_i18n::translate($field->getLabel()) . ':</b> ' . $value; }; foreach ($rex_yform_filter as $key => $value) { if (is_array($value)) { $relTable = rex_yform_manager_table::get($this->table->getValueField($key)->getElement('table')); foreach ($value as $k => $v) { $filter[] = $getFilter($relTable->getValueField($k), $v); } } else { $filter[] = $getFilter($this->table->getValueField($key), $value); } } echo rex_view::info(implode('<br>', $filter)); } $panel_options = ''; $data_links = []; if ($this->table->isSearchable() && $this->hasDataPageFunction('search')) { $item = []; $item['label'] = rex_i18n::msg('yform_search'); $item['attributes']['class'][] = 'btn-search'; $item['attributes']['id'] = 'searchtoggler'; $data_links[] = $item; } if (count($data_links) > 0) { $fragment = new rex_fragment(); $fragment->setVar('size', 'xs', false); $fragment->setVar('buttons', $data_links, false); $panel_options .= '<small class="rex-panel-option-title">' . rex_i18n::msg('yform_data') . '</small> ' . $fragment->parse('core/buttons/button_group.php'); } // INFO LINK $dataset_links = []; if ($this->table->isExportable() == 1 && $this->hasDataPageFunction('export')) { $item = []; $item['label'] = rex_i18n::msg('yform_export'); $item['url'] = 'index.php?' . $link_vars . '&func=dataset_export&' . $em_url . $em_rex_list; $item['attributes']['class'][] = 'btn-default'; $dataset_links[] = $item; } if ($this->hasDataPageFunction('truncate_table')) { $item = []; $item['label'] = rex_i18n::msg('yform_delete'); $item['url'] = 'index.php?' . $link_vars . '&func=dataset_delete&' . $em_url . $em_rex_list; $item['attributes']['class'][] = 'btn-delete'; $item['attributes']['id'] = 'dataset-delete'; $item['attributes']['onclick'][] = 'return confirm(\'' . rex_i18n::msg('yform_dataset_delete_confirm') . '\');'; $dataset_links[] = $item; } if (count($dataset_links) > 0) { $fragment = new rex_fragment(); $fragment->setVar('size', 'xs', false); $fragment->setVar('buttons', $dataset_links, false); $panel_options .= '<small class="rex-panel-option-title">' . rex_i18n::msg('yform_dataset') . '</small> ' . $fragment->parse('core/buttons/button_group.php'); } $table_links = array(); if (!$popup && $this->table->isImportable() && $this->hasDataPageFunction('import')) { $item = []; $item['label'] = rex_i18n::msg('yform_import'); $item['url'] = 'index.php?' . htmlspecialchars($link_vars) . '&func=import'; $item['attributes']['class'][] = 'btn-default'; $table_links[] = $item; } if (rex::getUser()->isAdmin()) { $item = []; $item['label'] = rex_i18n::msg('yform_edit'); $item['url'] = 'index.php?page=yform/manager&table_id=' . $this->table->getId() . '&func=edit'; $item['attributes']['class'][] = 'btn-default'; $table_links[] = $item; } if ($this->hasDataPageFunction('truncate_table')) { $item = []; $item['label'] = rex_i18n::msg('yform_truncate_table'); $item['url'] = 'index.php?' . $link_vars . '&func=truncate_table&' . $em_url . $em_rex_list; $item['attributes']['class'][] = 'btn-delete'; $item['attributes']['id'] = 'truncate-table'; $item['attributes']['onclick'][] = 'return confirm(\'' . rex_i18n::msg('yform_truncate_table_confirm') . '\');'; $table_links[] = $item; } if (count($table_links) > 0) { $fragment = new rex_fragment(); $fragment->setVar('size', 'xs', false); $fragment->setVar('buttons', $table_links, false); $panel_options .= '<small class="rex-panel-option-title">' . rex_i18n::msg('yform_table') . '</small> ' . $fragment->parse('core/buttons/button_group.php'); } $field_links = array(); if (rex::getUser()->isAdmin()) { $item = []; $item['label'] = rex_i18n::msg('yform_edit'); $item['url'] = 'index.php?page=yform/manager/table_field&table_name=' . $this->table->getTableName(); $item['attributes']['class'][] = 'btn-default'; $field_links[] = $item; } if (count($field_links) > 0) { $fragment = new rex_fragment(); $fragment->setVar('size', 'xs', false); $fragment->setVar('buttons', $field_links, false); $panel_options .= '<small class="rex-panel-option-title">' . rex_i18n::msg('yform_manager_fields') . '</small> ' . $fragment->parse('core/buttons/button_group.php'); } // SEARCHBLOCK $searchVars = $searchObject->getSearchVars(); $display = count($searchVars["rex_yform_searchvars"]) > 0 ? 'block' : 'none'; echo '<div id="searchblock" style="display:' . $display . ';">' . $searchform . '</div>'; $content = $list->get(); $fragment = new rex_fragment(); $fragment->setVar('title', rex_i18n::msg('yform_tabledata_overview')); $fragment->setVar('options', $panel_options, false); $fragment->setVar('content', $content, false); $content = $fragment->parse('core/page/section.php'); $content .= ' <script type="text/javascript">/* <![CDATA[ */ jQuery("#searchtoggler").click(function(){jQuery("#searchblock").slideToggle("fast");}); jQuery("#yform_help_empty_toggler").click(function(){jQuery("#yform_help_empty").slideToggle("fast");}); jQuery("#yform_search_reset").click(function(){window.location.href = "index.php?page=yform/manager/data_edit&table_name=' . $this->table->getTableName() . '";}); jQuery("#truncate-table").click(function(){if(confirm("' . rex_i18n::msg('yform_truncate_table_confirm') . '")){return true;} else {return false;}}); jQuery("#dataset-delete").click(function(){if(confirm("' . rex_i18n::msg('yform_dataset_delete_confirm') . '")){return true;} else {return false;}}); /* ]]> */</script>'; echo $content; } } // end: $show_editpage }
<?php /** * @package redaxo5 */ $subpage = rex_be_controller::getCurrentPagePart(2); echo rex_view::title(rex_i18n::msg('slice_ui_title')); include rex_be_controller::getCurrentPageObject()->getSubPath();