Пример #1
0
 * @package redaxo\yrewrite
 *
 * @var rex_addon $this
 */
$func = rex_request('func', 'string');
if ($func != '') {
    if ($func == 'htaccess') {
        rex_yrewrite::copyHtaccess();
        echo rex_view::success($this->i18n('htaccess_hasbeenset'));
    }
}
$content = '

            <h3>' . $this->i18n('htaccess_set') . '</h3>
            <p>' . rex_i18n::rawMsg('yrewrite_htaccess_info') . '</p>
            <p><a class="btn btn-primary" href="' . rex_url::currentBackendPage(['func' => 'htaccess']) . '">' . $this->i18n('yrewrite_htaccess_set') . '</a></p>

            <h3>' . $this->i18n('info_headline') . '</h3>
            <p>' . rex_i18n::rawMsg('yrewrite_info_text') . '</p>

            <h3>' . $this->i18n('info_seo') . '</h3>
            <p>' . rex_i18n::rawMsg('yrewrite_info_seo_text') . '

            <br /><br />' . highlight_string('<?php
  $seo = new rex_yrewrite_seo();
  echo $seo->getTitleTag();
  echo $seo->getDescriptionTag();
  echo $seo->getRobotsTag();
  echo $seo->getHreflangTags();

?>', true) . '
Пример #2
0
        $activeTab = rex_request('template_tab', 'string', 'rex-form-template-default');
        $optionTabs = ['rex-form-template-default' => rex_i18n::msg('header_template'), 'rex-form-template-ctype' => rex_i18n::msg('content_types'), 'rex-form-template-categories' => rex_i18n::msg('template_categories')];
        $options = '<ul class="nav nav-tabs" id="rex-js-form-template-tabs">';
        foreach ($optionTabs as $optionTabId => $optionTabTitle) {
            $options .= '<li><a href="#' . $optionTabId . '" data-toggle="tab">' . $optionTabTitle . '</a></li>';
        }
        $options .= '</ul>';
        $fragment = new rex_fragment();
        $fragment->setVar('class', 'edit', false);
        $fragment->setVar('title', $legend, false);
        $fragment->setVar('options', $options, false);
        $fragment->setVar('body', $panel, false);
        $fragment->setVar('buttons', $buttons, false);
        $content = $fragment->parse('core/page/section.php');
        $content = '
            <form id="rex-form-template" action="' . rex_url::currentBackendPage() . '" method="post">
                ' . $content . '
            </form>

            <script type="text/javascript">
            <!--
            jQuery(function($) {
                // store the currently selected tab in the hidden input#rex-js-form-template-tab
                $("#rex-js-form-template-tabs > li > a").on("shown.bs.tab", function(e) {
                    var id = $(e.target).attr("href").substr(1);
                    $("#rex-js-form-template-tab").val(id);
                });
                $("#rex-js-form-template-tabs a[href=\\"#' . $activeTab . '\\"]").tab("show");

                $("#rex-js-active").click(function() {
                    $("#rex-js-form-template-tabs a[href=\\"#rex-form-template-ctype\\"]").toggle("slow");
Пример #3
0
//echo '<h2>' . rex_i18n::msg('backup_files') . '</h2>';
$content = '<fieldset>
                <input type="hidden" name="function" value="fileimport" />';
$formElements = [];
$n = [];
$n['label'] = '<label for="rex-form-importtarfile">' . rex_i18n::msg('backup_file') . '</label>';
$n['field'] = '<input type="file" id="rex-form-importtarfile" name="FORM[importfile]" size="18" />';
$formElements[] = $n;
$fragment = new rex_fragment();
$fragment->setVar('flush', true);
$fragment->setVar('elements', $formElements, false);
$content .= $fragment->parse('core/form/form.php');
$formElements = [];
$n = [];
$n['field'] = '<button class="btn btn-send rex-form-aligned" type="submit" value="' . rex_i18n::msg('backup_to_import') . '"><i class="rex-icon rex-icon-import"></i> ' . rex_i18n::msg('backup_to_import') . '</button>';
$formElements[] = $n;
$fragment = new rex_fragment();
$fragment->setVar('flush', true);
$fragment->setVar('elements', $formElements, false);
$buttons = $fragment->parse('core/form/submit.php');
$content .= '</fieldset>';
$fragment = new rex_fragment();
$fragment->setVar('title', rex_i18n::msg('backup_file_export'), false);
$fragment->setVar('body', $content, false);
$fragment->setVar('buttons', $buttons, false);
$content = $fragment->parse('core/page/section.php');
$content = '
<form action="' . rex_url::currentBackendPage() . '" enctype="multipart/form-data" method="post" data-confirm="' . rex_i18n::msg('backup_proceed_file_import') . '" >
    ' . $content . '
</form>';
echo $content;
Пример #4
0
<?php

$plugin = rex_plugin::get('out5', 'wartungsarbeiten');
$content = '';
if (rex_post('config-submit', 'boolean')) {
    $plugin->setConfig(rex_post('config', [['url', 'string']]));
    $content .= rex_view::info('Änderung gespeichert');
}
$content .= '
<div class="rex-form">
    <form action="' . rex_url::currentBackendPage() . '" method="post">
        <fieldset>';
$formElements = [];
$n = [];
$n['label'] = '<label for="rex-out5-wartungsarbeiten-url">URL</label>';
$n['field'] = '<input class="form-control" type="text" id="rex-out5-wartungsarbeiten-url" name="config[url]" value="' . $plugin->getConfig('url') . '"/>';
$formElements[] = $n;
$fragment = new rex_fragment();
$fragment->setVar('elements', $formElements, false);
$content .= $fragment->parse('core/form/form.php');
$content .= '
        </fieldset>

        <fieldset class="rex-form-action">';
$formElements = [];
$n = [];
$n['field'] = '<div class="btn-toolbar"><button id="rex-out5-wartungsarbeiten-save" type="submit" name="config-submit" class="btn btn-save rex-form-aligned" value="1">Einstellungen speichern</button></div>';
$formElements[] = $n;
$fragment = new rex_fragment();
$fragment->setVar('elements', $formElements, false);
$content .= $fragment->parse('core/form/submit.php');
Пример #5
0
<?php

if (rex_request('func', 'string') == 'clearall') {
    rex_article_slice_history::clearAllHistory();
    echo rex_view::success($this->i18n('deleted'));
}
$content = rex_i18n::rawMsg('structure_history_info_content');
$content .= '<p><a href="' . rex_url::currentBackendPage(['func' => 'clearall']) . '" class="btn btn-setup">' . $this->i18n('button_delete_history') . '</a></p>';
$fragment = new rex_fragment();
$fragment->setVar('title', $this->i18n('title_info'));
$fragment->setVar('body', $content, false);
echo $fragment->parse('core/page/section.php');
$fragment = new rex_fragment();
$fragment->setVar('title', $this->i18n('todos'));
$fragment->setVar('body', rex_i18n::rawMsg('structure_history_todos_content', true), false);
echo $fragment->parse('core/page/section.php');
Пример #6
0
        }
        foreach (encode_items($qryArray) as $line) {
            if (empty($firstLineKeys)) {
                $firstLineKeys = array_keys($line);
                fputcsv($file, $firstLineKeys);
                $firstLineKeys = array_flip($firstLineKeys);
            }
            fputcsv($file, array_merge($firstLineKeys, $line));
        }
        fclose($file);
        exit;
        // -----/CSV EXPORT
    }
}
$content = '<div id="aufgaben">';
$content .= '<form action="' . rex_url::currentBackendPage() . '" data-pjax="false" method="post">';
$content .= '<fieldset>';
$content .= '<dl class="rex-form-group form-group">
    <dt>Dateityp wählen</dt>
        <dd>
            <dl class="rex-form-group form-group">
                <dd>
                    <div class="radio">
                        <input id="export-csv" type="radio" value="csv" name="type" checked/>
                        <label for="export-csv">' . $this->i18n('aufgaben_exim_dateityp_csv') . '</label>
                    </div>
                </dd>
            </dl>
            <dl class="rex-form-group form-group">
                <dd>
                    <div class="radio">
Пример #7
0
         }
         foreach ([1 => 'ADD', 2 => 'EDIT', 4 => 'DELETE'] as $var => $value) {
             if (($sql->getValue('postsavemode') & $var) == $var) {
                 $postsavemode[] = $value;
             }
         }
         $content .= '
                     <tr>
                         <td class="rex-table-icon"><a href="' . rex_url::currentBackendPage(['action_id' => $sql->getValue('id'), 'function' => 'edit']) . '" title="' . htmlspecialchars($sql->getValue('name')) . '"><i class="rex-icon rex-icon-action"></i></a></td>
                         <td class="rex-table-id" data-title="' . rex_i18n::msg('id') . '">' . $sql->getValue('id') . '</td>
                         <td data-title="' . rex_i18n::msg('action_name') . '"><a href="' . rex_url::currentBackendPage(['action_id' => $sql->getValue('id'), 'function' => 'edit']) . '">' . htmlspecialchars($sql->getValue('name')) . '</a></td>
                         <td data-title="' . rex_i18n::msg('action_header_preview') . '">' . implode('/', $previewmode) . '</td>
                         <td data-title="' . rex_i18n::msg('action_header_presave') . '">' . implode('/', $presavemode) . '</td>
                         <td data-title="' . rex_i18n::msg('action_header_postsave') . '">' . implode('/', $postsavemode) . '</td>
                         <td class="rex-table-action"><a href="' . rex_url::currentBackendPage(['action_id' => $sql->getValue('id'), 'function' => 'edit']) . '"><i class="rex-icon rex-icon-edit"></i> ' . rex_i18n::msg('change') . '</a></td>
                         <td class="rex-table-action"><a href="' . rex_url::currentBackendPage(['action_id' => $sql->getValue('id'), 'function' => 'delete']) . '" data-confirm="' . rex_i18n::msg('action_delete') . ' ?"><i class="rex-icon rex-icon-delete"></i> ' . rex_i18n::msg('delete') . '</a></td>
                     </tr>
                 ';
         $sql->next();
     }
     $content .= '</tbody>' . "\n";
 }
 $content .= '
     </table>';
 if ($rows < 1) {
     $content .= rex_view::info(rex_i18n::msg('actions_not_found'));
 }
 echo $message;
 $fragment = new rex_fragment();
 $fragment->setVar('title', rex_i18n::msg('action_caption'), false);
 $fragment->setVar('content', $content, false);
