protected function createControls()
 {
     $panel = new CaptionedPanelControl($this, 'panel');
     $panel->setCaption('Teilen von Dateien');
     $upload = new UploaderControl($panel);
     $upload->setAction('uploadShare');
     $upload->setNotify('medien');
     $size = "<?php echo round({me_groesse}/1024/1024,1); ?> MB";
     $sendLink = Configuration::get('site.url') . '/index.php/medien/get?token={me_token}';
     $send = "<a class='btn-xs btn-default' href='mailto:?body=" . $sendLink . "'><span class='glyphicon glyphicon-envelope'></span></a>";
     $editLink = Application::routing()->appLink('medien', 'editShare', array('id' => '{me_id}'));
     $edit = "<a class='btn-xs btn-default' href=" . $editLink . "><span class='glyphicon glyphicon-edit'></span></a>";
     $buttons = $send . $edit;
     $token = new InputTextboxControl(null);
     $token->setValue($sendLink)->addCssClass('input-sm');
     $valid = "<?php echo ((strtotime('{me_valid_until}')) < strtotime(date('d.m.Y'))) ? '<span style=\"color: red;\">Abgelaufen</span>' : '{me_valid_until}'; ?>";
     $downloads = "<?php echo '{me_downloads}' == '' ? 0 : {me_downloads}?>";
     $medien = new GridControl($panel, 'medien');
     $medien->setEntity(new Medien(), array('share' => 1));
     $medien->setDeleteAction('deleteMedien');
     $medien->createColumn(GridColumn::LINK, 'me_titel')->setAppLink('medien', 'editShare', array('id' => '{me_id}'));
     $medien->createColumn(GridColumn::FIELD, 'me_erweiterung')->setHeader('Typ');
     $medien->createColumn(GridColumn::FIELD, 'me_groesse', $size);
     $medien->createColumn(GridColumn::FIELD, 'me_token', $token->toHtml())->setHeader('Download-Link');
     $medien->createColumn(GridColumn::FIELD, 'me_downloads', $downloads);
     $medien->createColumn(GridColumn::FIELD, 'me_valid_until', $valid);
     $medien->createColumn(GridColumn::FIELD, 'me_titel', $buttons)->setHeader('');
     $medien->createColumn(GridColumn::DELETELINK);
     $hinweis = new CoreControls\HtmlControl($this);
     $hinweis->setInnerHtml("<span style='color: #AAA;'><b>Hinweis:</b> Abgelaufene Dateien werden nach 14 Tagen automatisch gelöscht.</span>");
 }
 public function setupControls()
 {
     $panel = new CaptionedTabPanelControl($this, $this->id);
     $panel->setCaption($this->caption);
     $sprachen = Model\Sprache::filter(['aktiv' => 1]);
     foreach ($sprachen as $sprache) {
         $tab = $panel->tabs->addTab($sprache->sp_bezeichnung);
         if ($this->text != null) {
             $text = $this->text;
         } else {
             $text = Model\Text::get($this->element, $sprache->id);
             $text = $text->te_text;
         }
         if (!$this->WYSIWYG) {
             $input = new FormControls\InputTextboxControl(null, $this->id . '[' . $sprache->id . ']');
             $input->setValue(htmlentities($text, ENT_QUOTES, 'UTF-8'));
             $content = new DataControls\EditControl($tab, '');
             $content->addRow('angezeigter Text', $input);
         } else {
             $input = new FormControls\InputEditorControl($tab, $this->id . '_' . $sprache->id);
             $input->setName($this->id . '[' . $sprache->id . ']');
             $input->setValue($text);
         }
     }
 }
 protected function createControls()
 {
     $this->setPostback('modView', 'endEditEntity', array('current' => $this->request->current, 'initPanel' => 2));
     $panel = new CaptionedPanelControl($this, 'panel');
     $panel->setCaption('Entität &raquo; bearbeiten');
     $inputKlasse = new InputTextboxControl(null, 'klasse');
     $inputKlasse->addCssClass('required');
     $inputName = new InputTextboxControl(null, 'name');
     $inputName->setValue($this->controller->entity->name);
     $inputName->addCssClass('required');
     $inputPrimary = new InputTextboxControl(null, 'primary');
     $inputPrimary->setValue($this->controller->entity->primaryKey);
     $inputPrimary->addCssClass('required');
     $inputExtends = new InputTextboxControl(null, 'extends');
     $inputExtends->setValue($this->controller->entity->extends);
     $inputMatch = new InputTextboxControl(null, 'match');
     $inputMatch->setValue($this->controller->entity->match);
     $edit = new EditControl($panel, 'edit');
     $edit->addRow('Tabellenname', $inputName)->addRow('Primärschlüssel', $inputPrimary)->addRow('Basis-Entität (bei Vererbung)', $inputExtends)->addRow('Match (abweichend von der Tabelle bei Vererbung)', $inputMatch);
     if ($this->request->action == 'newEntity') {
         $edit->addRow('Klassename', $inputKlasse);
     }
     $button = new ButtonControl($panel, 'button');
     $button->setCaption('Speichern')->setIsSubmit('true');
 }
 protected function createControls()
 {
     $this->setPostback('modView', 'endEditFeld', array('current' => $this->request->current, 'entity' => $this->request->entity, 'initPanel' => 2));
     $panel = new CaptionedPanelControl($this, 'panel');
     $panel->setCaption('Feld &raquo; bearbeiten');
     $inputName = new InputTextboxControl(null, 'name');
     $inputName->setValue($this->controller->feld->name);
     $inputName->addCssClass('required');
     $inputDescription = new InputTextboxControl(null, 'description');
     $inputDescription->setValue($this->controller->feld->description);
     $inputMax = new InputTextboxControl(null, 'maxLength');
     $inputMax->setValue($this->controller->feld->maxLength);
     $inputValidation = new InputTextboxControl(null, 'validation');
     $inputValidation->setValue($this->controller->feld->validation);
     $inputFormel = new InputTextboxControl(null, 'formula');
     $inputFormel->setValue($this->controller->feld->getFormula());
     $inputIndex = new InputCheckboxControl(null, 'index');
     $inputIndex->setValue(1);
     $inputIndex->setChecked($this->controller->feld->getIndex() == 1);
     $typ = new InputSelectControl(null, 'type');
     $typ->addOption(ModelField::TYPE_IMAGE, 'Bild')->addOption(ModelField::TYPE_BOOLEAN, 'Boolean')->addOption(ModelField::TYPE_DATE, 'Date')->addOption(ModelField::TYPE_DATETIME, 'Datetime')->addOption(ModelField::TYPE_FLOAT, 'Float')->addOption(ModelField::TYPE_HTML, 'Html')->addOption(ModelField::TYPE_INTEGER, 'Integer')->addOption(ModelField::TYPE_PASSWORD, 'Password')->addOption(ModelField::TYPE_STRING, 'String')->addOption(ModelField::TYPE_TEXT, 'Text')->addOption(ModelField::TYPE_TIME, 'Time')->addOption(ModelField::TYPE_FILE, 'Datei')->addOption(ModelField::TYPE_MARKDOWN, 'Markdown')->addOption(ModelField::TYPE_LABEL, 'Label')->preSelect($this->controller->feld->getType());
     $edit = new EditControl($panel, 'edit');
     $edit->setHeader('Stammdaten bearbeiten')->addRow('Name', $inputName)->addRow('Beschreibung', $inputDescription)->addRow('Datentyp', $typ)->addRow('Länge', $inputMax)->addRow('Validierung', $inputValidation)->addRow('Formel', $inputFormel)->addRow('Index', $inputIndex);
     $button = new ButtonControl($panel, 'button');
     $button->setCaption('Speichern')->setIsSubmit('true');
 }
 protected function createControls()
 {
     $this->setPostback('modView', 'endEditLookup', array('current' => $this->request->current, 'entity' => $this->request->entity, 'initPanel' => 2));
     $panel = new CaptionedPanelControl($this, 'panel');
     $panel->setCaption('Lookup &raquo; bearbeiten');
     // Felder festlegen
     $inputName = new InputTextboxControl(null, 'name');
     $inputName->setValue($this->controller->lookup->name);
     $inputName->addCssClass('required');
     $inputDescription = new InputTextboxControl(null, 'description');
     $inputDescription->setValue($this->controller->lookup->description);
     $inputDescription->addCssClass('required');
     $selectRelation = new InputSelectControl(null, 'relation');
     foreach ($this->controller->entity->relations as $relation) {
         $selectRelation->addOption($relation->name, $relation->name);
     }
     $selectRelation->preSelect($this->controller->lookup->relation);
     $inputField = new InputTextboxControl(null, 'field');
     $inputField->setValue($this->controller->lookup->field);
     $inputField->addCssClass('required');
     // Felder darstellen
     $edit = new EditControl($panel, 'edit');
     $edit->addRow('Name', $inputName)->addRow('Beschreibung', $inputDescription)->addRow('Relation', $selectRelation)->addRow('Feld in Relation', $inputField);
     $button = new ButtonControl($panel, 'button');
     $button->setCaption('Speichern')->setIsSubmit('true');
 }
 protected function getStdEditControl($readOnly = false)
 {
     $control = new InputTextboxControl(null, $this->name);
     $control->setValue($this->toString())->setMaxlength($this->maxLength)->setReadOnly($readOnly);
     if ($this->validation != '') {
         $control->addCssClass($this->validation);
     }
     return $control;
 }
 protected function createControls()
 {
     $this->setPostback('modView', 'endEditModule');
     $panel = new CaptionedPanelControl($this, 'panel');
     $panel->setCaption('Neues Modul anlegen');
     $fqn = new InputTextboxControl(null, 'namespace');
     $fqn->setPlaceholder('Namespace z.B. MyApp\\MyModule')->addCssClass('required');
     $edit = new EditControl($panel, 'edit');
     $edit->addRow('Fully Qualified Name', $fqn)->addRow('Beschreibung', new InputTextboxControl(null, 'description'))->addRow('Autor', new InputTextboxControl(null, 'author'))->addRow('Version', new InputTextboxControl(null, 'version'));
     new SaveButtonControl($this, 'btnSpeichern');
 }
 protected function createControls()
 {
     $this->setPostback('DefaultMod', 'doPassword');
     $text = new HilfstextControl($this, 'hilfe');
     $text->setText('USER_KENNWORT_ANFORDERN');
     $input = new InputTextboxControl(null, 'user');
     $input->addCssClass('required');
     $edit = new EditControl($this, 'edt');
     $edit->setMode(EditControl::MODE_VERTICAL)->addRow('ID-Nummer oder Benutzerkennung', $input);
     $submit = new ButtonControl($this, 'submit');
     $submit->setButtonClass(ButtonControl::BUTTON_PRIMARY)->setCaption('Kennwort zurücksetzen')->setIsSubmit(true);
 }
 protected function createControls()
 {
     $this->setPostback('DefaultMod', 'doUsername');
     $wrapper = new WrapperControl($this, 'wrapperIntro');
     $wrapper->setModule('cms')->setAction('show')->addParam('id', 12);
     $panel = new CaptionedPanelControl($this, 'pnl');
     $panel->setCaption('E-Mail-Adresse eingeben');
     $input = new InputTextboxControl(null, 'email');
     $input->addCssClass('required validate-email');
     $edit = new EditControl($panel, 'edt');
     $edit->setEntity(new User());
     $edit->addRow('Ihre Adresse', $input);
     $submit = new ButtonControl($this, 'submit');
     $submit->setCaption('Senden')->setIsSubmit(true)->setAddArrows(false);
 }
 protected function createControls()
 {
     $this->relation = $this->controller->relation;
     $this->setPostback('modView', 'endEditRelation', array('current' => $this->request->current, 'entity' => $this->request->entity, 'initPanel' => 2));
     $panel = new CaptionedPanelControl($this, 'panel');
     $panel->setCaption('Relation &raquo; bearbeiten');
     // Felder festlegen
     $inputName = new InputTextboxControl(null, 'name');
     $inputName->setValue($this->controller->relation->name);
     $inputName->addCssClass('required');
     $selectField = new InputSelectControl(null, 'field');
     foreach ($this->controller->entity->fields as $field) {
         $selectField->addOption($field->name, $field->name);
     }
     $selectField->preSelect($this->controller->relation->field);
     $inputForeignEntity = new InputTextboxControl(null, 'foreignEntity');
     $inputForeignEntity->setValue($this->controller->relation->foreignEntity);
     $inputForeignEntity->addCssClass('required');
     $inputForeignField = new InputTextboxControl(null, 'foreignField');
     $inputForeignField->setValue($this->controller->relation->foreignField);
     $inputForeignField->addCssClass('required');
     $inputJoinCriteria = new InputTextboxControl(null, 'joinCriteria');
     $inputJoinCriteria->setValue($this->controller->relation->joinCriteria);
     $selectJoin = new InputSelectControl(null, 'join');
     $selectJoin->addOption('inner', 'inner')->addOption('left outer', 'left outer')->addOption('right outer', 'right outer')->preSelect($this->controller->relation->join);
     // Felder darstellen
     $edit = new EditControl($panel, 'edit');
     $edit->addRow('Name', $inputName)->addRow('Feld in lokaler Entität', $selectField)->addRow('Fremdentität', $inputForeignEntity)->addRow('Feld in Fremdentität', $inputForeignField)->addRow('Join', $selectJoin)->addRow('On-Bedingung', $inputJoinCriteria)->addRow('Implementierende Klasse', InputTextboxControl::create(null, 'foreignClass')->setValue($this->relation->foreignClass));
     $button = new ButtonControl($panel, 'button');
     $button->setCaption('Speichern')->setIsSubmit('true');
 }
 protected function getStdEditControl($readOnly = false)
 {
     $tmpClass = $this->getRelationClassName();
     if ($readOnly || $tmpClass == null) {
         $temp = new InputTextboxControl(null, $this->name);
         $temp->setValue($this->toString())->setReadOnly($readOnly);
     } else {
         $temp = new LookupBoxControl(null, $this->getLocalField());
         $temp->setLookupEntity(new $tmpClass());
         $temp->setValuefield($this->getRelationField());
         $temp->setTextfield($this->field);
         $temp->preSelect($this->entity->felder[$this->getLocalField()]->getValue());
         if ($this->relation->join !== 'inner') {
             $temp->showNull(0, ' ');
         }
     }
     return $temp;
 }
 protected function createControls()
 {
     $this->setPostback('modView', 'endEditAktion', array('current' => $this->request->current, 'initPanel' => $this->request->initPanel));
     $panel = new CaptionedPanelControl($this, 'panel');
     $panel->setCaption('Aktion &raquo; bearbeiten');
     $inputName = new InputTextboxControl(null, 'name');
     $inputName->setValue($this->controller->action->name);
     $inputName->addCssClass('required');
     $inputDescription = new InputTextboxControl(null, 'description');
     $inputDescription->setValue($this->controller->action->description);
     $inputNextItem = new InputTextboxControl(null, 'nextItem');
     $inputNextItem->setValue($this->controller->action->nextItem);
     $addToMenu = new InputCheckboxControl(null, 'addToMenu');
     $addToMenu->setChecked($this->controller->action->addToMenu);
     $security = new InputSelectControl(null, 'securityLevel');
     $security->addOption(Action::LEVEL_ALL, 'Alle')->addOption(Action::LEVEL_LOGGEDIN, 'Angemeldete Benutzer')->addOption(Action::LEVEL_CONFIG, 'Rechtevergabe')->preSelect($this->controller->action->securityLevel);
     $next = new InputSelectControl(null, 'next');
     $next->addOption(Action::NEXT_NOTHING, 'Nichts')->addOption(Action::NEXT_ACTION, 'Aktion ausführen')->addOption(Action::NEXT_VIEW, 'View anzeigen')->preSelect($this->controller->action->next);
     $edit = new EditControl($panel, 'edit');
     $edit->setHeader('Stammdaten bearbeiten')->addRow('Name', $inputName)->addRow('Beschreibung', $inputDescription)->addRow('In Menü?', $addToMenu)->addRow('Berechtigung', $security)->addRow('Folgeaktion', $next)->addRow('Folgeelement', $inputNextItem);
     $button = new ButtonControl($panel, 'button');
     $button->setCaption('Speichern')->setIsSubmit('true');
 }
 /**
  * @inheritdoc
  */
 public function toHtml()
 {
     if ($this->readOnly) {
         $inner = new InputTextboxControl(null, $this->id);
         $inner->setValue($this->value);
         $inner->setReadOnly(true);
         return $inner->toHtml();
     }
     $div = Html::create('div')->css('input-group')->css('date')->attr('id', $this->id . '-div');
     $input = Html::create('input')->addTo($div)->attr('type', 'text')->css('form-control')->css($this->cssClasses)->attr('value', $this->value)->attr('name', $this->id)->attr('id', $this->id);
     if ($this->mode === self::MODE_DATE) {
         $input->css('date');
     }
     if (!$this->readOnly) {
         $span = Html::create('span')->addTo($div)->css('input-group-addon');
         $icon = Html::create('span')->addTo($span)->css('glyphicon');
         if ($this->mode === self::MODE_TIME) {
             $icon->css('glyphicon-time');
         } else {
             $icon->css('glyphicon-calendar');
         }
     }
     return $div->render();
 }
 protected function createControls()
 {
     $this->setPostback('modView', 'endEditModule', array('initPanel' => $this->request->initPanel));
     $panel = new CaptionedTabPanelControl($this, 'pnlStammdaten');
     $panel->setCaption('Details zu Modul ' . $this->controller->current->name);
     $tabStamm = $panel->tabs->addTab('Stammdaten');
     $tabAction = $panel->tabs->addTab('Actions');
     $tabEntity = $panel->tabs->addTab('Entitäten');
     $panel->tabs->setInitPanel($this->request->initPanel);
     $inputName = new InputTextboxControl(null, 'name');
     $inputName->setValue($this->controller->current->name)->setReadOnly(true);
     $inputQualifiedName = new InputTextboxControl(null, 'qualifiedName');
     $inputQualifiedName->setValue($this->controller->current->qualifiedName)->setReadOnly(true);
     $inputNamespace = new InputTextboxControl(null, 'name');
     $inputNamespace->setValue($this->controller->current->namespace)->setReadOnly(true);
     $inputDescription = new InputTextboxControl(null, 'description');
     $inputDescription->setValue($this->controller->current->description);
     $inputAuthor = new InputTextboxControl(null, 'author');
     $inputAuthor->setValue($this->controller->current->author);
     $inputVersion = new InputTextboxControl(null, 'version');
     $inputVersion->setValue($this->controller->current->version);
     $panel = $tabStamm;
     $btnGroup = new ButtonGroupControl($panel, 'btnGroup');
     $btnForward = new ButtonControl($btnGroup, 'btnInstall');
     $btnForward->setCaption('Installieren')->setButtonClass(ButtonControl::BUTTON_WARNING)->setLink('modView', 'install', array('id' => $this->request->id))->setIcon('arrow-right');
     $btnForward = new ButtonControl($btnGroup, 'btnBerechtigungen');
     $btnForward->setCaption('Berechtigungen')->setButtonClass(ButtonControl::BUTTON_DANGER)->setLink('modView', 'berechtigungen', array('id' => $this->request->id))->setIcon('lock');
     $edit = new EditControl($panel, 'edit');
     $edit->setHeader('Stammdaten bearbeiten')->addRow('Name', $inputName)->addRow('Namespace', $inputNamespace)->addRow('Qualified-Name', $inputQualifiedName)->addRow('Beschreibung', $inputDescription)->addRow('Autor', $inputAuthor)->addRow('Version', $inputVersion);
     $button = new ButtonControl($panel, 'button');
     $button->setCaption('Speichern')->setIsSubmit('true');
     // --------------------------------------------------------------------------------------------------
     $panel = $tabAction;
     $btnGroupAction = new ButtonGroupControl($panel, 'btnGroupAction');
     $btnNeu = new ButtonControl($btnGroupAction, 'btnNeu');
     $btnNeu->setCaption('Neue Aktion anlegen')->setIcon('plus')->setButtonClass(ButtonControl::BUTTON_PRIMARY)->setLink('modView', 'newAktion', array('current' => $this->request->id))->addCssClass('nfs-modal');
     $btnCRUD = new ButtonControl($btnGroupAction, 'btnCRUD');
     $btnCRUD->setCaption('CRUD Aktionen anlegen')->setIcon('plus')->setLink('modView', 'newCRUD', array('current' => $this->request->id))->addCssClass('nfs-modal');
     $listView = new ListViewControl($panel, 'lv');
     $listView->setSkinFile(__DIR__ . '/ModuleListView.skin');
     $listView->setItemSkinFile(__DIR__ . '/AktionListItem.skin');
     $listView->setVar('header', '<th>Name</th><th>Beschreibung</th><th>Menü</th><th>Sec-Level</th><th>Next-Typ</th><th>Next-Item</th><th>&nbsp;</th>');
     $listView->addItems($this->controller->aktionen);
     $panelEnt = $tabEntity;
     $panel = $panelEnt;
     $btnGroup = new ButtonGroupControl($panel, 'btnGroupEntity');
     $btnNeu = new ButtonControl($btnGroup, 'btnNeuEntity');
     $btnNeu->setCaption('Neue Entität anlegen')->setIcon('plus')->setButtonClass(ButtonControl::BUTTON_PRIMARY)->setLink('modView', 'newEntity', array('current' => $this->request->id))->addCssClass('nfs-modal');
     $btnForward = new ButtonControl($btnGroup, 'btnForward');
     $btnForward->setCaption('DB aktualisieren')->setLink('modView', 'forwardEngineerAll', array('id' => $this->request->id))->setIcon('arrow-right');
     foreach ($this->controller->entities as $name => $entity) {
         $btnEdit = new ButtonControl(null, 'btnEdit');
         $btnEdit->setLink('ModView', 'editEntity', ['current' => $this->request->id, 'id' => $name])->setIcon('pencil')->setCaption('Bearbeiten')->setSize(ButtonControl::SIZE_EXTRASMALL)->addCssClass('nfs-modal');
         $btnDelete = new ButtonControl(null, 'btnDelete');
         $btnDelete->setLink('ModView', 'deleteEntity', ['current' => $this->request->id, 'id' => $name])->setIcon('trash')->setCaption('Löschen')->setButtonClass(ButtonControl::BUTTON_DANGER)->setSize(ButtonControl::SIZE_EXTRASMALL);
         $panel = new CaptionedPanelControl($panelEnt, '');
         if ($this->request->hash == 'entity_' . $name) {
             $panel->setCaption('<a data-toggle="collapse" href="#entity_' . $name . '"><b>' . $name . '</b> ' . $entity['extends'] . '</a>
             <div class="pull-right">' . $btnEdit->toHtml() . $btnDelete->toHtml() . '</div>');
             $panel->setSkin('<div class="panel panel-default {css}">
               <div class="panel-heading">
                 <h3 class="panel-title">{caption}</h3>
               </div>
               <div id="entity_' . $name . '" class="panel-collapse collapse in">
                   <div class="panel-body">
                     {controls}
                   </div>
               </div>
             </div>');
         } else {
             $panel->setCaption('<a class="collapsed" data-toggle="collapse" href="#entity_' . $name . '"><b>' . $name . '</b> ' . $entity['extends'] . '</a>
             <div class="pull-right">' . $btnEdit->toHtml() . $btnDelete->toHtml() . '</div>');
             $panel->setSkin('<div class="panel panel-default {css}">
               <div class="panel-heading">
                 <h3 class="panel-title">{caption}</h3>
               </div>
               <div id="entity_' . $name . '" class="panel-collapse collapse">
                   <div class="panel-body">
                     {controls}
                   </div>
               </div>
             </div>');
         }
         $btnGroup = new ButtonGroupControl($panel, '');
         $btnNeu = new ButtonControl($btnGroup, 'btnNeu');
         $btnNeu->setCaption('Neues Feld')->setIcon('plus')->setLink('modView', 'newFeld', array('current' => $this->request->id, 'entity' => $name))->setButtonClass(ButtonControl::BUTTON_PRIMARY)->setSize(ButtonControl::SIZE_SMALL)->addCssClass('nfs-modal');
         $btnNeu = new ButtonControl($btnGroup, 'btnNeu2');
         $btnNeu->setCaption('Neue Relation')->setIcon('plus')->setLink('modView', 'newRelation', array('current' => $this->request->id, 'entity' => $name))->setSize(ButtonControl::SIZE_SMALL)->addCssClass('nfs-modal');
         $btnNeu = new ButtonControl($btnGroup, 'btnNeu3');
         $btnNeu->setCaption('Neues Lookup')->setIcon('plus')->setLink('modView', 'newLookup', array('current' => $this->request->id, 'entity' => $name))->setSize(ButtonControl::SIZE_SMALL)->addCssClass('nfs-modal');
         $btnNeu = new ButtonControl($btnGroup, 'btnForward');
         $btnNeu->setCaption('In DB anlegen')->setIcon('arrow-right')->setLink('modView', 'forwardEngineer', array('current' => $this->request->id, 'id' => $name))->setSize(ButtonControl::SIZE_SMALL);
         $btnCRUD = new ButtonControl($btnGroup, 'btnBackward');
         $btnCRUD->setCaption('XML erzeugen')->setIcon('arrow-left')->setLink('modView', 'backwardEngineer', array('current' => $this->request->id, 'id' => $name))->setSize(ButtonControl::SIZE_SMALL);
         $listView = new ListViewControl($panel, '');
         $listView->setSkinfile(__DIR__ . '/FeldListView.template.html');
         $listView->setItemSkinFile(__DIR__ . '/FeldListItem.skin');
         $listView->setVar('moduleName', $this->request->id);
         $listView->setVar('entityName', $name);
         $listView->addItems($entity['felder']);
     }
 }
 protected function getStdEditControl($readOnly = false)
 {
     $control = new InputTextboxControl(null, $this->name);
     $control->setValue($this->value)->setMaxlength(8)->setReadOnly(true);
     return $control;
 }