protected function createControls()
 {
     $medien = $this->controller->kollektion->getMedien();
     $lView = new ListViewControl($this, 'lView');
     $lView->setSkin('
         <table class="table table-striped table-hover">
             <thead>
                 <tr>
                     <th>Dokument</th>
                     <th>Datum</th>
                     <th>Größe</th>
                 </tr>
             </thead>
             <tbody>
                 {controls}
             </tbody>
         </table>
     ');
     $lView->setItemSkin('
                 <tr>
                     <td><a href="' . Configuration::get('site.internalUrl') . '/medien/{me_kollektion}/{me_dateiname}">{me_titel}</a></td>
                     <td>{me_upload_am}</td>
                     <td><?php echo ceil({me_groesse} / 1024); ?> KB</td>
                 </tr>
     ');
     $lView->addItems($medien);
 }
 protected function createControls()
 {
     $button = new ButtonControl($this, 'button');
     $button->setCaption('Neues Modul anlegen')->setLink('modView', 'newModule')->setIcon('plus')->addCssClass('nfs-modal')->setButtonClass(ButtonControl::BUTTON_PRIMARY);
     $listView = new ListViewControl($this, 'lv');
     $listView->setSkinfile(__DIR__ . '/ModuleListView.skin');
     $listView->setItemSkinFile(__DIR__ . '/ModuleListItem.skin');
     $listView->setVar('header', '<th>Name</th><th>Beschreibung</th><th>Version</th><th>Autor</th><th>&nbsp;</th>');
     $listView->addItems(Modules::getAllModules());
 }
 protected function createControls()
 {
     $panel = new CaptionedPanelControl($this, 'panel');
     $panel->setCaption('Suchergebnis');
     $item = '<p>{text}</p><a href="{site.scriptUrl}/{link}" class="button"><span>Mehr</span></a><p>&nbsp;</p>';
     $items = new ListViewControl($this, 'items');
     $items->setSkin('{controls}');
     $items->setItemSkin($item);
     $items->addItems($this->controller->hits);
     $this->controls->setVar('count', count($this->controller->hits));
 }
 protected function createControls()
 {
     $this->module = $this->controller->current;
     $panel = new CaptionedPanelControl($this, 'panel');
     $panel->setCaption('Berechtigungen für ' . $this->module->name);
     $btnDetails = new ButtonControl($panel, 'btnDetails');
     $btnDetails->setCaption('Details')->setLink('modView', 'editModule', array('id' => $this->module->qualifiedName))->setIcon('list-alt');
     $listView = new ListViewControl($panel, 'lv');
     $listView->setSkinfile(__DIR__ . '/ModuleListView.skin');
     $listView->setItemSkinFile(__DIR__ . '/BerechtigungListItem.skin');
     $listView->setVar('header', '<th>Name</th><th>Beschreibung</th><th>Menü</th><th>Berechtigungen</th>');
     $listView->addItems($this->controller->aktionen);
 }
 protected function createControls()
 {
     $panel = new CaptionedPanelControl($this, 'pnlSmallBlog');
     $panel->setCaption('Übersicht');
     $panel->addCssClass('posts');
     $itemSkin = '
                     <dl class="dl-horizontal">
                         <dt><a href="#"><img src="{ca_hauptbild}" alt="" /></a></dt>
                         <dd>
                             <p><a href="/nfs/index.php/Aktuelles#{ca_id}"><i class="icon-calendar"></i> {ca_geschrieben_am} - {titel}</a></p>
                         </dd>
                     </dl>
                     ';
     $lView = new ListViewControl($panel, 'lViewAktuelles');
     $lView->setSkin('{controls}')->setItemSkin($itemSkin)->addItems($this->controller->kategorie->getArtikel());
 }
 public function toHtml()
 {
     $btnCss = 'btn-' . $this->buttonClass;
     if ($this->size != ButtonControl::SIZE_DEFAULT) {
         $btnCss .= ' btn-' . $this->size;
     }
     $this->setVar('btncss', $btnCss);
     $this->setVar('caption', $this->caption);
     $this->setVar('icon', $this->icon);
     $this->setVar('css', $this->getCssString());
     $this->addItems($this->links);
     $this->setSkinfile(__DIR__ . '/DropdownControl.skin');
     $this->setItemSkinFile(__DIR__ . '/DropdownControl.Item.skin');
     return parent::toHtml();
 }
 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']);
     }
 }
 /**
  * @return ListViewControl
  * @throws \Exception
  */
 private function showTabInfo()
 {
     $table = new ListViewControl(null, 'tableCache');
     $table->setSkin('<div id="cacheTarget"></div>
          <table class="table table-hover table-striped">
             <thead>
                 <tr>
                     <th>Schlüssel</th>
                     <th>Wert</th>
                     <th></th>
                 </tr>
             </thead>
             <tbody>
                 {controls}
             </tbody>
         </table>');
     $table->setItemSkin('<tr>
             <td>{key}</td>
             <td>{value}</td>
             <td>
                 <a class="btn btn-xs btn-danger nfs-ajax" data-target="cacheTarget" href="{site.scriptUrl}/Debug/removeFromCache/key/{url_key}">Löschen</a>
             </td>
         </tr>');
     $table->addItems(Cache::dump());
     return $table;
 }