function getFieldPage() { global $REX, $I18N; // TODO: function rex_xform_manager_checkField // ********************************************* FIELD ADD/EDIT/LIST $func = rex_request('func', 'string', 'list'); $page = rex_request('page', 'string', ''); $subpage = rex_request('subpage', 'string', ''); $tripage = rex_request('tripage', 'string', ''); $type_id = rex_request('type_id', 'string'); $type_name = rex_request('type_name', 'string'); $field_id = rex_request('field_id', 'int'); $show_list = true; $link_vars = ''; foreach ($this->getLinkVars() as $k => $v) { $link_vars .= '&' . urlencode($k) . '=' . urlencode($v); } $TYPE = array('value' => $I18N->msg('values'), 'validate' => $I18N->msg('validates'), 'action' => $I18N->msg('action')); // ********************************** TABELLE HOLEN unset($table); $tables = $this->getTables(); if (!isset($table)) { if (count($tables) > 0) { $table = current($tables); } else { echo 'Keine Tabelle gefunden'; exit; } } foreach ($tables as $t) { if ($t['table_name'] == rex_request('table_name')) { $table = $t; break; } } $table_echo = ''; //echo '<table cellpadding="5" class="rex-table" id="xform-alltables">'; //echo '<tr><td>'; foreach ($tables as $t) { if ($t['table_name'] == $table['table_name']) { $table_echo .= '<b>' . rex_translate($t['name']) . ' [' . $t['table_name'] . ']</b> '; } else { $table_echo .= ' <a href="index.php?' . $link_vars . '&table_name=' . $t['table_name'] . '">' . rex_translate($t['name']) . ' [' . $t['table_name'] . ']</a> '; } } //echo '</td></tr>'; //echo ''; if ($table['description'] != '') { //echo "<tr><td>".$table["description"].'</td></tr>'; $table_echo .= '<p>' . $table['description'] . '</p>'; } // if($rex_em_opener_info != "") { echo ' - '.$I18N->msg("openerinfo").': '.$rex_em_opener_info; } //echo '</table><br />'; echo rex_content_block($table_echo); $table['fields'] = $this->getTableFields($table['table_name']); // ********************************************* Missing Fields $mfields = rex_xform_manager_table::getMissingFields($table['table_name']); // ksort($mfields); $type_real_field = rex_request('type_real_field', 'string'); if ($type_real_field != '' && !array_key_exists($type_real_field, $mfields)) { $type_real_field = ''; } if ($type_real_field != '') { ?> <div class="rex-addon-output"><h2 class="rex-hl2">Folgendes Feld wird verwendet: <?php echo $type_real_field; ?> </h2><div class="rex-addon-content"><p class="rex-tx1"><?php $rfields = rex_xform_manager_table::getFields($table['table_name']); foreach ($rfields[$type_real_field] as $k => $v) { echo '<b>' . $k . ':</b> ' . $v . '<br />'; } ?> </p></div></div><?php } // ********************************************* CHOOSE FIELD $types = rex_xform::getTypeArray(); if ($func == 'choosenadd') { // type and choose !! $link = 'index.php?' . $link_vars . '&table_name=' . $table['table_name'] . '&func=add&'; if (!rex_xform_manager_table::hasId($table['table_name'])) { ?> <div class="rex-addon-output" id="xform-choosenadd"><h2 class="rex-hl2"><?php echo $I18N->msg('xform_id_is_missing'); ?> </h2><div class="rex-addon-content"> <p class="rex-tx1"><?php echo $I18N->msg('xform_id_missing_info'); ?> </p> </div></div> <?php } else { ?> <div class="rex-addon-output" id="xform-choosenadd"><h2 class="rex-hl2"><?php echo $I18N->msg('choosenadd'); ?> </h2><div class="rex-addon-content"> <p class="rex-tx1"><?php echo $I18N->msg('choosenadd_description'); ?> </p> </div></div> <?php if ($type_real_field == '' && count($mfields) > 0) { ?> <div class="rex-addon-output"><h2 class="rex-hl2">Es gibt noch Felder in der Tabelle welche nicht zugewiesen sind.</h2><div class="rex-addon-content"> <?php $d = 0; foreach ($mfields as $k => $v) { $d++; $l = 'index.php?' . $link_vars . '&table_name=' . $table['table_name'] . '&func=choosenadd&type_real_field=' . $k . '&type_layout=t'; echo '<a href="' . $l . '">' . $k . '</a>, '; } ?> </div></div> <?php } ?> <div class="rex-addon-output xform-table_field"> <div class="rex-area-col-2"> <div class="rex-area-col-a"> <h3 class="rex-hl2">beliebte <?php echo $TYPE['value']; ?> </h3> <div class="rex-area-content"><p class="rex-tx1"><?php if (isset($types['value'])) { ksort($types['value']); foreach ($types['value'] as $k => $v) { if (isset($v['famous']) && $v['famous']) { echo '<p class="rex-button"><a class="rex-button" href="' . $link . 'type_id=value&type_name=' . $k . '&type_real_field=' . $type_real_field . '">' . $k . '</a> <span>' . $v['description'] . '</span></p>'; } } } ?> </p></div></div> <div class="rex-area-col-b"><h3 class="rex-hl2">beliebte <?php echo $TYPE['validate']; ?> </h3><div class="rex-area-content"><p class="rex-tx1"><?php if (isset($types['validate'])) { ksort($types['validate']); foreach ($types['validate'] as $k => $v) { if (isset($v['famous']) && $v['famous']) { echo '<p class="rex-button"><a class="rex-button" href="' . $link . 'type_id=validate&type_name=' . $k . '">' . $k . '</a> <span>' . $v['description'] . '</span></p>'; } } } ?> </p></div></div> </div></div> <div class="rex-addon-output xform-table_field"> <div class="rex-area-col-2"> <div class="rex-area-col-a"><h3 class="rex-hl2"><?php echo $TYPE['value']; ?> </h3><div class="rex-area-content"><p class="rex-tx1"><?php if (isset($types['value'])) { ksort($types['value']); foreach ($types['value'] as $k => $v) { if (!isset($v['famous']) || $v['famous'] !== true) { echo '<p class="rex-button"><a class="rex-button" href="' . $link . 'type_id=value&type_name=' . $k . '&type_real_field=' . $type_real_field . '">' . $k . '</a> <span>' . $v['description'] . '</span></p>'; } } } ?> </p></div></div> <div class="rex-area-col-b"><h3 class="rex-hl2"><?php echo $TYPE['validate']; ?> </h3><div class="rex-area-content"><p class="rex-tx1"><?php if (isset($types['validate'])) { ksort($types['validate']); foreach ($types['validate'] as $k => $v) { if (!isset($v['famous']) || $v['famous'] !== true) { echo '<p class="rex-button"><a class="rex-button" href="' . $link . 'type_id=validate&type_name=' . $k . '">' . $k . '</a> <span>' . $v['description'] . '</span></p>'; } } } ?> </p></div></div> </div></div> <!-- <div class="rex-addon-output"> <h2 class="rex-hl2"><?php echo $TYPE['action']; ?> </h2> <div class="rex-addon-content"> <p class="rex-tx1"><?php if (isset($types['action'])) { ksort($types['action']); foreach ($types['action'] as $k => $v) { echo '<p class="rex-button">"<a href="' . $link . 'type_id=action&type_name=' . $k . '">' . $k . '</a>" - ' . $v['description'] . '</p>'; } } ?> </p> </div> </div> --> <?php } $table_echo = '<a href="index.php?' . $link_vars . '&table_name=' . $table['table_name'] . '"><b>« ' . $I18N->msg('back_to_overview') . '</b></a>'; echo rex_content_block($table_echo); } // ********************************************* FORMULAR if (($func == 'add' || $func == 'edit') && isset($types[$type_id][$type_name])) { $xform = new rex_xform(); $xform->setDebug(false); foreach ($this->getLinkVars() as $k => $v) { $xform->setHiddenField($k, $v); } $xform->setHiddenField('func', $func); $xform->setHiddenField('table_name', $table['table_name']); $xform->setHiddenField('type_real_field', $type_real_field); $xform->setValueField('hidden', array('table_name', $table['table_name'])); $xform->setValueField('hidden', array('type_name', $type_name, 'REQUEST')); $xform->setValueField('hidden', array('type_id', $type_id, 'REQUEST')); $xform->setValueField('text', array('prio', 'Prioritaet', rex_xform_manager_table::getMaximumPrio($table['table_name']) + 10)); $selectFields = array(); $i = 1; foreach ($types[$type_id][$type_name]['values'] as $k => $v) { $field = $this->getFieldName($k, $type_id); $selectFields['f' . $i] = $field; $i++; switch ($v['type']) { case 'name': if ($func == 'edit') { $xform->setValueField('showvalue', array($field, 'Name')); } else { if (!isset($v['value']) && $type_real_field != '') { $v['value'] = $type_real_field; } elseif (!isset($v['value'])) { $v['value'] = ''; } $xform->setValueField('text', array($field, 'Name', $v['value'])); $xform->setValidateField('notEmpty', array($field, $I18N->msg('validatenamenotempty'))); $xform->setValidateField('preg_match', array($field, "/(([a-zA-Z])+([a-zA-Z0-9\\_])*)/", $I18N->msg('validatenamepregmatch'))); $xform->setValidateField('customfunction', array($field, 'rex_xform_manager_checkField', array('table_name' => $table['table_name']), $I18N->msg('validatenamecheck'))); } break; case 'no_db': // ToDo: Default Wert beachten $xform->setValueField('checkbox', array($field, $I18N->msg('donotsaveindb'), 'no_db', $v['default'])); break; case 'boolean': // checkbox|check_design|Bezeichnung|Value|1/0|[no_db] if (!isset($v['default'])) { $v['default'] = ''; } $xform->setValueField('checkbox', array($field, $v['label'], '', $v['default'])); break; case 'select': // select|gender|Geschlecht *|Frau=w;Herr=m|[no_db]|defaultwert|multiple=1 $xform->setValueField('select', array($field, $v['label'], $v['definition'], '', $v['default'], 0)); break; case 'table': // ist fest eingetragen, damit keine Dinge durcheinandergehen if ($func == 'edit') { $xform->setValueField('showvalue', array($field, $v['label'])); } else { $_tables = rex_xform_manager_table::getTables(); $_options = array(); foreach ($_tables as $_table) { $_options[$_table->getTableName()] = str_replace('=', '-', $_table->getName() . ' [' . $_table->getTableName() . ']') . '=' . $_table->getTableName(); $_options[$_table->getTableName()] = str_replace(',', '.', $_options[$_table->getTableName()]); } if (!isset($v['default'])) { $v['default'] = ''; } $xform->setValueField('select', array($field, $v['label'], implode(',', $_options), '', $v['default'], 0)); } break; case 'textarea': $xform->setValueField('textarea', array($field, $v['label'])); break; case 'table.field': // Todo: // Todo: case 'select_name': $_fields = array(); foreach (rex_xform_manager_table::getXFormFieldsByType($table['table_name']) as $_k => $_v) { $_fields[] = $_k; } $xform->setValueField('select', array($field, $v['label'], implode(',', $_fields), '', '', 0)); break; case 'select_names': // Todo: Mehrere Namen aus denanderen Federn ziehen und als multiselectbox anbieten $_fields = array(); foreach (rex_xform_manager_table::getXFormFieldsByType($table['table_name']) as $_k => $_v) { $_fields[] = $_k; } $xform->setValueField('select', array($field, $v['label'], implode(',', $_fields), '', '', 1, 5)); break; default: // nur beim "Bezeichnungsfeld" if ($field == 'label' && $type_real_field != '' && !isset($v['value'])) { $v['value'] = $type_real_field; } elseif (!isset($v['value'])) { $v['value'] = ''; } $xform->setValueField('text', array($field, $v['label'], $v['value'])); } } $xform->setActionField('showtext', array('', '<p>' . $I18N->msg('thankyouforentry') . '</p>')); $xform->setObjectparams('main_table', $REX['TABLE_PREFIX'] . 'xform_field'); // f�r db speicherungen und unique abfragen if ($func == 'edit') { $xform->setObjectparams('submit_btn_label', $I18N->msg('save')); $xform->setHiddenField('field_id', $field_id); $xform->setActionField('manage_db', array($REX['TABLE_PREFIX'] . 'xform_field', "id={$field_id}")); $xform->setObjectparams('main_id', $field_id); $xform->setObjectparams('main_where', "id={$field_id}"); $sql = rex_sql::factory(); $sql->setQuery("SELECT * FROM " . $REX['TABLE_PREFIX'] . "xform_field WHERE id={$field_id}"); foreach ($selectFields as $alias => $field) { if ($alias != $field) { if ((!$sql->hasValue($field) || !$sql->getValue($field)) && $sql->hasValue($alias)) { $sql->setValue($field, $sql->getValue($alias)); } $xform->setValueField('hidden', array($alias, '')); } } $xform->setObjectparams('sql_object', $sql); $xform->setObjectparams('getdata', true); } elseif ($func == 'add') { $xform->setObjectparams('submit_btn_label', $I18N->msg('add')); $xform->setActionField('manage_db', array($REX['TABLE_PREFIX'] . 'xform_field')); } if ($type_id == 'value') { $xform->setValueField('checkbox', array('list_hidden', $I18N->msg('hideinlist'), 1, '1')); $xform->setValueField('checkbox', array('search', $I18N->msg('useassearchfieldalidatenamenotempty'), 1, '1')); } elseif ($type_id == 'validate') { $xform->setValueField('hidden', array('list_hidden', 1)); } $form = $xform->getForm(); if ($xform->objparams['form_show']) { if ($func == 'add') { echo '<div class="rex-addon-output"><h3 class="rex-hl2">' . $I18N->msg('addfield') . ' "' . $type_name . '"</h3><div class="rex-addon-content">'; } else { echo '<div class="rex-addon-output"><h3 class="rex-hl2">' . $I18N->msg('editfield') . ' "' . $type_name . '"</h3><div class="rex-addon-content">'; } echo $form; echo '</div></div>'; $table_echo = '<a href="index.php?' . $link_vars . '&table_name=' . $table['table_name'] . '"><b>« ' . $I18N->msg('back_to_overview') . '</b></a>'; echo rex_content_block($table_echo); $func = ''; } else { if ($func == 'edit') { $this->generateAll(); echo rex_info($I18N->msg('thankyouforupdate')); } elseif ($func == 'add') { $this->generateAll(); echo rex_info($I18N->msg('thankyouforentry')); } $func = 'list'; } } // ********************************************* LOESCHEN if ($func == 'delete') { $sf = new rex_sql(); // $sf->debugsql = 1; $sf->setQuery('select * from ' . $REX['TABLE_PREFIX'] . 'xform_field where table_name="' . $table['table_name'] . '" and id=' . $field_id); $sfa = $sf->getArray(); if (count($sfa) == 1) { $query = 'delete from ' . $REX['TABLE_PREFIX'] . 'xform_field where table_name="' . $table['table_name'] . '" and id=' . $field_id; $delsql = new rex_sql(); // $delsql->debugsql=1; $delsql->setQuery($query); echo rex_info($I18N->msg('tablefielddeleted')); $this->generateAll(); } else { echo rex_warning($I18N->msg('tablefieldnotfound')); } $func = 'list'; } // ********************************************* CREATE/UPDATE FIELDS if ($func == 'updatetable') { $this->generateAll(); echo rex_info($I18N->msg('tablesupdated')); $func = 'list'; } if ($func == 'updatetablewithdelete') { $this->generateAll(array('delete_fields' => true)); echo rex_info($I18N->msg('tablesupdated')); $func = 'list'; } // ********************************************* LIST if ($func == 'list') { // ****** EP XFORM_MANAGER_TABLE_FIELD_FUNC $show_list = true; $show_list = rex_register_extension_point('XFORM_MANAGER_TABLE_FIELD_FUNC', $show_list, array('table' => $t, 'link_vars' => $this->getLinkVars())); if ($show_list) { function rex_xform_list_format($p, $value = '') { if ($value != '') { $p['value'] = $value; } switch ($p['list']->getValue('type_id')) { case 'validate': $style = 'color:#aaa;'; // background-color:#cfd9d9; break; case 'action': $style = 'background-color:#cfd9d9;'; break; default: $style = 'background-color:#eff9f9;'; break; } return '<td style="' . $style . '">' . $p['value'] . '</td>'; } function rex_xform_list_edit_format($p) { global $REX, $I18N; return rex_xform_list_format($p, $p['list']->getColumnLink($I18N->msg('edit'), $I18N->msg('edit'))); } function rex_xform_list_delete_format($p) { global $REX, $I18N; return rex_xform_list_format($p, $p['list']->getColumnLink($I18N->msg('delete'), $I18N->msg('delete'))); } $table_echo = ' <div class="rex-area-col-2"> <div class="rex-area-col-a"> <a href="index.php?' . $link_vars . '&table_name=' . $table['table_name'] . '&func=choosenadd"><b>+ ' . $I18N->msg('addtablefield') . '</b></a> </div> <div class="rex-area-col-b rex-algn-rght"> <a href="index.php?' . $link_vars . '&table_name=' . $table['table_name'] . '&func=updatetable"><b>o ' . $I18N->msg('updatetable') . '</b></a> <a href="index.php?' . $link_vars . '&table_name=' . $table['table_name'] . '&func=updatetablewithdelete" onclick="return confirm(\'' . $I18N->msg('updatetable_with_delete_confirm') . '\')"><b>o ' . $I18N->msg('updatetable_with_delete') . '</b></a> </div> </div> <div class="rex-clearer"></div> '; echo rex_content_block($table_echo); $sql = 'select id, prio, type_id, type_name, name from ' . $REX['TABLE_PREFIX'] . 'xform_field where table_name="' . $table['table_name'] . '" order by prio'; $list = rex_list::factory($sql, 30); // $list->debug = 1; $list->setColumnFormat('id', 'Id'); foreach ($this->getLinkVars() as $k => $v) { $list->addParam($k, $v); } $list->addParam('table_name', $table['table_name']); $list->removeColumn('id'); $list->setColumnLayout('prio', array('<th>###VALUE###</th>', '###VALUE###')); $list->setColumnFormat('prio', 'custom', 'rex_xform_list_format'); $list->setColumnLayout('type_id', array('<th>###VALUE###</th>', '###VALUE###')); $list->setColumnFormat('type_id', 'custom', 'rex_xform_list_format'); $list->setColumnLayout('type_name', array('<th>###VALUE###</th>', '###VALUE###')); $list->setColumnFormat('type_name', 'custom', 'rex_xform_list_format'); $list->setColumnLayout('name', array('<th>###VALUE###</th>', '###VALUE###')); // ###VALUE### $list->setColumnFormat('name', 'custom', 'rex_xform_list_format'); $list->addColumn($I18N->msg('edit'), $I18N->msg('edit')); $list->setColumnParams($I18N->msg('edit'), array('field_id' => '###id###', 'func' => 'edit', 'type_name' => '###type_name###', 'type_id' => '###type_id###')); $list->setColumnLayout($I18N->msg('edit'), array('<th>###VALUE###</th>', '###VALUE###')); $list->setColumnFormat($I18N->msg('edit'), 'custom', 'rex_xform_list_edit_format'); $list->addColumn($I18N->msg('delete'), $I18N->msg('delete')); $list->setColumnParams($I18N->msg('delete'), array('field_id' => '###id###', 'func' => 'delete')); $list->setColumnLayout($I18N->msg('delete'), array('<th>###VALUE###</th>', '###VALUE###')); $list->setColumnFormat($I18N->msg('delete'), 'custom', 'rex_xform_list_delete_format'); $list->addLinkAttribute($I18N->msg('delete'), 'onclick', 'return confirm(\' [###type_id###, ###type_name###, ###name###] ' . $I18N->msg('delete') . ' ?\')'); echo $list->get(); } } }
$query_to_delete = "SELECT lang.kategorie_id, kategorien.kategorie_id " . "FROM `" . $REX['TABLE_PREFIX'] . "d2u_stellenmarkt_kategorien_lang` AS lang " . "LEFT JOIN `" . $REX['TABLE_PREFIX'] . "d2u_stellenmarkt_kategorien` AS kategorien " . "ON lang.kategorie_id = kategorien.kategorie_id " . "WHERE kategorien.kategorie_id IS NULL " . "GROUP BY lang.kategorie_id"; $result_to_delete = new rex_sql(); $result_to_delete->setQuery($query_to_delete); $num_rows_to_delete = $result_to_delete->getRows(); for ($i = 0; $i < $num_rows_to_delete; $i++) { // ... muessen zuerst geloescht werden $delete_qry = 'DELETE FROM ' . $REX['TABLE_PREFIX'] . 'd2u_stellenmarkt_kategorien_lang ' . 'WHERE kategorie_id = ' . $result_to_delete->getValue("lang.kategorie_id"); $delete_sql = new rex_sql(); $delete_data = $delete_sql->getArray($delete_qry); $result_to_delete->next(); } /* * Liste anlegen */ $sql = 'SELECT kategorie_id, interne_bezeichnung FROM ' . $REX['TABLE_PREFIX'] . 'd2u_stellenmarkt_kategorien AS kategorien ' . 'ORDER BY interne_bezeichnung ASC'; $list = rex_list::factory($sql, 100); // Spalten mit Sortierfunktion $list->setColumnSortable('interne_bezeichnung'); $imgHeader = '<a href="' . $list->getUrl(array('func' => 'add')) . '"><img src="media/metainfo_plus.gif" alt="add" title="add" /></a>'; // Hinzufuegen Button $list->addColumn($imgHeader, '<img src="media/metainfo.gif" alt="field" title="field" />', 0, array('<th class="rex-icon">###VALUE###</th>', '<td class="rex-icon">###VALUE###</td>')); // Edit Button unterhalb des hinzufuegen Buttons $list->setColumnParams($imgHeader, array('func' => 'edit', 'entry_id' => '###kategorie_id###')); // Labels $list->setColumnLabel('kategorie_id', $I18N_STELLEN->msg('id')); $list->setColumnLabel('interne_bezeichnung', $I18N_STELLEN->msg('interne_bezeichnung')); // Edit Funktion auf Zeileneintrag $list->setColumnParams('kategorie_id', array('func' => 'edit', 'entry_id' => '###kategorie_id###')); $list->setColumnParams('interne_bezeichnung', array('func' => 'edit', 'entry_id' => '###kategorie_id###')); // Liste anzeigen $list->show();
<?php /** * Redaxo D2U Kurse * @author Tobias Krais * @author <a href="http://www.design-to-use.de">www.design-to-use.de</a> */ // Uebersichtsliste if ($func == '') { $sql = 'SELECT zielgruppen.zielgruppe_id, zielgruppen.name, eltern.name AS elternname FROM ' . $REX['TABLE_PREFIX'] . 'd2u_kurse_zielgruppen AS zielgruppen ' . 'LEFT JOIN ' . $REX['TABLE_PREFIX'] . 'd2u_kurse_zielgruppen AS eltern ' . 'ON zielgruppen.eltern_zielgruppe_id = eltern.zielgruppe_id ' . 'ORDER BY zielgruppen.name ASC'; $list = rex_list::factory($sql, 50, null, false); // Spalten mit Sortierfunktion $list->setColumnSortable('name'); $list->setColumnSortable('elternname'); $imgHeader = '<a href="' . $list->getUrl(array('func' => 'add')) . '"><img src="media/metainfo_plus.gif" alt="add" title="add" /></a>'; // Hinzufuegen Button $list->addColumn($imgHeader, '<img src="media/metainfo.gif" alt="field" title="field" />', 0, array('<th class="rex-icon">###VALUE###</th>', '<td class="rex-icon">###VALUE###</td>')); // Edit Button unterhalb des hinzufuegen Buttons $list->setColumnParams($imgHeader, array('func' => 'edit', 'entry_id' => '###zielgruppe_id###')); // Labels $list->setColumnLabel('zielgruppe_id', $I18N_KURSE->msg('id')); $list->setColumnLabel('zielgruppen.name', $I18N_KURSE->msg('name')); $list->setColumnLabel('elternname', $I18N_KURSE->msg('elternkategorie')); // Edit Funktion auf Zeileneintrag $list->setColumnParams('zielgruppe_id', array('func' => 'edit', 'entry_id' => '###zielgruppe_id###')); $list->setColumnParams('name', array('func' => 'edit', 'entry_id' => '###zielgruppe_id###')); // Liste anzeigen $list->show(); } elseif ($func == 'edit' || $func == 'add') { $form = rex_form::factory($REX['TABLE_PREFIX'] . 'd2u_kurse_zielgruppen', $I18N_KURSE->msg('zielgruppen'), "zielgruppe_id = " . $entry_id, "post", false); // Name
AND ((archive_date != "0000-00-00") AND REPLACE(archive_date, "-", "") <= CURDATE() + 0) ) ' . $addSql . ' ORDER BY online_date desc', '5000', '', false, 'rex_list_extended'); $list->addTableColumnGroup(array(20, '*', 80, 40, 60, 60, 60, 60)); } else { $list = rex_list::factory(' SELECT id, name, online_date, clang, status, flag, stickyUntil, category, createdate FROM ' . TBL_NEWS . ' WHERE ( (offline_date = "0000-00-00" OR (REPLACE(offline_date, "-", "") > CURDATE() + 0)) AND ((archive_date = "0000-00-00") OR REPLACE(archive_date, "-", "") > CURDATE() + 0) ) ' . $addSql . ' ORDER BY online_date desc', '5000', '', false, 'rex_list_extended'); $list->addTableColumnGroup(array(20, '*', 80, 40, 60, 40, 40, 40, 60, 60)); } } $imgHeader = '<a href="' . $list->getUrl(array('func' => 'add', 'clang' => $clang)) . '"><img src="media/metainfo_plus.gif" alt="' . $I18N->msg('b_504_add') . '" title="' . $I18N->msg('b_504_add') . '" /></a>'; $list->addColumn($imgHeader, '###' . 'id###', 0, array('<th class="rex-icon">###VALUE###</th>', '<td class="rex-small">###VALUE###</td>')); $list->setColumnLabel('article', 'Artikel'); $list->setColumnLabel('name', 'Name');
$name = $manager->getName($oid); $success = $manager->tryExecute($oid); $msg = ''; if ($manager->hasMessage()) { $msg = '<br /><br />' . $this->i18n('log_message') . ': <br />' . nl2br($manager->getMessage()); } if ($success) { echo rex_view::success($this->i18n('execute_success', $name) . $msg); } else { echo rex_view::error($this->i18n('execute_error', $name) . $msg); } $func = ''; } if ($func == '') { $query = 'SELECT id, name, type, `interval`, environment, execution_moment, status FROM ' . REX_CRONJOB_TABLE . ' ORDER BY name'; $list = rex_list::factory($query, 30, 'cronjobs'); $list->setNoRowsMessage($this->i18n('no_cronjobs')); $tdIcon = '<i class="rex-icon rex-icon-cronjob"></i>'; $thIcon = '<a href="' . $list->getUrl(['func' => 'add']) . '" title="' . $this->i18n('add') . '"><i class="rex-icon rex-icon-add-cronjob"></i></a>'; $list->addColumn($thIcon, $tdIcon, 0, ['<th class="rex-table-icon">###VALUE###</th>', '<td class="rex-table-icon">###VALUE###</td>']); $list->setColumnParams($thIcon, ['func' => 'edit', 'oid' => '###id###']); $list->removeColumn('id'); $list->removeColumn('type'); $list->setColumnLabel('name', $this->i18n('name')); $list->setColumnParams('name', ['func' => 'edit', 'oid' => '###id###']); $list->setColumnLabel('interval', $this->i18n('interval')); $list->setColumnFormat('interval', 'custom', function ($params) { $value = explode('|', $params['list']->getValue('interval')); $str = $value[1] . ' '; $array = ['i' => 'minutes', 'h' => 'hour', 'd' => 'day', 'w' => 'week', 'm' => 'month', 'y' => 'year']; $str .= rex_i18n::msg('cronjob_interval_' . $array[$value[2]]);
}); //--></script>'; $OUT = false; } } if ($OUT) { if ($info != '') { echo rex_info($info); } if ($warning != '') { echo rex_warning($warning); } $list = rex_list::factory('SELECT id, name, active FROM ' . $REX['TABLE_PREFIX'] . 'template ORDER BY name'); $list->setCaption($I18N->msg('header_template_caption')); $list->addTableAttribute('summary', $I18N->msg('header_template_summary')); $list->addTableColumnGroup(array(40, 40, '*', 153, 153)); $tdIcon = '<span class="rex-i-element rex-i-template"><span class="rex-i-element-text">###name###</span></span>'; $thIcon = '<a class="rex-i-element rex-i-template-add" href="' . $list->getUrl(array('function' => 'add')) . '"' . rex_accesskey($I18N->msg('create_template'), $REX['ACKEY']['ADD']) . '><span class="rex-i-element-text">' . $I18N->msg('create_template') . '</span></a>'; $list->addColumn($thIcon, $tdIcon, 0, array('<th class="rex-icon">###VALUE###</th>', '<td class="rex-icon">###VALUE###</td>')); $list->setColumnParams($thIcon, array('function' => 'edit', 'template_id' => '###id###')); $list->setColumnLabel('id', 'ID'); $list->setColumnLayout('id', array('<th class="rex-small">###VALUE###</th>', '<td class="rex-small">###VALUE###</td>')); $list->setColumnLabel('name', $I18N->msg('header_template_description')); $list->setColumnParams('name', array('function' => 'edit', 'template_id' => '###id###')); $list->setColumnLabel('active', $I18N->msg('header_template_active')); $list->setColumnFormat('active', 'custom', create_function('$params', 'global $I18N; $list = $params["list"]; return $list->getValue("active") == 1 ? $I18N->msg("yes") : $I18N->msg("no");')); $list->addColumn($I18N->msg('header_template_functions'), $I18N->msg('delete_template')); $list->setColumnParams($I18N->msg('header_template_functions'), array('function' => 'delete', 'template_id' => '###id###'));
$addsql .= ")"; } $link .= "&csuche]" . $csuche; } if ($cstatus != "") { if ($addsql == "") { $addsql .= " WHERE "; } else { $addsql .= " AND "; } $addsql .= " `status`='" . $cstatus . "' "; } $sql = "select * from {$table} {$addsql}"; // echo $sql; echo "<table cellpadding=5 class=rex-table><tr><td><a href=index.php?page=" . $page . "&subpage=" . $subpage . "&func=add><b>+ {$bezeichner} anlegen</b></a></td></tr></table><br />"; $list = rex_list::factory($sql, 30); $list->setColumnFormat('id', 'Id'); /* $list->setColumnLabel('name', 'Name'); $list->setColumnLabel('firma', 'Firma'); $list->setColumnLabel('funktion', 'Funktion'); */ $list->setColumnParams("id", array("oid" => "###id###", "func" => "edit")); $list->setColumnParams("name", array("oid" => "###id###", "func" => "edit")); $list->setColumnParams("email", array("oid" => "###id###", "func" => "edit")); $list->addParam("page", $page); $list->addParam("subpage", $subpage); $list->addParam("csuchtxt", $csuchtxt); $list->addParam("cstatus", $cstatus); $list->addParam("csuche", $csuche); foreach ($csuchfeld as $cs) {
$field_id = rex_request('field_id', 'int', 0); if ($field_id != 0) { if (rex_metainfo_delete_field($field_id)) { echo rex_view::success(rex_i18n::msg('minfo_field_successfull_deleted')); } else { echo rex_view::error(rex_i18n::msg('minfo_field_error_deleted')); } } $func = ''; } //------------------------------> Eintragsliste if ($func == '') { $title = rex_i18n::msg('minfo_field_list_caption'); // replace LIKE wildcards $likePrefix = str_replace(['_', '%'], ['\\_', '\\%'], $prefix); $list = rex_list::factory('SELECT id, name FROM ' . rex::getTablePrefix() . 'metainfo_field WHERE `name` LIKE "' . $likePrefix . '%" ORDER BY priority'); $list->addTableAttribute('class', 'table-striped'); $tdIcon = '<i class="rex-icon rex-icon-metainfo"></i>'; $thIcon = '<a href="' . $list->getUrl(['func' => 'add']) . '"><i class="rex-icon rex-icon-add-metainfo"></i></a>'; $list->addColumn($thIcon, $tdIcon, 0, ['<th class="rex-table-icon">###VALUE###</th>', '<td class="rex-table-icon">###VALUE###</td>']); $list->setColumnParams($thIcon, ['func' => 'edit', 'field_id' => '###id###']); $list->removeColumn('id'); $list->setColumnLabel('id', rex_i18n::msg('minfo_field_label_id')); $list->setColumnLayout('id', ['<th class="rex-table-id">###VALUE###</th>', '<td class="rex-table-id" data-title="' . rex_i18n::msg('minfo_field_label_id') . '">###VALUE###</td>']); $list->setColumnLabel('name', rex_i18n::msg('minfo_field_label_name')); $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'));
* @author mail[at]blumbeet[dot]com * */ $myself = 'url_control'; $addon = $REX['ADDON'][$myself]['addon']; $oid = rex_request('oid', 'int'); $func = rex_request('func', 'string'); $echo = ''; if ($func == '') { $query = ' SELECT `id`, `url`, `method`, `method_parameters`, `status` FROM ' . $REX['TABLE_PREFIX'] . 'url_control_manager'; $list = rex_list::factory($query, 30, 'url_control_manager'); // $list->debug = true; $list->setNoRowsMessage($I18N->msg('b_no_results')); $list->setCaption($I18N->msg('b_tables')); $list->addTableAttribute('summary', $I18N->msg('b_tables')); //$list->addTableColumnGroup(array(40, '*', 150, 80, 80, '153')); $header = '<a class="rex-i-element rex-i-generic-add" href="' . $list->getUrl(array('func' => 'add')) . '"><span class="rex-i-element-text">' . $I18N->msg('b_add_entry', $I18N->msg('b_table')) . '</span></a>'; $list->addColumn($header, '###id###', 0, array('<th class="rex-icon">###VALUE###</th>', '<td class="rex-small">###VALUE###</td>')); $list->removeColumn('id'); $list->removeColumn('status'); $list->removeColumn('method'); $list->removeColumn('method_parameters'); $list->setColumnLabel('url', $I18N->msg('b_url_control_manager_requested_url')); $list->addColumn('target', ''); $list->setColumnLabel('target', $I18N->msg('b_url_control_manager_target')); $list->setColumnFormat('target', 'custom', create_function('$params', 'global $I18N;
<label for="userperm_extra">' . $I18N->msg('extras') . '</label> ' . $sel_extra->get() . ' <span>' . $I18N->msg('ctrl') . '</span> </p> </div> ' . $add_submit . ' </div> </fieldset> </form> </div> '; } // ---------------------------------- Userliste if (isset($SHOW) and $SHOW) { $list = rex_list::factory('SELECT user_id, name, login, lasttrydate FROM ' . $REX['TABLE_PREFIX'] . 'user ORDER BY name'); $list->setCaption($I18N->msg('user_caption')); $list->addTableAttribute('summary', $I18N->msg('user_summary')); if (!$REX_USER->hasPerm('advancedMode[]')) { $list->removeColumn('user_id'); $list->addTableColumnGroup(array(40, '*', 153, 153, 153)); } else { $list->addTableColumnGroup(array(40, '5%', '*', 153, 153, 153)); } $img = '<img src="media/user.gif" alt="###name###" title="###name###" />'; $imgAdd = '<img src="media/user_plus.gif" alt="' . $I18N->msg('create_user') . '" title="' . $I18N->msg('create_user') . '" />'; $imgHeader = '<a href="' . $list->getUrl(array('FUNC_ADD' => '1')) . '"' . rex_accesskey($I18N->msg('create_user'), $REX['ACKEY']['ADD']) . '>' . $imgAdd . '</a>'; $list->addColumn($imgHeader, $img, 0, array('<th class="rex-icon">###VALUE###</th>', '<td class="rex-icon">###VALUE###</td>')); $list->setColumnParams($imgHeader, array('user_id' => '###user_id###')); $list->setColumnLabel('user_id', 'ID'); $list->setColumnLayout('user_id', array('<th class="rex-icon">###VALUE###</th>', '<td class="rex-icon">###VALUE###</td>'));
function getFieldPage() { global $REX, $I18N; // ********************************************* FIELD ADD/EDIT/LIST $func = rex_request('func', 'string', 'list'); $page = rex_request('page', 'string', ''); $subpage = rex_request('subpage', 'string', ''); $tripage = rex_request('tripage', 'string', ''); $type_id = rex_request('type_id', 'string'); $type_name = rex_request('type_name', 'string'); $field_id = rex_request('field_id', 'int'); $show_list = true; $link_vars = ''; foreach ($this->getLinkVars() as $k => $v) { $link_vars .= '&' . urlencode($k) . '=' . urlencode($v); } $TYPE = array('value' => $I18N->msg('xform_values'), 'validate' => $I18N->msg('xform_validates'), 'action' => $I18N->msg('xform_action')); // ********************************** TABELLE HOLEN $table = $this->table; $table_info = '<b>' . rex_translate($table->getName()) . ' [' . $table->getTableName() . ']</b> '; echo rex_content_block($table_info); // ********************************************* Missing Fields $mfields = $table->getMissingFields(); // ksort($mfields); $type_real_field = rex_request('type_real_field', 'string'); if ($type_real_field != '' && !array_key_exists($type_real_field, $mfields)) { $type_real_field = ''; } if ($type_real_field != '') { ?> <div class="rex-addon-output"><h2 class="rex-hl2">Folgendes Feld wird verwendet: <?php echo $type_real_field; ?> </h2><div class="rex-addon-content"><p class="rex-tx1"><?php $rfields = $this->table->getColumns(); foreach ($rfields[$type_real_field] as $k => $v) { echo '<b>' . $k . ':</b> ' . $v . '<br />'; } ?> </p></div></div><?php } // ********************************************* CHOOSE FIELD $types = rex_xform::getTypeArray(); if ($func == 'choosenadd') { // type and choose !! $link = 'index.php?' . $link_vars . '&table_name=' . $table->getTableName() . '&func=add&'; if (!$table->hasId()) { ?> <div class="rex-addon-output" id="xform-choosenadd"><h2 class="rex-hl2"><?php echo $I18N->msg('xform_id_is_missing'); ?> </h2><div class="rex-addon-content"> <p class="rex-tx1"><?php echo $I18N->msg('xform_id_missing_info'); ?> </p> </div></div> <?php } else { ?> <div class="rex-addon-output" id="xform-choosenadd"><h2 class="rex-hl2"><?php echo $I18N->msg('xform_choosenadd'); ?> </h2><div class="rex-addon-content"> <p class="rex-tx1"><?php echo $I18N->msg('xform_choosenadd_description'); ?> </p> </div></div> <?php if ($type_real_field == '' && count($mfields) > 0) { ?> <div class="rex-addon-output"><h2 class="rex-hl2">Es gibt noch Felder in der Tabelle welche nicht zugewiesen sind.</h2><div class="rex-addon-content"> <?php $d = 0; foreach ($mfields as $k => $v) { $d++; $l = 'index.php?' . $link_vars . '&table_name=' . $table->getTableName() . '&func=choosenadd&type_real_field=' . $k . '&type_layout=t'; echo '<a href="' . $l . '">' . $k . '</a>, '; } ?> </div></div> <?php } ?> <div class="rex-addon-output xform-table_field"> <div class="rex-area-col-2"> <div class="rex-area-col-a"> <h3 class="rex-hl2">beliebte <?php echo $TYPE['value']; ?> </h3> <div class="rex-area-content"><p class="rex-tx1"><?php if (isset($types['value'])) { ksort($types['value']); foreach ($types['value'] as $k => $v) { if (isset($v['famous']) && $v['famous']) { echo '<p class="rex-button"><a class="rex-button" href="' . $link . 'type_id=value&type_name=' . $k . '&type_real_field=' . $type_real_field . '">' . $k . '</a> <span>' . $v['description'] . '</span></p>'; } } } ?> </p></div></div> <div class="rex-area-col-b"><h3 class="rex-hl2">beliebte <?php echo $TYPE['validate']; ?> </h3><div class="rex-area-content"><p class="rex-tx1"><?php if (isset($types['validate'])) { ksort($types['validate']); foreach ($types['validate'] as $k => $v) { if (isset($v['famous']) && $v['famous']) { echo '<p class="rex-button"><a class="rex-button" href="' . $link . 'type_id=validate&type_name=' . $k . '">' . $k . '</a> <span>' . $v['description'] . '</span></p>'; } } } ?> </p></div></div> </div></div> <div class="rex-addon-output xform-table_field"> <div class="rex-area-col-2"> <div class="rex-area-col-a"><h3 class="rex-hl2"><?php echo $TYPE['value']; ?> </h3><div class="rex-area-content"><p class="rex-tx1"><?php if (isset($types['value'])) { ksort($types['value']); foreach ($types['value'] as $k => $v) { if (!isset($v['famous']) || $v['famous'] !== true) { echo '<p class="rex-button"><a class="rex-button" href="' . $link . 'type_id=value&type_name=' . $k . '&type_real_field=' . $type_real_field . '">' . $k . '</a> <span>' . $v['description'] . '</span></p>'; } } } ?> </p></div></div> <div class="rex-area-col-b"><h3 class="rex-hl2"><?php echo $TYPE['validate']; ?> </h3><div class="rex-area-content"><p class="rex-tx1"><?php if (isset($types['validate'])) { ksort($types['validate']); foreach ($types['validate'] as $k => $v) { if (!isset($v['famous']) || $v['famous'] !== true) { echo '<p class="rex-button"><a class="rex-button" href="' . $link . 'type_id=validate&type_name=' . $k . '">' . $k . '</a> <span>' . $v['description'] . '</span></p>'; } } } ?> </p></div></div> </div></div> <!-- <div class="rex-addon-output"> <h2 class="rex-hl2"><?php echo $TYPE['action']; ?> </h2> <div class="rex-addon-content"> <p class="rex-tx1"><?php if (isset($types['action'])) { ksort($types['action']); foreach ($types['action'] as $k => $v) { echo '<p class="rex-button">"<a href="' . $link . 'type_id=action&type_name=' . $k . '">' . $k . '</a>" - ' . $v['description'] . '</p>'; } } ?> </p> </div> </div> --> <?php } $table_echo = '<a href="index.php?' . $link_vars . '&table_name=' . $table->getTableName() . '"><b>« ' . $I18N->msg('xform_back_to_overview') . '</b></a>'; echo rex_content_block($table_echo); } // ********************************************* FORMULAR if (($func == 'add' || $func == 'edit') && isset($types[$type_id][$type_name])) { $xform = new rex_xform(); $xform->setDebug(false); foreach ($this->getLinkVars() as $k => $v) { $xform->setHiddenField($k, $v); } $xform->setHiddenField('func', $func); $xform->setHiddenField('table_name', $table->getTableName()); $xform->setHiddenField('type_real_field', $type_real_field); $xform->setHiddenField('list', rex_request('list', 'string')); $xform->setHiddenField('sort', rex_request('sort', 'string')); $xform->setHiddenField('sorttype', rex_request('sorttype', 'string')); $xform->setHiddenField('start', rex_request('start', 'string')); $xform->setValueField('hidden', array('table_name', $table->getTableName())); $xform->setValueField('hidden', array('type_name', $type_name, 'REQUEST')); $xform->setValueField('hidden', array('type_id', $type_id, 'REQUEST')); $xform->setValueField('prio', array('prio', 'Prioritaet', array('name', 'type_id', 'type_name'), array('table_name'))); $selectFields = array(); $i = 1; foreach ($types[$type_id][$type_name]['values'] as $k => $v) { $field = $this->getFieldName($k, $type_id); $selectFields['f' . $i] = $field; $i++; switch ($v['type']) { case 'name': if ($func == 'edit') { $xform->setValueField('showvalue', array($field, 'Name')); } else { if (!isset($v['value']) && $type_real_field != '') { $v['value'] = $type_real_field; } elseif (!isset($v['value'])) { $v['value'] = ''; } $xform->setValueField('text', array($field, 'Name', $v['value'])); $xform->setValidateField('notEmpty', array($field, $I18N->msg('xform_validatenamenotempty'))); $xform->setValidateField('preg_match', array($field, "/(([a-zA-Z])+([a-zA-Z0-9\\_])*)/", $I18N->msg('xform_validatenamepregmatch'))); $xform->setValidateField('customfunction', array($field, 'rex_xform_manager_checkField', array('table_name' => $table->getTableName()), $I18N->msg('xform_validatenamecheck'))); } break; case 'no_db': if (!isset($v['default']) || $v['default'] != 1) { $v['default'] = 0; } $xform->setValueField('checkbox', array($field, $I18N->msg('xform_donotsaveindb'), 'no_db', $v['default'])); break; case 'boolean': // checkbox|check_design|Bezeichnung|Value|1/0|[no_db] if (!isset($v['default'])) { $v['default'] = ''; } $xform->setValueField('checkbox', array($field, $v['label'], '', $v['default'])); break; case 'select': // select|gender|Geschlecht *|Frau=w;Herr=m|[no_db]|defaultwert|multiple=1 $xform->setValueField('select', array($field, $v['label'], $v['options'], '', $v['default'], 0)); break; case 'table': // ist fest eingetragen, damit keine Dinge durcheinandergehen if ($func == 'edit') { $xform->setValueField('showvalue', array($field, $v['label'])); } else { $_tables = rex_xform_manager_table::getAll(); $_options = array(); if (isset($v['empty_option']) && $v['empty_option']) { $_options[0] = '–='; } foreach ($_tables as $_table) { $_options[$_table['table_name']] = str_replace('=', '-', rex_translate($_table['name']) . ' [' . $_table['table_name'] . ']') . '=' . $_table['table_name']; $_options[$_table['table_name']] = str_replace(',', '.', $_options[$_table['table_name']]); } if (!isset($v['default'])) { $v['default'] = ''; } $xform->setValueField('select', array($field, $v['label'], implode(',', $_options), '', $v['default'], 0)); } break; case 'textarea': $xform->setValueField('textarea', array($field, $v['label'])); break; case 'table.field': // Todo: // Todo: case 'select_name': $_fields = array(); foreach ($table->getValueFields() as $_k => $_v) { $_fields[] = $_k; } $xform->setValueField('select', array($field, $v['label'], implode(',', $_fields), '', '', 0)); break; case 'select_names': $_fields = array(); foreach ($table->getValueFields() as $_k => $_v) { $_fields[] = $_k; } $xform->setValueField('select', array($field, $v['label'], implode(',', $_fields), '', '', 1, 5)); break; default: // nur beim "Bezeichnungsfeld" if ($field == 'label' && $type_real_field != '' && !isset($v['value'])) { $v['value'] = $type_real_field; } elseif (!isset($v['value'])) { $v['value'] = ''; } $xform->setValueField('text', array($field, $v['label'], $v['value'])); } } $xform->setActionField('showtext', array('', '<p>' . $I18N->msg('xform_thankyouforentry') . '</p>')); $xform->setObjectparams('main_table', rex_xform_manager_field::table()); if ($func == 'edit') { $xform->setObjectparams('submit_btn_label', $I18N->msg('xform_save')); $xform->setHiddenField('field_id', $field_id); $xform->setActionField('manage_db', array(rex_xform_manager_field::table(), "id={$field_id}")); $xform->setObjectparams('main_id', $field_id); $xform->setObjectparams('main_where', "id={$field_id}"); $sql = rex_sql::factory(); $sql->setQuery('SELECT * FROM ' . rex_xform_manager_field::table() . " WHERE id={$field_id}"); foreach ($selectFields as $alias => $field) { if ($alias != $field) { if ((!$sql->hasValue($field) || null === $sql->getValue($field) || '' === $sql->getValue($field)) && $sql->hasValue($alias)) { $sql->setValue($field, $sql->getValue($alias)); } $xform->setValueField('hidden', array($alias, '')); } } $xform->setObjectparams('sql_object', $sql); $xform->setObjectparams('getdata', true); } elseif ($func == 'add') { $xform->setObjectparams('submit_btn_label', $I18N->msg('xform_add')); $xform->setActionField('manage_db', array(rex_xform_manager_field::table())); } if ($type_id == 'value') { $xform->setValueField('checkbox', array('list_hidden', $I18N->msg('xform_hideinlist'), 1, '1')); $xform->setValueField('checkbox', array('search', $I18N->msg('xform_useassearchfieldalidatenamenotempty'), 1, '1')); } elseif ($type_id == 'validate') { $xform->setValueField('hidden', array('list_hidden', 1)); } $form = $xform->getForm(); if ($xform->objparams['form_show']) { if ($func == 'add') { echo '<div class="rex-addon-output"><h3 class="rex-hl2">' . $I18N->msg('xform_addfield') . ' "' . $type_name . '"</h3><div class="rex-addon-content">'; } else { echo '<div class="rex-addon-output"><h3 class="rex-hl2">' . $I18N->msg('xform_editfield') . ' "' . $type_name . '"</h3><div class="rex-addon-content">'; } echo $form; echo '</div></div>'; $table_echo = '<a href="index.php?' . $link_vars . '&table_name=' . $table->getTableName() . '"><b>« ' . $I18N->msg('xform_back_to_overview') . '</b></a>'; echo rex_content_block($table_echo); $func = ''; } else { if ($func == 'edit') { $this->generateAll(); echo rex_info($I18N->msg('xform_thankyouforupdate')); } elseif ($func == 'add') { $this->generateAll(); echo rex_info($I18N->msg('xform_thankyouforentry')); } $func = 'list'; } } // ********************************************* LOESCHEN if ($func == 'delete') { $sf = new rex_sql(); $sf->debugsql = self::$debug; $sf->setQuery('select * from ' . rex_xform_manager_field::table() . ' where table_name="' . $table->getTableName() . '" and id=' . $field_id); $sfa = $sf->getArray(); if (count($sfa) == 1) { $query = 'delete from ' . rex_xform_manager_field::table() . ' where table_name="' . $table->getTableName() . '" and id=' . $field_id; $delsql = new rex_sql(); $delsql->debugsql = self::$debug; $delsql->setQuery($query); echo rex_info($I18N->msg('xform_tablefielddeleted')); $this->generateAll(); } else { echo rex_warning($I18N->msg('xform_tablefieldnotfound')); } $func = 'list'; } // ********************************************* CREATE/UPDATE FIELDS if ($func == 'updatetable') { $this->generateAll(); echo rex_info($I18N->msg('xform_tablesupdated')); $func = 'list'; } if ($func == 'updatetablewithdelete') { $this->generateAll(array('delete_fields' => true)); echo rex_info($I18N->msg('xform_tablesupdated')); $func = 'list'; } if ($func == 'show_form_notation') { $formbuilder_fields = $table->getFields(); $notation_php = ''; $notation_pipe = ''; $notation_email = ''; $notation_php_pre = array('$xform = new rex_xform();', '$xform->setObjectparams(\'form_skin\', \'default\');', '$xform->setObjectparams(\'form_showformafterupdate\', 0);', '$xform->setObjectparams(\'real_field_names\', true);'); $notation_php .= implode("\n", $notation_php_pre) . "\n"; $notation_pipe_pre = array('objparams|form_skin|default', 'objparams|form_showformafterupdate|0', 'objparams|real_field_names|true'); $notation_pipe .= implode("\n", $notation_pipe_pre) . "\n"; foreach ($formbuilder_fields as $field) { $classname = rex_xform::includeClass($field['type_id'], $field['type_name']); $cl = new $classname(); $definitions = $cl->getDefinitions(); $values = array(); $i = 1; foreach ($definitions['values'] as $key => $_) { $key = $this->getFieldName($key, $field['type_id']); if (isset($field[$key])) { $values[] = $field[$key]; } elseif (isset($field['f' . $i])) { $values[] = $field['f' . $i]; } else { $values[] = ''; } $i++; } if ($field['type_id'] == 'value') { $notation_php .= "\n" . '$xform->setValueField(\'' . $field['type_name'] . '\', array("' . rtrim(implode('","', $values), '","') . '"));'; $notation_pipe .= "\n" . $field['type_name'] . '|' . rtrim(implode('|', $values), '|') . '|'; $notation_email .= "\n" . $field['label'] . ': ###' . $field['name'] . '###'; } elseif ($field['type_id'] == 'validate') { $notation_php .= "\n" . '$xform->setValidateField(\'' . $field['type_name'] . '\', array("' . rtrim(implode('","', $values), '","') . '"));'; $notation_pipe .= "\n" . $field['type_id'] . '|' . $field['type_name'] . '|' . rtrim(implode('|', $values), '|') . '|'; } elseif ($field['type_id'] == 'action') { $notation_php .= "\n" . '$xform->setActionField(\'' . $field['type_name'] . '\', array("' . rtrim(implode('","', $values), '","') . '"));'; $notation_pipe .= "\n" . $field['type_id'] . '|' . $field['type_name'] . '|' . rtrim(implode('|', $values), '|') . '|'; } } $notation_php .= "\n\n" . '$xform->setActionField(\'db2email\', array(\'emailtemplate\', \'emaillabel\', \'email@domain.de\'));'; $notation_php .= "\n" . 'echo $xform->getForm();'; $notation_pipe .= "\n\n" . 'action|db2email|emailtemplate|emaillabel|email@domain.de'; echo '<div class="rex-addon-output">'; echo '<h2 class="rex-hl2">PHP</h2>'; echo '<div class="rex-addon-content">'; echo '<pre class="rex-code"><code>' . $notation_php . '</code></pre>'; echo '</div></div>'; echo '<div class="rex-addon-output">'; echo '<h2 class="rex-hl2">Pipe</h2>'; echo '<div class="rex-addon-content">'; echo '<pre class="rex-code"><code>' . $notation_pipe . '</code></pre>'; echo '</div></div>'; echo '<div class="rex-addon-output">'; echo '<h2 class="rex-hl2">E-Mail</h2>'; echo '<div class="rex-addon-content">'; echo '<pre class="rex-code"><code>' . $notation_email . '</code></pre>'; echo '</div></div>'; $func = 'list'; } // ********************************************* LIST if ($func == 'list') { // ****** EP XFORM_MANAGER_TABLE_FIELD_FUNC $show_list = true; $show_list = rex_register_extension_point('XFORM_MANAGER_TABLE_FIELD_FUNC', $show_list, array('table' => $table, 'link_vars' => $this->getLinkVars())); if ($show_list) { function rex_xform_list_format($p, $value = '') { if ($value != '') { $p['value'] = $value; } switch ($p['list']->getValue('type_id')) { case 'validate': $style = 'color:#aaa;'; // background-color:#cfd9d9; break; case 'action': $style = 'background-color:#cfd9d9;'; break; default: $style = 'background-color:#eff9f9;'; break; } return '<td style="' . $style . '">' . $p['value'] . '</td>'; } function rex_xform_list_edit_format($p) { global $REX, $I18N; return rex_xform_list_format($p, $p['list']->getColumnLink($I18N->msg('xform_edit'), $I18N->msg('xform_edit'))); } function rex_xform_list_delete_format($p) { global $REX, $I18N; return rex_xform_list_format($p, $p['list']->getColumnLink($I18N->msg('xform_delete'), $I18N->msg('xform_delete'))); } $table_echo = ' <div class="rex-area-col-2"> <div class="rex-area-col-a"> <a href="index.php?' . $link_vars . '&table_name=' . $table->getTableName() . '&func=choosenadd"><b>+ ' . $I18N->msg('xform_addtablefield') . '</b></a> </div> <div class="rex-area-col-b rex-algn-rght"> <ul class="rex-navi-piped"> <li><a href="index.php?' . $link_vars . '&table_name=' . $table->getTableName() . '&func=show_form_notation">' . $I18N->msg('xform_manager_show_form_notation') . '</a></li><li><a href="index.php?' . $link_vars . '&table_name=' . $table->getTableName() . '&func=updatetable">' . $I18N->msg('xform_updatetable') . '</a></li><li><a href="index.php?' . $link_vars . '&table_name=' . $table->getTableName() . '&func=updatetablewithdelete" onclick="return confirm(\'' . $I18N->msg('xform_updatetable_with_delete_confirm') . '\')">' . $I18N->msg('xform_updatetable_with_delete') . '</a></li> </ul> </div> </div> <div class="rex-clearer"></div> '; echo rex_content_block($table_echo); $sql = 'select id, prio, type_id, type_name, name from ' . rex_xform_manager_field::table() . ' where table_name="' . $table->getTableName() . '" order by prio'; $list = rex_list::factory($sql, 30); // $list->debug = 1; $list->setColumnFormat('id', 'Id'); foreach ($this->getLinkVars() as $k => $v) { $list->addParam($k, $v); } $list->addParam('start', rex_request('start', 'int')); $list->addParam('table_name', $table->getTableName()); $list->removeColumn('id'); $list->setColumnLabel('prio', $I18N->msg('xform_manager_table_prio_short')); $list->setColumnLabel('type_id', $I18N->msg('xform_manager_type_id')); $list->setColumnLabel('type_name', $I18N->msg('xform_manager_type_name')); $list->setColumnLabel('name', $I18N->msg('xform_manager_name')); $list->setColumnLayout('prio', array('<th>###VALUE###</th>', '###VALUE###')); $list->setColumnFormat('prio', 'custom', 'rex_xform_list_format'); $list->setColumnLayout('type_id', array('<th>###VALUE###</th>', '###VALUE###')); $list->setColumnFormat('type_id', 'custom', 'rex_xform_list_format'); $list->setColumnLayout('type_name', array('<th>###VALUE###</th>', '###VALUE###')); $list->setColumnFormat('type_name', 'custom', 'rex_xform_list_format'); $list->setColumnLayout('name', array('<th>###VALUE###</th>', '###VALUE###')); // ###VALUE### $list->setColumnFormat('name', 'custom', 'rex_xform_list_format'); $list->addColumn($I18N->msg('xform_edit'), $I18N->msg('xform_edit')); $list->setColumnParams($I18N->msg('xform_edit'), array('field_id' => '###id###', 'func' => 'edit', 'type_name' => '###type_name###', 'type_id' => '###type_id###')); $list->setColumnLayout($I18N->msg('xform_edit'), array('<th>###VALUE###</th>', '###VALUE###')); $list->setColumnFormat($I18N->msg('xform_edit'), 'custom', 'rex_xform_list_edit_format'); $list->addColumn($I18N->msg('xform_delete'), $I18N->msg('xform_delete')); $list->setColumnParams($I18N->msg('xform_delete'), array('field_id' => '###id###', 'func' => 'delete')); $list->setColumnLayout($I18N->msg('xform_delete'), array('<th>###VALUE###</th>', '###VALUE###')); $list->setColumnFormat($I18N->msg('xform_delete'), 'custom', 'rex_xform_list_delete_format'); $list->addLinkAttribute($I18N->msg('xform_delete'), 'onclick', 'return confirm(\' [###type_id###, ###type_name###, ###name###] ' . $I18N->msg('xform_delete') . ' ?\')'); echo $list->get(); } } }
<?php $vid = rex_request('vid', 'int'); if ($func == '') { $list = rex_list::factory(' SELECT v.vid, v.name, v.street, v.city FROM ' . $REX['ADDON']['dbpref']['events'] . 'venues v ORDER BY vid LIMIT 10;'); $imgHeader = '<a href="' . $list->getUrl(array('func' => 'add')) . '"><img src="media/metainfo_plus.gif" alt="add" title="add" /></a>'; $list->setColumnSortable('name'); $list->setColumnSortable('city'); $list->addColumn($imgHeader, '<img src="media/metainfo.gif" alt="field" title="field" />', 0, array('<th class="rex-icon">###VALUE###</th>', '<td class="rex-icon">###VALUE###</td>')); $list->setColumnParams($imgHeader, array('func' => 'edit', 'vid' => '###vid###')); $list->setColumnLabel('name', 'Veranstaltungsort'); $list->setColumnLabel('street', 'Straße'); $list->setColumnLabel('city', 'Stadt'); $list->removeColumn('vid'); $list->setColumnLayout('eid', array('<th class="rex-icon">###VALUE###</th>', '<td class="rex-icon">###VALUE###</td>')); $list->setColumnParams('name', array('func' => 'edit', 'vid' => '###vid###')); $list->show(); } elseif ($func == 'edit' || $func == 'add') { $form = rex_form::factory($REX['ADDON']['dbpref']['events'] . 'venues', 'Veranstaltungsorte', 'vid=' . $vid); $field =& $form->addTextField('name'); $field->setLabel('Veranstaltungsort'); $field =& $form->addTextField('street'); $field->setLabel('Straße'); $field =& $form->addTextField('city'); $field->setLabel('Stadt'); if ($func == 'edit') { $form->addParam('eid', $id);
<?php $message = ''; $content = ''; if ($func == 'delete') { $sql = rex_sql::factory(); $sql->setQuery('DELETE FROM ' . rex::getTable('user_role') . ' WHERE id = ? LIMIT 1', [$id]); $message = rex_view::info(rex_i18n::msg('user_role_deleted')); $func = ''; } if ($func == '') { $title = rex_i18n::msg('user_role_caption'); $list = rex_list::factory('SELECT id, name FROM ' . rex::getTablePrefix() . 'user_role'); $list->addTableAttribute('class', 'table-striped'); $tdIcon = '<i class="rex-icon rex-icon-userrole"></i>'; $thIcon = '<a href="' . $list->getUrl(['func' => 'add', 'default_value' => 1]) . '"' . rex::getAccesskey(rex_i18n::msg('create_user_role'), 'add') . ' title="' . rex_i18n::msg('create_user_role') . '"><i class="rex-icon rex-icon-add-userrole"></i></a>'; $list->addColumn($thIcon, $tdIcon, 0, ['<th>###VALUE###</th>', '<td>###VALUE###</td>']); $list->setColumnParams($thIcon, ['func' => 'edit', 'id' => '###id###']); $list->setColumnLabel('id', rex_i18n::msg('id')); $list->setColumnLayout('id', ['<th>###VALUE###</th>', '<td>###VALUE###</td>']); $list->setColumnLabel('name', rex_i18n::msg('name')); $list->setColumnLayout('name', ['<th>###VALUE###</th>', '<td>###VALUE###</td>']); $list->setColumnParams('name', ['func' => 'edit', 'id' => '###id###']); $list->addColumn('edit', '<i class="rex-icon rex-icon-edit"></i> ' . rex_i18n::msg('edit')); $list->setColumnLabel('edit', rex_i18n::msg('user_functions')); $list->setColumnLayout('edit', ['<th colspan="2">###VALUE###</th>', '<td>###VALUE###</td>']); $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###']);
<?php $func = rex_request('func', 'string'); if ($func == '') { $list = rex_list::factory("SELECT `id`, `caption` FROM `" . rex::getTablePrefix() . "socialhub_entry_hashtag` WHERE `source` = 'twitter' ORDER BY `id` DESC"); $list->addTableAttribute('class', 'table-striped'); $list->setNoRowsMessage($this->i18n('entries_norowsmessage')); // icon column $list->addColumn(' ', '<i class="rex-icon fa-twitter"></i>', 0, ['<th class="rex-table-icon">###VALUE###</th>', '<td class="rex-table-icon">###VALUE###</td>']); $list->setColumnLabel('caption', $this->i18n('entries_column_caption')); $list->setColumnFormat('caption', 'custom', function ($params) { return urldecode($params['subject']); }); $funcs = $this->i18n('entries_column_status'); $list->addColumn($funcs, '<i class="rex-icon rex-icon-online"></i> online', -1, ['<th class="rex-table-action" colspan="2">###VALUE###</th>', '<td class="rex-table-action">###VALUE###</td>']); $list->setColumnParams($funcs, ['id' => '###id###', 'func' => 'toggleVisibility']); $list->removeColumn('id'); $content = $list->get(); $fragment = new rex_fragment(); $fragment->setVar('content', $content, false); $content = $fragment->parse('core/page/section.php'); echo $content; }
<?php $func = rex_request('func', 'string'); if ($func == 'delete') { $id = rex_request('id', 'int'); $sql = rex_sql::factory(); // $sql->setDebug(); $sql->setTable('rex_aufgaben_kategorien'); $sql->setWhere('id = ' . $id); if ($sql->delete()) { echo '<div class="alert alert-success">Die Kategorie wurde gelöscht.</div>'; } $func = ''; } if ($func == '') { $list = rex_list::factory("SELECT * FROM " . rex::getTablePrefix() . "aufgaben_kategorien ORDER BY kategorie ASC"); $list->addTableAttribute('class', 'table-striped'); $list->setNoRowsMessage('<div class="alert alert-info" role="alert"><strong>Keine Kategorie vorhanden.</strong><br/>Bitte legen Sie eine Kategroie an.</div>'); // icon column $thIcon = '<a href="' . $list->getUrl(['func' => 'add']) . '" title="Kategorie hinzufügen"><i class="rex-icon rex-icon-add-action"></i></a>'; $tdIcon = '<i class="rex-icon fa-file-text-o"></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', 'id' => '###id###']); $list->setColumnLabel('kategorie', 'Kategorie'); $list->setColumnLabel('farbe', 'Farbe'); $delete = 'deleteCol'; $list->addColumn($delete, '<i class="rex-icon rex-icon-delete"></i> löschen', -1, ['', '<td class="rex-table-action">###VALUE###</td>']); $list->setColumnParams($delete, ['id' => '###id###', 'func' => 'delete']); $list->addLinkAttribute($delete, 'data-confirm', rex_i18n::msg('delete') . ' ?'); $list->removeColumn('id'); $content = $list->get();
}); //--></script>'; echo $message; echo $content; $OUT = false; } } if ($OUT) { if ($success != '') { $message .= rex_view::success($success); } if ($error != '') { $message .= rex_view::error($error); } $list = rex_list::factory('SELECT id, name, active FROM ' . rex::getTablePrefix() . 'template ORDER BY name'); $list->addTableAttribute('class', 'table-striped table-hover'); $tdIcon = '<i class="rex-icon rex-icon-template"></i>'; $thIcon = '<a href="' . $list->getUrl(['function' => 'add']) . '"' . rex::getAccesskey(rex_i18n::msg('create_template'), 'add') . ' title="' . rex_i18n::msg('create_template') . '"><i class="rex-icon rex-icon-add-template"></i></a>'; $list->addColumn($thIcon, $tdIcon, 0, ['<th class="rex-table-icon">###VALUE###</th>', '<td class="rex-table-icon">###VALUE###</td>']); $list->setColumnParams($thIcon, ['function' => 'edit', 'template_id' => '###id###']); $list->setColumnLabel('id', rex_i18n::msg('id')); $list->setColumnLayout('id', ['<th class="rex-table-id">###VALUE###</th>', '<td class="rex-table-id" data-title="' . rex_i18n::msg('id') . '">###VALUE###</td>']); $list->setColumnLabel('name', rex_i18n::msg('header_template_description')); $list->setColumnParams('name', ['function' => 'edit', 'template_id' => '###id###']); $list->setColumnLabel('active', rex_i18n::msg('header_template_active')); $list->setColumnFormat('active', 'custom', function ($params) { $list = $params['list']; return $list->getValue('active') == 1 ? '<i class="rex-icon rex-icon-active-true"></i> ' . rex_i18n::msg('yes') : '<i class="rex-icon rex-icon-active-false"></i> ' . rex_i18n::msg('no'); }); $list->addColumn(rex_i18n::msg('header_template_functions'), '<i class="rex-icon rex-icon-edit"></i> ' . rex_i18n::msg('edit'));
} } } else { if ($func == 'delete') { $query = "delete from {$table} where id='" . $template_id . "' "; $delsql = rex_sql::factory(); $delsql->setQuery($query); $content = rex_view::success(rex_i18n::msg('yform_email_info_template_deleted')); } } echo $content; if ($show_list) { $add_sql = ' ORDER BY name'; $link = ''; $sql = "select * from {$table} " . $add_sql; $list = rex_list::factory($sql); // $list->setCaption(rex_i18n::msg('yform_email_header_template_caption')); $list->addTableAttribute('summary', rex_i18n::msg('yform_email_header_template_summary')); $list->addTableAttribute('class', 'table-striped'); $list->addTableColumnGroup(array(40, 40, '*', 153, 153)); $tdIcon = '<i class="rex-icon rex-icon-template"></i>'; $thIcon = '<a href="' . $list->getUrl(['func' => 'add']) . '"' . rex::getAccesskey(rex_i18n::msg('create_template'), 'add') . ' title="' . rex_i18n::msg('create_template') . '"><i class="rex-icon rex-icon-add-template"></i></a>'; $list->addColumn($thIcon, $tdIcon, 0, ['<th class="rex-table-icon">###VALUE###</th>', '<td class="rex-table-icon">###VALUE###</td>']); $list->setColumnLabel('id', 'ID'); $list->setColumnLayout('id', array('<th class="rex-small">###VALUE###</th>', '<td class="rex-small">###VALUE###</td>')); $list->setColumnLabel('name', rex_i18n::msg('yform_email_header_template_description')); $list->setColumnParams('name', array('page' => $page, 'func' => 'edit', 'template_id' => '###id###')); $list->setColumnLabel('mail_from', rex_i18n::msg('yform_email_header_template_mail_from')); $list->setColumnLabel('mail_from_name', rex_i18n::msg('yform_email_header_template_mail_from_name')); $list->setColumnLabel('subject', rex_i18n::msg('yform_email_header_template_subject')); $list->removeColumn('body');
<?php /** * News Addon * @author Jens Fuchs <fuchs at d-mind.de> * @project Redaxo-News-Addon * @date 05.11.2012 */ $Basedir = dirname(__FILE__); $entry_id = !empty($entry_id) ? (int) $entry_id : 0; $mode = !empty($mode) ? (string) $mode : ''; if ($func == '') { $list = rex_list::factory(' SELECT id, name FROM ' . TBL_NEWS_CATS . ' ORDER BY id', '50', '', false, 'rex_list_extended'); $list->addTableColumnGroup(array(40, '*')); $imgHeader = '<a href="' . $list->getUrl(array('func' => 'add', 'clang' => $clang)) . '"><img src="media/metainfo_plus.gif" alt="Neuen Datensatz hinzufügen" title="Neuen Datensatz hinzufügen" /></a>'; $list->addColumn($imgHeader, '###' . 'id###', 0, array('<th class="rex-icon">###VALUE###</th>', '<td class="rex-small">###VALUE###</td>')); $list->setColumnLabel('title', 'Titel'); $list->removeColumn('id'); $list->setColumnSortable('name'); $list->setColumnLabel('name', 'Name'); $list->addColumn('function', $I18N->msg('edit')); $list->setColumnLabel('function', 'Editieren'); $list->setColumnParams('function', array('func' => 'edit', 'id' => '###id###', 'clang' => $clang)); $list->show(); } // Hinzufuegen und Editieren if ($func == "add" || $func == "edit") {
if (!$REX['WEBSITE_MANAGER_SETTINGS']['identical_clangs']) { rex_website_manager::deleteClangFile($websiteId); } // update init file to reflect changes rex_website_manager::updateInitFile(); return true; }); // output echo '<div class="rex-addon-output-v2">'; if ($REX['WEBSITE_MANAGER']->getCurrentWebsiteId() > 1) { // user can only edit websites if selected website is master website echo rex_info($I18N->msg('website_manager_website_master_msg')); } elseif ($func == '') { // show website list $query = 'SELECT * FROM rex_website ORDER BY priority'; $list = rex_list::factory($query, 10000); $list->setNoRowsMessage($I18N->msg('website_manager_website_no_websites_available')); $list->setCaption($I18N->msg('website_manager_website_list')); $list->addTableAttribute('summary', $I18N->msg('website_manager_website_list')); $list->addTableColumnGroup(array(40, 40, '*', 280, 80, 80)); $list->removeColumn('start_article_id'); $list->removeColumn('notfound_article_id'); $list->removeColumn('default_template_id'); $list->removeColumn('table_prefix'); $list->removeColumn('color'); $list->removeColumn('protocol'); $list->removeColumn('priority'); $list->removeColumn('theme_id'); $list->setColumnLabel('id', $I18N->msg('website_manager_website_id')); $list->setColumnLabel('domain', $I18N->msg('website_manager_website_domain')); $list->setColumnLabel('title', $I18N->msg('website_manager_website_title'));
if ($field != '') { $return .= '<dt>' . $I18N->msg('b_url_control_generate_restriction') . ': </dt><dd><code>' . $field . $operator . $value . '</code></dd>'; } $return .= '</dl>'; return $return; } } if ($func == '') { $query = ' SELECT `id`, `article_id`, `clang`, `url`, `table`, `table_parameters` FROM ' . $REX['TABLE_PREFIX'] . 'url_control_generate'; $list = rex_list::factory($query, 30, 'url_control_generate'); // $list->debug = true; $list->setNoRowsMessage($I18N->msg('b_no_results')); $list->setCaption($I18N->msg('b_tables')); $list->addTableAttribute('summary', $I18N->msg('b_tables')); $list->addTableColumnGroup(array(40, '*', 200, 153)); $header = '<a class="rex-i-element rex-i-generic-add" href="' . $list->getUrl(array('func' => 'add')) . '"><span class="rex-i-element-text">' . $I18N->msg('b_add_entry', $I18N->msg('b_table')) . '</span></a>'; $list->addColumn($header, '###id###', 0, array('<th class="rex-icon">###VALUE###</th>', '<td class="rex-small">###VALUE###</td>')); $list->removeColumn('id'); $list->removeColumn('clang'); $list->removeColumn('url'); $list->removeColumn('table'); $list->removeColumn('table_parameters'); $list->setColumnLabel('article_id', $I18N->msg('b_article')); $list->setColumnFormat('article_id', 'custom', 'url_generate_column_article'); $list->addColumn('data', '');
$field_id = rex_request('field_id', 'int'); //------------------------------> Feld loeschen if ($func == 'delete') { $field_id = rex_request('field_id', 'int', 0); if ($field_id != 0) { if (a62_delete_field($field_id)) { echo rex_info($I18N->msg('minfo_field_successfull_deleted')); } else { echo rex_warning($I18N->msg('minfo_field_error_deleted')); } } $func = ''; } //------------------------------> Eintragsliste if ($func == '') { $list = rex_list::factory('SELECT field_id, name FROM ' . $REX['TABLE_PREFIX'] . '62_params WHERE `name` LIKE "' . $prefix . '%" ORDER BY prior'); $list->setCaption($I18N->msg('minfo_field_list_caption')); $imgHeader = '<a class="rex-i-element rex-i-metainfo-add" href="' . $list->getUrl(array('func' => 'add')) . '"><span class="rex-i-element-text">' . $I18N->msg('add') . '</span></a>'; $list->addColumn($imgHeader, '<span class="rex-i-element rex-i-metainfo"><span class="rex-i-element-text">' . $I18N->msg('edit') . '</span></span>', 0, array('<th class="rex-icon">###VALUE###</th>', '<td class="rex-icon">###VALUE###</td>')); $list->setColumnParams($imgHeader, array('func' => 'edit', 'field_id' => '###field_id###')); $list->removeColumn('field_id'); $list->addTableColumnGroup(array(40, '*', 80)); $list->setColumnLabel('field_id', $I18N->msg('minfo_field_label_id')); $list->setColumnLayout('field_id', array('<th class="rex-small">###VALUE###</th>', '<td class="rex-small">###VALUE###</td>')); $list->setColumnLabel('name', $I18N->msg('minfo_field_label_name')); $list->setColumnParams('name', array('func' => 'edit', 'field_id' => '###field_id###')); $list->addColumn('delete', $I18N->msg('delete'), -1, array('<th>' . $I18N->msg('minfo_field_label_function') . '</th>', '<td>###VALUE###</td>')); $list->setColumnParams('delete', array('func' => 'delete', 'field_id' => '###field_id###')); $list->addLinkAttribute('delete', 'onclick', "return confirm('" . $I18N->msg('delete') . " ?');"); $list->setNoRowsMessage($I18N->msg('minfo_metainfos_not_found')); $list->show();
$info = $I18N->msg('imanager_cache_files_removed', $counter); $func = ''; } //-------------- output messages if ($info != '') { echo rex_info($info); } if ($warning != '') { echo rex_warning($warning); } echo '<div class="rex-addon-output-v2">'; if ($func == '') { // Nach Status sortieren, damit Systemtypen immer zuletzt stehen // (werden am seltesten bearbeitet) $query = 'SELECT * FROM ' . $REX['TABLE_PREFIX'] . '679_types ORDER BY status, name'; $list = rex_list::factory($query); $list->setNoRowsMessage($I18N->msg('imanager_type_no_types')); $list->setCaption($I18N->msg('imanager_type_caption')); $list->addTableAttribute('summary', $I18N->msg('imanager_type_summary')); $list->addTableColumnGroup(array(40, 100, '*', 120, 120, 120)); $list->removeColumn('id'); $list->removeColumn('status'); $list->setColumnLabel('name', $I18N->msg('imanager_type_name')); $list->setColumnParams('name', array('func' => 'edit', 'type_id' => '###id###')); $list->setColumnLabel('description', $I18N->msg('imanager_type_description')); // icon column $thIcon = '<a class="rex-i-element rex-i-generic-add" href="' . $list->getUrl(array('func' => 'add')) . '"><span class="rex-i-element-text">' . $I18N->msg('imanager_type_create') . '</span></a>'; $tdIcon = '<span class="rex-i-element rex-i-generic"><span class="rex-i-element-text">###name###</span></span>'; $list->addColumn($thIcon, $tdIcon, 0, array('<th class="rex-icon">###VALUE###</th>', '<td class="rex-icon">###VALUE###</td>')); $list->setColumnParams($thIcon, array('func' => 'edit', 'type_id' => '###id###')); // functions column spans 2 data-columns
<form action="' . rex_url::currentBackendPage() . '" method="post"> ' . $content . ' </form>'; echo $message; echo $content; $OUT = false; } } if ($OUT) { if ($success != '') { $message .= rex_view::success($success); } if ($error != '') { $message .= rex_view::error($error); } $list = rex_list::factory('SELECT id, name FROM ' . rex::getTablePrefix() . 'module ORDER BY name'); $list->addTableAttribute('class', 'table-striped table-hover'); $tdIcon = '<i class="rex-icon rex-icon-module"></i>'; $thIcon = '<a href="' . $list->getUrl(['function' => 'add']) . '"' . rex::getAccesskey(rex_i18n::msg('create_module'), 'add') . ' title="' . rex_i18n::msg('create_module') . '"><i class="rex-icon rex-icon-add-module"></i></a>'; $list->addColumn($thIcon, $tdIcon, 0, ['<th class="rex-table-icon">###VALUE###</th>', '<td class="rex-table-icon">###VALUE###</td>']); $list->setColumnParams($thIcon, ['function' => 'edit', 'module_id' => '###id###']); $list->setColumnLabel('id', rex_i18n::msg('id')); $list->setColumnLayout('id', ['<th class="rex-table-id">###VALUE###</th>', '<td class="rex-table-id" data-title="' . rex_i18n::msg('id') . '">###VALUE###</td>']); $list->setColumnLabel('name', rex_i18n::msg('module_description')); $list->setColumnParams('name', ['function' => 'edit', 'module_id' => '###id###']); $list->addColumn(rex_i18n::msg('module_functions'), '<i class="rex-icon rex-icon-edit"></i> ' . rex_i18n::msg('edit')); $list->setColumnLayout(rex_i18n::msg('module_functions'), ['<th class="rex-table-action" colspan="2">###VALUE###</th>', '<td class="rex-table-action">###VALUE###</td>']); $list->setColumnParams(rex_i18n::msg('module_functions'), ['function' => 'edit', 'module_id' => '###id###']); $list->addColumn(rex_i18n::msg('delete_module'), '<i class="rex-icon rex-icon-delete"></i> ' . rex_i18n::msg('delete')); $list->setColumnLayout(rex_i18n::msg('delete_module'), ['', '<td class="rex-table-action">###VALUE###</td>']); $list->setColumnParams(rex_i18n::msg('delete_module'), ['function' => 'delete', 'module_id' => '###id###']);
function prepare() { global $REX, $I18N; $limit = A659_DEFAULT_LIMIT; $list = rex_list::factory('SELECT category_id, file_id, filename, updateuser, updatedate FROM ' . $REX['TABLE_PREFIX'] . 'file ORDER BY updatedate DESC LIMIT ' . $limit); $list->setCaption($I18N->msg('pool_file_caption')); $list->addTableAttribute('summary', $I18N->msg('pool_file_summary')); $list->addTableColumnGroup(array(40, '*', 120, 150)); $list->removeColumn('category_id'); $list->removeColumn('file_id'); $editParams = array('page' => 'mediapool', 'subpage' => 'detail', 'rex_file_category' => '###category_id###', 'file_id' => '###file_id###'); $thIcon = ''; $tdIcon = '<span class="rex-i-element rex-i-media"><span class="rex-i-element-text">###filename###</span></span>'; $list->addColumn($thIcon, $tdIcon, 0, array('<th class="rex-icon">###VALUE###</th>', '<td class="rex-icon">###VALUE###</td>')); $list->setColumnParams($thIcon, $editParams); $list->addLinkAttribute($thIcon, 'onclick', 'newPoolWindow(this.href); return false;'); $list->setColumnLabel('filename', $I18N->msg('pool_file_info')); $list->setColumnParams('filename', $editParams); $list->addLinkAttribute('filename', 'onclick', 'newPoolWindow(this.href); return false;'); $list->setColumnLabel('updateuser', $I18N->msg('userinfo_component_stats_user')); $list->setColumnLabel('updatedate', $I18N->msg('userinfo_component_stats_date')); $list->setColumnFormat('updatedate', 'strftime', 'datetime'); $this->setContent($list->get()); }
$aktueller_done_status = $sql->getValue('done'); if ($aktueller_done_status == 0) { $where = ' a.status > 0'; } else { $where = ' a.status != 6'; } $query = 'SELECT a.*, a.id AS id, k.id, k.category AS category_name, k.color FROM ' . rex::getTable('aufgaben') . ' AS a LEFT JOIN ' . rex::getTable('aufgaben_categories') . ' AS k ON a.category = k.id WHERE ' . $where . ' ' . $addsql . ' ORDER BY a.id DESC'; $list = rex_list::factory($query, 30, 'aufgaben'); // Anzahl der Aufgaben $anzahl = $list->getRows(); $sql_anzahl = rex_sql::factory(); // $sql_anzahl->setDebug(); $sql_anzahl->setTable('rex_aufgaben_user_settings'); $sql_anzahl->setWhere('user = '******'rex_aufgaben_user_settings'); $sql_anzahl_update->setWhere('user = '******'counter', $anzahl); $sql_anzahl_update->update(); } else { $sql_anzahl_insert = rex_sql::factory();
// use exit statement, if you want to debug return true; }); // delete redirect (after form submit) rex_register_extension('REX_FORM_DELETED', function ($params) { global $REX; seo42_utils::updateRedirectsFile(false); // use exit statement, if you want to debug return true; }); // output echo '<div class="rex-addon-output-v2">'; if ($func == '') { // rex list $query = 'SELECT * FROM ' . $REX['TABLE_PREFIX'] . 'redirects ORDER BY id'; $list = rex_list::factory($query, 9999); $list->setNoRowsMessage($I18N->msg('seo42_redirect_no_sytles_available')); $list->setCaption($I18N->msg('seo42_redirect_list_of_redirects')); $list->addTableAttribute('summary', $I18N->msg('seo42_redirect_list_of_redirects')); $list->setColumnLabel('id', $I18N->msg('seo42_redirect_id')); $list->setColumnLabel('source_url', $I18N->msg('seo42_redirect_source_url')); $list->setColumnLabel('target_url', $I18N->msg('seo42_redirect_target_url')); if (seo42_utils::redirectsDoExpire()) { $list->addTableColumnGroup(array(40, 40, 300, 300, 100, 80, 80, 80)); $list->removeColumn('create_date'); $list->setColumnLabel('expire_date', $I18N->msg('seo42_redirect_expire_date')); } else { $list->addTableColumnGroup(array(40, 40, 300, 300, 80, 80, 80)); $list->removeColumn('create_date'); $list->removeColumn('expire_date'); }
function getFieldPage() { // ********************************************* FIELD ADD/EDIT/LIST $func = rex_request('func', 'string', 'list'); $type_id = rex_request('type_id', 'string'); $type_name = rex_request('type_name', 'string'); $field_id = rex_request('field_id', 'int'); $link_vars = ''; foreach ($this->getLinkVars() as $k => $v) { $link_vars .= '&' . urlencode($k) . '=' . urlencode($v); } $TYPE = array('value' => rex_i18n::msg('yform_values'), 'validate' => rex_i18n::msg('yform_validates'), 'action' => rex_i18n::msg('yform_action')); // ********************************** TABELLE HOLEN $table = $this->table; $table_info = '<b>' . rex_i18n::translate($table->getName()) . ' [' . $table->getTableName() . ']</b> '; echo rex_view::info($table_info); // ********************************************* Missing Fields $mfields = $table->getMissingFields(); // ksort($mfields); $type_real_field = rex_request('type_real_field', 'string'); if ($type_real_field != '' && !array_key_exists($type_real_field, $mfields)) { $type_real_field = ''; } if ($type_real_field != '') { $panel = ''; $panel .= '<dl class="dl-horizontal text-left">'; $rfields = $this->table->getColumns(); foreach ($rfields[$type_real_field] as $k => $v) { $panel .= '<dt>' . ucfirst($k) . ':</dt><dd>' . $v . '</dd>'; } $panel .= '</dl>'; $fragment = new rex_fragment(); $fragment->setVar('class', 'info'); $fragment->setVar('title', 'Folgendes Feld wird verwendet: ' . $type_real_field); $fragment->setVar('body', $panel, false); echo $fragment->parse('core/page/section.php'); } // ********************************************* CHOOSE FIELD $types = rex_yform::getTypeArray(); if ($func == 'choosenadd') { $link = 'index.php?' . $link_vars . '&table_name=' . $table->getTableName() . '&func=add&'; $content = []; $panels = []; if (!$table->hasId()) { $content[] = rex_i18n::msg('yform_id_is_missing') . '' . rex_i18n::msg('yform_id_missing_info'); } else { if ($type_real_field == '' && count($mfields) > 0) { $tmp = ''; $d = 0; foreach ($mfields as $k => $v) { $d++; $l = 'index.php?' . $link_vars . '&table_name=' . $table->getTableName() . '&func=choosenadd&type_real_field=' . $k . '&type_layout=t'; $tmp .= '<a class="btn btn-default" href="' . $l . '">' . $k . '</a> '; } $fragment = new rex_fragment(); $fragment->setVar('class', 'info'); $fragment->setVar('title', 'Es gibt noch Felder in der Tabelle welche nicht zugewiesen sind.'); $fragment->setVar('body', $tmp, false); echo $fragment->parse('core/page/section.php'); } $tmp = ''; if (isset($types['value'])) { ksort($types['value']); $tmp .= '<table class="table table-hover">'; foreach ($types['value'] as $k => $v) { $tmp .= '<tr><th><a class="btn btn-default btn-block" href="' . $link . 'type_id=value&type_name=' . $k . '&type_real_field=' . $type_real_field . '"><code>' . $k . '</code></a></th><td class="vertical-middle">' . $v['description'] . '</td></tr>'; } $tmp .= '</table>'; } $fragment = new rex_fragment(); $fragment->setVar('title', $TYPE['value']); $fragment->setVar('content', $tmp, false); $panels[] = $fragment->parse('core/page/section.php'); $tmp = ''; if (isset($types['validate'])) { ksort($types['validate']); $tmp .= '<table class="table table-hover">'; foreach ($types['validate'] as $k => $v) { $tmp .= '<tr><th><a class="btn btn-default btn-block" href="' . $link . 'type_id=validate&type_name=' . $k . '"><code>' . $k . '</code></a></th><td class="vertical-middle">' . $v['description'] . '</td></tr>'; } $tmp .= '</table>'; } $fragment = new rex_fragment(); $fragment->setVar('title', $TYPE['validate']); $fragment->setVar('content', $tmp, false); $panels[] = $fragment->parse('core/page/section.php'); } $fragment = new rex_fragment(); $fragment->setVar('title', rex_i18n::msg('yform_choosenadd')); $fragment->setVar('body', rex_i18n::msg('yform_choosenadd_description'), false); echo $fragment->parse('core/page/section.php'); $fragment = new rex_fragment(); $fragment->setVar('content', $panels, false); echo $fragment->parse('core/page/grid.php'); $table_echo = '<a class="btn btn-default" href="index.php?' . $link_vars . '&table_name=' . $table->getTableName() . '">' . rex_i18n::msg('yform_back_to_overview') . '</a>'; $fragment = new rex_fragment(); $fragment->setVar('footer', $table_echo, false); echo $fragment->parse('core/page/section.php'); } // ********************************************* FORMULAR if (($func == 'add' || $func == 'edit') && isset($types[$type_id][$type_name])) { $yform = new rex_yform(); $yform->setDebug(false); foreach ($this->getLinkVars() as $k => $v) { $yform->setHiddenField($k, $v); } $yform->setHiddenField('func', $func); $yform->setHiddenField('table_name', $table->getTableName()); $yform->setHiddenField('type_real_field', $type_real_field); $yform->setHiddenField('list', rex_request('list', 'string')); $yform->setHiddenField('sort', rex_request('sort', 'string')); $yform->setHiddenField('sorttype', rex_request('sorttype', 'string')); $yform->setHiddenField('start', rex_request('start', 'string')); $yform->setValueField('hidden', array('table_name', $table->getTableName())); $yform->setValueField('hidden', array('type_name', $type_name, 'REQUEST')); $yform->setValueField('hidden', array('type_id', $type_id, 'REQUEST')); $yform->setValueField('prio', array('prio', 'Prioritaet', array('name', 'type_id', 'type_name'), array('table_name'))); $selectFields = array(); $i = 1; foreach ($types[$type_id][$type_name]['values'] as $k => $v) { $field = $this->getFieldName($k, $type_id); $selectFields['f' . $i] = $field; $i++; switch ($v['type']) { case 'name': if ($func == 'edit') { $yform->setValueField('showvalue', array($field, 'Name')); } else { if (!isset($v['value']) && $type_real_field != '') { $v['value'] = $type_real_field; } elseif (!isset($v['value'])) { $v['value'] = ''; } $yform->setValueField('text', array($field, 'Name', $v['value'])); $yform->setValidateField('empty', array($field, rex_i18n::msg('yform_validatenamenotempty'))); $yform->setValidateField('preg_match', array($field, "/(([a-zA-Z])+([a-zA-Z0-9\\_])*)/", rex_i18n::msg('yform_validatenamepregmatch'))); $yform->setValidateField('customfunction', array($field, 'rex_yform_manager_checkField', array('table_name' => $table->getTableName()), rex_i18n::msg('yform_validatenamecheck'))); } break; case 'no_db': if (!isset($v['default']) || $v['default'] != 1) { $v['default'] = 0; } $yform->setValueField('checkbox', array($field, rex_i18n::msg('yform_donotsaveindb'), 'no_db', $v['default'])); break; case 'boolean': // checkbox|check_design|Bezeichnung|Value|1/0|[no_db] if (!isset($v['default'])) { $v['default'] = ''; } $yform->setValueField('checkbox', array($field, $v['label'], '', $v['default'])); break; case 'select': // select|gender|Geschlecht *|Frau=w;Herr=m|[no_db]|defaultwert|multiple=1 $yform->setValueField('select', array($field, $v['label'], $v['options'], '', $v['default'], 0)); break; case 'table': // ist fest eingetragen, damit keine Dinge durcheinandergehen if ($func == 'edit') { $yform->setValueField('showvalue', array($field, $v['label'])); } else { $_tables = rex_yform_manager_table::getAll(); $_options = array(); if (isset($v['empty_option']) && $v['empty_option']) { $_options[0] = '–='; } foreach ($_tables as $_table) { $_options[$_table['table_name']] = str_replace('=', '-', rex_i18n::translate($_table['name']) . ' [' . $_table['table_name'] . ']') . '=' . $_table['table_name']; $_options[$_table['table_name']] = str_replace(',', '.', $_options[$_table['table_name']]); } if (!isset($v['default'])) { $v['default'] = ''; } $yform->setValueField('select', array($field, $v['label'], implode(',', $_options), '', $v['default'], 0)); } break; case 'textarea': $yform->setValueField('textarea', array($field, $v['label'])); break; case 'table.field': // Todo: // Todo: case 'select_name': $_fields = array(); foreach ($table->getValueFields() as $_k => $_v) { $_fields[] = $_k; } $yform->setValueField('select', array($field, $v['label'], implode(',', $_fields), '', '', 0)); break; case 'select_names': $_fields = array(); foreach ($table->getValueFields() as $_k => $_v) { $_fields[] = $_k; } $yform->setValueField('select', array($field, $v['label'], implode(',', $_fields), '', '', 1, 5)); break; default: // nur beim "Bezeichnungsfeld" if ($field == 'label' && $type_real_field != '' && !isset($v['value'])) { $v['value'] = $type_real_field; } elseif (!isset($v['value'])) { $v['value'] = ''; } $yform->setValueField('text', array($field, $v['label'], $v['value'])); } } $yform->setActionField('showtext', array('', '<p>' . rex_i18n::msg('yform_thankyouforentry') . '</p>')); $yform->setObjectparams('main_table', rex_yform_manager_field::table()); if ($func == 'edit') { $yform->setObjectparams('submit_btn_label', rex_i18n::msg('yform_save')); $yform->setHiddenField('field_id', $field_id); $yform->setActionField('manage_db', array(rex_yform_manager_field::table(), "id={$field_id}")); $yform->setObjectparams('main_id', $field_id); $yform->setObjectparams('main_where', "id={$field_id}"); $sql = rex_sql::factory(); $sql->setQuery('SELECT * FROM ' . rex_yform_manager_field::table() . " WHERE id={$field_id}"); foreach ($selectFields as $alias => $field) { if ($alias != $field) { if ((!$sql->hasValue($field) || null === $sql->getValue($field) || '' === $sql->getValue($field)) && $sql->hasValue($alias)) { $sql->setValue($field, $sql->getValue($alias)); } $yform->setValueField('hidden', array($alias, '')); } } $yform->setObjectparams('sql_object', $sql); $yform->setObjectparams('getdata', true); } elseif ($func == 'add') { $yform->setObjectparams('submit_btn_label', rex_i18n::msg('yform_add')); $yform->setActionField('manage_db', array(rex_yform_manager_field::table())); } if ($type_id == 'value') { $yform->setValueField('checkbox', array('list_hidden', rex_i18n::msg('yform_hideinlist'), 1, '1')); $yform->setValueField('checkbox', array('search', rex_i18n::msg('yform_useassearchfieldalidatenamenotempty'), 1, '1')); } elseif ($type_id == 'validate') { $yform->setValueField('hidden', array('list_hidden', 1)); } $form = $yform->getForm(); if ($yform->objparams['form_show']) { if ($func == 'add') { $title = rex_i18n::msg('yform_addfield') . ' "' . $type_name . '"'; } else { $title = rex_i18n::msg('yform_editfield') . ' "' . $type_name . '"'; } $fragment = new rex_fragment(); $fragment->setVar('class', 'edit', false); $fragment->setVar('title', $title); $fragment->setVar('body', $form, false); // $fragment->setVar('buttons', $buttons, false); $form = $fragment->parse('core/page/section.php'); echo $form; $table_echo = '<a class="btn btn-default" href="index.php?' . $link_vars . '&table_name=' . $table->getTableName() . '">' . rex_i18n::msg('yform_back_to_overview') . '</a>'; $fragment = new rex_fragment(); $fragment->setVar('footer', $table_echo, false); echo $fragment->parse('core/page/section.php'); $func = ''; } else { if ($func == 'edit') { $this->generateAll(); echo rex_view::success(rex_i18n::msg('yform_thankyouforupdate')); } elseif ($func == 'add') { $this->generateAll(); echo rex_view::success(rex_i18n::msg('yform_thankyouforentry')); } $func = 'list'; } } // ********************************************* LOESCHEN if ($func == 'delete') { $sf = rex_sql::factory(); $sf->debugsql = self::$debug; $sf->setQuery('select * from ' . rex_yform_manager_field::table() . ' where table_name="' . $table->getTableName() . '" and id=' . $field_id); $sfa = $sf->getArray(); if (count($sfa) == 1) { $query = 'delete from ' . rex_yform_manager_field::table() . ' where table_name="' . $table->getTableName() . '" and id=' . $field_id; $delsql = rex_sql::factory(); $delsql->debugsql = self::$debug; $delsql->setQuery($query); echo rex_view::success(rex_i18n::msg('yform_tablefielddeleted')); $this->generateAll(); } else { echo rex_view::warning(rex_i18n::msg('yform_tablefieldnotfound')); } $func = 'list'; } // ********************************************* CREATE/UPDATE FIELDS if ($func == 'updatetable') { $this->generateAll(); echo rex_view::info(rex_i18n::msg('yform_tablesupdated')); $func = 'list'; } if ($func == 'updatetablewithdelete') { $this->generateAll(array('delete_fields' => true)); echo rex_view::info(rex_i18n::msg('yform_tablesupdated')); $func = 'list'; } if ($func == 'show_form_notation') { $formbuilder_fields = $table->getFields(); $notation_php = ''; $notation_pipe = ''; $notation_email = ''; $notation_php_pre = array('$yform = new rex_yform();', '$yform->setObjectparams(\'form_skin\', \'default\');', '$yform->setObjectparams(\'form_showformafterupdate\', 0);', '$yform->setObjectparams(\'real_field_names\', true);'); $notation_php .= implode("\n", $notation_php_pre) . "\n"; $notation_pipe_pre = array('objparams|form_skin|bootstrap', 'objparams|form_showformafterupdate|0', 'objparams|real_field_names|true'); $notation_pipe .= implode("\n", $notation_pipe_pre) . "\n"; foreach ($formbuilder_fields as $field) { $class = 'rex_yform_' . $field->getType() . '_' . $field->getTypeName(); $cl = new $class(); $definitions = $cl->getDefinitions(); $values = array(); $i = 1; foreach ($definitions['values'] as $key => $_) { $key = $this->getFieldName($key, $field['type_id']); if (isset($field[$key])) { $values[] = $field[$key]; } elseif (isset($field['f' . $i])) { $values[] = $field['f' . $i]; } else { $values[] = ''; } $i++; } if ($field['type_id'] == 'value') { $notation_php .= "\n" . '$yform->setValueField(\'' . $field['type_name'] . '\', array("' . rtrim(implode('","', $values), '","') . '"));'; $notation_pipe .= "\n" . $field['type_name'] . '|' . rtrim(implode('|', $values), '|') . '|'; $notation_email .= "\n" . $field['label'] . ': ###' . $field['name'] . '###'; } elseif ($field['type_id'] == 'validate') { $notation_php .= "\n" . '$yform->setValidateField(\'' . $field['type_name'] . '\', array("' . rtrim(implode('","', $values), '","') . '"));'; $notation_pipe .= "\n" . $field['type_id'] . '|' . $field['type_name'] . '|' . rtrim(implode('|', $values), '|') . '|'; } elseif ($field['type_id'] == 'action') { $notation_php .= "\n" . '$yform->setActionField(\'' . $field['type_name'] . '\', array("' . rtrim(implode('","', $values), '","') . '"));'; $notation_pipe .= "\n" . $field['type_id'] . '|' . $field['type_name'] . '|' . rtrim(implode('|', $values), '|') . '|'; } } $notation_php .= "\n\n" . '$yform->setActionField(\'email\', array(\'emailtemplate\', \'emaillabel\', \'email@domain.de\'));'; $notation_php .= "\n" . 'echo $yform->getForm();'; $notation_pipe .= "\n\n" . 'action|email|emailtemplate|emaillabel|email@domain.de'; $fragment = new rex_fragment(); $fragment->setVar('title', 'PHP'); $fragment->setVar('body', '<pre class="pre-scrollable">' . $notation_php . '</pre>', false); $content = $fragment->parse('core/page/section.php'); echo $content; $fragment = new rex_fragment(); $fragment->setVar('title', 'Pipe'); $fragment->setVar('body', '<pre class="pre-scrollable">' . $notation_pipe . '</pre>', false); $content = $fragment->parse('core/page/section.php'); echo $content; $fragment = new rex_fragment(); $fragment->setVar('title', 'E-Mail'); $fragment->setVar('body', '<pre class="pre-scrollable">' . $notation_email . '</pre>', false); $content = $fragment->parse('core/page/section.php'); echo $content; $func = 'list'; } // ********************************************* LIST if ($func == 'list') { $show_list = true; $show_list = rex_extension::registerPoint(new rex_extension_point('YFORM_MANAGER_TABLE_FIELD_FUNC', $show_list, ['table' => $table, 'link_vars' => $this->getLinkVars()])); if ($show_list) { function rex_yform_list_format($p, $value = '') { if ($value != '') { $p['value'] = $value; } switch ($p['list']->getValue('type_id')) { case 'validate': $style = 'color:#aaa;'; // background-color:#cfd9d9; break; case 'action': $style = 'background-color:#cfd9d9;'; break; default: $style = 'background-color:#eff9f9;'; break; } return '<td style="' . $style . '">' . $p['value'] . '</td>'; } function rex_yform_list_edit_format($p) { return rex_yform_list_format($p, $p['list']->getColumnLink(rex_i18n::msg('yform_function'), '<i class="rex-icon rex-icon-edit"></i> ' . rex_i18n::msg('yform_edit'))); } function rex_yform_list_delete_format($p) { return rex_yform_list_format($p, $p['list']->getColumnLink(rex_i18n::msg('yform_delete'), '<i class="rex-icon rex-icon-delete"></i> ' . rex_i18n::msg('yform_delete'))); } $context = new rex_context($this->getLinkVars()); $items = []; $item = []; $item['label'] = rex_i18n::msg('yform_manager_show_form_notation'); $item['url'] = $context->getUrl(['table_name' => $table->getTableName(), 'func' => 'show_form_notation']); $item['attributes']['class'][] = 'btn-default'; if (rex_request('func', 'string') == 'show_form_notation') { $item['attributes']['class'][] = 'active'; } $items[] = $item; $item = []; $item['label'] = rex_i18n::msg('yform_updatetable'); $item['url'] = $context->getUrl(['table_name' => $table->getTableName(), 'func' => 'updatetable']); $item['attributes']['class'][] = 'btn-default'; if (rex_request('func', 'string') == 'updatetable') { $item['attributes']['class'][] = 'active'; } $items[] = $item; $item = []; $item['label'] = rex_i18n::msg('yform_updatetable_with_delete'); $item['url'] = $context->getUrl(['table_name' => $table->getTableName(), 'func' => 'updatetablewithdelete']); $item['attributes']['class'][] = 'btn-default'; if (rex_request('func', 'string') == 'updatetablewithdelete') { $item['attributes']['class'][] = 'active'; } $item['attributes']['onclick'][] = 'return confirm(\'' . rex_i18n::msg('yform_updatetable_with_delete_confirm') . '\')'; $items[] = $item; $fragment = new rex_fragment(); $fragment->setVar('buttons', $items, false); $fragment->setVar('size', 'xs', false); $panel_options = $fragment->parse('core/buttons/button_group.php'); $sql = 'select id, prio, type_id, type_name, name from ' . rex_yform_manager_field::table() . ' where table_name="' . $table->getTableName() . '" order by prio'; $list = rex_list::factory($sql, 30); // $list->debug = 1; // $list->setColumnFormat('id', 'Id'); $tdIcon = '<i class="rex-icon rex-icon-table"></i>'; $thIcon = '<a href="' . $list->getUrl(['table_name' => $table->getTableName(), 'func' => 'choosenadd']) . '"' . rex::getAccesskey(rex_i18n::msg('add'), 'add') . '><i class="rex-icon rex-icon-add"></i></a>'; $list->addColumn($thIcon, $tdIcon, 0, ['<th class="rex-table-icon">###VALUE###</th>', '<td class="rex-table-icon">###VALUE###</td>']); $list->setColumnParams($thIcon, ['field_id' => '###id###', 'func' => 'edit', 'type_name' => '###type_name###', 'type_id' => '###type_id###']); foreach ($this->getLinkVars() as $k => $v) { $list->addParam($k, $v); } $list->addParam('start', rex_request('start', 'int')); $list->addParam('table_name', $table->getTableName()); $list->removeColumn('id'); $list->setColumnLabel('prio', rex_i18n::msg('yform_manager_table_prio_short')); //$list->setColumnLayout('prio', ['<th class="rex-table-priority">###VALUE###</th>', '<td class="rex-table-priority" data-title="' . rex_i18n::msg('yform_manager_table_prio_short') . '">###VALUE###</td>']); $list->setColumnLayout('prio', array('<th>###VALUE###</th>', '###VALUE###')); $list->setColumnFormat('prio', 'custom', 'rex_yform_list_format'); $list->setColumnLabel('type_id', rex_i18n::msg('yform_manager_type_id')); $list->setColumnLayout('type_id', array('<th>###VALUE###</th>', '###VALUE###')); $list->setColumnFormat('type_id', 'custom', 'rex_yform_list_format'); $list->setColumnLabel('type_name', rex_i18n::msg('yform_manager_type_name')); $list->setColumnLayout('type_name', array('<th>###VALUE###</th>', '###VALUE###')); $list->setColumnFormat('type_name', 'custom', 'rex_yform_list_format'); $list->setColumnLabel('name', rex_i18n::msg('yform_manager_name')); $list->setColumnLayout('name', array('<th>###VALUE###</th>', '###VALUE###')); // ###VALUE### $list->setColumnFormat('name', 'custom', 'rex_yform_list_format'); $list->addColumn(rex_i18n::msg('yform_function'), '<i class="rex-icon rex-icon-edit"></i> ' . rex_i18n::msg('yform_edit')); $list->setColumnParams(rex_i18n::msg('yform_function'), array('field_id' => '###id###', 'func' => 'edit', 'type_name' => '###type_name###', 'type_id' => '###type_id###')); $list->setColumnLayout(rex_i18n::msg('yform_function'), array('<th class="rex-table-action" colspan="2">###VALUE###</th>', '###VALUE###')); $list->setColumnFormat(rex_i18n::msg('yform_function'), 'custom', 'rex_yform_list_edit_format'); $list->addColumn(rex_i18n::msg('yform_delete'), '<i class="rex-icon rex-icon-delete"></i> ' . rex_i18n::msg('yform_delete')); $list->setColumnParams(rex_i18n::msg('yform_delete'), array('field_id' => '###id###', 'func' => 'delete')); $list->setColumnLayout(rex_i18n::msg('yform_delete'), array('', '###VALUE###')); $list->setColumnFormat(rex_i18n::msg('yform_delete'), 'custom', 'rex_yform_list_delete_format'); $list->addLinkAttribute(rex_i18n::msg('yform_delete'), 'onclick', 'return confirm(\' [###type_id###, ###type_name###, ###name###] ' . rex_i18n::msg('yform_delete') . ' ?\')'); $content = $list->get(); $fragment = new rex_fragment(); $fragment->setVar('title', rex_i18n::msg('yform_manager_tablefield_overview')); $fragment->setVar('options', $panel_options, false); $fragment->setVar('content', $content, false); $content = $fragment->parse('core/page/section.php'); echo $content; } } }
<?php $func = rex_request('func', 'string'); if ($func == '') { $list = rex_list::factory("SELECT `id`, `message` FROM `" . rex::getTablePrefix() . "socialhub_entry_timeline` WHERE `source` = 'facebook' ORDER BY `id` DESC"); $list->addTableAttribute('class', 'table-striped'); $list->setNoRowsMessage($this->i18n('entries_norowsmessage')); // icon column $list->addColumn(' ', '<i class="rex-icon fa-facebook"></i>', 0, ['<th class="rex-table-icon">###VALUE###</th>', '<td class="rex-table-icon">###VALUE###</td>']); $list->setColumnLabel('message', $this->i18n('entries_column_caption')); $list->setColumnFormat('message', 'custom', function ($params) { return urldecode($params['subject']); }); $funcs = $this->i18n('entries_column_status'); $list->addColumn($funcs, '<i class="rex-icon rex-icon-online"></i> online', -1, ['<th class="rex-table-action" colspan="2">###VALUE###</th>', '<td class="rex-table-action">###VALUE###</td>']); $list->setColumnParams($funcs, ['id' => '###id###', 'func' => 'toggleVisibility']); $list->removeColumn('id'); $content = $list->get(); $fragment = new rex_fragment(); $fragment->setVar('content', $content, false); $content = $fragment->parse('core/page/section.php'); echo $content; }
</form></div> '; $OUT = false; } } if ($OUT) { if ($info != '') { echo rex_info($info); } if ($warning != '') { echo rex_warning($warning); } if ($warning_block != '') { echo rex_warning_block($warning_block); } $list = rex_list::factory('SELECT id, name FROM ' . $REX['TABLE_PREFIX'] . 'module ORDER BY name'); $list->setCaption($I18N->msg('module_caption')); $list->addTableAttribute('summary', $I18N->msg('module_summary')); $list->addTableColumnGroup(array(40, 40, '*', 153)); $tdIcon = '<span class="rex-i-element rex-i-module"><span class="rex-i-element-text">###name###</span></span>'; $thIcon = '<a class="rex-i-element rex-i-module-add" href="' . $list->getUrl(array('function' => 'add')) . '"' . rex_accesskey($I18N->msg('create_module'), $REX['ACKEY']['ADD']) . '><span class="rex-i-element-text">' . $I18N->msg('create_module') . '</span></a>'; $list->addColumn($thIcon, $tdIcon, 0, array('<th class="rex-icon">###VALUE###</th>', '<td class="rex-icon">###VALUE###</td>')); $list->setColumnParams($thIcon, array('function' => 'edit', 'modul_id' => '###id###')); $list->setColumnLabel('id', 'ID'); $list->setColumnLayout('id', array('<th class="rex-small">###VALUE###</th>', '<td class="rex-small">###VALUE###</td>')); $list->setColumnLabel('name', $I18N->msg('module_description')); $list->setColumnParams('name', array('function' => 'edit', 'modul_id' => '###id###')); $list->addColumn($I18N->msg('module_functions'), $I18N->msg('delete_module')); $list->setColumnParams($I18N->msg('module_functions'), array('function' => 'delete', 'modul_id' => '###id###')); $list->addLinkAttribute($I18N->msg('module_functions'), 'onclick', 'return confirm(\'' . $I18N->msg('delete') . ' ?\')'); $list->setNoRowsMessage($I18N->msg('modules_not_found'));
function prepare() { global $REX, $I18N; $limit = A659_DEFAULT_LIMIT; $list = rex_list::factory('SELECT category_id, file_id, filename, updateuser, updatedate FROM ' . $REX['TABLE_PREFIX'] . 'file ORDER BY updatedate DESC LIMIT ' . $limit); $list->setCaption($I18N->msg('pool_file_caption')); $list->addTableAttribute('summary', $I18N->msg('pool_file_summary')); $list->addTableColumnGroup(array(40, '*', 120, 150)); $list->removeColumn('category_id'); $list->removeColumn('file_id'); $editParams = array('page' => 'mediapool', 'subpage' => 'detail', 'rex_file_category' => '###category_id###', 'file_id' => '###file_id###'); $thIcon = ''; $tdIcon = '<span class="rex-i-element rex-i-media"><span class="rex-i-element-text">###filename###</span></span>'; $list->addColumn($thIcon, $tdIcon, 0, array('<th class="rex-icon">###VALUE###</th>', '<td class="rex-icon">###VALUE###</td>')); $list->setColumnParams($thIcon, $editParams); $list->addLinkAttribute($thIcon, 'onclick', 'newPoolWindow(this.href); return false;'); $list->setColumnLabel('filename', $I18N->msg('pool_file_info')); $list->setColumnParams('filename', $editParams); $list->addLinkAttribute('filename', 'onclick', 'newPoolWindow(this.href); return false;'); $list->setColumnFormat('filename', 'custom', 'rex_dashboard_userinfo_filename', array()); function rex_dashboard_userinfo_filename($params) { $filename = $params['subject']; if (strlen($filename) > 30) { $filename = substr($filename, 0, 13) . ' ... ' . substr($filename, -13); } $link = 'index.php?page=mediapool&subpage=detail&rex_file_category=' . $params['list']->getValue('category_id') . '&file_id=' . $params['list']->getValue('file_id'); $filename = '<a onclick="newPoolWindow(this.href); return false;" title="' . htmlspecialchars($filename) . '" href="' . $link . '">' . $filename . '</a>'; return $filename; } $list->setColumnLabel('updateuser', $I18N->msg('userinfo_component_stats_user')); $list->setColumnLabel('updatedate', $I18N->msg('userinfo_component_stats_date')); $list->setColumnFormat('updatedate', 'strftime', 'datetime'); $this->setContent($list->get()); }