/** * Returns the Admin Form to edit the schema * * This data is processed by the SchemaBuilder class * * @return string the HTML for the editor form * @see SchemaBuilder */ public function getEditor() { $form = new Form(array('method' => 'POST', 'id' => 'plugin__struct_editor')); $form->setHiddenField('do', 'admin'); $form->setHiddenField('page', 'struct_schemas'); $form->setHiddenField('table', $this->schema->getTable()); $form->setHiddenField('schema[id]', $this->schema->getId()); $form->setHiddenField('schema[islookup]', $this->schema->isLookup()); $form->addHTML('<table class="inline">'); $form->addHTML("<tr>\n <th>{$this->hlp->getLang('editor_sort')}</th>\n <th>{$this->hlp->getLang('editor_label')}</th>\n <th>{$this->hlp->getLang('editor_multi')}</th>\n <th>{$this->hlp->getLang('editor_conf')}</th>\n <th>{$this->hlp->getLang('editor_type')}</th>\n <th>{$this->hlp->getLang('editor_enabled')}</th>\n </tr>"); foreach ($this->schema->getColumns() as $key => $col) { $form->addHTML($this->adminColumn($col->getColref(), $col)); } // FIXME new one needs to be added dynamically, this is just for testing $form->addHTML($this->adminColumn('new1', new Column($this->schema->getMaxsort() + 10, new Text()), 'new')); $form->addHTML('</table>'); $form->addFieldsetOpen(); $form->addTextInput('schema[editors]', $this->hlp->getLang('editor_editors'))->val($this->schema->getEditors()); $form->addFieldsetClose(); $form->addButton('save', 'Save')->attr('type', 'submit'); return $form->toHTML() . $this->initJSONEditor(); }
/** * Form to add a new schema * * @return string */ protected function html_newschema() { $form = new Form(); $form->addClass('struct_newschema'); $form->addFieldsetOpen($this->getLang('create')); $form->setHiddenField('do', 'admin'); $form->setHiddenField('page', 'struct_schemas'); $form->addTextInput('table', $this->getLang('schemaname')); $form->addRadioButton('lookup', $this->getLang('page schema'))->val('0')->attr('checked', 'checked'); $form->addRadioButton('lookup', $this->getLang('lookup schema'))->val('1'); $form->addButton('', $this->getLang('save')); $form->addHTML('<p>' . $this->getLang('createhint') . '</p>'); // FIXME is that true? we probably could $form->addFieldsetClose(); return $form->toHTML(); }