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; }
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()); }
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); }
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); } } } }