protected function getOutput() { $id = $this->getArg('id', 0, true); if (!in_array($this->getContext(), ['module', 'action']) || !is_numeric($id) || $id < 1 || $id > 20) { return false; } $value = $this->getContextData()->getValue('value' . $id); if ($this->hasArg('isset') && $this->getArg('isset')) { return $value ? 'true' : 'false'; } if ($this->hasArg('widget') && $this->getArg('widget')) { if (!$this->environmentIs(self::ENV_INPUT)) { return false; } $select = new rex_category_select(); if ($this->hasArg('multiple') && $this->getArg('multiple')) { $select->setName('REX_INPUT_VALUE[' . $id . '][]'); $select->setMultiple(); $select->setSelected(rex_var::toArray($value)); } else { $select->setName('REX_INPUT_VALUE[' . $id . ']'); $select->setSelected($value); } if ($this->hasArg('root') && $this->getArg('root')) { $select->setRootId(explode(',', $this->getArg('root'))); } $widget = '<div class="rex-select-style">' . $select->get() . '</div>'; if ($this->hasArg('output') && $this->getArg('output')) { $label = $this->hasArg('label') ? $this->getArg('label') : ''; $widget = Dao::getForm($widget, $label, $this->getArg('output')); } return self::quote($widget); } return self::quote(htmlspecialchars($value)); }
} // modules[ctype_id][module_id]; // modules[ctype_id]['all']; // Module ... $modul_select = new rex_select(); $modul_select->setMultiple(true); $modul_select->setStyle('class="rex-form-select"'); $modul_select->setSize(10); $m_sql = rex_sql::factory(); $m_sql->setQuery('SELECT id, name FROM ' . $REX['TABLE_PREFIX'] . 'module ORDER BY name'); foreach ($m_sql->getArray() as $m) { $modul_select->addOption(rex_translate($m['name'], $I18N, false), $m['id']); } // Kategorien $cat_select = new rex_category_select(false, false, false, false); $cat_select->setMultiple(true); $cat_select->setStyle('class="rex-form-select"'); $cat_select->setSize(10); $cat_select->setName('categories[]'); $cat_select->setId('categories'); if (count($categories) > 0) { foreach ($categories as $c => $cc) { // typsicherer vergleich, weil (0 != "all") => false if ($c !== 'all') { $cat_select->setSelected($cc); } } } $ctypes_out = ''; $i = 1; $ctypes[] = '';
$sel_all->addArrayOptions($REX['PERM'], false); $userperm_all = rex_request('userperm_all', 'array'); // Erweiterte Permissions setzen $sel_ext = new rex_select(); $sel_ext->setMultiple(1); $sel_ext->setStyle('class="rex-form-select"'); $sel_ext->setSize(10); $sel_ext->setName('userperm_ext[]'); $sel_ext->setId('userperm-ext'); sort($REX['EXTPERM']); $sel_ext->addArrayOptions($REX['EXTPERM'], false); $userperm_ext = rex_request('userperm_ext', 'array'); $allcats = rex_request('allcats', 'int'); // zugriff auf categorien $sel_cat = new rex_category_select(false, false, false, false); $sel_cat->setMultiple(1); $sel_cat->setStyle('class="rex-form-select"'); $sel_cat->setSize(20); $sel_cat->setName('userperm_cat[]'); $sel_cat->setId('userperm-cat'); $userperm_cat = rex_request('userperm_cat', 'array'); $allmcats = rex_request('allmcats', 'int'); $userperm_cat_read = rex_request('userperm_cat_read', 'array'); // zugriff auf mediacategorien $sel_media = new rex_mediacategory_select(false); $sel_media->setMultiple(1); $sel_media->setStyle('class="rex-form-select"'); $sel_media->setSize(20); $sel_media->setName('userperm_media[]'); $sel_media->setId('userperm-media'); $userperm_media = rex_request('userperm_media', 'array');