Ejemplo n.º 1
0
<?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();
Ejemplo n.º 2
0
<?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();
Ejemplo n.º 3
0
<?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");
Ejemplo n.º 4
0
$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)
Ejemplo n.º 5
0
<?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();
Ejemplo n.º 6
0
    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');
}
Ejemplo n.º 7
0
<?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';
Ejemplo n.º 8
0
    }
</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(' ', '&nbsp;', 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();
Ejemplo n.º 9
0
<?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();
Ejemplo n.º 10
0
                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();
}
Ejemplo n.º 11
0
<?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();
Ejemplo n.º 12
0
<?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())
Ejemplo n.º 13
0
<?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) {
Ejemplo n.º 14
0
    }
</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(' ', '&nbsp;', 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();
Ejemplo n.º 15
0
<?php

/**
 * @package redaxo5
 */
echo rex_view::title(rex_i18n::msg('system'));
rex_be_controller::includeCurrentPageSubPath();
Ejemplo n.º 16
0
<?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();
Ejemplo n.º 17
0
<?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') . ' &amp ' . rex_i18n::msg('credits_developer') . '<br />
        Yakamara Media GmbH &amp; 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 &amp; 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 &amp; Co. KG, <a href="http://www.yakamara.de" onclick="window.open(this.href); return false;">www.yakamara.de</a>
    </p>
Ejemplo n.º 18
0
<?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();
Ejemplo n.º 19
0
<?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();
Ejemplo n.º 20
0
 $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
Ejemplo n.º 21
0
<?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>&laquo; ' . rex_i18n::msg('yform_back_to_overview') . '</b></a>');
        $show_list = false;
Ejemplo n.º 22
0
<?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>';
Ejemplo n.º 23
0
<?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));
Ejemplo n.º 24
0
<?php

echo rex_view::title($this->i18n('aufgaben_title'));
include rex_be_controller::getCurrentPageObject()->getSubPath();
Ejemplo n.º 25
0
<?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');
Ejemplo n.º 26
0
/**
 * @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);
}
Ejemplo n.º 27
0
<?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();
Ejemplo n.º 28
0
<?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();
Ejemplo n.º 29
0
 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 PR†FEN
         $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>&laquo; ' . 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>&laquo; ' . 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) . '&amp;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
 }
Ejemplo n.º 30
0
<?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();