Пример #8
0
    $list->setColumnLayout('priority', ['<th class="rex-table-priority">###VALUE###</th>', '<td class="rex-table-priority">###VALUE###</td>']);
    // icon column
    $thIcon = '<a href="' . $list->getUrl(['type_id' => $type_id, 'func' => 'add']) . '" title="' . rex_i18n::msg('media_manager_effect_create') . '"><i class="rex-icon rex-icon-add-mediatype-effect"></i></a>';
    $tdIcon = '<i class="rex-icon rex-icon-mediatype-effect"></i>';
    $list->addColumn($thIcon, $tdIcon, 0, ['<th class="rex-table-icon">###VALUE###</th>', '<td class="rex-table-icon">###VALUE###</td>']);
    $list->setColumnParams($thIcon, ['func' => 'edit', 'type_id' => $type_id, 'effect_id' => '###id###']);
    // functions column spans 2 data-columns
    $funcs = rex_i18n::msg('media_manager_effect_functions');
    $list->addColumn($funcs, '<i class="rex-icon rex-icon-edit"></i> ' . rex_i18n::msg('media_manager_effect_edit'), -1, ['<th class="rex-table-action" colspan="2">###VALUE###</th>', '<td class="rex-table-action">###VALUE###</td>']);
    $list->setColumnParams($funcs, ['func' => 'edit', 'type_id' => $type_id, 'effect_id' => '###id###']);
    $delete = 'deleteCol';
    $list->addColumn($delete, '<i class="rex-icon rex-icon-delete"></i> ' . rex_i18n::msg('media_manager_effect_delete'), -1, ['', '<td class="rex-table-action">###VALUE###</td>']);
    $list->setColumnParams($delete, ['type_id' => $type_id, 'effect_id' => '###id###', 'func' => 'delete']);
    $list->addLinkAttribute($delete, 'data-confirm', rex_i18n::msg('delete') . ' ?');
    $content = $list->get();
    $footer = '<a class="btn btn-back" href="' . rex_url::currentBackendPage() . '">' . rex_i18n::msg('media_manager_back') . '</a>';
    $fragment = new rex_fragment();
    $fragment->setVar('title', rex_i18n::RawMsg('media_manager_effect_caption', $typeName), false);
    $fragment->setVar('content', $content, false);
    $fragment->setVar('footer', $footer, false);
    $content = $fragment->parse('core/page/section.php');
    echo $content;
} elseif ($func == 'add' && $type_id > 0 || $func == 'edit' && $effect_id > 0 && $type_id > 0) {
    $effectNames = rex_media_manager::getSupportedEffectNames();
    if ($func == 'edit') {
        $formLabel = rex_i18n::RawMsg('media_manager_effect_edit_header', htmlspecialchars($typeName));
    } elseif ($func == 'add') {
        $formLabel = rex_i18n::RawMsg('media_manager_effect_create_header', htmlspecialchars($typeName));
    }
    $form = rex_form::factory(rex::getTablePrefix() . 'media_manager_type_effect', '', 'id=' . $effect_id);
    // image_type_id for reference to save into the db
Пример #9
0
             <th class="rex-table-action">' . $this->i18n('header_function') . '</th>
         </tr>
      </thead>
      <tbody>';
 foreach ($addons as $key => $addon) {
     if (rex_addon::exists($key)) {
         $content .= '
             <tr>
                 <td class="rex-table-icon"><i class="rex-icon rex-icon-package"></i></td>
                 <td data-title="' . $this->i18n('key') . '">' . $key . '</td>
                 <td data-title="' . $this->i18n('name') . '"><b>' . $addon['name'] . '</b><br /><span class="text-muted">' . $addon['author'] . '</span></td>
                 <td data-title="' . $this->i18n('shortdescription') . '">' . nl2br($addon['shortdescription']) . '</td>
                 <td class="rex-table-action"><span class="text-nowrap"><i class="rex-icon rex-icon-package-exists"></i> ' . $this->i18n('addon_already_exists') . '</span></td>
             </tr>';
     } else {
         $url = rex_url::currentBackendPage(['addonkey' => $key]);
         $content .= '
             <tr>
                 <td class="rex-table-icon"><a href="' . $url . '"><i class="rex-icon rex-icon-package"></i></a></td>
                 <td data-title="' . $this->i18n('key') . '"><a href="' . $url . '">' . $key . '</a></td>
                 <td data-title="' . $this->i18n('name') . '"><b>' . $addon['name'] . '</b><br /><span class="text-muted">' . $addon['author'] . '</span></td>
                 <td data-title="' . $this->i18n('shortdescription') . '">' . nl2br($addon['shortdescription']) . '</td>
                 <td class="rex-table-action"><a href="' . $url . '"><i class="rex-icon rex-icon-view"></i> ' . rex_i18n::msg('view') . '</a></td>
             </tr>';
     }
 }
 $content .= '</tbody></table>';
 $content .= '
     <script type="text/javascript">
     <!--
     jQuery(function($) {
Пример #10
0
/**
 * @param rex_context $context
 *
 * @return string
 *
 * @package redaxo\structure
 */
function rex_structure_searchbar(rex_context $context)
{
    $message = '';
    $search_result = '';
    // ------------ Parameter
    $clang = $context->getParam('clang', 1);
    $category_id = $context->getParam('category_id', 0);
    $article_id = $context->getParam('article_id', 0);
    $search_article_name = rex_request('search_article_name', 'string');
    // ------------ Suche via ArtikelId
    if (preg_match('/^[0-9]+$/', $search_article_name, $matches)) {
        if ($OOArt = rex_article::get($matches[0], $clang)) {
            rex_response::sendRedirect($context->getUrl(['page' => 'content/edit', 'article_id' => $OOArt->getId()], false));
        }
    }
    // Auswahl eines normalen Artikels => category holen
    if ($article_id != 0) {
        $OOArt = rex_article::get($article_id, $clang);
        // Falls Artikel gerade geloescht wird, gibts keinen rex_article
        if ($OOArt) {
            $category_id = $OOArt->getCategoryId();
        }
    }
    // ------------ Suche via ArtikelName
    if (rex_request('search_start', 'bool')) {
        // replace LIKE wildcards
        $search_article_name_like = str_replace(['_', '%'], ['\\_', '\\%'], $search_article_name);
        $qry = '
        SELECT id
        FROM ' . rex::getTablePrefix() . 'article
        WHERE
            clang_id = ' . $clang . ' AND
            (
                name LIKE "%' . $search_article_name_like . '%" OR
                catname LIKE "%' . $search_article_name_like . '%"
            )';
        if (rex_addon::get('structure')->getConfig('searchmode', 'local') != 'global') {
            // Suche auf aktuellen Kontext eingrenzen
            if ($category_id != 0) {
                $qry .= ' AND path LIKE "%|' . $category_id . '|%"';
            }
        }
        $search = rex_sql::factory();
        //    $search->setDebug();
        $search->setQuery($qry);
        $foundRows = $search->getRows();
        // Suche ergab nur einen Treffer => Direkt auf den Treffer weiterleiten
        if ($foundRows == 1) {
            $OOArt = rex_article::get($search->getValue('id'), $clang);
            if (rex::getUser()->getComplexPerm('structure')->hasCategoryPerm($OOArt->getCategoryId())) {
                rex_response::sendRedirect($context->getUrl(['page' => 'content/edit', 'article_id' => $search->getValue('id')], false));
            }
        } elseif ($foundRows > 0) {
            $needle = htmlspecialchars($search_article_name);
            $search_result .= '<div class="list-group">';
            for ($i = 0; $i < $foundRows; ++$i) {
                $breadcrumb = [];
                $OOArt = rex_article::get($search->getValue('id'), $clang);
                $label = $OOArt->getName();
                if (rex::getUser()->getComplexPerm('structure')->hasCategoryPerm($OOArt->getCategoryId())) {
                    $label .= ' [' . $search->getValue('id') . ']';
                    $highlightHit = function ($string, $needle) {
                        return preg_replace('/(.*)(' . preg_quote($needle, '/') . ')(.*)/i', '\\1<mark>\\2</mark>\\3', $string);
                    };
                    foreach ($OOArt->getParentTree() as $treeItem) {
                        $treeLabel = $treeItem->getName();
                        if (rex::getUser()->hasPerm('advancedMode[]')) {
                            $treeLabel .= ' [' . $treeItem->getId() . ']';
                        }
                        $treeLabel = htmlspecialchars($treeLabel);
                        $treeLabel = $highlightHit($treeLabel, $needle);
                        $e = [];
                        $e['title'] = $treeLabel;
                        $e['href'] = $context->getUrl(['page' => 'structure', 'category_id' => $treeItem->getId()]);
                        $breadcrumb[] = $e;
                    }
                    $label = htmlspecialchars($label);
                    $label = $highlightHit($label, $needle);
                    $e = [];
                    $e['title'] = $label;
                    $e['href'] = $context->getUrl(['page' => 'content/edit', 'article_id' => $treeItem->getId()]);
                    $breadcrumb[] = $e;
                    $fragment = new rex_fragment();
                    $fragment->setVar('items', $breadcrumb, false);
                    $search_result .= '<div class="list-group-item">' . $fragment->parse('core/navigations/breadcrumb.php') . '</div>';
                }
                $search->next();
            }
            $search_result .= '</div>';
            $fragment = new rex_fragment();
            $fragment->setVar('title', rex_i18n::msg('be_search_result'), false);
            $fragment->setVar('content', $search_result, false);
            $search_result = $fragment->parse('core/page/section.php');
        } else {
            $message = rex_view::info(rex_i18n::msg('be_search_no_results'));
        }
    }
    $select_name = 'category_id';
    $add_homepage = true;
    if (rex_be_controller::getCurrentPagePart(1) == 'content') {
        $select_name = 'article_id';
        $add_homepage = false;
    }
    $category_select = new rex_category_select(false, false, true, $add_homepage);
    $category_select->setName($select_name);
    $category_select->setSize('1');
    $category_select->setAttribute('onchange', 'this.form.submit();');
    $category_select->setSelected($category_id);
    $select = $category_select->get();
    $doc = new DOMDocument();
    $doc->loadHTML('<?xml encoding="UTF-8">' . $select);
    $options = $doc->getElementsByTagName('option');
    $droplistContext = new rex_context(['page' => 'structure', 'category_id' => 0]);
    $button_label = '';
    $items = [];
    foreach ($options as $option) {
        $value = '';
        $item = [];
        if ($option->hasAttributes()) {
            foreach ($option->attributes as $attribute) {
                if ($attribute->name == 'value') {
                    $value = $attribute->value;
                    $droplistContext->setParam('category_id', $value);
                    if ($attribute->value == $category_id) {
                        $button_label = str_replace(" ", '', $option->nodeValue);
                        $item['active'] = true;
                    }
                }
            }
        }
        $item['title'] = preg_replace('/\\[([0-9]+)\\]$/', '<small class="rex-primary-id">$1</small>', $option->nodeValue);
        $item['href'] = $droplistContext->getUrl();
        $items[] = $item;
    }
    $fragment = new rex_fragment();
    $fragment->setVar('button_prefix', rex_i18n::msg('be_search_quick_navi'));
    $fragment->setVar('button_label', $button_label);
    $fragment->setVar('items', $items, false);
    $droplist = '<div class="navbar-btn navbar-right">' . $fragment->parse('core/dropdowns/dropdown.php');
    $formElements = [];
    $n = [];
    $n['field'] = '<input class="form-control" type="text" name="search_article_name" value="' . htmlspecialchars($search_article_name) . '" placeholder="' . htmlspecialchars(rex_i18n::msg('be_search_article_name') . '/' . rex_i18n::msg('be_search_article_id')) . '" />';
    $n['right'] = '<button class="btn btn-search" type="submit" name="search_start" value="1">' . rex_i18n::msg('be_search_start') . '</button>';
    $formElements[] = $n;
    $fragment = new rex_fragment();
    $fragment->setVar('elements', $formElements, false);
    $toolbar = $fragment->parse('core/form/input_group.php');
    $toolbar = '
    <form action="' . rex_url::currentBackendPage() . '" method="post">
    ' . $context->getHiddenInputFields() . '
    <div class="navbar-form navbar-left">
        <div class="form-group">
            ' . $toolbar . '
        </div>
    </div>
    </form>';
    $toolbar = rex_view::toolbar($toolbar . $droplist, rex_i18n::msg('be_search_search'));
    return $toolbar . $search_result;
}
Пример #11
0
 public static function getMissingWildcardsAsTable()
 {
     $missingWildcards = self::getMissingWildcards();
     if (count($missingWildcards)) {
         $content = '';
         $content .= '
             <table class="table table-striped table-hover">
                <thead>
                    <tr>
                        <th class="rex-table-icon"></th>
                        <th>' . \rex_addon::get('sprog')->i18n('wildcard') . '</th>
                        <th class="rex-table-action" colspan="2">' . \rex_addon::get('sprog')->i18n('function') . '</th>
                    </tr>
                </thead>
                <tbody>
            ';
         foreach ($missingWildcards as $name => $params) {
             $content .= '
                        <tr>
                            <td class="rex-table-icon"><i class="rex-icon rex-icon-refresh"></i></td>
                            <td data-title="' . \rex_addon::get('sprog')->i18n('wildcard') . '">' . $name . '</td>
                            <td class="rex-table-action"><a href="' . \rex_url::currentBackendPage(['func' => 'add', 'wildcard_name' => $params['wildcard']]) . '"><i class="rex-icon rex-icon-edit"></i> ' . \rex_addon::get('sprog')->i18n('function_add') . '</a></td>
                            <td class="rex-table-action"><a href="' . $params['url'] . '"><i class="rex-icon rex-icon-article"></i> ' . \rex_addon::get('sprog')->i18n('wildcard_go_to_the_article') . '</a></td>
                        </tr>';
         }
         $content .= '
                </tbody>
            </table>';
         $fragment = new \rex_fragment();
         $fragment->setVar('title', \rex_addon::get('sprog')->i18n('wildcard_caption_missing', \rex_addon::get('structure')->i18n('title_structure')), false);
         $fragment->setVar('content', $content, false);
         $content = $fragment->parse('core/page/section.php');
         return $content;
     }
 }
Пример #12
0
     if ($package->getPackageId() == rex_get('package', 'string') && rex_api_function::hasMessage()) {
         $message = '
                 <tr class="rex-package-message">
                     <td colspan="8">
                          ' . rex_api_function::getMessage() . '
                     </td>
                 </tr>';
         $class = ' mark';
     }
     $version = trim($package->getVersion()) != '' ? ' <span class="rex-' . $type . '-version">' . trim($package->getVersion()) . '</span>' : '';
     return $message . '
                 <tr class="rex-package-is-' . $type . $class . '">
                     <td class="rex-table-icon"><i class="rex-icon rex-icon-package-' . $type . '"></i></td>
                     <td data-title="' . rex_i18n::msg('package_hname') . '">' . $name . '</td>
                     <td data-title="' . rex_i18n::msg('package_hversion') . '">' . $version . '</td>
                     <td class="rex-table-slim" data-title="' . rex_i18n::msg('package_hhelp') . '"><a href="' . rex_url::currentBackendPage(['subpage' => 'help', 'package' => $packageId]) . '" title="' . rex_i18n::msg('package_help') . ' ' . htmlspecialchars($package->getName()) . '"><i class="rex-icon rex-icon-help"></i> <span class="sr-only">' . rex_i18n::msg('package_help') . ' ' . htmlspecialchars($package->getName()) . '</span></a></td>
                     <td class="rex-table-action" data-pjax-container="#rex-js-page-container">' . $install . '</td>
                     <td class="rex-table-action" data-pjax-container="#rex-js-page-container">' . $status . '</td>
                     <td class="rex-table-action" data-pjax-container="#rex-js-page-container">' . $uninstall . '</td>
                     <td class="rex-table-action" data-pjax-container="#rex-js-page-container">' . $delete . '</td>
                 </tr>' . "\n   ";
 };
 foreach (rex_addon::getRegisteredAddons() as $addonName => $addon) {
     $content .= $getTableRow($addon);
     if ($addon->isActivated()) {
         foreach ($addon->getRegisteredPlugins() as $pluginName => $plugin) {
             $content .= $getTableRow($plugin);
         }
     }
 }
 $content .= '</tbody>
Пример #13
0
    $formElements[] = $n;
    $n = [];
    $n['label'] = '<label>' . rex_i18n::msg('yform_manager_import_file') . '</label>';
    $n['field'] = '<input class="form-control" type="file" name="file_new" />';
    $formElements[] = $n;
    $fragment = new rex_fragment();
    $fragment->setVar('elements', $formElements, false);
    $content .= $fragment->parse('core/form/form.php');
    $content .= '</fieldset>';
    $formElements = [];
    $n = [];
    $n['field'] = '<a class="btn btn-abort" href="' . rex_url::currentBackendPage($this->getLinkVars()) . '">' . rex_i18n::msg('form_abort') . '</a>';
    $formElements[] = $n;
    $n = [];
    $n['field'] = '<button class="btn btn-save rex-form-aligned" type="submit" name="save" value="' . rex_i18n::msg('yform_manager_import_start') . '">' . rex_i18n::msg('yform_manager_import_start') . '</button>';
    $formElements[] = $n;
    $fragment = new rex_fragment();
    $fragment->setVar('elements', $formElements, false);
    $buttons = $fragment->parse('core/form/submit.php');
    $fragment = new rex_fragment();
    $fragment->setVar('class', 'edit', false);
    $fragment->setVar('title', rex_i18n::msg('yform_manager_import_csv'), false);
    $fragment->setVar('body', $content, false);
    $fragment->setVar('buttons', $buttons, false);
    $content = $fragment->parse('core/page/section.php');
    $content = '
    <form action="' . rex_url::currentBackendPage() . '" data-pjax="false" method="post" enctype="multipart/form-data">
        ' . $content . '
    </form>';
    echo $content;
}
Пример #14
0
    $list->setColumnParams('name', ['func' => 'edit', 'field_id' => '###id###']);
    $list->addColumn(rex_i18n::msg('minfo_field_label_functions'), '<i class="rex-icon rex-icon-edit"></i> ' . rex_i18n::msg('edit'));
    $list->setColumnLayout(rex_i18n::msg('minfo_field_label_functions'), ['<th class="rex-table-action" colspan="2">###VALUE###</th>', '<td class="rex-table-action">###VALUE###</td>']);
    $list->setColumnParams(rex_i18n::msg('minfo_field_label_functions'), ['func' => 'edit', 'field_id' => '###id###']);
    $list->addLinkAttribute(rex_i18n::msg('minfo_field_label_functions'), 'class', 'rex-edit');
    $list->addColumn('delete', '<i class="rex-icon rex-icon-delete"></i> ' . rex_i18n::msg('delete'));
    $list->setColumnLayout('delete', ['', '<td class="rex-table-action">###VALUE###</td>']);
    $list->setColumnParams('delete', ['func' => 'delete', 'field_id' => '###id###']);
    $list->addLinkAttribute('delete', 'data-confirm', rex_i18n::msg('delete') . ' ?');
    $list->addLinkAttribute('delete', 'class', 'rex-delete');
    $list->setNoRowsMessage(rex_i18n::msg('minfo_metainfos_not_found'));
    $content .= $list->get();
    $fragment = new rex_fragment();
    $fragment->setVar('title', $title);
    if (in_array($prefix, ['art_', 'med_'])) {
        $defaultFields = sprintf('<div class="btn-group btn-group-xs"><a href="%s" class="btn btn-default">%s</a></div>', rex_url::currentBackendPage(['rex-api-call' => 'metainfo_default_fields_create', 'type' => $subpage]), rex_i18n::msg('minfo_default_fields_create'));
        $fragment->setVar('options', $defaultFields, false);
    }
    $fragment->setVar('content', $content, false);
    $content = $fragment->parse('core/page/section.php');
} elseif ($func == 'edit' || $func == 'add') {
    $title = rex_i18n::msg('minfo_field_fieldset');
    $form = new rex_metainfo_table_expander($prefix, $metaTable, rex::getTablePrefix() . 'metainfo_field', 'id=' . $field_id);
    if ($func == 'edit') {
        $form->addParam('field_id', $field_id);
    }
    $content .= $form->get();
    $fragment = new rex_fragment();
    $fragment->setVar('class', 'edit', false);
    $fragment->setVar('title', $title);
    $fragment->setVar('body', $content, false);
Пример #15
0
/**
 * Ausgabe des Medienpool Formulars.
 */
function rex_mediapool_Mediaform($form_title, $button_title, $rex_file_category, $file_chooser, $close_form)
{
    global $ftitle, $warning, $info;
    $s = '';
    $cats_sel = new rex_media_category_select();
    $cats_sel->setStyle('class="form-control"');
    $cats_sel->setSize(1);
    $cats_sel->setName('rex_file_category');
    $cats_sel->setId('rex-mediapool-category');
    $cats_sel->addOption(rex_i18n::msg('pool_kats_no'), '0');
    $cats_sel->setAttribute('onchange', 'this.form.submit()');
    $cats_sel->setSelected($rex_file_category);
    if (isset($warning)) {
        if (is_array($warning)) {
            if (count($warning) > 0) {
                $s .= rex_view::error(implode('<br />', $warning));
            }
        } elseif ($warning != '') {
            $s .= rex_view::error($warning);
        }
        $warning = '';
    }
    if (isset($info)) {
        if (is_array($info)) {
            if (count($info) > 0) {
                $s .= rex_view::success(implode('<br />', $info));
            }
        } elseif ($info != '') {
            $s .= rex_view::success($info);
        }
        $info = '';
    }
    if (!isset($ftitle)) {
        $ftitle = '';
    }
    $arg_fields = '';
    foreach (rex_request('args', 'array') as $arg_name => $arg_value) {
        $arg_fields .= '<input type="hidden" name="args[' . $arg_name . ']" value="' . $arg_value . '" />' . "\n";
    }
    $opener_input_field = rex_request('opener_input_field', 'string');
    if ($opener_input_field != '') {
        $arg_fields .= '<input type="hidden" name="opener_input_field" value="' . htmlspecialchars($opener_input_field) . '" />' . "\n";
    }
    $add_submit = '';
    if ($close_form && $opener_input_field != '') {
        $add_submit = '<button class="btn btn-save" type="submit" name="saveandexit" value="' . rex_i18n::msg('pool_file_upload_get') . '"' . rex::getAccesskey(rex_i18n::msg('pool_file_upload_get'), 'save') . '>' . rex_i18n::msg('pool_file_upload_get') . '</button>';
    }
    $panel = '';
    $formElements = [];
    $e = [];
    $e['label'] = '<label for="rex-mediapool-title">' . rex_i18n::msg('pool_file_title') . '</label>';
    $e['field'] = '<input class="form-control" type="text" id="rex-mediapool-title" name="ftitle" value="' . htmlspecialchars($ftitle) . '" />';
    $formElements[] = $e;
    $e = [];
    $e['label'] = '<label for="rex-mediapool-category">' . rex_i18n::msg('pool_file_category') . '</label>';
    $e['field'] = $cats_sel->get();
    $formElements[] = $e;
    $fragment = new rex_fragment();
    $fragment->setVar('elements', $formElements, false);
    $panel .= $fragment->parse('core/form/form.php');
    $panel .= rex_extension::registerPoint(new rex_extension_point('MEDIA_FORM_ADD', ''));
    if ($file_chooser) {
        $e = [];
        $e['label'] = '<label for="rex-mediapool-choose-file">' . rex_i18n::msg('pool_file_file') . '</label>';
        $e['field'] = '<input id="rex-mediapool-choose-file" type="file" name="file_new" />';
        $e['note'] = '<h3>' . rex_i18n::msg('phpini_settings') . '</h3>
                        <dl class="dl-horizontal">
                        ' . (rex_ini_get('file_uploads') == 0 ? '<dt><span class="text-warning">' . rex_i18n::msg('pool_upload') . '</span></dt><dd><span class="text-warning">' . rex_i18n::msg('pool_upload_disabled') . '</span></dd>' : '') . '
                            <dt>' . rex_i18n::msg('pool_max_uploadsize') . ':</dt><dd>' . rex_formatter::bytes(rex_ini_get('upload_max_filesize')) . '</dd>
                            <dt>' . rex_i18n::msg('pool_max_uploadtime') . ':</dt><dd>' . rex_ini_get('max_input_time') . 's</dd>
                        </dl>';
        $fragment = new rex_fragment();
        $fragment->setVar('elements', [$e], false);
        $panel .= $fragment->parse('core/form/form.php');
    }
    $formElements = [];
    $e = [];
    $e['field'] = '<button class="btn btn-save" type="submit" name="save" value="' . $button_title . '"' . rex::getAccesskey($button_title, 'save') . '>' . $button_title . '</button>';
    $formElements[] = $e;
    $e = [];
    $e['field'] = $add_submit;
    $formElements[] = $e;
    $fragment = new rex_fragment();
    $fragment->setVar('elements', $formElements, false);
    $buttons = $fragment->parse('core/form/submit.php');
    $fragment = new rex_fragment();
    $fragment->setVar('title', $form_title, false);
    $fragment->setVar('body', $panel, false);
    $fragment->setVar('buttons', $buttons, false);
    $content = $fragment->parse('core/page/section.php');
    $s .= ' <form action="' . rex_url::currentBackendPage() . '" method="post" enctype="multipart/form-data">
                <fieldset>
                    <input type="hidden" name="media_method" value="add_file" />
                    ' . $arg_fields . '
                    ' . $content . '
                </fieldset>
            ';
    if ($close_form) {
        $s .= '</form>' . "\n";
    }
    return $s;
}
Пример #16
0
        $fragment->setVar('title', $this->i18n('template_headline') . ' ' . $template['name']);
        $fragment->setVar('body', $content, false);
        $sections .= $fragment->parse('core/page/section.php');
    }
}
$content = '';
$formElements = [];
$n = [];
$n['field'] = '<button class="btn btn-save rex-form-aligned" type="submit" name="btn_save" value="' . $this->i18n('save') . '">' . $this->i18n('save') . '</button>';
$formElements[] = $n;
$n = [];
$n['field'] = '<button class="btn btn-reset" type="reset" name="btn_reset" value="' . $this->i18n('reset') . '" data-confirm="' . $this->i18n('reset_info') . '">' . $this->i18n('reset') . '</button>';
$formElements[] = $n;
$fragment = new rex_fragment();
$fragment->setVar('flush', true);
$fragment->setVar('elements', $formElements, false);
$buttons = $fragment->parse('core/form/submit.php');
$fragment = new rex_fragment();
$fragment->setVar('class', 'edit', false);
$fragment->setVar('body', $content, false);
$fragment->setVar('buttons', $buttons, false);
$sections .= $fragment->parse('core/page/section.php');
?>
<form action="<?php 
echo rex_url::currentBackendPage();
?>
" method="post">
  <?php 
