function save()
 {
     $return = parent::save();
     $manager = rex_cronjob_manager::factory();
     $manager->saveNextTime();
     return $return;
 }
Example #2
0
 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);
 }
Example #4
0
 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);
     }
Example #7
0
                    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) {
Example #8
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;
 }
Example #9
0
             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;
Example #10
0
    $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);
        }
Example #12
0
    $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&szlig;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&szlig;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");
Example #16
0
 * @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 . '&amp;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);
Example #19
0
    $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>';
Example #20
0
    $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);
Example #23
0
    $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 . '&amp;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;
 }
Example #26
0
    $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) {
Example #27
0
            $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);
Example #28
0
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&szlig;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&szlig;e');
    $field =& $form->addTextField('city');
    $field->setLabel('Stadt');
    if ($func == 'edit') {
        $form->addParam('eid', $id);
    }
    $form->show();
}
Example #29
0
    $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);
Example #30
0
    $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>';