function save() { $return = parent::save(); $manager = rex_cronjob_manager::factory(); $manager->saveNextTime(); return $return; }
protected function save() { $nexttime = $this->getElement($this->mainFieldset, 'nexttime'); $timestamp = rex_cronjob_manager_sql::calculateNextTime($this->intervalField->getValue()); $nexttime->setValue($timestamp ? rex_sql::datetime($timestamp) : null); $return = parent::save(); rex_cronjob_manager_sql::factory()->saveNextTime(); return $return; }
/** * @param string $fieldsetName * @param string $fieldName * @param string $fieldValue * @param rex_sql $saveSql * @return mixed */ public function preSave($fieldsetName, $fieldName, $fieldValue, &$saveSql) { if (OOAddon::isAvailable('metainfo')) { $params = array(); $this->sqlFields->reset(); _rex_a62_metainfo_handleSave($params, $saveSql, $this->sqlFields); } return parent::preSave($fieldsetName, $fieldName, $fieldValue, $saveSql); }
protected function save() { if ($this->isEditMode()) { $nexttime = $this->getElement($this->mainFieldset, 'nexttime'); if (strtotime($nexttime->getValue()) > 0) { $interval = $this->getElement($this->mainFieldset, 'interval'); $nexttime->setValue(rex_sql::datetime(rex_cronjob_manager_sql::calculateNextTime($interval->getValue()))); } } $return = parent::save(); rex_cronjob_manager_sql::factory()->saveNextTime(); return $return; }
$list->setColumnSortable('name'); $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' => '###kontakt_id###')); // Labels $list->setColumnLabel('kontakt_id', $I18N_STELLEN->msg('id')); $list->setColumnLabel('name', $I18N_STELLEN->msg('name')); // Edit Funktion auf Zeileneintrag $list->setColumnParams('kontakt_id', array('func' => 'edit', 'entry_id' => '###kontakt_id###')); $list->setColumnParams('name', array('func' => 'edit', 'entry_id' => '###kontakt_id###')); // Liste anzeigen $list->show(); } elseif ($func == 'edit' || $func == 'add') { $form = rex_form::factory($REX['TABLE_PREFIX'] . 'd2u_stellenmarkt_kontakt', $I18N_STELLEN->msg('kontakte'), "kontakt_id = " . $entry_id, "post", false); // Formularauswahl $form->addRawField(raw_field("", $lang_chooser)); // Name $field = $form->addTextField('name'); $field->setLabel($I18N_STELLEN->msg('name')); // Bild $field = $form->addMediaField('bild'); $field->setLabel($I18N_STELLEN->msg('bild')); // Telefon $field = $form->addTextField('telefon'); $field->setLabel($I18N_STELLEN->msg('telefon')); // E-Mail $field = $form->addTextField('email'); $field->setLabel($I18N_STELLEN->msg('email')); if ($func == 'edit') {
$field->setLabel($I18N_STELLEN->msg('interne_bezeichnung')); // HR4YOU Katageorie ID if (OOPlugin::isAvailable('d2u_stellenmarkt', 'hr4you_sync')) { $field = $form->addTextField('hr4you_berufskategorie_id'); $field->setLabel($I18N_STELLEN->msg('hr4you_berufskategorie_id')); } if ($func == 'edit') { $form->addParam('entry_id', $entry_id); } // Trigger für SEO42 Pathlist Update $form->addParam('seo42', 'update'); $form->show(); } else { // CLANG wird in variable $subform uebergeben; -1 da Sprachen mit ID 0 beginnen, PHP diesen Wert aber nicht uebermittelt $clang_id = $subform - 1; $form = rex_form::factory($REX['TABLE_PREFIX'] . 'd2u_stellenmarkt_kategorien_lang', $I18N_STELLEN->msg('kategorien') . " " . $REX['CLANG'][$clang_id], "kategorie_id = " . $entry_id . " AND clang_id = " . $clang_id, "post", false); // Formularauswahl $form->addRawField(raw_field("", $lang_chooser)); // Kategorie ID $field = $form->addHiddenField('kategorie_id'); $field->setValue($entry_id); // Clang ID $field = $form->addHiddenField('clang_id'); $field->setValue($clang_id); // Name $field = $form->addTextField('name'); $field->setLabel($I18N_STELLEN->msg('name')); $form->addParam('subform', $subform); if ($func == 'edit') { $form->addParam('entry_id', $entry_id); }
return $list->getColumnLink("archive", buttonSetToArchive($list->getValue("id")));')); $list->setColumnFormat('article', 'custom', create_function('$params', '$list = $params["list"]; return displayArticle($list->getValue("article"));')); $list->setColumnSortable('name'); $list->show(); } // Hinzufuegen und Editieren if ($func == "add" || $func == "edit") { // JS fuer Counter einfuegen print echo_js_for_counter($REX_NEWS_CONF['max_items']); $legend = "News anlegen"; if ($func == 'edit') { $legend = "News editieren"; } // function factory($tableName, $fieldset, $whereCondition, $method = 'post', $debug = false, $class = null) $form = rex_form::factory(TBL_NEWS, $legend, 'id=' . $id, 'post', false, 'rex_form_news_extended2'); $form->addParam('clang', $clang); if ($func == 'edit') { $form->addParam('id', $id); } // kategorie $field = $form->addSelectField('category'); $field->setLabel("Kategorie"); $select = $field->getSelect(); $select->setMultiple(true); $select->setSize(3); $select->addOption("Bitte wählen", 99999); $qry = 'SELECT id, name from ' . TBL_NEWS_CATS; $sql = new rex_sql(); $data = $sql->getArray($qry); if (is_array($data) && sizeof($data) > 0) {
protected function save() { $fieldName = $this->elementPostValue($this->getFieldsetName(), 'name'); // Den alten Wert aus der DB holen // Dies muss hier geschehen, da in parent::save() die Werte fuer die DB mit den // POST werten ueberschrieben werden! $fieldOldName = ''; $fieldOldPriority = 9999999999999; // dirty, damit die prio richtig l�uft... $fieldOldDefault = ''; if ($this->sql->getRows() == 1) { $fieldOldName = $this->sql->getValue('name'); $fieldOldPriority = $this->sql->getValue('priority'); $fieldOldDefault = $this->sql->getValue('default'); } if (parent::save()) { $this->organizePriorities($this->elementPostValue($this->getFieldsetName(), 'priority'), $fieldOldPriority); $fieldName = $this->addPrefix($fieldName); $fieldType = $this->elementPostValue($this->getFieldsetName(), 'type_id'); $fieldDefault = $this->elementPostValue($this->getFieldsetName(), 'default'); $sql = rex_sql::factory(); $sql->setDebug($this->debug); $result = $sql->getArray('SELECT `dbtype`, `dblength` FROM `' . rex::getTablePrefix() . 'metainfo_type` WHERE id=' . $fieldType); $fieldDbType = $result[0]['dbtype']; $fieldDbLength = $result[0]['dblength']; // TEXT Spalten duerfen in MySQL keine Defaultwerte haben if ($fieldDbType == 'text') { $fieldDefault = null; } if ($this->isEditMode()) { // Spalte in der Tabelle ver�ndern $tmRes = $this->tableManager->editColumn($fieldOldName, $fieldName, $fieldDbType, $fieldDbLength, $fieldDefault); } else { // Spalte in der Tabelle anlegen $tmRes = $this->tableManager->addColumn($fieldName, $fieldDbType, $fieldDbLength, $fieldDefault); } rex_delete_cache(); if ($tmRes) { // DefaultWerte setzen if ($fieldDefault != $fieldOldDefault) { try { $upd = rex_sql::factory(); $upd->setDebug($this->debug); $upd->setTable($this->tableManager->getTableName()); $upd->setWhere([$fieldName => $fieldOldDefault]); $upd->setValue($fieldName, $fieldDefault); $upd->update(); return true; } catch (rex_sql_exception $e) { return false; } } // Default werte haben schon zuvor gepasst, daher true zur�ckgeben return true; } } return false; }
return $str;')); $list->addColumn('delete', $I18N->msg('cronjob_delete'), -1, array('', '<td style="text-align:center;">###VALUE###</td>')); $list->setColumnParams('delete', array('func' => 'delete', 'oid' => '###id###')); $list->addLinkAttribute('delete', 'onclick', "return confirm('" . $I18N->msg('cronjob_really_delete') . "');"); $list->addColumn('execute', $I18N->msg('cronjob_execute'), -1, array('', '<td style="text-align:center;">###VALUE###</td>')); $list->setColumnParams('execute', array('func' => 'execute', 'oid' => '###id###')); $list->setColumnFormat('execute', 'custom', create_function('$params', 'global $I18N; $list = $params["list"]; if (strpos($list->getValue("environment"),"|1|") !== false && class_exists($list->getValue("type"))) return $list->getColumnLink("execute",$I18N->msg("cronjob_execute")); return "<span class=\\"rex-strike\\">".$I18N->msg("cronjob_execute")."</span>";')); $list->show(); } elseif ($func == 'edit' || $func == 'add') { require_once $REX['INCLUDE_PATH'] . '/addons/cronjob/classes/class.form.inc.php'; $fieldset = $func == 'edit' ? $I18N->msg('cronjob_edit') : $I18N->msg('cronjob_add'); $form = rex_form::factory(REX_CRONJOB_TABLE, $fieldset, 'id = ' . $oid, 'post', false, 'rex_cronjob_form'); $form->addParam('oid', $oid); $form->setApplyUrl('index.php?page=cronjob'); $form->setEditMode($func == 'edit'); $form->addHiddenField('nexttime'); $field =& $form->addSelectField('type'); $field->setLabel($I18N->msg('cronjob_type')); $select =& $field->getSelect(); $select->setSize(1); $typeFieldId = $field->getAttribute('id'); $types = rex_cronjob_manager::getTypes(); $cronjobs = array(); foreach ($types as $class) { $cronjob = rex_cronjob::factory($class); if (rex_cronjob::isValid($cronjob)) { $cronjobs[$class] = $cronjob;
$edit = 'editCol'; $list->addColumn($edit, $I18N->msg('seo42_redirect_edit'), -1, array('', '<td>###VALUE###</td>')); $list->setColumnParams($edit, array('func' => 'edit', 'redirect_id' => $redirect_id, 'redirect_id' => '###id###')); $delete = 'deleteCol'; $list->addColumn($delete, $I18N->msg('seo42_redirect_delete'), -1, array('', '<td>###VALUE###</td>')); $list->setColumnParams($delete, array('redirect_id' => '###id###', 'func' => 'delete')); $list->addLinkAttribute($delete, 'onclick', 'return confirm(\'' . $I18N->msg('seo42_redirect_delete_confirm') . '\');'); $list->show(); } elseif ($func == 'add' || $func == 'edit' && $redirect_id > 0) { // rex form if ($func == 'edit') { $formLabel = $I18N->msg('seo42_redirect_redirect_edit'); } elseif ($func == 'add') { $formLabel = $I18N->msg('seo42_redirect_redirect_add'); } $form = rex_form::factory($REX['TABLE_PREFIX'] . 'redirects', $formLabel, 'id=' . $redirect_id); $form->addErrorMessage(REX_FORM_ERROR_VIOLATE_UNIQUE_KEY, $I18N->msg('seo42_redirect_redirect_exists')); // source url $field =& $form->addTextField('source_url'); $field->setLabel($I18N->msg('seo42_redirect_source_url')); $field->setAttribute('id', 'source-url'); // target url $field =& $form->addTextField('target_url'); $field->setLabel($I18N->msg('seo42_redirect_target_url')); $field->setAttribute('id', 'target-url'); if (seo42_utils::redirectsDoExpire() && $func == 'edit') { $field =& $form->addReadOnlyField('create_date'); $field->setLabel($I18N->msg('seo42_redirect_create_date')); $field =& $form->addTextField('expire_date'); $field->setLabel($I18N->msg('seo42_redirect_expire_date')); }
$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', ''); $list->setColumnLabel('data', $I18N->msg('b_url_control_data')); $list->setColumnFormat('data', 'custom', 'url_generate_column_data'); $list->addColumn($I18N->msg('b_function'), $I18N->msg('b_edit')); $list->setColumnParams($I18N->msg('b_function'), array('func' => 'edit', 'oid' => '###id###')); $echo = $list->get(); } if ($func == 'add' || $func == 'edit') { $legend = $func == 'edit' ? $I18N->msg('b_edit') : $I18N->msg('b_add'); $form = new rex_form($REX['TABLE_PREFIX'] . 'url_control_generate', $I18N->msg('b_table') . ' ' . $legend, 'id=' . $oid, 'post', false); //$form->debug = true; if ($func == 'edit') { $form->addParam('oid', $oid); } $field =& $form->addLinkmapField('article_id'); $field->setLabel($I18N->msg('b_article')); if (count($REX['CLANG']) >= 2) { $field =& $form->addSelectField('clang'); $field->setLabel($I18N->msg('b_language')); $field->setAttribute('style', 'width: 200px;'); $select =& $field->getSelect(); $select->setSize(1); foreach ($REX['CLANG'] as $key => $value) { $select->addOption($value, $key); }
$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', 'oid' => '###oid###')); $list->setColumnLabel('name', 'Veranstalter'); $list->setColumnLabel('url', 'Website'); $list->setColumnLabel('tel', 'Telefon'); $list->setColumnLabel('email', 'Email-Adresse'); $list->setColumnLabel('street', 'Straße'); $list->setColumnLabel('city', 'Stadt'); $list->removeColumn('oid'); $list->setColumnLayout('eid', array('<th class="rex-icon">###VALUE###</th>', '<td class="rex-icon">###VALUE###</td>')); $list->setColumnParams('name', array('func' => 'edit', 'oid' => '###oid###')); $list->show(); } elseif ($func == 'edit' || $func == 'add') { $form = rex_form::factory($REX['ADDON']['dbpref']['events'] . 'orgs', 'Veranstalter', 'oid=' . $oid); $field =& $form->addTextField('name'); $field->setLabel('Veranstalter'); $field =& $form->addInputField('url', 'url'); $field->setLabel('Website'); $field =& $form->addInputField('email', 'email'); $field->setLabel('Email-Adresse'); $field =& $form->addInputField('tel', 'tel'); $field->setLabel('Telefon'); $field =& $form->addTextField('street'); $field->setLabel('Straße'); $field =& $form->addTextField('city'); $field->setLabel('Stadt'); if ($func == 'edit') { $form->addParam('eid', $id); }
/** * Speichert das Formular * * Gibt true zur�ck wenn alles ok war, false bei einem allgemeinen Fehler oder * einen String mit einer Fehlermeldung. */ function save() { global $REX; if (isset($this->languageDependent['id']) and isset($this->languageDependent['clang']) and $this->mode == 'add') { $sql = rex_sql::getInstance(); foreach ($REX['CLANG'] as $key => $val) { $sql->debugsql = $this->debug; $sql->setTable($this->tableName); if (!isset($id) or !$id) { $id = $sql->setNewId($this->languageDependent['id']); } else { $sql->setValue($this->languageDependent['id'], $id); } $sql->setValue($this->languageDependent['clang'], $key); foreach ($this->getFieldsets() as $fieldsetName) { // POST-Werte ermitteln $fieldValues = $this->fieldsetPostValues($fieldsetName); foreach ($fieldValues as $fieldName => $fieldValue) { // Callback, um die Values vor dem Speichern noch beeinflussen zu k�nnen $fieldValue = $this->preSave($fieldsetName, $fieldName, $fieldValue, $sql); if (is_array($fieldValue)) { $fieldValue = implode('|+|', $fieldValue); } // Element heraussuchen $element = $this->getElement($fieldsetName, $fieldName); // Den POST-Wert als Value in das Feld speichern // Da generell alles von REDAXO escaped wird, hier slashes entfernen $element->setValue(stripslashes($fieldValue)); // Den POST-Wert in die DB speichern (inkl. slahes) $sql->setValue($fieldName, $fieldValue); } } if ($sql->insert()) { $msg = true; } else { $msg = false; } } return $msg; } else { return parent::save(); } }
$list->setColumnLayout('edit', ['<th class="rex-table-action" colspan="2">###VALUE###</th>', '<td class="rex-table-action">###VALUE###</td>']); $list->setColumnParams('edit', ['func' => 'edit', 'pid' => '###pid###']); $list->addColumn('delete', '<i class="rex-icon rex-icon-delete"></i> ' . $this->i18n('delete')); $list->setColumnLabel('delete', $this->i18n('function')); $list->setColumnLayout('delete', ['', '<td class="rex-table-action">###VALUE###</td>']); $list->setColumnParams('delete', ['func' => 'delete', 'wildcard_id' => '###id###']); $list->addLinkAttribute('delete', 'data-confirm', $this->i18n('delete') . ' ?'); $content .= $list->get(); $fragment = new rex_fragment(); $fragment->setVar('title', $title); $fragment->setVar('content', $content, false); $content = $fragment->parse('core/page/section.php'); } else { $title = $func == 'edit' ? $this->i18n('edit') : $this->i18n('add'); \rex_extension::register('REX_FORM_CONTROL_FIELDS', '\\Sprog\\Extension::wildcardFormControlElement'); $form = rex_form::factory(rex::getTable('sprog_wildcard'), '', 'pid = ' . $pid); $form->addParam('pid', $pid); $form->setApplyUrl(rex_url::currentBackendPage()); $form->setLanguageSupport('id', 'clang_id'); $form->setEditMode($func == 'edit'); if ($func == 'add' && rex::getUser()->getComplexPerm('clang')->hasAll()) { $field = $form->addTextField('wildcard', rex_request('wildcard_name', 'string', null)); $field->setNotice($this->i18n('wildcard_without_tag')); } else { $field = $form->addReadOnlyField('wildcard', rex_request('wildcard_name', 'string', null)); } $field->setLabel($this->i18n('wildcard')); $field->getValidator()->add('notEmpty', $this->i18n('wildcard_error_no_wildcard')); $field = $form->addTextAreaField('replace'); $field->setLabel($this->i18n('wildcard_replace')); $content .= $form->get();
$params = unserialize($list->getValue("url_table_parameters")); return $params[$list->getValue("url_table")][$list->getValue("url_table")."_name"];')); $list->addColumn('id', ''); $list->setColumnLabel('id', $I18N->msg('a724_id')); $list->setColumnFormat('id', 'custom', create_function('$params', 'global $I18N; $list = $params["list"]; $params = unserialize($list->getValue("url_table_parameters")); return $params[$list->getValue("url_table")][$list->getValue("url_table")."_id"];')); $list->addColumn($I18N->msg('b_function'), $I18N->msg('b_edit')); $list->setColumnParams($I18N->msg('b_function'), array('func' => 'edit', 'oid' => '###pid###')); $list->show(); } if ($func == 'add' || $func == 'edit') { $legend = $func == 'edit' ? $I18N->msg('b_edit') : $I18N->msg('b_add'); $form = new rex_form($table, 'Tabellen Url ' . $legend, 'pid=' . $oid, 'post', false); // $form->debug = true; if ($func == 'edit') { $form->addParam('oid', $oid); } $field =& $form->addLinkmapField('article_id'); $field->setLabel($I18N->msg('a724_article')); $field =& $form->addSelectField('url_table'); $field->setLabel($I18N->msg('a724_table')); $field->setAttribute('onchange', 'url_table(this);'); $field->setAttribute('style', 'width: ' . $select_w4 . 'px;'); $select =& $field->getSelect(); $select->setSize(1); $select->addOption($I18N->msg('a724_no_table_selected'), ''); $sql = new rex_sql(); $tables = $sql->getArray("SHOW TABLES");
* @author jan.kristinus[at]redaxo[dot]org Jan Kristinus * @author <a href="http://www.yakamara.de">www.yakamara.de</a> */ rex_title('XForm', $REX['ADDON']['xform']['SUBPAGES']); $SF = true; $table = $REX['TABLE_PREFIX'] . 'xform_email_template'; $bezeichner = $I18N->msg('xform_email_template'); $csuchfelder = array('name', 'mail_from', 'mail_subject', 'body'); $func = rex_request('func', 'string', ''); $template_id = rex_request('template_id', 'int'); if ($func == 'add' || $func == 'edit') { echo rex_content_block('<a class="rex-back" href="index.php?page=' . $page . '&subpage=' . $subpage . '">' . $I18N->msg('xform_back_to_overview') . '</a>'); echo rex_content_block('<p>Durch folgende Markierungen <b>###field###</b> kann man die in den Formularen eingegebenen Felder hier im E-Mail Template verwenden. Weiterhin sind alle REDAXO Variablen wie $REX["SERVER"] als <b>###REX_SERVER###</b> verwendbar. Urlencoded, z.b. für Links, bekommt man diese Werte über <b>+++field+++</b></p>'); echo '<div class="rex-addon-output">'; $form = new rex_form($REX['TABLE_PREFIX'] . 'xform_email_template', 'Template', 'id=' . $template_id); if ($func == 'edit') { $form->addParam('template_id', $template_id); } $field =& $form->addTextField('name'); $field->setLabel($I18N->msg('xform_email_key')); $field =& $form->addTextField('mail_from'); $field->setLabel($I18N->msg('xform_email_from')); $field =& $form->addTextField('mail_from_name'); $field->setLabel($I18N->msg('xform_email_from_name')); $field =& $form->addTextField('subject'); $field->setLabel($I18N->msg('xform_email_subject')); $field =& $form->addTextareaField('body'); $field->setLabel($I18N->msg('xform_email_body')); $field =& $form->addTextareaField('body_html'); $field->setLabel($I18N->msg('xform_email_body_html'));
$list->setColumnParams('status', array('func' => 'status', 'oid' => '###id###')); $list->setColumnLayout('status', array('<th colspan="2">###VALUE###</th>', '<td style="text-align:center;">###VALUE###</td>')); $list->setColumnFormat('status', 'custom', create_function('$params', 'global $I18N; $list = $params["list"]; if ($list->getValue("status") == 1) $str = "<span class=\\"rex-online\\">".$I18N->msg("b_active")."</span>"; else $str = "<span class=\\"rex-offline\\">".$I18N->msg("b_inactive")."</span>"; return $str;')); $list->addColumn($I18N->msg('b_function'), $I18N->msg('b_edit'), -1, array('', '<td style="text-align:center;">###VALUE###</td>')); $list->setColumnParams($I18N->msg('b_function'), array('func' => 'edit', 'oid' => '###id###')); $echo = $list->get(); } if ($func == 'add' || $func == 'edit') { $legend = $func == 'edit' ? $I18N->msg('b_edit') : $I18N->msg('b_add'); $form = new rex_form($REX['TABLE_PREFIX'] . 'url_control_manager', $I18N->msg('b_url') . ' ' . $legend, 'id=' . $oid, 'post', false); //$form->debug = true; if ($func == 'edit') { $form->addParam('oid', $oid); } $field =& $form->addSelectField('status'); $field->setLabel($I18N->msg('b_status')); $select =& $field->getSelect(); $select->setSize(1); $select->addOption($I18N->msg('b_active'), '1'); $select->addOption($I18N->msg('b_inactive'), '0'); $field =& $form->addTextField('url'); $field->setLabel($I18N->msg('b_url_control_manager_requested_url')); $field->setNotice($I18N->msg('b_url_control_manager_requested_url_notice')); $field =& $form->addSelectField('method'); $field->setLabel($I18N->msg('b_method'));
$list->setColumnParams('field_7', array('func' => 'edit', 'id' => '###id###')); $list->setColumnParams('field_8', array('func' => 'edit', 'id' => '###id###')); $list->setColumnParams('field_9', array('func' => 'edit', 'id' => '###id###')); $list->setColumnParams('field_10', array('func' => 'edit', 'id' => '###id###')); $list->show(); echo '</div>'; } elseif (($func == 'edit' || $func == 'add') && $db_available) { /* ADD/EDIT FORMULAR ------------------------------------------------------ */ echo '<div class="rex-addon-output">'; // Pberschrift je nach Funktion ADD/EDIT if ($func == 'edit') { echo '<h2 class="rex-hl2">Datensatz bearbeiten <span style="color:silver;font-size:12px;">(ID: ' . $id . ')</span></h2>'; } else { echo '<h2 class="rex-hl2">Neuen Datensatz anlegen</h2>'; } $form = new rex_form($AddonDBTable, 'Texteingabe', 'id=' . $id, 'post', false); // Ein neues Fieldset $form->addFieldset('Texteingabe'); // Textfeld $field =& $form->addTextField('field_1'); $field->setLabel("Textfeld"); // Textarea $field =& $form->addTextAreaField('field_2'); $field->setLabel("Textarea"); // Ein neues Fieldset $form->addFieldset('Auswahlfelder'); // Starndard Selectbox $field =& $form->addSelectField('field_3'); $field->setLabel("Selectbox"); $select =& $field->getSelect(); $select->setSize(1);
$delete = 'deleteType'; $list->addColumn($delete, '', -1, array('', '<td>###VALUE###</td>')); $list->setColumnParams($delete, array('type_id' => '###id###', 'func' => 'delete')); $list->addLinkAttribute($delete, 'onclick', 'return confirm(\'' . $I18N->msg('delete') . ' ?\')'); $list->setColumnFormat($delete, 'custom', create_function('$params', 'global $REX; $list = $params["list"]; if($list->getValue("status") == 1) { return \'' . $I18N->msg('imanager_type_system') . '\'; } return $list->getColumnLink("' . $delete . '","' . $I18N->msg('imanager_type_delete') . '");')); $list->show(); } elseif ($func == 'add' || $func == 'edit' && $type_id > 0) { if ($func == 'edit') { $formLabel = $I18N->msg('imanager_type_edit'); } elseif ($func == 'add') { $formLabel = $I18N->msg('imanager_type_create'); } rex_register_extension('REX_FORM_CONTROL_FIElDS', 'rex_imanager_handle_form_control_fields'); $form = rex_form::factory($REX['TABLE_PREFIX'] . '679_types', $formLabel, 'id=' . $type_id); $form->addErrorMessage(REX_FORM_ERROR_VIOLATE_UNIQUE_KEY, $I18N->msg('imanager_error_type_name_not_unique')); $field =& $form->addTextField('name'); $field->setLabel($I18N->msg('imanager_type_name')); $field =& $form->addTextareaField('description'); $field->setLabel($I18N->msg('imanager_type_description')); if ($func == 'edit') { $form->addParam('type_id', $type_id); } $form->show(); } echo '</div>';
$content = $list->get(); $footer = '<a class="btn btn-back" href="' . rex_url::currentBackendPage() . '">' . rex_i18n::msg('media_manager_back') . '</a>'; $fragment = new rex_fragment(); $fragment->setVar('title', rex_i18n::RawMsg('media_manager_effect_caption', $typeName), false); $fragment->setVar('content', $content, false); $fragment->setVar('footer', $footer, false); $content = $fragment->parse('core/page/section.php'); echo $content; } elseif ($func == 'add' && $type_id > 0 || $func == 'edit' && $effect_id > 0 && $type_id > 0) { $effectNames = rex_media_manager::getSupportedEffectNames(); if ($func == 'edit') { $formLabel = rex_i18n::RawMsg('media_manager_effect_edit_header', htmlspecialchars($typeName)); } elseif ($func == 'add') { $formLabel = rex_i18n::RawMsg('media_manager_effect_create_header', htmlspecialchars($typeName)); } $form = rex_form::factory(rex::getTablePrefix() . 'media_manager_type_effect', '', 'id=' . $effect_id); // image_type_id for reference to save into the db $form->addHiddenField('type_id', $type_id); // effect prio $field = $form->addPrioField('priority'); $field->setLabel(rex_i18n::msg('media_manager_effect_priority')); $field->setLabelField('effect'); $field->setWhereCondition('type_id = ' . $type_id); // effect name als SELECT $field = $form->addSelectField('effect'); $field->setLabel(rex_i18n::msg('media_manager_effect_name')); $select = $field->getSelect(); $select->addOptions($effectNames, true); $select->setSize(1); $script = ' <script type="text/javascript">
function equals($form) { return rex_form::isValid($form) && $this->getTableName() == $form->getTableName() && $this->getWhereCondition() == $form->getWhereCondition(); }
// 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' => '###kurskategorie_id###')); // Labels $list->setColumnLabel('kurskategorie_id', $I18N_KURSE->msg('id')); $list->setColumnLabel('kursname', $I18N_KURSE->msg('kategoriename')); $list->setColumnLabel('elternname', $I18N_KURSE->msg('elternkategorie')); // Edit Funktion auf Zeileneintrag $list->setColumnParams('kurskategorie_id', array('func' => 'edit', 'entry_id' => '###kurskategorie_id###')); $list->setColumnParams('kursname', array('func' => 'edit', 'entry_id' => '###kurskategorie_id###')); $list->setColumnParams('elternname', array('func' => 'edit', 'entry_id' => '###kurskategorie_id###')); // Liste anzeigen $list->show(); } elseif ($func == 'edit' || $func == 'add') { $form = rex_form::factory($REX['TABLE_PREFIX'] . 'd2u_kurse_kategorien', $I18N_KURSE->msg('kategorie'), "kurskategorie_id = " . $entry_id, "post", false); // Name $field = $form->addTextField('name'); $field->setLabel($I18N_KURSE->msg('name')); $field->setAttribute('maxlenght', '25'); // Farbe $field = $form->addTextField('farbe'); $field->setLabel($I18N_KURSE->msg('farbe')); // Bild $field = $form->addMediaField('bild'); $field->setLabel($I18N_KURSE->msg('bild')); // Elternkategorie $field = $form->addSelectField('eltern_kurskategorie_id'); $field->setLabel($I18N_KURSE->msg('elternkategorie')); $elternkategorie = $field->getSelect(); $elternkategorie->setSize(1);
$delete = 'deleteCol'; $list->addColumn($delete, $I18N->msg('website_manager_website_delete'), -1, array('', '<td>###VALUE###</td>')); $list->setColumnParams($delete, array('website_id' => '###id###', 'func' => 'delete')); $list->addLinkAttribute($delete, 'onclick', 'alert(\'' . $I18N->msg('website_manager_website_delete_editmode') . '\'); return false;'); $list->show(); // prio switch rex_website_manager_prio_switch::printSwitch(array($I18N->msg('website_manager_prio_mode'), $I18N->msg('website_manager_prio_mode_on'), $I18N->msg('website_manager_prio_mode_off')), false); } elseif ($func == 'add' || $func == 'edit' && $website_id > 0) { if ($func == 'edit') { $formLabel = $I18N->msg('website_manager_website_website_edit'); $defaultId = null; } elseif ($func == 'add') { $formLabel = $I18N->msg('website_manager_website_website_add'); $defaultId = '1'; } $form = rex_form::factory('rex_website', $formLabel, 'id=' . $website_id); $form->addErrorMessage(REX_FORM_ERROR_VIOLATE_UNIQUE_KEY, $I18N->msg('website_manager_website_id_exists')); // color $field =& $form->addTextField('color'); $field->setLabel($I18N->msg('website_manager_website_color')); $field->setAttribute('id', 'color-picker'); $field->setAttribute('style', 'visibility: hidden; height: 20px;'); // domain $field =& $form->addTextField('domain'); $field->setLabel($I18N->msg('website_manager_website_domain')); // title $field =& $form->addTextField('title'); $field->setLabel($I18N->msg('website_manager_website_title')); // start article id $field =& $form->addTextField('start_article_id', $defaultId); // addLinkmapField
<?php $SF = true; $table = "rex_xform_email_template"; $bezeichner = $I18N->msg("email_template"); $csuchfelder = array("name", "mail_from", "mail_subject", "body"); $func = rex_request("func", "string", ""); $template_id = rex_request("template_id", "int"); //------------------------------> Hinzufügen if ($func == "add" || $func == "edit") { echo '<div class="rex-toolbar"><div class="rex-toolbar-content">'; echo '<p><a class="rex-back" href="index.php?page=' . $page . '&subpage=' . $subpage . '">' . $I18N->msg('xform_back_to_overview') . '</a></p>'; echo '</div></div>'; echo '<div class="rex-addon-output-v2">'; $form = new rex_form("rex_xform_email_template", 'Template', 'id=' . $template_id); if ($func == 'edit') { $form->addParam('template_id', $template_id); } $field =& $form->addTextField('name'); $field->setLabel($I18N->msg("xform_key")); $field =& $form->addTextField('mail_from'); $field->setLabel($I18N->msg("xform_email_from")); $field =& $form->addTextField('mail_from_name'); $field->setLabel($I18N->msg("xform_email_from_name")); $field =& $form->addTextField('subject'); $field->setLabel($I18N->msg("xform_subject")); $field =& $form->addTextareaField('body'); $field->setLabel($I18N->msg("xform_body")); $form->show(); echo '</div>'; }
function save() { global $I18N_META_INFOS; $fieldName = $this->getFieldValue('name'); if ($fieldName == '') { return $I18N_META_INFOS->msg('field_error_name'); } if (preg_match('/[^a-zA-Z0-9\\_]/', $fieldName)) { return $I18N_META_INFOS->msg('field_error_chars_name'); } // Prüfen ob schon eine Spalte mit dem Namen existiert (nur beim add nötig) if (!$this->isEditMode()) { $sql = new rex_sql(); $sql->setQuery('SELECT * FROM ' . $this->tableName . ' WHERE name="' . $this->addPrefix($fieldName) . '" LIMIT 1'); if ($sql->getRows() == 1) { return $I18N_META_INFOS->msg('field_error_unique_name'); } } // Den alten Wert aus der DB holen // Dies muss hier geschehen, da in parent::save() die Werte für die DB mit den // POST werten überschrieben werden! $fieldOldName = ''; $fieldOldPrior = 9999999999999; // dirty, damit die prio richtig läuft... $fieldOldDefault = ''; if ($this->sql->getRows() == 1) { $fieldOldName = $this->sql->getValue('name'); $fieldOldPrior = $this->sql->getValue('prior'); $fieldOldDefault = $this->sql->getValue('default'); } if (parent::save()) { global $REX, $I18N; $this->organizePriorities($this->getFieldValue('prior'), $fieldOldPrior); rex_generateAll(); $fieldName = $this->addPrefix($fieldName); $fieldType = $this->getFieldValue('type'); $fieldDefault = $this->getFieldValue('default'); $sql = rex_sql::getInstance(); $result = $sql->getArray('SELECT `dbtype`, `dblength` FROM `' . $REX['TABLE_PREFIX'] . '62_type` WHERE id=' . $fieldType); $fieldDbType = $result[0]['dbtype']; $fieldDbLength = $result[0]['dblength']; // TEXT Spalten dürfen in MySQL keine Defaultwerte haben if ($fieldDbType == 'text') { $fieldDefault = null; } if ($this->isEditMode()) { // Spalte in der Tabelle verändern $tmRes = $this->tableManager->editColumn($fieldOldName, $fieldName, $fieldDbType, $fieldDbLength, $fieldDefault); } else { // Spalte in der Tabelle anlegen $tmRes = $this->tableManager->addColumn($fieldName, $fieldDbType, $fieldDbLength, $fieldDefault); } if ($tmRes) { // DefaultWerte setzen if ($fieldDefault != $fieldOldDefault) { $qry = 'UPDATE `' . $this->tableManager->getTableName() . '` SET `' . $fieldName . '`="' . $fieldDefault . '" WHERE `' . $fieldName . '`="' . $fieldOldDefault . '"'; return $sql->setQuery($qry); } // Default werte haben schon zuvor gepasst, daher true zurückgeben return true; } } return false; }
$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###']); $list->addLinkAttribute('funcs', 'data-confirm', rex_i18n::msg('delete') . ' ?'); $content .= $list->get(); $fragment = new rex_fragment(); $fragment->setVar('title', $title); $fragment->setVar('content', $content, false); $content = $fragment->parse('core/page/section.php'); } else { $title = $func == 'edit' ? rex_i18n::msg('edit_user_role') : rex_i18n::msg('add_user_role'); $form = rex_form::factory(rex::getTablePrefix() . 'user_role', $title, 'id = ' . $id); $form->addParam('id', $id); $form->setApplyUrl(rex_url::currentBackendPage()); $form->setEditMode($func == 'edit'); $field = $form->addTextField('name'); $field->setLabel(rex_i18n::msg('name')); $field = $form->addTextAreaField('description'); $field->setLabel(rex_i18n::msg('description')); $fieldContainer = $form->addContainerField('perms'); $fieldContainer->setMultiple(false); $group = 'all'; $fieldContainer->setActive($group); // Check all page permissions and add them to rex_perm if not already registered $registerImplicitePagePermissions = function ($pages) use(&$registerImplicitePagePermissions) { foreach ($pages as $page) { foreach ($page->getRequiredPermissions() as $perm) {
$list->setColumnParams('status', ['func' => 'setstatus', 'id' => '###id###', 'neuerstatus' => $sql->getValue('id')]); $status .= $list->getColumnLink('status', '<i class="rex-icon ' . $current . ' ' . $sql->getValue('icon') . ' "></i>'); $sql->next(); } $status .= "</div>"; return $status; }); $content = '<div id="aufgaben">' . $list->get() . '</div>'; $fragment = new rex_fragment(); $fragment->setVar('title', $this->i18n('aufgaben_title')); $fragment->setVar('content', $content, false); echo $fragment->parse('core/page/section.php'); } elseif ($func == 'edit' || $func == 'add') { $fieldset = $func == 'edit' ? $this->i18n('aufgaben_edit') : $this->i18n('aufgaben_add'); $id = rex_request('id', 'int'); $form = rex_form::factory(rex::getTablePrefix() . 'aufgaben', '', 'id=' . $id); $field = $form->addTextField('title'); $field->setLabel($this->i18n('aufgaben_task')); $field->getValidator()->add('notEmpty', $this->i18n('aufgaben_title_empty')); $field = $form->addTextareaField('description', null, ['class' => 'form-control markitupEditor-simple']); $field->setLabel($this->i18n('aufgaben_description')); $field = $form->addSelectField('category'); $field->setLabel($this->i18n('aufgaben_category')); $field->setPrefix('<div class="rex-select-style">'); $field->setSuffix('</div>'); $field->getValidator()->add('notEmpty', $this->i18n('aufgaben_category_empty')); $select = $field->getSelect(); $select->setSize(1); $query = 'SELECT category as label, id FROM rex_aufgaben_categories ORDER BY category'; $select->addOption($this->i18n('aufgaben_please_choose'), ''); $select->addSqlOptions($query);
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); } $form->show(); }
$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 $field = $form->addTextField('name'); $field->setLabel($I18N_KURSE->msg('name')); $field->setAttribute('maxlenght', '25'); // Bild $field = $form->addMediaField('bild'); $field->setLabel($I18N_KURSE->msg('bild')); // Elternkategorie $field = $form->addSelectField('eltern_zielgruppe_id'); $field->setLabel($I18N_KURSE->msg('elternkategorie')); $elternkategorie = $field->getSelect(); $elternkategorie->setSize(1); $elternkategorie->addOption($I18N_KURSE->msg('keine_eltern'), -1); $elternkategorie_sql = 'SELECT name, zielgruppe_id FROM ' . $REX['TABLE_PREFIX'] . 'd2u_kurse_zielgruppen ' . 'WHERE zielgruppe_id <> ' . $entry_id . ' ' . 'AND (eltern_zielgruppe_id < 0 OR eltern_zielgruppe_id IS NULL) ' . 'ORDER BY name'; $elternkategorie->addSqlOptions($elternkategorie_sql);
$thIcon = '<a class="rex-i-element rex-i-generic-add" href="' . $list->getUrl(array('func' => 'add')) . '"><span class="rex-i-element-text">Ansicht erstellen</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', 'article_id' => '###id###')); // functions column spans 2 data-columns $funcs = $I18N->msg('hide_startarticle_functions'); $list->addColumn($funcs, $I18N->msg('hide_startarticle_edit'), -1, array('<th colspan="2">###VALUE###</th>', '<td>###VALUE###</td>')); $list->setColumnParams($funcs, array('func' => 'edit', 'article_id' => $article_id, 'article_id' => '###id###')); $delete = $I18N->msg('deleteCol'); $list->addColumn($delete, $I18N->msg('hide_startarticle_delete'), -1, array('', '<td>###VALUE###</td>')); $list->setColumnParams($delete, array('article_id' => '###id###', 'func' => 'delete')); $list->addLinkAttribute($delete, 'onclick', 'return confirm(\'' . $I18N->msg('delete') . ' ?\')'); $list->show(); } elseif ($func == 'add' || $func == 'edit' && $article_id > 0) { if ($func == 'edit') { $formLabel = $I18N->msg('hide_startarticle_formlabel_edit'); } else { if ($func == 'add') { $formLabel = $I18N->msg('hide_startarticle_formlabel_add'); } } $form = rex_form::factory($REX['TABLE_PREFIX'] . 'hidden_startarticles', $formLabel, 'id=' . $article_id); $form->addErrorMessage(REX_FORM_ERROR_VIOLATE_UNIQUE_KEY, $I18N->msg('hide_startarticle_article_exists')); $field =& $form->addLinkmapField('article_id'); $field->setLabel($I18N->msg('hide_startarticle_select')); if ($func == 'edit') { $form->addParam('article_id', $article_id); } $form->show(); } echo '</div>';