function formatButton($name, $attributes = '', $prefix = '', $suffix = '') { $button = $this->getButton($name); if (!$button['status']) { return ''; } return sprintf('%s<input type="submit" name="%s" value="%s" tabindex="%s"%s />%s', $prefix, $name, $button['label'], rex_tabindex(false), $attributes, $suffix); }
function getButtons() { $s = ''; $id = $this->getId(); foreach ($this->buttons as $button) { foreach ($button as $attr_name => $attr_value) { $button[$attr_name] = str_replace('%id%', $id, $attr_value); } $s .= sprintf(' <a href="%s" tabindex="%s"><img src="media/%s" width="16" height="16" alt="%s" title="%s" /></a>' . "\n", $button['href'], rex_tabindex(false), $button['image'], $button['title'], $button['title']); } return $s; }
function rex_asd_news_language($curClang, $urlParam) { global $REX; global $I18N; reset($REX['CLANG']); $num_clang = count($REX['CLANG']); if ($num_clang > 1) { echo ' <div id="rex-clang" class="rex-toolbar"> <div class="rex-toolbar-content"> <ul> <li>' . $I18N->msg('languages') . ' : </li>'; $stop = false; $i = 1; foreach ($REX['CLANG'] as $key => $val) { if ($i == 1) { echo '<li class="rex-navi-first rex-navi-clang-' . $key . '">'; } else { echo '<li class="rex-navi-clang-' . $key . '">'; } $val = rex_translate($val); if (!$REX['USER']->isAdmin() && !$REX['USER']->hasPerm('clang[all]') && !$REX['USER']->hasPerm('clang[' . $key . ']')) { echo '<span class="rex-strike">' . $val . '</span>'; if ($curClang == $key) { $stop = true; } } else { $class = ''; if ($key == $curClang) { $class = ' class="rex-active"'; } echo '<a' . $class . ' href="index.php?page=' . $REX['PAGE'] . '&clang=' . $key . $urlParam . '"' . rex_tabindex() . '>' . $val . '</a>'; } echo '</li>'; $i++; } echo ' </ul> </div> </div>'; if ($stop) { echo rex_warning('You have no permission to this area'); require $REX['INCLUDE_PATH'] . '/layout/bottom.php'; exit; } } }
function a587_rexsearch_reindex_article($_params) { global $REX, $I18N; $get = $_GET; if (!array_key_exists('article_id', $get)) { $get['article_id'] = rex_request('article_id', 'int', $REX['ARTICLE_ID']); } if (!array_key_exists('clang', $get)) { $get['clang'] = rex_request('clang', 'int', $REX['CUR_CLANG']); } if (!array_key_exists('ctype', $get) and array_key_exists('ctype', $_REQUEST)) { $get['ctype'] = rex_request('ctype'); } if (!array_key_exists('mode', $get) and array_key_exists('mode', $_REQUEST)) { $get['mode'] = rex_request('mode'); } $get['func'] = 'reindex'; $_params['subject'][] = '<a href="index.php?' . http_build_query($get, null, '&') . '" class="rex-active"' . rex_tabindex() . '>' . $I18N->msg('a587_reindex_article') . '</a>'; return $_params['subject']; }
/** * Gibt den HTML Content zurück */ function get() { $s = ''; $name = $this->getName(); $id = $this->getId(); $value = $this->getValue(); $attributes = $this->getAttributes(); $i = 0; $s = '<div id="' . $id . '">'; foreach ($this->getRadios() as $box) { $boxid = $id . $i; $checked = ''; if (in_array($box[1], $value)) { $checked = ' checked="checked"'; } $s .= sprintf('<input type="radio" name="%s" value="%s" id="%s" tabindex="%s"%s%s /><label for="%s">%s</label>', $name, $box[1], $boxid, rex_tabindex(false), $checked, $attributes, $boxid, $box[0]); $i++; } $s .= '</div>'; return $s; }
$stop = false; $i = 1; foreach ($REX['CLANG'] as $key => $val) { echo '<li>'; $val = rex_translate($val); if (!$REX_USER->hasPerm('admin[]') && !$REX_USER->hasPerm('clang[all]') && !$REX_USER->hasPerm('clang[' . $key . ']')) { echo '<span class="rex-strike">' . $val . '</span>'; if ($clang == $key) { $stop = true; } } else { $class = ''; if ($key == $clang) { $class = ' class="rex-active"'; } echo '<a' . $class . ' href="index.php?page=' . $page . '&clang=' . $key . $sprachen_add . '&ctype=' . $ctype . '"' . rex_tabindex() . '>' . $val . '</a>'; } if ($i != $num_clang) { echo ' | '; } echo '</li>'; $i++; } echo ' </ul> </div> <!-- *** OUTPUT OF CLANG-TOOLBAR - END *** --> '; if ($stop) { echo ' <!-- *** OUTPUT OF CLANG-VALIDATE - START *** -->
/** * Gibt das Button Template zurück */ function getLinkButton($id, $article_id, $category = '') { global $REX; $art_name = ''; $clang = ''; $art = OOArticle::getArticleById($article_id); // Falls ein Artikel vorausgewählt ist, dessen Namen anzeigen und beim öffnen der Linkmap dessen Kategorie anzeigen if (OOArticle::isValid($art)) { $art_name = $art->getName(); $category = $art->getCategoryId(); } $open_params = '&clang=' . $REX['CUR_CLANG']; if ($category != '') { $open_params .= '&category_id=' . $category; } $media = ' <div class="rex-wdgt"> <div class="rex-wdgt-lnk"> <p class="rex-wdgt-fld"> <input type="hidden" name="LINK[' . $id . ']" id="LINK_' . $id . '" value="' . $article_id . '" /> <input type="text" size="30" name="LINK_NAME[' . $id . ']" value="' . $art_name . '" id="LINK_' . $id . '_NAME" readonly="readonly" /> </p> <p class="rex-wdgt-icons"> <a href="#" onclick="openLinkMap(\'LINK_' . $id . '\', \'' . $open_params . '\');return false;"' . rex_tabindex() . '><img src="media/file_open.gif" width="16" height="16" alt="Open Linkmap" title="Open Linkmap" /></a> <a href="#" onclick="deleteREXLink(' . $id . ');return false;"' . rex_tabindex() . '><img src="media/file_del.gif" width="16" height="16" title="Remove Selection" alt="Remove Selection" /></a> </p> <div class="rex-clearer"></div> </div> </div>'; return $media; }
<div id="rex-ftr"> <ul> <li><a href="http://www.yakamara.de" target="_blank" class="black"<?php echo rex_tabindex(); ?> >yakamara.de</a> | </li> <li><a href="http://www.redaxo.de" target="_blank" class="black"<?php echo rex_tabindex(); ?> >redaxo.de</a> | </li> <?php if (isset($REX_USER)) { echo '<li><a href="index.php?page=credits" class="black">' . $I18N->msg('credits') . '</a> | </li>'; } ?> <li><a href="http://forum.redaxo.de"<?php echo rex_tabindex(); ?> >?</a></li> </ul> <p><?php echo showScripttime(); ?> sec | <?php echo rex_formatter::format(time(), 'strftime', 'date'); ?> </p> </div> </body> </html>
/** * Gibt das ListButton Template zurück */ static function getMedialistButton($id, $value, $category = '', $args = array()) { global $REX, $I18N; $open_params = ''; if ($category != '') { $open_params .= '&rex_file_category=' . $category; } foreach ($args as $aname => $avalue) { $open_params .= '&args[' . $aname . ']=' . urlencode($avalue); } $wdgtClass = 'rex-widget-medialist'; if (isset($args['preview']) && $args['preview']) { $wdgtClass .= ' rex-widget-preview'; if (OOAddon::isAvailable('image_manager')) { $wdgtClass .= ' rex-widget-preview-image-manager'; } elseif (OOAddon::isAvailable('image_resize')) { $wdgtClass .= ' rex-widget-preview-image-resize'; } } $options = ''; $medialistarray = explode(',', $value); if (is_array($medialistarray)) { foreach ($medialistarray as $file) { if ($file != '') { $options .= '<option value="' . $file . '">' . $file . '</option>'; } } } $open_class = 'rex-icon-file-open rex-icon-file-open-inactive'; $add_class = 'rex-icon-file-add rex-icon-file-add-inactive'; $delete_class = 'rex-icon-file-delete rex-icon-file-delete-inactive'; $view_class = 'rex-icon-file-view rex-icon-file-view-inactive'; $open_func = ''; $add_func = ''; $delete_func = ''; $view_func = ''; if ($REX['USER']->hasMediaPerm()) { $open_class = 'rex-icon-file-open'; $add_class = 'rex-icon-file-add'; $delete_class = 'rex-icon-file-delete'; $view_class = 'rex-icon-file-view'; $open_func = 'openREXMedialist(' . $id . ',\'' . $open_params . '\');'; $add_func = 'addREXMedialist(' . $id . ',\'' . $open_params . '\');'; $delete_func = 'deleteREXMedialist(' . $id . ');'; $view_func = 'viewREXMedialist(' . $id . ',\'' . $open_params . '\');'; } $media = ' <div class="rex-widget"> <div class="' . $wdgtClass . '"> <input type="hidden" name="MEDIALIST[' . $id . ']" id="REX_MEDIALIST_' . $id . '" value="' . $value . '" /> <p class="rex-widget-field"> <select name="MEDIALIST_SELECT[' . $id . ']" id="REX_MEDIALIST_SELECT_' . $id . '" size="8"' . rex_tabindex() . '> ' . $options . ' </select> </p> <p class="rex-widget-icons rex-widget-2col"> <span class="rex-widget-column rex-widget-column-first"> <a href="#" class="rex-icon-file-top" onclick="moveREXMedialist(' . $id . ',\'top\');return false;" title="' . $I18N->msg('var_medialist_move_top') . '"' . rex_tabindex() . '></a> <a href="#" class="rex-icon-file-up" onclick="moveREXMedialist(' . $id . ',\'up\');return false;" title="' . $I18N->msg('var_medialist_move_up') . '"' . rex_tabindex() . '></a> <a href="#" class="rex-icon-file-down" onclick="moveREXMedialist(' . $id . ',\'down\');return false;" title="' . $I18N->msg('var_medialist_move_down') . '"' . rex_tabindex() . '></a> <a href="#" class="rex-icon-file-bottom" onclick="moveREXMedialist(' . $id . ',\'bottom\');return false;" title="' . $I18N->msg('var_medialist_move_bottom') . '"' . rex_tabindex() . '></a> </span> <span class="rex-widget-column"> <a href="#" class="' . $open_class . '" onclick="' . $open_func . 'return false;" title="' . $I18N->msg('var_media_open') . '"' . rex_tabindex() . '></a> <a href="#" class="' . $add_class . '" onclick="' . $add_func . 'return false;" title="' . $I18N->msg('var_media_new') . '"' . rex_tabindex() . '></a> <a href="#" class="' . $delete_class . '" onclick="' . $delete_func . 'return false;" title="' . $I18N->msg('var_media_remove') . '"' . rex_tabindex() . '></a> <a href="#" class="' . $view_class . '" onclick="' . $view_func . 'return false;" title="' . $I18N->msg('var_media_view') . '"' . rex_tabindex() . '></a> </span> </p> <div class="rex-media-preview"></div> </div> </div> <div class="rex-clearer"></div> '; return $media; }
function get() { return sprintf('<input type="text" name="%s" value="%s" id="%s" tabindex="%s"%s />', $this->getName(), $this->getValue(), $this->getId(), rex_tabindex(false), $this->getAttributes()); }
/** * Gibt das ListButton Template zurück */ function getMedialistButton($id, $value, $category = '', $args = array()) { global $I18N; $open_params = ''; if ($category != '') { $open_params .= '&rex_file_category=' . $category; } foreach ($args as $aname => $avalue) { $open_params .= '&args[' . $aname . ']=' . urlencode($avalue); } $wdgtClass = 'rex-widget-medialist'; if (isset($args['preview']) && $args['preview'] && OOAddon::isAvailable('image_resize')) { $wdgtClass .= ' rex-widget-preview'; } $options = ''; $medialistarray = explode(',', $value); if (is_array($medialistarray)) { foreach ($medialistarray as $file) { if ($file != '') { $options .= '<option value="' . $file . '">' . $file . '</option>'; } } } $media = ' <div class="rex-widget"> <div class="' . $wdgtClass . '"> <input type="hidden" name="MEDIALIST[' . $id . ']" id="REX_MEDIALIST_' . $id . '" value="' . $value . '" /> <p class="rex-widget-field"> <select name="MEDIALIST_SELECT[' . $id . ']" id="REX_MEDIALIST_SELECT_' . $id . '" size="8"' . rex_tabindex() . '> ' . $options . ' </select> </p> <p class="rex-widget-icons"> <a href="#" class="rex-icon-file-top" onclick="moveREXMedialist(' . $id . ',\'top\');return false;"' . rex_tabindex() . '><img src="media/file_top.gif" width="16" height="16" title="' . $I18N->msg('var_medialist_move_top') . '" alt="' . $I18N->msg('var_medialist_move_top') . '" /></a> <a href="#" class="rex-icon-file-open" onclick="openREXMedialist(' . $id . ');return false;"' . rex_tabindex() . '><img src="media/file_open.gif" width="16" height="16" title="' . $I18N->msg('var_media_open') . '" alt="' . $I18N->msg('var_media_open') . '" /></a><br /> <a href="#" class="rex-icon-file-up" onclick="moveREXMedialist(' . $id . ',\'up\');return false;"' . rex_tabindex() . '><img src="media/file_up.gif" width="16" height="16" title="' . $I18N->msg('var_medialist_move_up') . '" alt="' . $I18N->msg('var_medialist_move_top') . '" /></a> <a href="#" class="rex-icon-file-add" onclick="addREXMedialist(' . $id . ');return false;"' . rex_tabindex() . '><img src="media/file_add.gif" width="16" height="16" title="' . $I18N->msg('var_media_new') . '" alt="' . $I18N->msg('var_media_new') . '" /></a><br /> <a href="#" class="rex-icon-file-down" onclick="moveREXMedialist(' . $id . ',\'down\');return false;"' . rex_tabindex() . '><img src="media/file_down.gif" width="16" height="16" title="' . $I18N->msg('var_medialist_move_down') . '" alt="' . $I18N->msg('var_medialist_move_down') . '" /></a> <a href="#" class="rex-icon-file-delete" onclick="deleteREXMedialist(' . $id . ');return false;"' . rex_tabindex() . '><img src="media/file_del.gif" width="16" height="16" title="' . $I18N->msg('var_media_remove') . '" alt="' . $I18N->msg('var_media_remove') . '" /></a><br /> <a href="#" class="rex-icon-file-bottom" onclick="moveREXMedialist(' . $id . ',\'bottom\');return false;"' . rex_tabindex() . '><img src="media/file_bottom.gif" width="16" height="16" title="' . $I18N->msg('var_medialist_move_bottom') . '" alt="' . $I18N->msg('var_medialist_move_bottom') . '" /></a> </p> <div class="rex-media-preview"></div> </div> </div> <div class="rex-clearer"></div> '; return $media; }
foreach ($REX['USER']->pages as $p => $pageContainer) { $p = strtolower($p); if (rex_be_main_page::isValid($pageContainer)) { $pageObj =& $pageContainer->getPage(); $pageObj->setItemAttr('id', 'rex-navi-page-' . strtolower(preg_replace('/[^a-zA-Z0-9\\-_]*/', '', $p))); if (!$pageContainer->getBlock()) { $pageContainer->setBlock('addons'); } if (!$pageObj->getHref()) { $pageObj->setHref('index.php?page=' . $p); } /* if(isset ($REX['ACKEY']['ADDON'][$page])) $item['extra'] = rex_accesskey($name, $REX['ACKEY']['ADDON'][$page]); else $item['extra'] = rex_accesskey($pageArr['title'], $accesskey++); */ $pageObj->setLinkAttr('tabindex', rex_tabindex(false)); $n->addPage($pageContainer); } } $n->setActiveElements(); echo $n->getNavigation(); } ?> </div> <div id="rex-wrapper"> <div id="rex-wrapper2">
// ***** AddOn if (isset($REX['ADDON']['link'][$pageKey]) && $REX['ADDON']['link'][$pageKey] != "") { $item['href'] = $REX['ADDON']['link'][$pageKey]; } else { $item['href'] = 'index.php?page=' . $pageKey; } if (isset($REX['ACKEY']['ADDON'][$pageKey])) { $item['extra'] = rex_accesskey($name, $REX['ACKEY']['ADDON'][$pageKey]); } else { $item['extra'] = rex_accesskey($pageArr[0], $accesskey++); } $item['subpages'] = array(); if (isset($REX['ADDON'][$pageKey]['SUBPAGES'])) { $item['subpages'] = $REX['ADDON'][$pageKey]['SUBPAGES']; } $item['tabindex'] = rex_tabindex(false); if (isset($pageArr['NAVI']) && is_array($pageArr['NAVI'])) { foreach ($pageArr['NAVI'] as $k => $v) { $item[$k] = $v; } } $navi_addons[$pageArr[0]] = $item; } } } echo '<dl class="rex-navi">'; foreach (array('system' => $navi_system, 'addon' => $navi_addons) as $topic => $naviList) { if (count($naviList) == 0) { continue; } $headline = $topic == 'system' ? $I18N->msg('navigation_basis') : $I18N->msg('navigation_addons');
/** * Gibt den HTML Content zurück */ function get() { $options = ''; $name = $this->getName(); $options = $this->outGroup($this->getFirstGroupId()); if ($this->multiple) { $name .= '[]'; $this->addAttribute('multiple', 'multiple'); $this->addAttribute('size', '5', false); } else { $this->addAttribute('size', '3', false); } return sprintf('<select name="%s" id="%s" tabindex="%s"%s>%s</select>', $name, $this->getId(), rex_tabindex(false), $this->getAttributes(), $options); }
function get() { return sprintf('<textarea name="%s" id="%s" tabindex="%s"%s>%s</textarea>', $this->getName(), $this->getId(), rex_tabindex(false), $this->getAttributes(), $this->getValue()); }
/** * Backend Search Addon * * @author markus[dot]staab[at]redaxo[dot]de Markus Staab * * @package redaxo4 * @version $Id: extension_search_structure.inc.php,v 1.2 2008/04/12 10:22:30 kills Exp $ */ function rex_a256_search_structure($params) { global $REX, $REX_USER, $I18N_BE_SEARCH; if (!($REX_USER->isAdmin() || $REX_USER->hasPerm('be_search[structure]'))) { return $params['subject']; } $message = ''; $search_result = ''; $editUrl = 'index.php?page=content&article_id=%s&mode=edit&clang=%s&a256_article_name=%s'; $structureUrl = 'index.php?page=structure&category_id=%s&clang=%s&a256_article_name=%s'; // ------------ globale Parameter $page = rex_request('page', 'string'); $mode = rex_request('mode', 'string'); $category_id = rex_request('category_id', 'int'); $article_id = rex_request('article_id', 'int'); $clang = rex_request('clang', 'int'); $ctype = rex_request('ctype', 'int'); // ------------ Parameter $a256_article_id = rex_request('a256_article_id', 'int'); $a256_clang = rex_request('a256_clang', 'int'); $a256_article_name = rex_request('a256_article_name', 'string'); $a256_article_name_post = rex_post('a256_article_name', 'string'); $mode = rex_request('mode', 'string'); // ------------ Suche via ArtikelId if ($a256_article_id != 0) { $OOArt = OOArticle::getArticleById($a256_article_id, $a256_clang); if (OOArticle::isValid($OOArt)) { header('Location:' . sprintf($editUrl, $a256_article_id, $a256_clang, urlencode($a256_article_name))); exit; } } // Auswahl eines normalen Artikels => category holen if ($article_id != 0) { $OOArt = OOArticle::getArticleById($article_id, $clang); $category_id = $OOArt->getCategoryId(); } // ------------ Suche via ArtikelName // hier nur dne post artikel namen abfragen, // da sonst bei vorherigen headerweiterleitungen // auch gesucht wuerde if ($a256_article_name_post != '') { $qry = ' SELECT id FROM ' . $REX['TABLE_PREFIX'] . 'article WHERE clang = ' . $a256_clang . ' AND ( name LIKE "%' . $a256_article_name . '%" OR catname LIKE "%' . $a256_article_name . '%" )'; if ($category_id != 0) { $qry .= ' AND path LIKE "%|' . $category_id . '|%"'; } $search = new rex_sql(); // $search->debugsql = true; $search->setQuery($qry); $foundRows = $search->getRows(); // Suche ergab nur einen Treffer => Direkt auf den Treffer weiterleiten if ($foundRows == 1) { $OOArt = OOArticle::getArticleById($search->getValue('id'), $a256_clang); if ($REX_USER->hasCategoryPerm($OOArt->getCategoryId())) { header('Location:' . sprintf($editUrl, $search->getValue('id'), $a256_clang, urlencode($a256_article_name))); exit; } } else { if ($foundRows > 0) { $search_result .= '<ul class="a256-search-result">'; for ($i = 0; $i < $foundRows; $i++) { $OOArt = OOArticle::getArticleById($search->getValue('id'), $a256_clang); $label = $OOArt->getName(); if ($REX_USER->hasCategoryPerm($OOArt->getCategoryId())) { if ($REX_USER->hasPerm('advancedMode[]')) { $label .= ' [' . $search->getValue('id') . ']'; } $s = ''; $first = true; foreach ($OOArt->getParentTree() as $treeItem) { $treeLabel = $treeItem->getName(); if ($REX_USER->hasPerm('advancedMode[]')) { $treeLabel .= ' [' . $treeItem->getId() . ']'; } $prefix = ': '; if ($first) { $prefix = ''; $first = false; } $s .= '<li>' . $prefix . '<a href="' . sprintf($structureUrl, $treeItem->getId(), $a256_clang, urlencode($a256_article_name)) . '">' . htmlspecialchars($treeLabel) . ' </a></li>'; } $prefix = ': '; if ($first) { $prefix = ''; $first = false; } $s .= '<li>' . $prefix . '<a href="' . sprintf($editUrl, $search->getValue('id'), $a256_clang, urlencode($a256_article_name)) . '">' . htmlspecialchars($label) . ' </a></li>'; $search_result .= '<li><ul class="a256-search-hit">' . $s . '</ul></li>'; } $search->next(); } $search_result .= '</ul>'; } else { $message = rex_warning($I18N_BE_SEARCH->msg('search_no_results')); } } } $select_name = 'category_id'; $add_homepage = true; if ($mode == 'edit' || $mode == 'meta') { $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->setId('rex-a256-category-id'); $category_select->setSize('1'); $category_select->setAttribute('onchange', 'this.form.submit();'); $category_select->setSelected($category_id); $form = ' <form action="index.php" method="post"> <input type="hidden" name="page" id="rex-a256-article-clang" value="' . $page . '" /> <input type="hidden" name="mode" id="rex-a256-article-clang" value="' . $mode . '" /> <input type="hidden" name="category_id" id="rex-a256-article-clang" value="' . $category_id . '" /> <input type="hidden" name="article_id" id="rex-a256-article-clang" value="' . $article_id . '" /> <input type="hidden" name="clang" id="rex-a256-article-clang" value="' . $clang . '" /> <input type="hidden" name="ctype" id="rex-a256-article-clang" value="' . $ctype . '" /> <input type="hidden" name="a256_clang" id="rex-a256-article-clang" value="' . $clang . '" /> <div class="rex-f-lft"> <label for="rex-a256-article-name">' . $I18N_BE_SEARCH->msg('search_article_name') . '</label> <input type="text" name="a256_article_name" id="rex-a256-article-name" value="' . htmlspecialchars(stripslashes($a256_article_name)) . '"' . rex_tabindex() . ' /> <label for="rex-a256-article-id">' . $I18N_BE_SEARCH->msg('search_article_id') . '</label> <input type="text" name="a256_article_id" id="rex-a256-article-id"' . rex_tabindex() . ' /> <input class="rex-sbmt" type="submit" name="a256_start_search" value="' . $I18N_BE_SEARCH->msg('search_start') . '"' . rex_tabindex() . ' /> </div> <div class="rex-f-rght"> <label for="rex-a256-category-id">' . $I18N_BE_SEARCH->msg('search_quick_navi') . '</label>'; $category_select->setAttribute('tabindex', rex_tabindex(false)); $form .= $category_select->get() . ' <noscript> <input type="submit" name="a256_start_jump" value="' . $I18N_BE_SEARCH->msg('search_jump_to_category') . '" /> </noscript> </div> </form>'; $search_bar = $message . '<div id="rex-a256-searchbar"> ' . $form . ' ' . $search_result . ' </div> <div class="rex-clearer"></div>'; return $search_bar . $params['subject']; }
/** * Gibt das ListButton Template zurück */ function getMedialistButton($id, $value, $category = '', $filter = '') { $open_params = ''; if ($category != '') { $open_params .= '&rex_file_category=' . $category; } if ($filter != '') { $open_params .= '&filter=' . $filter; } $options = ''; $medialistarray = explode(',', $value); if (is_array($medialistarray)) { foreach ($medialistarray as $file) { if ($file != '') { $options .= '<option value="' . $file . '">' . $file . '</option>'; } } } $media = ' <div class="rex-wdgt"> <div class="rex-wdgt-mdlst"> <input type="hidden" name="MEDIALIST[' . $id . ']" id="REX_MEDIALIST_' . $id . '" value="' . $value . '" /> <p class="rex-slct"> <select name="MEDIALIST_SELECT[' . $id . ']" id="REX_MEDIALIST_SELECT_' . $id . '" size="8"' . rex_tabindex() . '> ' . $options . ' </select> </p> <p class="rex-wdgt-icons"> <a href="#" onclick="moveREXMedialist(' . $id . ',\'top\');return false;"' . rex_tabindex() . '><img src="media/file_top.gif" width="16" height="16" title="Move Selected Item Up To Top" alt="Move Selected Item Up To Top" /></a> <a href="#" onclick="openREXMedialist(' . $id . ');return false;"' . rex_tabindex() . '><img src="media/file_open.gif" width="16" height="16" title="Open Mediapool" alt="Open Mediapool" /></a> <br /> <a href="#" onclick="moveREXMedialist(' . $id . ',\'up\');return false;"' . rex_tabindex() . '><img src="media/file_up.gif" width="16" height="16" title="Move Selected Item Upwards" alt="Move Selected Item Upwards" /></a> <a href="#" onclick="addREXMedialist(' . $id . ');return false;"' . rex_tabindex() . '><img src="media/file_add.gif" width="16" height="16" title="Add New Media" alt="Add New Media" /></a> <br /> <a href="#" onclick="moveREXMedialist(' . $id . ',\'down\');return false;"' . rex_tabindex() . '><img src="media/file_down.gif" width="16" height="16" title="Move Selected Item Downwards" alt="Move Selected Item Downwards" /></a> <a href="#" onclick="deleteREXMedialist(' . $id . ');return false;"' . rex_tabindex() . '><img src="media/file_del.gif" width="16" height="16" title="Remove Selection" alt="Remove Selection" /></a> <br /> <a href="#" onclick="moveREXMedialist(' . $id . ',\'bottom\');return false;"' . rex_tabindex() . '><img src="media/file_bottom.gif" width="16" height="16" title="Move Selected Item Down To Bottom" alt="Move Selected Item Down To Bottom" /></a> </p> <div class="rex-clearer"></div> </div> </div> '; return $media; }
function getLinklistButton($id, $value, $category = '') { global $REX, $I18N; $open_params = '&clang=' . $REX['CUR_CLANG']; if ($category != '') { $open_params .= '&category_id=' . $category; } $options = ''; $linklistarray = explode(',', $value); if (is_array($linklistarray)) { foreach ($linklistarray as $link) { if ($link != '') { if ($article = OOArticle::getArticleById($link)) { $options .= '<option value="' . $link . '">' . htmlspecialchars($article->getName()) . '</option>'; } } } } $open_class = 'rex-icon-file-open rex-icon-file-open-inactive'; $delete_class = 'rex-icon-file-delete rex-icon-file-delete-inactive'; $open_func = ''; $delete_func = ''; if ($REX['USER']->hasStructurePerm()) { $open_class = 'rex-icon-file-open'; $delete_class = 'rex-icon-file-delete'; $open_func = 'openREXLinklist(' . $id . ', \'' . $open_params . '\');'; $delete_func = 'deleteREXLinklist(' . $id . ');'; } $link = ' <div class="rex-widget"> <div class="rex-widget-linklist"> <input type="hidden" name="LINKLIST[' . $id . ']" id="REX_LINKLIST_' . $id . '" value="' . $value . '" /> <p class="rex-widget-field"> <select name="LINKLIST_SELECT[' . $id . ']" id="REX_LINKLIST_SELECT_' . $id . '" size="8"' . rex_tabindex() . '> ' . $options . ' </select> </p> <p class="rex-widget-icons rex-widget-2col"> <span class="rex-widget-column rex-widget-column-first"> <a href="#" class="rex-icon-file-top" onclick="moveREXLinklist(' . $id . ',\'top\');return false;" title="' . $I18N->msg('var_linklist_move_top') . '"' . rex_tabindex() . '></a> <a href="#" class="rex-icon-file-up" onclick="moveREXLinklist(' . $id . ',\'up\');return false;" title="' . $I18N->msg('var_linklist_move_up') . '"' . rex_tabindex() . '></a> <a href="#" class="rex-icon-file-down" onclick="moveREXLinklist(' . $id . ',\'down\');return false;" title="' . $I18N->msg('var_linklist_move_down') . '"' . rex_tabindex() . '></a> <a href="#" class="rex-icon-file-bottom" onclick="moveREXLinklist(' . $id . ',\'bottom\');return false;" title="' . $I18N->msg('var_linklist_move_bottom') . '"' . rex_tabindex() . '></a> </span> <span class="rex-widget-column"> <a href="#" class="' . $open_class . '" onclick="' . $open_func . 'return false;" title="' . $I18N->msg('var_link_open') . '"' . rex_tabindex() . '></a> <a href="#" class="' . $delete_class . '" onclick="' . $delete_func . 'return false;" title="' . $I18N->msg('var_link_delete') . '"' . rex_tabindex() . '></a> </span> </p> </div> </div> <div class="rex-clearer"></div> '; return $link; }
} // Leerzeichen durch ersetzen, damit Addonnamen immer in einer Zeile stehen $name = str_replace(' ', ' ', $name); $liClass = $page == $apage ? $activeClass : ''; if (current($REX['ADDON']['status']) == 1 && $name != '' && ($perm == '' || $REX_USER->hasPerm($perm) || $REX_USER->hasPerm("admin[]"))) { $separator = ' | '; if ($first) { $separator = ''; $first = false; } if ($popup == 1) { echo '<li' . $liClass . ' id="rex-mainnavi-' . $apage . '">' . $separator . '<a href="javascript:newPoolWindow(\'index.php?page=' . $apage . '\');"' . rex_tabindex() . $accesskey . '>' . $name . '</a></li>' . "\n"; } elseif ($popup == '' or $popup == 0) { echo '<li' . $liClass . ' id="rex-mainnavi-' . $apage . '">' . $separator . '<a href="index.php?page=' . $apage . '"' . rex_tabindex() . $accesskey . '>' . $name . '</a></li>' . "\n"; } else { echo '<li' . $liClass . ' id="rex-mainnavi-' . $apage . '">' . $separator . '<a href="' . $popup . '"' . rex_tabindex() . $accesskey . '>' . $name . '</a></li>' . "\n"; } } next($REX['ADDON']['status']); } echo '</ul>' . "\n"; } } else { if (!isset($open_header_only)) { echo '<p>' . $I18N->msg('logged_out') . '</p>'; } else { echo '<p> </p>'; } } ?> </div>
if ($SKAT->getRows() == 1) { if ($KATPERM || $REX_USER->hasPerm('csw[' . $catid . ']') || $REX_USER->hasPerm('csr[' . $catid . ']')) { $KATout .= '<li>: <a href="index.php?page=structure&category_id=' . $catid . '&clang=' . $clang . '"' . rex_tabindex() . '>' . $catname . '</a> </li>'; $KATPATH .= $KPATH[$ii] . "|"; if ($REX_USER->hasPerm('csw[' . $catid . ']')) { $KATPERM = true; } } } } if ($KATPERM || $REX_USER->hasPerm('csw[' . $category_id . ']') || $REX_USER->hasPerm('csr[' . $category_id . ']')) { $catname = str_replace(' ', ' ', $KAT->getValue('catname')); $KATout .= '<li>: <a href="index.php?page=structure&category_id=' . $category_id . '&clang=' . $clang . '"' . rex_tabindex() . '>' . $catname . '</a> </li>'; $KATPATH .= $category_id . '|'; if ($REX_USER->hasPerm('csw[' . $category_id . ']')) { $KATPERM = true; } } else { $category_id = 0; $article_id = 0; } } $KATout = ' <!-- *** OUTPUT OF CATEGORY-TOOLBAR - START *** --> <ul> <li>' . $I18N->msg('path') . '</li> <li>: <a href="index.php?page=structure&category_id=0&clang=' . $clang . '"' . rex_tabindex() . '>Homepage</a></li> ' . $KATout . ' </ul> <!-- *** OUTPUT OF CATEGORY-TOOLBAR - END *** --> ';
/** * Erstellt den nötigen HTML Code um ein Formular zu erweitern * * @param $sqlFields rex_sql-objekt, dass die zu verarbeitenden Felder enthält * @param $activeItem objekt, dass mit getValue() die Werte des akuellen Eintrags zurückgibt * @param $formatCallback callback, dem die infos als Array übergeben werden und den formatierten HTML Text zurückgibt */ function rex_a62_metaFields($sqlFields, $activeItem, $formatCallback, $epParams) { global $I18N, $REX; $s = ''; // Startwert für MEDIABUTTON, MEDIALIST, LINKLIST zähler $media_id = 1; $mlist_id = 1; $link_id = 1; $llist_id = 1; $sqlFields->reset(); for ($i = 0; $i < $sqlFields->getRows(); $i++, $sqlFields->next()) { // Umschliessendes Tag von Label und Formularelement $tag = 'p'; $tag_attr = ''; $name = $sqlFields->getValue('name'); $title = $sqlFields->getValue('title'); $params = $sqlFields->getValue('params'); $typeLabel = $sqlFields->getValue('label'); $attr = $sqlFields->getValue('attributes'); $dblength = $sqlFields->getValue('dblength'); $restrictions = $sqlFields->getValue('restrictions'); $attr .= rex_tabindex(); $attrArray = rex_split_string($attr); if (isset($attrArray['perm'])) { if (!$REX['USER']->hasPerm($attrArray['perm'])) { continue; } unset($attrArray['perm']); } $defaultValue = $sqlFields->getValue('default'); if ($activeItem) { $itemValue = $activeItem->getValue($name); if (strpos($itemValue, '|+|') !== false) { // Alte notation mit |+| als Trenner $dbvalues = explode('|+|', $activeItem->getValue($name)); } else { // Neue Notation mit | als Trenner $dbvalues = explode('|', $activeItem->getValue($name)); } } else { $dbvalues = (array) $sqlFields->getValue('default'); } if ($title != '') { $label = rex_translate($title); } else { $label = htmlspecialchars($name); } $id = preg_replace('/[^a-zA-Z\\-0-9_]/', '_', $label); $labelIt = true; $field = ''; switch ($typeLabel) { case 'text': $tag_attr = ' class="rex-form-text"'; $rexInput = rex_input::factory($typeLabel); $rexInput->addAttributes($attrArray); $rexInput->setAttribute('id', $id); $rexInput->setAttribute('name', $name); if ($dblength > 0) { $rexInput->setAttribute('maxlength', $dblength); } if ($activeItem) { $rexInput->setValue($activeItem->getValue($name)); } else { $rexInput->setValue($defaultValue); } $field = $rexInput->getHtml(); break; case 'checkbox': // Beachte auch default values in multiple fields bei ADD. // Im EDIT wurde dies bereits vorher gehandelt if (!$activeItem) { $defaultValue = explode('|', $defaultValue); } $name .= '[]'; case 'radio': $values = array(); if (rex_sql::getQueryType($params) == 'SELECT') { $sql = rex_sql::factory(); $value_groups = $sql->getDBArray($params, MYSQL_NUM); foreach ($value_groups as $value_group) { if (isset($value_group[1])) { $values[$value_group[1]] = $value_group[0]; } else { $values[$value_group[0]] = $value_group[0]; } } } else { $value_groups = explode('|', $params); foreach ($value_groups as $value_group) { // check ob key:value paar // und der wert beginnt nicht mit "translate:" if (strpos($value_group, ':') !== false && strpos($value_group, 'translate:') !== 0) { $temp = explode(':', $value_group, 2); $values[$temp[0]] = rex_translate($temp[1]); } else { $values[$value_group] = rex_translate($value_group); } } } $class_s = $typeLabel; $class_p = $typeLabel == 'radio' ? 'radios' : 'checkboxes'; $oneValue = count($values) == 1; if (!$oneValue) { $labelIt = false; $tag = 'div'; $tag_attr = ' class="rex-form-col-a rex-form-' . $class_p . '"'; $field .= '<p class="rex-form-label">' . $label . '</p><div class="rex-form-' . $class_p . '-wrapper">'; } $attrStr = ''; $classAdd = ''; foreach ($attrArray as $key => $value) { if ($key == 'class') { $classAdd = ' ' . $value; } else { $attrStr = ' ' . $key . '="' . $value . '"'; } } if (!$activeItem) { $dbvalues = (array) $defaultValue; } foreach ($values as $key => $value) { $id = preg_replace('/[^a-zA-Z\\-0-9_]/', '_', $id . $key); // wenn man keine Werte angibt (Boolean Chkbox/Radio) // Dummy Wert annehmen, damit an/aus unterscheidung funktioniert if ($oneValue && $key == '') { $key = 'true'; } $selected = ''; if (in_array($key, $dbvalues)) { $selected = ' checked="checked"'; } if ($oneValue) { $tag_attr = ' class="rex-form-col-a rex-form-' . $class_s . $classAdd . '"'; $field .= '<input class="rex-form-' . $class_s . '" type="' . $typeLabel . '" name="' . $name . '" value="' . htmlspecialchars($key) . '" id="' . $id . '" ' . $attrStr . $selected . ' />' . "\n"; } else { $field .= '<p class="rex-form-' . $class_s . ' rex-form-label-right' . $classAdd . '">' . "\n"; $field .= '<input class="rex-form-' . $class_s . '" type="' . $typeLabel . '" name="' . $name . '" value="' . htmlspecialchars($key) . '" id="' . $id . '" ' . $attrStr . $selected . ' />' . "\n"; $field .= '<label for="' . $id . '">' . htmlspecialchars($value) . '</label>'; $field .= '</p>' . "\n"; } } if (!$oneValue) { $field .= '</div>'; } break; case 'select': $tag_attr = ' class="rex-form-select"'; $select = new rex_select(); $select->setStyle('class="rex-form-select"'); $select->setName($name); $select->setId($id); $multiple = false; foreach ($attrArray as $attr_name => $attr_value) { if (empty($attr_name)) { continue; } $select->setAttribute($attr_name, $attr_value); if ($attr_name == 'multiple') { $multiple = true; $select->setName($name . '[]'); } } // Beachte auch default values in multiple fields bei ADD. // Im EDIT wurde dies bereits vorher gehandelt if ($multiple && !$activeItem) { $dbvalues = explode('|', $defaultValue); } // hier mit den "raw"-values arbeiten, da die rex_select klasse selbst escaped $select->setSelected($dbvalues); if (!$multiple) { $select->setSize(1); } if (rex_sql::getQueryType($params) == 'SELECT') { // Werte via SQL Laden $select->addDBSqlOptions($params); } else { // Optionen mit | separiert // eine einzelne Option kann mit key:value separiert werden $values = array(); $value_groups = explode('|', $params); foreach ($value_groups as $value_group) { // check ob key:value paar // und der wert beginnt nicht mit "translate:" if (strpos($value_group, ':') !== false && strpos($value_group, 'translate:') !== 0) { $temp = explode(':', $value_group, 2); $values[$temp[0]] = rex_translate($temp[1]); } else { $values[$value_group] = rex_translate($value_group); } } $select->addOptions($values); } $field .= $select->get(); break; case 'date': case 'time': case 'datetime': $tag_attr = ' class="rex-form-select-date"'; $active = $dbvalues[0] != 0; if ($dbvalues[0] == '') { $dbvalues[0] = time(); } $inputValue = array(); $inputValue['year'] = date('Y', $dbvalues[0]); $inputValue['month'] = date('m', $dbvalues[0]); $inputValue['day'] = date('j', $dbvalues[0]); $inputValue['hour'] = date('G', $dbvalues[0]); $inputValue['minute'] = date('i', $dbvalues[0]); $rexInput = rex_input::factory($typeLabel); $rexInput->addAttributes($attrArray); $rexInput->setAttribute('id', $id); $rexInput->setAttribute('name', $name); $rexInput->setValue($inputValue); $field = $rexInput->getHtml(); $checked = $active ? ' checked="checked"' : ''; $field .= '<input class="rex-form-select-checkbox rex-metainfo-checkbox" type="checkbox" name="' . $name . '[active]" value="1"' . $checked . ' />'; break; case 'textarea': $tag_attr = ' class="rex-form-textarea"'; $rexInput = rex_input::factory($typeLabel); $rexInput->addAttributes($attrArray); $rexInput->setAttribute('id', $id); $rexInput->setAttribute('name', $name); if ($activeItem) { $rexInput->setValue($activeItem->getValue($name)); } else { $rexInput->setValue($defaultValue); } $field = $rexInput->getHtml(); break; case 'legend': $tag = ''; $tag_attr = ''; $labelIt = false; // tabindex entfernen, macht bei einer legend wenig sinn $attr = preg_replace('@tabindex="[^"]*"@', '', $attr); $field = '</div></fieldset><fieldset class="rex-form-col-1"><legend id="' . $id . '"' . $attr . '>' . $label . '</legend><div class="rex-form-wrapper">'; break; case 'REX_MEDIA_BUTTON': $tag = 'div'; $tag_attr = ' class="rex-form-widget"'; $paramArray = rex_split_string($params); $rexInput = rex_input::factory('mediabutton'); $rexInput->addAttributes($attrArray); $rexInput->setButtonId($media_id); $rexInput->setAttribute('name', $name); $rexInput->setValue($dbvalues[0]); if (isset($paramArray['category'])) { $rexInput->setCategoryId($paramArray['category']); } if (isset($paramArray['types'])) { $rexInput->setTypes($paramArray['types']); } if (isset($paramArray['preview'])) { $rexInput->setPreview($paramArray['preview']); } $id = $rexInput->getAttribute('id'); $field = $rexInput->getHtml(); $media_id++; break; case 'REX_MEDIALIST_BUTTON': $tag = 'div'; $tag_attr = ' class="rex-form-widget"'; $paramArray = rex_split_string($params); $name .= '[]'; $rexInput = rex_input::factory('medialistbutton'); $rexInput->addAttributes($attrArray); $rexInput->setButtonId($mlist_id); $rexInput->setAttribute('name', $name); $rexInput->setValue($dbvalues[0]); if (isset($paramArray['category'])) { $rexInput->setCategoryId($paramArray['category']); } if (isset($paramArray['types'])) { $rexInput->setTypes($paramArray['types']); } if (isset($paramArray['preview'])) { $rexInput->setPreview($paramArray['preview']); } $id = $rexInput->getAttribute('id'); $field = $rexInput->getHtml(); $mlist_id++; break; case 'REX_LINK_BUTTON': $tag = 'div'; $tag_attr = ' class="rex-form-widget"'; $paramArray = rex_split_string($params); $category = ''; if (isset($paramArray['category'])) { $category = $paramArray['category']; } elseif ($activeItem) { $category = $activeItem->getValue('category_id'); } $rexInput = rex_input::factory('linkbutton'); $rexInput->addAttributes($attrArray); $rexInput->setButtonId($link_id); $rexInput->setCategoryId($category); $rexInput->setAttribute('name', $name); $rexInput->setValue($dbvalues[0]); $id = $rexInput->getAttribute('id'); $field = $rexInput->getHtml(); $link_id++; break; case 'REX_LINKLIST_BUTTON': $tag = 'div'; $tag_attr = ' class="rex-form-widget"'; $paramArray = rex_split_string($params); $category = ''; if (isset($paramArray['category'])) { $category = $paramArray['category']; } elseif ($activeItem) { $category = $activeItem->getValue('category_id'); } $name .= '[]'; $rexInput = rex_input::factory('linklistbutton'); $rexInput->addAttributes($attrArray); $rexInput->setButtonId($llist_id); $rexInput->setCategoryId($category); $rexInput->setAttribute('name', $name); $rexInput->setValue(implode(',', $dbvalues)); $id = $rexInput->getAttribute('id'); $field = $rexInput->getHtml(); $llist_id++; break; default: // ----- EXTENSION POINT list($field, $tag, $tag_attr, $id, $label, $labelIt) = rex_register_extension_point('A62_CUSTOM_FIELD', array($field, $tag, $tag_attr, $id, $label, $labelIt, 'values' => $dbvalues, 'rawvalues' => $dbvalues, 'type' => $typeLabel, 'sql' => $sqlFields)); } $s .= rex_call_func($formatCallback, array($field, $tag, $tag_attr, $id, $label, $labelIt, $typeLabel), false); } return $s; }
/** * Erstellt den nötigen HTML Code um ein Formular zu erweitern * * @param $sqlFields rex_sql-objekt, dass die zu verarbeitenden Felder enthält * @param $activeItem objekt, dass mit getValue() die Werte des akuellen Eintrags zurückgibt * @param $formatCallback callback, dem die infos als Array übergeben werden und den formatierten HTML Text zurückgibt */ function rex_a62_metaFields($sqlFields, $activeItem, $formatCallback, $epParams) { global $I18N; $s = ''; // Startwert für MEDIABUTTON, MEDIALIST, LINKLIST zähler $media_id = 1; $mlist_id = 1; $link_id = 1; $llist_id = 1; $sqlFields->reset(); for ($i = 0; $i < $sqlFields->getRows(); $i++) { // Umschliessendes Tag von Label und Formularelement $tag = 'p'; $tag_attr = ''; $name = $sqlFields->getValue('name'); $title = $sqlFields->getValue('title'); $params = $sqlFields->getValue('params'); $typeLabel = $sqlFields->getValue('label'); $attr = $sqlFields->getValue('attributes'); $dblength = $sqlFields->getValue('dblength'); $dbvalues = array(htmlspecialchars($sqlFields->getValue('default'))); $dbvalues_esc = $dbvalues; if ($activeItem) { $itemValue = $activeItem->getValue($name); if (strpos($itemValue, '|+|') !== false) { // Alte notation mit |+| als Trenner $dbvalues = explode('|+|', $activeItem->getValue($name)); } else { // Neue Notation mit | als Trenner $dbvalues = explode('|', $activeItem->getValue($name)); } $dbvalues_esc = array_map('htmlspecialchars', $dbvalues); } if ($title != '') { $label = htmlspecialchars(rex_translate($title)); } else { $label = htmlspecialchars($name); } $id = preg_replace('/[^a-zA-Z\\-0-9_]/', '_', $label); $attr .= rex_tabindex(); $labelIt = true; $field = ''; switch ($typeLabel) { case 'text': $field = '<input type="' . $typeLabel . '" name="' . $name . '" value="' . $dbvalues_esc[0] . '" id="' . $id . ' "maxlength="' . $dblength . '" ' . $attr . ' />'; break; case 'checkbox': $name .= '[]'; case 'radio': $values = array(); if (rex_sql::getQueryType($params) == 'SELECT') { $sql = new rex_sql(); $value_groups = $sql->getDBArray($params, MYSQL_NUM); foreach ($value_groups as $value_group) { if (isset($value_group[1])) { $values[$value_group[1]] = $value_group[0]; } else { $values[$value_group[0]] = $value_group[0]; } } } else { $value_groups = explode('|', $params); foreach ($value_groups as $value_group) { if (strpos($value_group, ':') !== false) { $temp = explode(':', $value_group); $values[$temp[0]] = $temp[1]; } else { $values[$value_group] = $value_group; } } } $class = $typeLabel == 'radio' ? 'rex-rdo' : 'rex-chckbx'; $oneValue = count($values) == 1; if (!$oneValue) { $tag = ''; $labelIt = false; $tag = 'div'; $tag_attr = ' class="rex-chckbxs rex-ptag"'; $field .= '<p>' . $label . '</p>'; } foreach ($values as $key => $value) { $id = preg_replace('/[^a-zA-Z\\-0-9_]/', '_', $id . $key); $key = htmlspecialchars($key); // wenn man keine Werte angibt (Boolean Chkbox/Radio) // Dummy Wert annehmen, damit an/aus unterscheidung funktioniert if ($oneValue && $key == '') { $key = 'true'; } $selected = ''; if (in_array($key, $dbvalues_esc)) { $selected = ' checked="checked"'; } if ($oneValue) { $tag_attr = ' class="' . $class . '"'; $field .= '<input type="' . $typeLabel . '" name="' . $name . '" value="' . $key . '" id="' . $id . '" ' . $attr . $selected . ' />' . "\n"; } else { $field .= '<p class="' . $class . '">' . "\n"; $field .= '<label for="' . $id . '"><span>' . htmlspecialchars($value) . '</span></label>'; $field .= '<input type="' . $typeLabel . '" name="' . $name . '" value="' . $key . '" id="' . $id . '" ' . $attr . $selected . ' />' . "\n"; $field .= '</p>' . "\n"; } } break; case 'select': $select = new rex_select(); $select->setName($name); $select->setId($id); // hier mit den "raw"-values arbeiten, da die rex_select klasse selbst escaped $select->setSelected($dbvalues); foreach (rex_split_string($attr) as $attr_name => $attr_value) { if (empty($attr_name)) { continue; } $select->setAttribute($attr_name, $attr_value); if ($attr_name == 'multiple') { $select->setName($name . '[]'); } } if (rex_sql::getQueryType($params) == 'SELECT') { // Werte via SQL Laden $select->addDBSqlOptions($params); } else { // Optionen mit | separiert // eine einzelne Option kann mit key:value separiert werden $values = array(); $value_groups = explode('|', $params); foreach ($value_groups as $value_group) { if (strpos($value_group, ':') !== false) { $temp = explode(':', $value_group); $values[$temp[0]] = $temp[1]; } else { $values[$value_group] = $value_group; } } $select->addOptions($values); } $field .= $select->get(); break; case 'datetime': case 'date': if ($dbvalues_esc[0] == '') { $dbvalues_esc[0] = time(); } $style = 'class="rex-fdate"'; $yearStyle = 'class="rex-fdatey"'; $yearSelect = new rex_select(); $yearSelect->addOptions(range(2005, date('Y') + 10), true); $yearSelect->setName($name . '[year]'); $yearSelect->setSize(1); $yearSelect->setId($id); $yearSelect->setStyle($yearStyle); $yearSelect->setSelected(date('Y', $dbvalues_esc[0])); $monthSelect = new rex_select(); $monthSelect->addOptions(range(1, 12), true); $monthSelect->setName($name . '[month]'); $monthSelect->setSize(1); $monthSelect->setStyle($style); $monthSelect->setSelected(date('m', $dbvalues_esc[0])); $daySelect = new rex_select(); $daySelect->addOptions(range(1, 31), true); $daySelect->setName($name . '[day]'); $daySelect->setSize(1); $daySelect->setStyle($style); $daySelect->setSelected(date('j', $dbvalues_esc[0])); if ($typeLabel == 'datetime') { $hourSelect = new rex_select(); $hourSelect->addOptions(range(1, 23), true); $hourSelect->setName($name . '[hour]'); $hourSelect->setSize(1); $hourSelect->setStyle($style); $hourSelect->setSelected(date('G', $dbvalues_esc[0])); $minuteSelect = new rex_select(); $minuteSelect->addOptions(range(0, 59), true); $minuteSelect->setName($name . '[minute]'); $minuteSelect->setSize(1); $minuteSelect->setStyle($style); $minuteSelect->setSelected(date('i', $dbvalues_esc[0])); $field = $daySelect->get() . $monthSelect->get() . $yearSelect->get() . '-' . $hourSelect->get() . $minuteSelect->get(); } else { $field = $daySelect->get() . $monthSelect->get() . $yearSelect->get(); } break; case 'textarea': $field = '<textarea name="' . $name . '" id="' . $id . '" cols="50" rows="6" ' . $attr . '>' . $dbvalues_esc[0] . '</textarea>'; break; case 'REX_MEDIA_BUTTON': $tag = 'div'; $tag_attr = ' class="rex-ptag"'; $field = rex_var_media::getMediaButton($media_id); $field = str_replace('REX_MEDIA[' . $media_id . ']', $dbvalues_esc[0], $field); $field = str_replace('MEDIA[' . $media_id . ']', $name, $field); $id = 'REX_MEDIA_' . $media_id; $media_id++; break; case 'REX_MEDIALIST_BUTTON': $tag = 'div'; $tag_attr = ' class="rex-ptag"'; $name .= '[]'; $field = rex_var_media::getMediaListButton($mlist_id, implode(',', $dbvalues_esc)); $field = str_replace('MEDIALIST[' . $mlist_id . ']', $name, $field); $id = 'REX_MEDIALIST_' . $mlist_id; $mlist_id++; break; case 'REX_LINK_BUTTON': $tag = 'div'; $tag_attr = ' class="rex-ptag"'; $category = ''; if ($activeItem) { $category = $activeItem->getValue('category_id'); } $field = rex_var_link::getLinkButton($link_id, $dbvalues_esc[0], $category); $field = str_replace('LINK[' . $link_id . ']', $name, $field); $id = 'LINK_' . $link_id; $link_id++; break; case 'REX_LINKLIST_BUTTON': $tag = 'div'; $tag_attr = ' class="rex-ptag"'; $category = ''; if ($activeItem) { $category = $activeItem->getValue('category_id'); } $name .= '[]'; $field = rex_var_link::getLinklistButton($llist_id, implode(',', $dbvalues), $category); $field = str_replace('LINKLIST[' . $llist_id . ']', $name, $field); $id = 'REX_LINKLIST_' . $llist_id; $llist_id++; break; default: // ----- EXTENSION POINT list($field, $tag, $tag_attr, $id, $label, $labelIt) = rex_register_extension_point('A62_CUSTOM_FIELD', array($field, $tag, $tag_attr, $id, $label, $labelIt, 'type' => $typeLabel, 'sql' => $sqlFields)); } $s .= rex_call_func($formatCallback, array($field, $tag, $tag_attr, $id, $label, $labelIt), false); $sqlFields->next(); } return $s; }
/** * Gibt das ListButton Template zurück */ function getMedialistButton($id, $value, $category = '', $filter = '') { global $I18N; $open_params = ''; if ($category != '') { $open_params .= '&rex_file_category=' . $category; } if ($filter != '') { $open_params .= '&filter=' . $filter; } $options = ''; $medialistarray = explode(',', $value); if (is_array($medialistarray)) { foreach ($medialistarray as $file) { if ($file != '') { $options .= '<option value="' . $file . '">' . $file . '</option>'; } } } $media = ' <div class="rex-wdgt"> <div class="rex-wdgt-mdlst"> <input type="hidden" name="MEDIALIST[' . $id . ']" id="REX_MEDIALIST_' . $id . '" value="' . $value . '" /> <p class="rex-wdgt-fld"> <select name="MEDIALIST_SELECT[' . $id . ']" id="REX_MEDIALIST_SELECT_' . $id . '" size="8"' . rex_tabindex() . '> ' . $options . ' </select> </p> <p class="rex-wdgt-icons"> <a href="#" onclick="moveREXMedialist(' . $id . ',\'top\');return false;"' . rex_tabindex() . '><img src="media/file_top.gif" width="16" height="16" title="' . $I18N->msg('var_medialist_move_top') . '" alt="' . $I18N->msg('var_medialist_move_top') . '" /></a> <a href="#" onclick="openREXMedialist(' . $id . ');return false;"' . rex_tabindex() . '><img src="media/file_open.gif" width="16" height="16" title="' . $I18N->msg('var_media_open') . '" alt="' . $I18N->msg('var_media_open') . '" /></a><br /> <a href="#" onclick="moveREXMedialist(' . $id . ',\'up\');return false;"' . rex_tabindex() . '><img src="media/file_up.gif" width="16" height="16" title="' . $I18N->msg('var_medialist_move_up') . '" alt="' . $I18N->msg('var_medialist_move_top') . '" /></a> <a href="#" onclick="addREXMedialist(' . $id . ');return false;"' . rex_tabindex() . '><img src="media/file_add.gif" width="16" height="16" title="' . $I18N->msg('var_media_new') . '" alt="' . $I18N->msg('var_media_new') . '" /></a><br /> <a href="#" onclick="moveREXMedialist(' . $id . ',\'down\');return false;"' . rex_tabindex() . '><img src="media/file_down.gif" width="16" height="16" title="' . $I18N->msg('var_medialist_move_down') . '" alt="' . $I18N->msg('var_medialist_move_down') . '" /></a> <a href="#" onclick="deleteREXMedialist(' . $id . ');return false;"' . rex_tabindex() . '><img src="media/file_del.gif" width="16" height="16" title="' . $I18N->msg('var_media_remove') . '" alt="' . $I18N->msg('var_media_remove') . '" /></a><br /> <a href="#" onclick="moveREXMedialist(' . $id . ',\'bottom\');return false;"' . rex_tabindex() . '><img src="media/file_bottom.gif" width="16" height="16" title="' . $I18N->msg('var_medialist_move_bottom') . '" alt="' . $I18N->msg('var_medialist_move_bottom') . '" /></a> </p> <div class="rex-clearer"></div> </div> </div> '; return $media; }
/** * Gibt das ListButton Template zurück */ function getLinklistButton($id, $value, $category = '') { global $REX; $open_params = '&clang=' . $REX['CUR_CLANG']; if ($category != '') { $open_params .= '&category_id=' . $category; } $options = ''; $linklistarray = explode(',', $value); if (is_array($linklistarray)) { foreach ($linklistarray as $link) { if ($link != '') { $article = OOArticle::getArticleById($link); $options .= '<option value="' . $link . '">' . $article->getName() . '</option>'; } } } $link = ' <div class="rex-wdgt"> <div class="rex-wdgt-mdlst"> <input type="hidden" name="LINKLIST[' . $id . ']" id="REX_LINKLIST_' . $id . '" value="' . $value . '" /> <p class="rex-wdgt-fld"> <select name="LINKLIST_SELECT[' . $id . ']" id="REX_LINKLIST_SELECT_' . $id . '" size="8"' . rex_tabindex() . '> ' . $options . ' </select> </p> <p class="rex-wdgt-icons"> <a href="#" onclick="moveREXLinklist(' . $id . ',\'top\');return false;"' . rex_tabindex() . '><img src="media/file_top.gif" width="16" height="16" title="Move Selected Item Up To Top" alt="Move Selected Item Up To Top" /></a> <a href="#" onclick="openREXLinklist(' . $id . ', \'' . $open_params . '\');return false;"' . rex_tabindex() . '><img src="media/file_open.gif" width="16" height="16" title="Open Mediapool" alt="Open Mediapool" /></a> <br /> <a href="#" onclick="moveREXLinklist(' . $id . ',\'up\');return false;"' . rex_tabindex() . '><img src="media/file_up.gif" width="16" height="16" title="Move Selected Item Upwards" alt="Move Selected Item Upwards" /></a> <a href="#" onclick="deleteREXLinklist(' . $id . ');return false;"' . rex_tabindex() . '><img src="media/file_del.gif" width="16" height="16" title="Remove Selection" alt="Remove Selection" /></a> <br /> <a href="#" onclick="moveREXLinklist(' . $id . ',\'down\');return false;"' . rex_tabindex() . '><img src="media/file_down.gif" width="16" height="16" title="Move Selected Item Downwards" alt="Move Selected Item Downwards" /></a> <br /> <a href="#" onclick="moveREXLinklist(' . $id . ',\'bottom\');return false;"' . rex_tabindex() . '><img src="media/file_bottom.gif" width="16" height="16" title="Move Selected Item Down To Bottom" alt="Move Selected Item Down To Bottom" /></a> </p> <div class="rex-clearer"></div> </div> </div> '; return $link; }
<legend>Login</legend> <input type="hidden" name="javascript" value="0" id="javascript" /> <div class="rex-form-wrapper"> <div class="rex-form-row"> <p class="rex-form-col-a rex-form-text"> <label for="rex-form-login">' . $I18N->msg('login_name') . ':</label> <input type="text" value="' . stripslashes(htmlspecialchars($rex_user_login)) . '" id="rex-form-login" name="rex_user_login"' . rex_tabindex() . ' /> </p> </div> <div class="rex-form-row"> <p class="rex-form-col-a rex-form-password"> <label for="REX_UPSW">' . $I18N->msg('password') . ':</label> <input class="rex-form-password" type="password" name="rex_user_psw" id="REX_UPSW"' . rex_tabindex() . ' /> <input class="rex-form-submit" type="submit" value="' . $I18N->msg('login') . '"' . rex_tabindex() . ' /> </p> </div> </div> </fieldset> </form> </div> <script type="text/javascript"> <!-- jQuery(function($) { $("#rex-form-login").focus(); $("#javascript").val("1"); ' . $js . ' }); //--> </script>
</p> <p> <label for="redaxo_user_pass">' . $I18N->msg("setup_047") . ':</label> <input type="text" value="' . $redaxo_user_pass . '" id="redaxo_user_pass" name="redaxo_user_pass"' . rex_tabindex() . '/> </p>'; if ($user_sql->getRows() > 0) { echo ' <p> <input class="rex-chckbx" type="checkbox" id="noadmin" name="noadmin" value="1"' . rex_tabindex() . '/> <label class="rex-lbl-right" for="noadmin">' . $I18N->msg("setup_048") . '</label> </p>'; } echo ' <p> <input class="rex-sbmt" type="submit" value="' . $I18N->msg("setup_049") . '"' . rex_tabindex() . ' /> </p> </fieldset> </form>'; } // ---------------------------------- MODUS 5 | Setup verschieben ... if ($checkmodus == 5) { $master_file = $REX['INCLUDE_PATH'] . '/master.inc.php'; $cont = rex_get_file_contents($master_file); $cont = ereg_replace("(REX\\['SETUP'\\].?\\=.?)[^;]*", '\\1false', $cont); if (rex_put_file_contents($master_file, $cont)) { $errmsg = ""; } else { $errmsg = $I18N->msg('setup_050'); }
$out .= ' <fieldset class="rex-form-col-1"> <legend>' . $I18N->msg('content_submitmovecategory') . '</legend> <div class="rex-form-wrapper"> <div class="rex-form-row"> <p class="rex-form-col-a rex-form-select"> <label for="category_id_new">' . $I18N->msg('move_category') . '</label> ' . $move_a->get() . ' </p> </div> <div class="rex-form-row"> <p class="rex-form-col-a rex-form-submit"> <input class="rex-form-submit" type="submit" name="movecategory" value="' . $I18N->msg('content_submitmovecategory') . '"' . rex_tabindex() . ' onclick="return confirm(\'' . $I18N->msg('content_submitmovecategory') . '?\')" /> </p> </div> <div class="rex-clearer"></div> </div> </fieldset>'; } // ------------------------------------------------ KATEGROIE/STARTARTIKEL VERSCHIEBEN ENDE if ($out != '') { echo '<div class="rex-form-section">'; echo $out; echo '</div>'; } // ------------------------------------------------------------- SONSTIGES ENDE echo '
/** * Erstellt den nötigen HTML Code um ein Formular zu erweitern * * @param $sqlFields rex_sql-objekt, dass die zu verarbeitenden Felder enthält * @param $activeItem objekt, dass mit getValue() die Werte des akuellen Eintrags zurückgibt * @param $formatCallback callback, dem die infos als Array übergeben werden und den formatierten HTML Text zurückgibt */ function rex_a62_metaFields($sqlFields, $activeItem, $formatCallback, $epParams) { global $I18N; $s = ''; // Startwert für MEDIABUTTON, MEDIALIST, LINKLIST $media_id = 1; $mlist_id = 1; $link_id = 1; $sqlFields->reset(); for ($i = 0; $i < $sqlFields->getRows(); $i++) { // Umschliessendes Tag von Label und Formularelement $tag = 'p'; $tag_attr = ''; $name = $sqlFields->getValue('name'); $title = $sqlFields->getValue('title'); $params = $sqlFields->getValue('params'); $typeLabel = $sqlFields->getValue('label'); $attr = $sqlFields->getValue('attributes'); $dbvalues = array(''); if ($activeItem) { $dbvalues = explode('|+|', $activeItem->getValue($name)); } if ($title != '') { $label = rex_translate($title); } else { $label = htmlspecialchars($name); } $id = preg_replace('/[^a-zA-Z\\-0-9_]/', '_', $label); $attr .= rex_tabindex(); $labelIt = true; $field = ''; switch ($typeLabel) { case 'text': $field = '<input type="' . $sqlFields->getValue('label') . '" name="' . $name . '" value="' . $dbvalues[0] . '" id="' . $id . '" ' . $attr . ' />'; break; case 'checkbox': $name .= '[]'; case 'radio': $values = array(); if (rex_sql::getQueryType($params) == 'SELECT') { $sql = new rex_sql(); $value_groups = $sql->getDBArray($params, MYSQL_NUM); foreach ($value_groups as $value_group) { if (isset($value_group[1])) { $values[$value_group[1]] = $value_group[0]; } else { $values[$value_group[0]] = $value_group[0]; } } } else { $value_groups = explode('|', $params); foreach ($value_groups as $value_group) { if (strpos($value_group, ':') !== false) { $temp = explode(':', $value_group); $values[$temp[0]] = $temp[1]; } else { $values[$value_group] = $value_group; } } } // if($epParams['extension_point'] != 'CAT_META_FORM_EDIT') // $field .= '<span>'. $label .'</span>'; $class = $typeLabel == 'radio' ? 'rex-rdo' : 'rex-chckbx'; $oneValue = count($values) == 1; if (!$oneValue) { $tag = ''; $labelIt = false; $tag = 'div'; $tag_attr = ' class="rex-chckbxs rex-ptag"'; $field .= '<p>' . $label . '</p>'; } foreach ($values as $key => $value) { $id = preg_replace('/[^a-zA-Z\\-0-9_]/', '_', $id . $key); // wenn man keine Werte angibt (Boolean Chkbox/Radio) // Dummy Wert annehmen, damit an/aus unterscheidung funktioniert if ($oneValue && $key == '') { $key = 'true'; } $selected = ''; if (in_array($key, $dbvalues)) { $selected = ' checked="checked"'; } if ($oneValue) { $tag_attr = ' class="' . $class . '"'; $field .= '<input type="' . $typeLabel . '" name="' . $name . '" value="' . $key . '" id="' . $id . '" ' . $attr . $selected . ' />' . "\n"; } else { $field .= '<p class="' . $class . '">' . "\n"; $field .= '<label for="' . $id . '"><span>' . htmlspecialchars($value) . '</span></label>'; $field .= '<input type="' . $typeLabel . '" name="' . $name . '" value="' . $key . '" id="' . $id . '" ' . $attr . $selected . ' />' . "\n"; $field .= '</p>' . "\n"; } } break; case 'select': $select = new rex_select(); $select->setName($name); $select->setId($id); $select->setSelected($dbvalues); foreach (explode(' ', $attr) as $pair) { if (strpos($pair, '=') === false) { continue; } $temp = explode('=', $pair); $select->setAttribute($temp[0], str_replace(array('"', "'"), '', $temp[1])); if ($temp[0] == 'multiple') { $select->setName($name . '[]'); } } if (rex_sql::getQueryType($params) == 'SELECT') { $select->addDBSqlOptions($params); } else { $values = array(); $value_groups = explode('|', $params); foreach ($value_groups as $value_group) { if (strpos($value_group, ':') !== false) { $temp = explode(':', $value_group); $values[$temp[0]] = $temp[1]; } else { $values[$value_group] = $value_group; } } $select->addOptions($values); } $field .= $select->get(); break; case 'datetime': case 'date': if ($dbvalues[0] == '') { $dbvalues[0] = time(); } $style = 'class="rex-fdate"'; $yearStyle = 'class="rex-fdatey"'; $yearSelect = new rex_select(); $yearSelect->addOptions(range(2005, date('Y') + 2), true); $yearSelect->setName($name . '[year]'); $yearSelect->setSize(1); $yearSelect->setId($id); $yearSelect->setStyle($yearStyle); $yearSelect->setSelected(date('Y', $dbvalues[0])); $monthSelect = new rex_select(); $monthSelect->addOptions(range(1, 12), true); $monthSelect->setName($name . '[month]'); $monthSelect->setSize(1); $monthSelect->setStyle($style); $monthSelect->setSelected(date('m', $dbvalues[0])); $daySelect = new rex_select(); $daySelect->addOptions(range(1, 31), true); $daySelect->setName($name . '[day]'); $daySelect->setSize(1); $daySelect->setStyle($style); $daySelect->setSelected(date('j', $dbvalues[0])); if ($typeLabel == 'datetime') { $hourSelect = new rex_select(); $hourSelect->addOptions(range(1, 23), true); $hourSelect->setName($name . '[hour]'); $hourSelect->setSize(1); $hourSelect->setStyle($style); $hourSelect->setSelected(date('G', $dbvalues[0])); $minuteSelect = new rex_select(); $minuteSelect->addOptions(range(0, 59), true); $minuteSelect->setName($name . '[minute]'); $minuteSelect->setSize(1); $minuteSelect->setStyle($style); $minuteSelect->setSelected(date('i', $dbvalues[0])); $field = $daySelect->get() . $monthSelect->get() . $yearSelect->get() . '-' . $hourSelect->get() . $minuteSelect->get(); } else { $field = $daySelect->get() . $monthSelect->get() . $yearSelect->get(); } break; case 'textarea': $field = '<textarea name="' . $name . '" id="' . $id . '" ' . $attr . ' cols="50" rows="6">' . $dbvalues[0] . '</textarea>'; break; case 'REX_MEDIA_BUTTON': $tag = 'div'; $tag_attr = ' class="rex-ptag"'; $field = rex_var_media::getMediaButton($media_id); $field = str_replace('REX_MEDIA[' . $media_id . ']', $dbvalues[0], $field); $field = str_replace('MEDIA[' . $media_id . ']', $name, $field); $id = 'REX_MEDIA_' . $media_id; $media_id++; break; case 'REX_MEDIALIST_BUTTON': $tag = 'div'; $tag_attr = ' class="rex-ptag"'; $name .= '[]'; $field = rex_var_media::getMediaListButton($mlist_id, implode(',', $dbvalues)); $field = str_replace('MEDIALIST[' . $mlist_id . ']', $name, $field); $id = 'REX_MEDIALIST_' . $mlist_id; $mlist_id++; break; case 'REX_LINK_BUTTON': $tag = 'div'; $tag_attr = ' class="rex-ptag"'; $category = ''; if ($activeItem) { $category = $activeItem->getValue('category_id'); } $field = rex_var_link::getLinkButton($link_id, $dbvalues[0], $category); $field = str_replace('LINK[' . $link_id . ']', $name, $field); $id = 'LINK_' . $link_id; $link_id++; break; } $s .= rex_call_func($formatCallback, array($field, $tag, $tag_attr, $id, $label, $labelIt), false); $sqlFields->next(); } return $s; }
/** * Helper function, die den Subtitle generiert */ function rex_get_subtitle($subline, $attr = '') { global $REX_USER; if (empty($subline)) { return ''; } $subtitle_str = $subline; $subtitle = $subline; $cur_subpage = rex_request('subpage', 'string'); $cur_page = rex_request('page', 'string'); if (is_array($subline) && count($subline) > 0) { $subtitle = array(); $numPages = count($subline); foreach ($subline as $subpage) { if (!is_array($subpage)) { continue; } $link = $subpage[0]; $label = $subpage[1]; $perm = !empty($subpage[2]) ? $subpage[2] : ''; $params = !empty($subpage[3]) ? rex_param_string($subpage[3]) : ''; // Berechtigung prüfen if ($perm != '') { // Hat der User das Recht für die aktuelle Subpage? if (!$REX_USER->hasPerm('admin[]') && !$REX_USER->hasPerm($perm)) { // Wenn der User kein Recht hat, und diese Seite öffnen will -> Fehler if ($cur_subpage == $link) { exit('You have no permission to this area!'); } else { continue; } } } // Falls im Link parameter enthalten sind, diese Abschneiden if (($pos = strpos($link, '&')) !== false) { $link = substr($link, 0, $pos); } $active = empty($cur_subpage) && $link == '' || !empty($cur_subpage) && $cur_subpage == $link; // Auf der aktiven Seite den Link nicht anzeigen if ($active) { // $format = '%s'; // $subtitle[] = sprintf($format, $label); $format = '<a href="?page=' . $cur_page . '&subpage=%s%s"%s' . rex_tabindex() . ' class="rex-subpage-active">%s</a>'; $subtitle[] = sprintf($format, $link, $params, $attr, $label); } elseif ($link == '') { $format = '<a href="?page=' . $cur_page . '%s"%s' . rex_tabindex() . '>%s</a>'; $subtitle[] = sprintf($format, $params, $attr, $label); } else { $format = '<a href="?page=' . $cur_page . '&subpage=%s%s"%s' . rex_tabindex() . '>%s</a>'; $subtitle[] = sprintf($format, $link, $params, $attr, $label); } } if (!empty($subtitle)) { $items = ''; $num_parts = count($subtitle); $i = 1; foreach ($subtitle as $part) { if ($i != $num_parts) { $part .= ' | '; } $items .= '<li>' . $part . '</li> '; $i++; } $subtitle_str = ' <ul> ' . $items . ' </ul> '; } } // \n aus Quellcode formatierungsgründen return $subtitle_str; }
} // Leerzeichen durch ersetzen, damit Addonnamen immer in einer Zeile stehen $name = str_replace(' ', ' ', $name); $liClass = $page == $apage ? $activeClass : ''; if (current($REX['ADDON']['status']) == 1 && $name != '' && ($perm == '' || $REX_USER->hasPerm($perm) || $REX_USER->hasPerm("admin[]"))) { $separator = ' | '; if ($first) { $separator = ''; $first = false; } if ($popup == 1) { echo '<li' . $liClass . '>' . $separator . '<a href="javascript:newPoolWindow(\'index.php?page=' . $apage . '\');"' . rex_tabindex() . $accesskey . '>' . $name . '</a></li>' . "\n"; } elseif ($popup == '' or $popup == 0) { echo '<li' . $liClass . '>' . $separator . '<a href="index.php?page=' . $apage . '"' . rex_tabindex() . $accesskey . '>' . $name . '</a></li>' . "\n"; } else { echo '<li' . $liClass . '>' . $separator . '<a href="' . $popup . '"' . rex_tabindex() . $accesskey . '>' . $name . '</a></li>' . "\n"; } } next($REX['ADDON']['status']); } echo '</ul>' . "\n"; } } else { if (!isset($open_header_only)) { echo '<p>' . $I18N->msg('logged_out') . '</p>'; } else { echo '<p> </p>'; } } ?> </div>