Example #1
0
 public static function fromDatabase()
 {
     $themen = new Themen();
     $query = 'select parent, Name from Thema order by parent, Name;';
     $result = mysql_query($query);
     $allChilds = array();
     while (list($parent, $child) = mysql_fetch_row($result)) {
         $themen->add($parent, $child);
         $allChilds[] = $child;
     }
     foreach ($themen->themen as $parent => $childs) {
         if ($parent == Themen::ROOT_NAME) {
             continue;
         }
         if (array_search($parent, $allChilds) === false) {
             $themen->add(Themen::ROOT_NAME, $parent);
         }
     }
     return $themen;
 }
Example #2
0
 public function assignExtendedToForm($form)
 {
     foreach ($this->data as $field => $value) {
         $form->assign($field, $value);
     }
     //        $kategorieList = new FieldList('Kategorie');
     //        $kategorieList->assignToTemplate($form->addSubtemplate('CheckboxList'));
     //        $kategorieList = new FieldList('Herkunft');
     //        $kategorieList->assignToTemplate($form->addSubtemplate('CheckboxList'));
     $kategorieList = new FieldList('Autor');
     $kategorieList->assignToTemplate($form->addSubtemplate('DropdownList'));
     $themen = Themen::fromDatabase();
     $form->assignHtml('themen', $themen->getHtmlWithPost());
 }
Example #3
0
 public static function fromPost()
 {
     $fields = self::$fields;
     unset($fields[0]);
     // delete 'id' field
     $data = array();
     foreach ($fields as $field) {
         if (isset($_POST[$field])) {
             $data[$field] = $_POST[$field];
         } else {
             if ($field == 'NfD') {
                 $data['NfD'] = 0;
             } else {
                 return null;
             }
         }
     }
     $data['Datum'] = self::standardizeDate($data['Datum']);
     if (!isset($_POST['id'])) {
         return;
     }
     $id = (int) $_POST['id'];
     if ($id > 0) {
         $setStrings = array();
         foreach ($fields as $field) {
             $setStrings[] = $field . '="' . $data[$field] . '"';
         }
         $query = 'update Erlass set ' . implode(', ', $setStrings) . ' where id="' . $id . '";';
         mysql_query($query);
     } else {
         $query = 'insert into Erlass (' . implode(', ', $fields) . ')' . ' values ("' . implode('", "', $data) . '");';
         $result = mysql_query($query);
         if ($result && mysql_affected_rows()) {
             $id = mysql_insert_id();
         }
     }
     Themen::setFromPostFor($id);
     return self::fromDB($id);
 }
Example #4
0
 private function display(Erlass $erlass)
 {
     $erlassTmpl = $this->template->addSubtemplate('erlass');
     $erlass->assignToTmpl($erlassTmpl);
     if ($this->user->hasFileaccess()) {
         $erlassTmpl->addSubtemplate('erlassStatus');
     }
     if ($erlass->get('NfD')) {
         $erlassTmpl->addSubtemplate('erlassNfD');
     }
     $erlassThemen = Themen::listOf($erlass->get('id'));
     if (count($erlassThemen) > 0) {
         $sub = $erlassTmpl->addSubtemplate('betrifft');
         foreach ($erlassThemen as $thema) {
             $themaTmpl = $sub->addSubtemplate('thema');
             $themaTmpl->assign('Name', $thema);
         }
     }
     if ($this->user->isAdmin()) {
         $erlassTmpl->addSubtemplate('erlassAdmin');
     }
     if ($erlass->get('NfD') && !$this->user->hasNfd()) {
         $sub = $erlassTmpl->addSubtemplate('noAccessToNfD');
         if ($this->user->isRegistered()) {
             $sub->addSubtemplate('pleaseWait');
         } else {
             $sub->addSubtemplate('pleaseRegister');
         }
         $erlassTmpl->assignText('Dokument', '');
     } else {
         $files = new Files($erlass->get('id'));
         if ($this->user->hasFileaccess()) {
             $files->assignToTmpl($erlassTmpl);
         } else {
             if ($this->user->isRegistered()) {
                 $files->assignPDFToTmpl($erlassTmpl);
             }
         }
     }
 }