echo $sections;
?>
</form>
Пример #17
0
 $file_title .= ' [' . $file_id . ']';
 // ----- opener
 $opener_link = '';
 if ($opener_input_field == 'TINYIMG') {
     if (rex_media::isImageType(rex_file::extension($file_name))) {
         $opener_link .= '<a class="btn btn-select" href="javascript:insertImage(\'$file_name\',\'' . $files->getValue('title') . '\')">' . rex_i18n::msg('pool_image_get') . '</a>';
     }
 } elseif ($opener_input_field == 'TINY') {
     $opener_link .= '<a class="btn btn-select" href="javascript:insertLink(\'' . $file_name . '\');"">' . rex_i18n::msg('pool_link_get') . '</a>';
 } elseif ($opener_input_field != '') {
     $opener_link = '<a class="btn btn-xs btn-select" href="javascript:selectMedia(\'' . $file_name . '\', \'' . addslashes(htmlspecialchars($files->getValue('title'))) . '\');">' . rex_i18n::msg('pool_file_get') . '</a>';
     if (substr($opener_input_field, 0, 14) == 'REX_MEDIALIST_') {
         $opener_link = '<a class="btn btn-xs btn-select" href="javascript:selectMedialist(\'' . $file_name . '\');">' . rex_i18n::msg('pool_file_get') . '</a>';
     }
 }
 $ilink = rex_url::currentBackendPage(array_merge(['file_id' => $file_id, 'rex_file_category' => $rex_file_category], $arg_url));
 $add_td = '<td></td>';
 if ($PERMALL) {
     $add_td = '<td><input type="checkbox" name="selectedmedia[]" value="' . $file_name . '" /></td>';
 }
 $panel .= '<tr>
                 ' . $add_td . '
                 <td data-title="' . rex_i18n::msg('pool_file_thumbnail') . '"><a href="' . $ilink . '">' . $thumbnail . '</a></td>
                 <td data-title="' . rex_i18n::msg('pool_file_info') . '">
                     <h3><a href="' . $ilink . '">' . htmlspecialchars($file_title) . '</a></h3>
                     ' . $desc . '
                     <p>' . htmlspecialchars($file_name) . ' <span class="rex-filesize">' . $file_size . '</span></p>
                 </td>
                 <td data-title="' . rex_i18n::msg('pool_last_update') . '"><p class="rex-date">' . $file_stamp . '</p><p class="rex-author">' . htmlspecialchars($file_updateuser) . '</p></td>
                 <td class="rex-table-action"><a href="' . $ilink . '">' . rex_i18n::msg('edit') . '</a></td>
                 <td class="rex-table-action">';
