本文整理汇总了PHP中rex_select类的典型用法代码示例。如果您正苦于以下问题:PHP rex_select类的具体用法?PHP rex_select怎么用?PHP rex_select使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了rex_select类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: __construct
function __construct($tag = '', &$table, $attributes = array())
{
global $I18N;
global $REX;
parent::rex_form_select_element('', $table, $attributes);
$dummy = null;
$this->chkbox_element = new rex_form_checkbox_element('', $dummy);
$this->chkbox_element->setAttribute('name', 'enable_restrictions');
$this->chkbox_element->setAttribute('id', 'enable_restrictions_chkbx');
$this->chkbox_element->addOption($I18N->msg('minfo_field_label_no_restrictions'), '');
if ($table->getPrefix() == 'art_' || $table->getPrefix() == 'cat_') {
$restrictionsSelect = new rex_category_select(false, false, true, false);
} elseif ($table->getPrefix() == 'med_') {
$restrictionsSelect = new rex_mediacategory_select();
} elseif ($table->getPrefix() == 'asd_') {
$restrictionsSelect = new rex_select();
$restrictionsSelect->addSqlOptions('SELECT `name`, `id` FROM ' . $REX['TABLE_PREFIX'] . 'asd_news_category');
$restrictionsSelect->setSize(6);
} else {
trigger_error('Unexpected TablePrefix "' . $table->getPrefix() . '"!', E_USER_ERROR);
exit;
}
$restrictionsSelect->setMultiple(true);
$this->setSelect($restrictionsSelect);
$this->setNotice($I18N->msg('ctrl'));
}
示例2: setSelect
public function setSelect(rex_select $selectObj)
{
$this->select = $selectObj;
if ($selectObj->hasAttribute('multiple')) {
$this->setAttribute('multiple', $selectObj->getAttribute('multiple'));
}
}
示例3: enterObject
function enterObject(&$email_elements, &$sql_elements, &$warning, &$form_output, $send = 0)
{
$SEL = new rex_select();
$SEL->setName('FORM[' . $this->params["form_name"] . '][el_' . $this->id . ']');
$SEL->setId("el_" . $this->id);
$SEL->setSize(1);
$sql = $this->elements[4];
$teams = rex_sql::factory();
$teams->debugsql = $this->params["debug"];
$teams->setQuery($sql);
$sqlnames = array();
// mit --- keine auswahl ---
if ($this->elements[3] != 1) {
$SEL->addOption($this->elements[3], "0");
}
foreach ($teams->getArray() as $t) {
if (!isset($this->elements[6]) || $this->elements[6] == "") {
$v = $t['name'];
} else {
$v = $t[$this->elements[6]];
}
if ($this->elements[5] == "") {
$k = $t['id'];
} else {
$k = $t[$this->elements[5]];
}
$SEL->addOption($v, $k);
if (isset($this->elements[7])) {
$sqlnames[$k] = $t[$this->elements[7]];
}
}
$wc = "";
if (isset($warning["el_" . $this->getId()])) {
$wc = $warning["el_" . $this->getId()];
}
$SEL->setStyle(' class="select ' . $wc . '"');
if ($this->value == "" && isset($this->elements[7]) && $this->elements[7] != "") {
$this->value = $this->elements[7];
}
$SEL->setSelected($this->value);
$form_output[] = '
<p class="formselect" id="' . $this->getHTMLId() . '">
<label class="select ' . $wc . '" for="el_' . $this->id . '" >' . $this->elements[2] . '</label>
' . $SEL->get() . '
</p>';
$email_elements[$this->elements[1]] = stripslashes($this->value);
if (isset($sqlnames[$this->value])) {
$email_elements[$this->elements[1] . '_SQLNAME'] = stripslashes($sqlnames[$this->value]);
}
if (!isset($this->elements[8]) || $this->elements[8] != "no_db") {
$sql_elements[$this->elements[1]] = $this->value;
}
}
示例4: enterObject
function enterObject(&$email_elements, &$sql_elements, &$warning, &$form_output, $send = 0)
{
// ***** SELECT FESTLEGEN
$SEL = new rex_select();
$SEL->setName('FORM[' . $this->params["form_name"] . '][el_' . $this->id . '][]');
$SEL->setId("el_" . $this->id);
$SEL->setSize(5);
$SEL->setMultiple(1);
// ***** SQL - ROHDATEN ZIEHEN
$sql = $this->elements[5];
$teams = rex_sql::factory();
$teams->debugsql = $this->params["debug"];
$teams->setQuery($sql);
for ($t = 0; $t < $teams->getRows(); $t++) {
$SEL->addOption($teams->getValue($this->elements[7]), $teams->getValue($this->elements[6]));
$teams->next();
}
$wc = "";
// if (isset($warning["el_" . $this->getId()])) $wc = $warning["el_" . $this->getId()];
$SEL->setStyle('class="multipleselect ' . $wc . '"');
// ***** EINGELOGGT ODER NICHT SETZEN
if ($send == 0) {
// erster aufruf
// Daten ziehen
if ($this->params["main_id"] > 0) {
$this->value = array();
$g = rex_sql::factory();
$g->debugsql = $this->params["debug"];
$g->setQuery('select ' . $this->elements[3] . ' from ' . $this->elements[1] . ' where ' . $this->elements[2] . '=' . $this->params["main_id"]);
$gg = $g->getArray();
if (is_array($gg)) {
foreach ($gg as $g) {
$this->value[] = $g[$this->elements[3]];
}
}
}
}
// ***** AUSWAHL SETZEN
if (is_array($this->value)) {
foreach ($this->value as $val) {
$SEL->setSelected($val);
}
}
// ***** AUSGEBEN
$form_output[] = '
<p class="formmultipleselect" id="' . $this->getHTMLId() . '">
<label class="multipleselect ' . $wc . '" for="el_' . $this->id . '" >' . $this->elements[4] . '</label>
' . $SEL->get() . '
</p>';
}
示例5: rex_event_select
function rex_event_select($options)
{
global $I18N;
parent::rex_select();
$this->setMultiple(1);
foreach ($options as $key => $value) {
$this->addOption($value, $key);
}
$this->setSize(count($options));
}
示例6: buildSelectBoxes
function buildSelectBoxes()
{
$select = new rex_select();
// hier muss getName() nicht $name verwendet werden (section Prefix!)
$select->setName($this->getName() . '[]');
$select->setSize(1);
$select->setStyle('width: 24%;');
$this->daySelect = $select;
$this->monthSelect = $select;
$this->yearSelect = $select;
foreach (range(1, 31) as $day) {
$this->daySelect->addOption($day, $day);
}
foreach (range(1, 12) as $month) {
$this->monthSelect->addOption($month, $month);
}
foreach (range(1995, 2050) as $year) {
$this->yearSelect->addOption($year, $year);
}
}
示例7: enterObject
function enterObject(&$email_elements, &$sql_elements, &$warning, &$form_output, $send = 0)
{
$SEL = new rex_select();
$SEL->setName('FORM[' . $this->params["form_name"] . '][el_' . $this->id . ']');
$SEL->setId("el_" . $this->id);
$SEL->setSize(1);
$sql = $this->elements[4];
$teams = new rex_sql();
$teams->debugsql = $this->params["debug"];
$teams->setQuery($sql);
$sqlnames = array();
if ($this->elements[3] != 1) {
// mit --- keine auswahl ---
$SEL->addOption($this->elements[3], "0");
}
for ($t = 0; $t < $teams->getRows(); $t++) {
$SEL->addOption($teams->getValue($this->elements[6]), $teams->getValue($this->elements[5]));
if (isset($this->elements[7])) {
$sqlnames[$teams->getValue($this->elements[5])] = $teams->getValue($this->elements[7]);
}
$teams->next();
}
$wc = "";
if (isset($warning["el_" . $this->getId()])) {
$wc = $warning["el_" . $this->getId()];
}
$SEL->setStyle(' class="select ' . $wc . '"');
if ($this->value == "" && isset($this->elements[7]) && $this->elements[7] != "") {
$this->value = $this->elements[7];
}
$SEL->setSelected($this->value);
$form_output[] = '
<p class="formselect">
<label class="select ' . $wc . '" for="el_' . $this->id . '" >' . $this->elements[2] . '</label>
' . $SEL->get() . '
</p>';
$email_elements[$this->elements[1]] = stripslashes($this->value);
if (isset($sqlnames[$this->value])) {
$email_elements[$this->elements[1] . '_SQLNAME'] = stripslashes($sqlnames[$this->value]);
}
if (!isset($this->elements[8]) || $this->elements[8] != "no_db") {
$sql_elements[$this->elements[1]] = $this->value;
}
}
示例8: getArticle
function getArticle($curctype = -1)
{
global $module_id, $REX_USER, $REX, $I18N;
$this->ctype = $curctype;
$sliceLimit = '';
if ($this->getSlice) {
//$REX['GG'] = 0;
$sliceLimit = " AND " . $REX['TABLE_PREFIX'] . "article_slice.id = '" . $this->getSlice . "' ";
}
// ----- start: article caching
ob_start();
ob_implicit_flush(0);
if ($REX['GG'] && !$this->viasql && !$this->getSlice) {
if ($this->article_id != 0) {
$this->contents = '';
$article_content_file = $REX['INCLUDE_PATH'] . '/generated/articles/' . $this->article_id . '.' . $this->clang . '.content';
if ($cont = rex_get_file_contents($article_content_file)) {
$this->contents = $cont;
eval($this->contents);
}
}
} else {
if ($this->article_id != 0) {
// ---------- alle teile/slices eines artikels auswaehlen
$sql = "SELECT " . $REX['TABLE_PREFIX'] . "module.id, " . $REX['TABLE_PREFIX'] . "module.name, " . $REX['TABLE_PREFIX'] . "module.ausgabe, " . $REX['TABLE_PREFIX'] . "module.eingabe, " . $REX['TABLE_PREFIX'] . "article_slice.*, " . $REX['TABLE_PREFIX'] . "article.re_id\r\n FROM\r\n " . $REX['TABLE_PREFIX'] . "article_slice\r\n LEFT JOIN " . $REX['TABLE_PREFIX'] . "module ON " . $REX['TABLE_PREFIX'] . "article_slice.modultyp_id=" . $REX['TABLE_PREFIX'] . "module.id\r\n LEFT JOIN " . $REX['TABLE_PREFIX'] . "article ON " . $REX['TABLE_PREFIX'] . "article_slice.article_id=" . $REX['TABLE_PREFIX'] . "article.id\r\n WHERE\r\n " . $REX['TABLE_PREFIX'] . "article_slice.article_id='" . $this->article_id . "' AND\r\n " . $REX['TABLE_PREFIX'] . "article_slice.clang='" . $this->clang . "' AND\r\n " . $REX['TABLE_PREFIX'] . "article.clang='" . $this->clang . "'\r\n " . $sliceLimit . "\r\n ORDER BY " . $REX['TABLE_PREFIX'] . "article_slice.re_article_slice_id";
$this->CONT = new rex_sql();
$this->CONT->debugsql = 0;
$this->CONT->setQuery($sql);
$RE_CONTS = array();
$RE_CONTS_CTYPE = array();
$RE_MODUL_OUT = array();
$RE_MODUL_IN = array();
$RE_MODUL_ID = array();
$RE_MODUL_NAME = array();
$RE_C = array();
// ---------- SLICE IDS/MODUL SETZEN - speichern der daten
for ($i = 0; $i < $this->CONT->getRows(); $i++) {
$RE_CONTS[$this->CONT->getValue('re_article_slice_id')] = $this->CONT->getValue($REX['TABLE_PREFIX'] . 'article_slice.id');
$RE_CONTS_CTYPE[$this->CONT->getValue('re_article_slice_id')] = $this->CONT->getValue($REX['TABLE_PREFIX'] . 'article_slice.ctype');
$RE_MODUL_IN[$this->CONT->getValue('re_article_slice_id')] = $this->CONT->getValue($REX['TABLE_PREFIX'] . 'module.eingabe');
$RE_MODUL_OUT[$this->CONT->getValue('re_article_slice_id')] = $this->CONT->getValue($REX['TABLE_PREFIX'] . 'module.ausgabe');
$RE_MODUL_ID[$this->CONT->getValue('re_article_slice_id')] = $this->CONT->getValue($REX['TABLE_PREFIX'] . 'module.id');
$RE_MODUL_NAME[$this->CONT->getValue('re_article_slice_id')] = $this->CONT->getValue($REX['TABLE_PREFIX'] . 'module.name');
$RE_C[$this->CONT->getValue('re_article_slice_id')] = $i;
$this->CONT->next();
}
// ---------- moduleselect: nur module nehmen auf die der user rechte hat
if ($this->mode == 'edit') {
$MODULE = new rex_sql();
$MODULE->setQuery('select * from ' . $REX['TABLE_PREFIX'] . 'module order by name');
$MODULESELECT = new rex_select();
$MODULESELECT->setName('module_id');
$MODULESELECT->setSize('1');
$MODULESELECT->setAttribute('onchange', 'this.form.submit();');
$MODULESELECT->addOption('---------------------------- ' . $I18N->msg('add_block'), '');
for ($i = 0; $i < $MODULE->getRows(); $i++) {
if ($REX_USER->hasPerm('module[' . $MODULE->getValue('id') . ']') || $REX_USER->hasPerm('admin[]')) {
$MODULESELECT->addOption(rex_translate($MODULE->getValue('name'), NULL, FALSE), $MODULE->getValue('id'));
}
$MODULE->next();
}
}
// ---------- SLICE IDS SORTIEREN UND AUSGEBEN
$I_ID = 0;
$PRE_ID = 0;
$LCTSL_ID = 0;
$this->CONT->reset();
$this->article_content = "";
for ($i = 0; $i < $this->CONT->getRows(); $i++) {
// ----- ctype unterscheidung
if ($this->mode != "edit" && $i == 0) {
$this->article_content = "<?php if (\$this->ctype == '" . $RE_CONTS_CTYPE[$I_ID] . "' || (\$this->ctype == '-1')) { ?>";
}
// ------------- EINZELNER SLICE - AUSGABE
$this->CONT->counter = $RE_C[$I_ID];
$slice_content = "";
$SLICE_SHOW = TRUE;
if ($this->mode == "edit") {
$form_url = 'index.php';
if ($this->setanker) {
$form_url .= '#addslice';
}
$this->ViewSliceId = $RE_CONTS[$I_ID];
// ----- add select box einbauen
if ($this->function == "add" && $this->slice_id == $I_ID) {
$slice_content = $this->addSlice($I_ID, $module_id);
} else {
// ----- BLOCKAUSWAHL - SELECT
$MODULESELECT->setId("module_id" . $I_ID);
$slice_content = '
<form action="' . $form_url . '" method="get" id="slice' . $RE_CONTS[$I_ID] . '">
<fieldset>
<legend class="rex-lgnd"><span class="rex-hide">' . $I18N->msg("add_block") . '</span></legend>
<input type="hidden" name="article_id" value="' . $this->article_id . '" />
<input type="hidden" name="page" value="content" />
<input type="hidden" name="mode" value="' . $this->mode . '" />
<input type="hidden" name="slice_id" value="' . $I_ID . '" />
<input type="hidden" name="function" value="add" />
<input type="hidden" name="clang" value="' . $this->clang . '" />
<input type="hidden" name="ctype" value="' . $this->ctype . '" />
//.........这里部分代码省略.........
示例9: select
function select()
{
parent::rex_select();
}
示例10: foreach
rex::setProperty('debug', $config['debug']);
foreach (rex_system_setting::getAll() as $setting) {
$key = $setting->getKey();
if (isset($settings[$key])) {
if (($msg = $setting->setValue($settings[$key])) !== true) {
$error[] = $msg;
}
}
}
if (empty($error)) {
if (rex_file::putConfig($configFile, $config) > 0) {
$success = rex_i18n::msg('info_updated');
}
}
}
$sel_lang = new rex_select();
$sel_lang->setStyle('class="form-control"');
$sel_lang->setName('settings[lang]');
$sel_lang->setId('rex-id-lang');
$sel_lang->setSize(1);
$sel_lang->setSelected(rex::getProperty('lang'));
foreach (rex_i18n::getLocales() as $l) {
$sel_lang->addOption($l, $l);
}
if (!empty($error)) {
echo rex_view::error(implode('<br />', $error));
}
if ($info != '') {
echo rex_view::info($info);
}
if ($success != '') {
示例11: foreach
$sel_mailer->setId('mailer');
$sel_mailer->setName('mailer');
$sel_mailer->setSize(1);
$sel_mailer->setSelected($mailer);
foreach (array('mail', 'sendmail', 'smtp') as $type) {
$sel_mailer->addOption($type, $type);
}
$sel_encoding = new rex_select();
$sel_encoding->setId('encoding');
$sel_encoding->setName('encoding');
$sel_encoding->setSize(1);
$sel_encoding->setSelected($encoding);
foreach (array('7bit', '8bit', 'binary', 'base64', 'quoted-printable') as $enc) {
$sel_encoding->addOption($enc, $enc);
}
$sel_priority = new rex_select();
$sel_priority->setid('priority');
$sel_priority->setName('priority');
$sel_priority->setSize(1);
$sel_priority->setSelected($priority);
foreach (array(1 => $I18N_A93->msg('high'), 3 => $I18N_A93->msg('normal'), 5 => $I18N_A93->msg('low')) as $no => $name) {
$sel_priority->addOption($name, $no);
}
if ($message != '') {
echo rex_warning($message);
}
?>
<div class="rex-addon-editmode">
<form action="" method="post">
<fieldset>
示例12: rex_a62_metaFields
//.........这里部分代码省略.........
$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();
示例13: rex_select
</a>
</p>
</div>
<?php
if (OOAddon::isActivated('multinewsletter')) {
?>
<div class="rex-form-row rex-form-element-v1">
<p class="rex-form-text">
<label for="multinewsletter_group"><?php
echo $I18N_KURSE->msg('multinewsletter_gruppe');
?>
</label>
<?php
require_once $REX['INCLUDE_PATH'] . '/addons/multinewsletter/classes/class.multinewsletter_group.inc.php';
$groups = new rex_select();
$groups->setSize(1);
$groups->setAttribute('class', 'myrex_select');
$groups->addOption($I18N_KURSE->msg('multinewsletter_nicht_anmelden'), '0');
$newsletter_groups = MultinewsletterGroupList::getAll($REX['TABLE_PREFIX']);
foreach ($newsletter_groups as $group) {
$groups->addOption($group->name, $group->group_id);
}
$groups->setSelected($REX['ADDON']['d2u_kurse']['settings']['multinewsletter_group']);
$groups->setAttribute('id', 'multinewsletter_group');
$groups->setName('settings[multinewsletter_group]');
print $groups->get();
?>
</p>
</div>
<?php
示例14: rex_getAttributes
if (!isset($save) or $save != 'ja') {
echo '<a name="edit"></a>';
// Ctype Handling
$ctypes = rex_getAttributes('ctype', $attributes);
$modules = rex_getAttributes('modules', $attributes);
$categories = rex_getAttributes('categories', $attributes);
if (!is_array($modules)) {
$modules = array();
}
if (!is_array($categories)) {
$categories = array();
}
// 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');
示例15: renderMetaFields
//.........这里部分代码省略.........
$selected = ' checked="checked"';
}
$e = [];
if ($oneValue) {
$e['label'] = $label;
} else {
$e['label'] = '<label for="' . $id . '">' . htmlspecialchars($value) . '</label>';
}
$e['field'] = '<input type="' . $typeLabel . '" name="' . $name . '" value="' . htmlspecialchars($key) . '" id="' . $id . '" ' . $attrStr . $selected . ' />';
$formElements[] = $e;
}
$fragment = new rex_fragment();
$fragment->setVar('elements', $formElements, false);
$fragment->setVar('inline', $inline);
if ($typeLabel == 'radio') {
$field = $fragment->parse('core/form/radio.php');
} else {
if (!$oneValue) {
$fragment->setVar('grouped', true);
}
$field = $fragment->parse('core/form/checkbox.php');
}
if (!$oneValue) {
$e = [];
$e['label'] = $label;
$e['field'] = $field;
$fragment = new rex_fragment();
$fragment->setVar('elements', [$e], false);
$field = $fragment->parse('core/form/form.php');
}
break;
case 'select':
$tag_attr = ' class="form-control"';
$select = new rex_select();
$select->setStyle('class="form-control"');
$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 . '[]');
$select->setMultiple();
}
}
// 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 (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 = [];
$value_groups = explode('|', $params);
foreach ($value_groups as $value_group) {
// check ob key:value paar