Пример #18
0
    $list->setColumnParams('edit', ['func' => 'edit', 'id' => '###id###']);
    $list->addColumn('funcs', '<i class="rex-icon rex-icon-delete"></i> ' . rex_i18n::msg('user_role_delete'));
    $list->setColumnLabel('funcs', rex_i18n::msg('user_functions'));
    $list->setColumnLayout('funcs', ['', '<td>###VALUE###</td>']);
    $list->setColumnParams('funcs', ['func' => 'delete', 'id' => '###id###']);
    $list->addLinkAttribute('funcs', 'data-confirm', rex_i18n::msg('delete') . ' ?');
    $content .= $list->get();
    $fragment = new rex_fragment();
    $fragment->setVar('title', $title);
    $fragment->setVar('content', $content, false);
    $content = $fragment->parse('core/page/section.php');
} else {
    $title = $func == 'edit' ? rex_i18n::msg('edit_user_role') : rex_i18n::msg('add_user_role');
    $form = rex_form::factory(rex::getTablePrefix() . 'user_role', $title, 'id = ' . $id);
    $form->addParam('id', $id);
    $form->setApplyUrl(rex_url::currentBackendPage());
    $form->setEditMode($func == 'edit');
    $field = $form->addTextField('name');
    $field->setLabel(rex_i18n::msg('name'));
    $field = $form->addTextAreaField('description');
    $field->setLabel(rex_i18n::msg('description'));
    $fieldContainer = $form->addContainerField('perms');
    $fieldContainer->setMultiple(false);
    $group = 'all';
    $fieldContainer->setActive($group);
    // Check all page permissions and add them to rex_perm if not already registered
    $registerImplicitePagePermissions = function ($pages) use(&$registerImplicitePagePermissions) {
        foreach ($pages as $page) {
            foreach ($page->getRequiredPermissions() as $perm) {
                // ignore admin perm and complex perms (with "/")
                if ($perm && !in_array($perm, ['isAdmin', 'admin', 'admin[]']) && strpos($perm, '/') === false && !rex_perm::has($perm)) {
Пример #19
0
foreach (rex_system_setting::getAll() as $setting) {
    $field = $setting->getField();
    if (!$field instanceof rex_form_element) {
        throw new rex_exception(get_class($setting) . '::getField() must return a rex_form_element!');
    }
    $field->setAttribute('name', 'settings[' . $setting->getKey() . ']');
    $elements .= $field->get();
}
$content[] = $elements;
$fragment = new rex_fragment();
$fragment->setVar('content', $content, false);
$content = $fragment->parse('core/page/grid.php');
$formElements = [];
$n = [];
$n['field'] = '<button class="btn btn-save rex-form-aligned" type="submit" name="sendit"' . rex::getAccesskey(rex_i18n::msg('system_update'), 'save') . '>' . rex_i18n::msg('system_update') . '</button>';
$formElements[] = $n;
$fragment = new rex_fragment();
$fragment->setVar('elements', $formElements, false);
$buttons = $fragment->parse('core/form/submit.php');
$fragment = new rex_fragment();
$fragment->setVar('class', 'edit', false);
$fragment->setVar('title', rex_i18n::msg('system_settings'));
$fragment->setVar('body', $content, false);
$fragment->setVar('buttons', $buttons, false);
$content = $fragment->parse('core/page/section.php');
$content = '
<form id="rex-form-system-setup" action="' . rex_url::currentBackendPage() . '" method="post">
    <input type="hidden" name="func" value="updateinfos" />
    ' . $content . '
</form>';
echo $content;
Пример #20
0
    protected function editSlice($RE_CONTS, $RE_MODUL_IN, $RE_CTYPE, $RE_MODUL_ID, $artDataSql)
    {
        $formElements = [];
        $n = [];
        $n['field'] = '<a class="btn btn-abort" href="' . rex_url::currentBackendPage(['article_id' => $this->article_id, 'slice_id' => $RE_CONTS, 'ctype' => $RE_CTYPE, 'clang' => $this->clang]) . '#slice' . $RE_CONTS . '">' . rex_i18n::msg('form_abort') . '</a>';
        $formElements[] = $n;
        $n = [];
        $n['field'] = '<button class="btn btn-save" type="submit" name="btn_save" value="1"' . rex::getAccesskey(rex_i18n::msg('save_block'), 'save') . '>' . rex_i18n::msg('save_block') . '</button>';
        $formElements[] = $n;
        $n = [];
        $n['field'] = '<button class="btn btn-apply" type="submit" name="btn_update" value="1"' . rex::getAccesskey(rex_i18n::msg('update_block'), 'apply') . '>' . rex_i18n::msg('update_block') . '</button>';
        $formElements[] = $n;
        $fragment = new rex_fragment();
        $fragment->setVar('elements', $formElements, false);
        $slice_footer = $fragment->parse('core/form/submit.php');
        $panel = '
                <fieldset>
                    <legend>' . rex_i18n::msg('edit_block') . '</legend>
                    <input type="hidden" name="module_id" value="' . $RE_MODUL_ID . '" />
                    <input type="hidden" name="function" value="edit" />
                    <input type="hidden" name="save" value="1" />
                    <input type="hidden" name="update" value="0" />

                    <div class="rex-slice-input">
                        ' . $this->getStreamOutput('module/' . $RE_MODUL_ID . '/input', $RE_MODUL_IN) . '
                    </div>
                </fieldset>

            </form>';
        $fragment = new rex_fragment();
        $fragment->setVar('class', 'edit', false);
        $fragment->setVar('title', $this->getSliceHeading($artDataSql), false);
        $fragment->setVar('options', $this->getSliceMenu($artDataSql), false);
        $fragment->setVar('body', $panel, false);
        $fragment->setVar('footer', $slice_footer, false);
        $slice_content = $fragment->parse('core/page/section.php');
        $slice_content = '
            <li class="rex-slice rex-slice-edit" id="slice' . $RE_CONTS . '">
                <form enctype="multipart/form-data" action="' . rex_url::currentBackendPage(['article_id' => $this->article_id, 'slice_id' => $RE_CONTS, 'ctype' => $RE_CTYPE, 'clang' => $this->clang]) . '#slice' . $RE_CONTS . '" method="post" id="REX_FORM">
                    ' . $slice_content . '
                </form>
                <script type="text/javascript">
                     <!--
                    jQuery(function($) {
                        $(":input:visible:enabled:not([readonly]):first", $("#REX_FORM")).focus();
                    });
                     //-->
                </script>
            </li>
            ';
        return $slice_content;
    }
Пример #21
0
     if ($cronjob instanceof rex_cronjob) {
         $cronjobs[$class] = $cronjob;
         $select->addOption($cronjob->getTypeName(), $class);
     }
 }
 if ($func == 'add') {
     $select->setSelected('rex_cronjob_phpcode');
 }
 $activeType = $field->getValue();
 if ($func != 'add' && !in_array($activeType, $types)) {
     if (!$activeType && !$field->getValue()) {
         $warning = rex_i18n::rawMsg('cronjob_not_found');
     } else {
         $warning = rex_i18n::rawMsg('cronjob_type_not_found', $field->getValue(), $activeType);
     }
     rex_response::sendRedirect(rex_url::currentBackendPage([rex_request('list', 'string') . '_warning' => $warning], false));
 }
 $form->addFieldset($this->i18n('type_parameters'));
 $fieldContainer = $form->addContainerField('parameters');
 $fieldContainer->setAttribute('style', 'display: none');
 $fieldContainer->setMultiple(false);
 $fieldContainer->setActive($activeType);
 $env_js = '';
 $visible = [];
 foreach ($cronjobs as $group => $cronjob) {
     $disabled = [];
     $envs = (array) $cronjob->getEnvironments();
     if (!in_array('frontend', $envs)) {
         $disabled[] = 0;
     }
     if (!in_array('backend', $envs)) {
Пример #22
0
$content .= '</fieldset>';
$formElements = [];
$n = [];
$n['field'] = '<button class="btn btn-save rex-form-aligned" type="submit" value="1" name="upd_psw_button" ' . rex::getAccesskey(rex_i18n::msg('profile_save_psw'), 'save') . '>' . rex_i18n::msg('profile_save_psw') . '</button>';
$formElements[] = $n;
$fragment = new rex_fragment();
$fragment->setVar('elements', $formElements, false);
$buttons = $fragment->parse('core/form/submit.php');
$fragment = new rex_fragment();
$fragment->setVar('class', 'edit', false);
$fragment->setVar('title', rex_i18n::msg('profile_changepsw'), false);
$fragment->setVar('body', $content, false);
$fragment->setVar('buttons', $buttons, false);
$content = $fragment->parse('core/page/section.php');
$content = '
    <form class="rex-js-form-profile-password" action="' . rex_url::currentBackendPage() . '" method="post">
        ' . $content . '
    </form>
    </div>

    <script type="text/javascript">
         <!--
        jQuery(function($) {
            $(".rex-js-form-profile-password")
                .submit(function(){
                    var pwInp0 = $(".rex-js-userpsw");
                    if(pwInp0.val() != "") {
                        $(".rex-js-form-profile-password").append(\'<input type="hidden" name="\'+pwInp0.attr("name")+\'" value="\'+Sha1.hash(pwInp0.val())+\'" />\');
                        pwInp0.removeAttr("name");
                    }
Пример #23
0
                        <th class="rex-table-width-5">' . rex_i18n::msg('backup_filesize') . '</th>
                        <th class="rex-table-width-5">' . rex_i18n::msg('backup_createdate') . '</th>
                        <th class="rex-table-action" colspan="3">' . rex_i18n::msg('backup_function') . '</th>
                    </tr>
                </thead>
                <tbody>';
$dir = rex_backup::getDir();
$folder = rex_backup::getBackupFiles('.tar.gz');
foreach ($folder as $file) {
    $filepath = $dir . '/' . $file;
    $filec = date('d.m.Y H:i', filemtime($filepath));
    $filesize = rex_file::formattedSize($filepath);
    $content .= '<tr>
                    <td class="rex-table-icon"><i class="rex-icon rex-icon-file-archive"></i></td>
                    <td data-title="' . rex_i18n::msg('backup_filename') . '">' . $file . '</td>
                    <td data-title="' . rex_i18n::msg('backup_filesize') . '">' . $filesize . '</td>
                    <td data-title="' . rex_i18n::msg('backup_createdate') . '">' . $filec . '</td>
                    <td class="rex-table-action"><a href="' . rex_url::currentBackendPage(['function' => 'fileimport', 'impname' => $file]) . '" title="' . rex_i18n::msg('backup_import_file') . '" data-confirm="' . rex_i18n::msg('backup_proceed_file_import') . '"><i class="rex-icon rex-icon-import"></i> ' . rex_i18n::msg('backup_to_import') . '</a></td>
                    <td class="rex-table-action"><a href="' . rex_url::currentBackendPage(['function' => 'download', 'impname' => $file]) . '" title="' . rex_i18n::msg('backup_download_file') . '"><i class="rex-icon rex-icon-download"></i> ' . rex_i18n::msg('backup_download') . '</a></td>
                    <td class="rex-table-action"><a href="' . rex_url::currentBackendPage(['function' => 'delete', 'impname' => $file]) . '" title="' . rex_i18n::msg('backup_delete_file') . '" data-confirm="' . rex_i18n::msg('backup_delete') . ' ?"><i class="rex-icon rex-icon-delete"></i> ' . rex_i18n::msg('backup_delete') . '</a></td>
                </tr>';
}
$content .= '
               </tbody>
            </table>
        ';
$fragment = new rex_fragment();
$fragment->setVar('title', rex_i18n::msg('backup_export_file_caption'), false);
$fragment->setVar('content', $content, false);
$content = $fragment->parse('core/page/section.php');
echo $content;
Пример #24
0
 /**
  * creates and returns the uploadform
  */
 public function createUploadForm()
 {
     $rex_file_category = rex_request('rex_file_category', 'int');
     $output = '';
     $script_page_header = '';
     $uploadPath = "index.php?page=" . $this->addon_name . "/upload&upload_folder=" . $this->folder;
     if ($this->sync_cat) {
         $cats_sel = new rex_media_category_select();
         $cats_sel->setStyle('class="form-control"');
         $cats_sel->setSize(1);
         $cats_sel->setName('rex_file_category');
         $cats_sel->setId('rex_file_category_' . $this->time);
         $cats_sel->addOption(rex_i18n::msg('pool_kats_no'), '0');
         $cats_sel->setAttribute('onchange', 'this.form.submit()');
         $cats_sel->setSelected($rex_file_category);
         $arg_fields = '';
         foreach (rex_request('args', 'array') as $arg_name => $arg_value) {
             $arg_fields .= '<input type="hidden" name="args[' . $arg_name . ']" value="' . $arg_value . '" />' . "\n";
         }
         $opener_input_field = rex_request('opener_input_field', 'string');
         if ($opener_input_field != '') {
             $arg_fields .= '<input type="hidden" name="opener_input_field" value="' . htmlspecialchars($opener_input_field) . '" />' . "\n";
         }
         $panel = '';
         $formElements = [];
         if ($this->markup) {
             $e = [];
             $e['label'] = '<label for="rex_file_category_' . $this->time . '">' . rex_i18n::msg('pool_file_category') . '</label>';
             $e['field'] = $cats_sel->get();
             $formElements[] = $e;
             $fragment = new rex_fragment();
             $fragment->setVar('elements', $formElements, false);
             $panel .= $fragment->parse('core/form/form.php');
             $panel .= rex_extension::registerPoint(new rex_extension_point('MEDIA_FORM_ADD', ''));
             $fragment = new rex_fragment();
             $fragment->setVar('class', 'info', false);
             $fragment->setVar('title', "Medienpool Kategorie");
             $fragment->setVar('body', $panel, false);
             $content = $fragment->parse('core/page/section.php');
             $output .= '
             <form action="' . rex_url::currentBackendPage() . '" method="post" enctype="multipart/form-data">
             <fieldset>
               <input type="hidden" name="media_method" value="add_file" />
                 ' . $arg_fields . '
                 ' . $content . '
             </fieldset></form>';
         }
     }
     # end sync_cat
     $output_upload_button = '';
     $output_upload_button .= '
     <div id="multiupload' . $this->time . '" class="' . ($this->markup ? 'behave_normal' : 'styleless') . '">
     <noscript>      
       <p>JavaScript muss aktiviert sein.</p>
     </noscript>
     </div>';
     if ($this->markup) {
         if (!$this->clear_uploadlist_automatically) {
             $content = '';
             $content .= $output_upload_button;
             $content .= '
             <p>weitere Aktionen:</p>
             <a href="javascript:void(0)" onclick="clearUploadList();">Abgeschlossene / fehlerhafte aus der Liste entfernen</a>
             </p>';
             $sections = '';
             $fragment = new rex_fragment();
             $fragment->setVar('class', 'info', false);
             $fragment->setVar('title', "Aktionen");
             $fragment->setVar('body', $content, false);
             $output .= $fragment->parse('core/page/section.php');
         }
     }
     $script_page_header .= '
     <script type="text/javascript">
       
       function rex_multiupload_createUploader' . $this->time . '(){            
         var uploader = new qq.FileUploader({
           element: document.getElementById("multiupload' . $this->time . '"),
           action: "' . $uploadPath . '",
           mediaPoolSelector: "rex_file_category_' . $this->time . '",
           sizeLimit: 0, // max size   
           minSizeLimit: 0, // min size';
     $script_page_header .= '
         onSubmit: function(id,filename) {' . "\n";
     if ($this->clear_uploadlist_automatically) {
         $script_page_header .= '
         clearUploadList();';
     }
     if ($this->onSubmitCallback) {
         $script_page_header .= '
         if(typeof ' . $this->onSubmitCallback . ' == "function") { 
             // user callback function
             ' . $this->onSubmitCallback . '(filename);
         }';
     }
     $script_page_header .= '
     },';
     # end onSubmit
     $script_page_header .= '
         onUpload: function(id,fileName, xhr) {' . "\n";
     if ($this->onUploadCallback) {
         $script_page_header .= '
         if(typeof ' . $this->onUploadCallback . ' == "function") { 
             // user callback function
             ' . $this->onUploadCallback . '(fileName, xhr);
         }';
     }
     $script_page_header .= '
     },';
     # end onUpload
     $script_page_header .= '
         onProgress: function(id,fileName, loaded, total) {' . "\n";
     if ($this->onProgressCallback) {
         $script_page_header .= '
         if(typeof ' . $this->onProgressCallback . ' == "function") { 
             // user callback function
             ' . $this->onProgressCallback . '(fileName, loaded, total);
         }';
     }
     $script_page_header .= '
     },';
     # end onProgress
     $script_page_header .= '
         onComplete: function(id,filename,json) {' . "\n";
     if ($this->clear_file_after_finish) {
         $script_page_header .= '                        
             window.setTimeout(function(){
                 clearUploadListSuccess();
             }, 5000);';
     }
     if ($this->onCompleteCallback) {
         $script_page_header .= '
         if(typeof ' . $this->onCompleteCallback . ' == "function" && json.success) { 
             // user callback function
             ' . $this->onCompleteCallback . '(json);
         }';
     }
     $script_page_header .= '
     },';
     # end onComplete
     $script_page_header .= '
           onCancel: function(id,filename) {' . "\n";
     if ($this->onCancelCallback) {
         $script_page_header .= '
         if(typeof ' . $this->onCancelCallback . ' == "function") { 
             // user callback function
             ' . $this->onCancelCallback . '(filename);
         }';
     }
     $script_page_header .= '
     },';
     # end onCancel
     if ($this->upload_simultaneously && is_numeric($this->upload_simultaneously)) {
         $script_page_header .= ' 
             maxConnections: ' . $this->upload_simultaneously . ',';
     }
     $script_page_header .= '
             debug: ' . ($this->javascript_debug ? "true" : "false") . '
         });
     }
     jQuery(document).ready(function(){
         rex_multiupload_createUploader' . $this->time . '();
     });
     </script>' . "\n";
     if ($this->markup) {
         if ($this->showFootnote) {
             $output .= '<div class="rex-form-row edit_panel">
             <label>Dateien editieren</label>
             <ul class="qq-upload-list edit_uploads">
                 
             </ul>
             </div>' . "\n";
         }
     }
     if ($this->markup) {
         if ($this->showFootnote) {
             $output .= '<section class="rex-page-section">
                 <p class="rex-form-file">
                     <span class="rex-form-notice">
                     Mehrfachauswahl mit STRG(WIN) oder CMD(MAC).<br />
                     Die Dateien werden automatisch in die ausgewählte Kategorie sychronisiert.
                     Ein Wechsel der Medienkategorie greift immer vor Auswahl einer Datei. 
                     Findet ein Upload bereits statt, kann für diese Datei die Kategorie nicht mehr verändert werden.
                 </span>
                 </p>
             </section>' . "\n";
         }
     }
     rex_extension::register('OUTPUT_FILTER', function (rex_extension_point $ep) use($script_page_header) {
         $suchmuster = "<!-- ###MULTIUPLOAD_EP_REPLACE### -->";
         $ersetzen = "<!-- MULTIUPLOAD_EP_REPLACE -->\n" . $script_page_header . "<!-- /MULTIUPLOAD_EP_REPLACE -->\n</head>";
         $ep->setSubject(str_replace($suchmuster, $ersetzen, $ep->getSubject()));
     });
     // TIME FOR OUTPUT
     return $output;
 }