private static function transformUpdate($out = NULL) { $returnOut = []; $linkeSpalte = []; $rechteSpalte = []; for ($i = 0; $i < count(Abteilung::getNames()); $i++) { array_push($linkeSpalte, Abteilung::getNames()[$i]); } if ($out !== NULL) { array_push($linkeSpalte, HTML::buildInput('hidden', 'id', $out->getId())); } else { array_push($linkeSpalte, ''); } if ($out !== NULL) { $dbWerte = json_decode(json_encode($out), true); } // überführe $dbWerte in rechte Spalte if ($out !== NULL) { array_push($rechteSpalte, HTML::buildInput('text', 'name', $dbWerte['name'], NULL, 'abteilung')); array_push($rechteSpalte, HTML::buildButton('OK', 'ok', 'updateAbteilung', 'OK')); } else { array_push($rechteSpalte, HTML::buildInput('text', 'name', '', NULL, 'abteilung')); array_push($rechteSpalte, HTML::buildButton('OK', 'ok', 'insertAbteilung', 'OK')); } $returnOut = HTML::buildFormularTable($linkeSpalte, $rechteSpalte); return $returnOut; }
public static function doAction($action, $id) { switch ($action) { case 'showList': $out = Mitarbeiter::getAll(); $out = self::transform($out); break; case 'showUpdate': $out = Mitarbeiter::getById($id); $out = self::transformUpdate($out); break; case 'showInsert': $out = self::transformUpdate(); break; case 'update': $vorgesetzter_idFiltered = filter_input(INPUT_POST, 'vorgesetzter_id', FILTER_SANITIZE_MAGIC_QUOTES & FILTER_SANITIZE_SPECIAL_CHARS); $vornameFiltered = filter_input(INPUT_POST, 'vorname', FILTER_SANITIZE_MAGIC_QUOTES & FILTER_SANITIZE_SPECIAL_CHARS); $nachnameFiltered = filter_input(INPUT_POST, 'nachname', FILTER_SANITIZE_MAGIC_QUOTES & FILTER_SANITIZE_SPECIAL_CHARS); $geschlechtFiltered = filter_input(INPUT_POST, 'geschlecht', FILTER_SANITIZE_MAGIC_QUOTES & FILTER_SANITIZE_SPECIAL_CHARS); $geburtsdatumFiltered = filter_input(INPUT_POST, 'geburtsdatum', FILTER_SANITIZE_MAGIC_QUOTES & FILTER_SANITIZE_SPECIAL_CHARS); $abteilung_idFiltered = filter_input(INPUT_POST, 'abteilung_id', FILTER_SANITIZE_MAGIC_QUOTES & FILTER_SANITIZE_SPECIAL_CHARS); $stundenlohnFiltered = filter_input(INPUT_POST, 'stundenlohn', FILTER_SANITIZE_MAGIC_QUOTES & FILTER_SANITIZE_SPECIAL_CHARS); $updatemitarbeiterherstellerFiltered = filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT & FILTER_SANITIZE_SPECIAL_CHARS); $vorgesetzter = $vorgesetzter_idFiltered ? Mitarbeiter::getById($vorgesetzter_idFiltered) : NULL; $out = new Mitarbeiter($vornameFiltered, $nachnameFiltered, $geschlechtFiltered, HTML::germanToMysql($geburtsdatumFiltered), Abteilung::getById($abteilung_idFiltered), $stundenlohnFiltered, $vorgesetzter, $updatemitarbeiterherstellerFiltered); $out = Mitarbeiter::update($out); $out = Mitarbeiter::getAll(); $out = self::transform($out); break; case 'insert': $vorgesetzter_idFiltered = filter_input(INPUT_POST, 'vorgesetzter_id', FILTER_SANITIZE_MAGIC_QUOTES & FILTER_SANITIZE_SPECIAL_CHARS); $vornameFiltered = filter_input(INPUT_POST, 'vorname', FILTER_SANITIZE_MAGIC_QUOTES & FILTER_SANITIZE_SPECIAL_CHARS); $nachnameFiltered = filter_input(INPUT_POST, 'nachname', FILTER_SANITIZE_MAGIC_QUOTES); $geschlechtFiltered = filter_input(INPUT_POST, 'geschlecht', FILTER_SANITIZE_MAGIC_QUOTES & FILTER_SANITIZE_SPECIAL_CHARS); $geburtsdatumFiltered = filter_input(INPUT_POST, 'geburtsdatum', FILTER_SANITIZE_MAGIC_QUOTES & FILTER_SANITIZE_SPECIAL_CHARS); $abteilung_idFiltered = filter_input(INPUT_POST, 'abteilung_id', FILTER_SANITIZE_MAGIC_QUOTES & FILTER_SANITIZE_SPECIAL_CHARS); $stundenlohnFiltered = filter_input(INPUT_POST, 'stundenlohn', FILTER_SANITIZE_MAGIC_QUOTES & FILTER_SANITIZE_SPECIAL_CHARS); $vorgesetzter = $vorgesetzter_idFiltered ? Mitarbeiter::getById($vorgesetzter_idFiltered) : NULL; $out = new Mitarbeiter($vornameFiltered, $nachnameFiltered, $geschlechtFiltered, HTML::germanToMysql($geburtsdatumFiltered), Abteilung::getById($abteilung_idFiltered), $stundenlohnFiltered, $vorgesetzter, NULL); $out = Mitarbeiter::insert($out); $out = Mitarbeiter::getAll(); $out = self::transform($out); break; case 'delete': $deletemitarbeiteridFiltered = filter_input(INPUT_POST, 'id', FILTER_SANITIZE_NUMBER_INT & FILTER_SANITIZE_SPECIAL_CHARS); $out = $deletemitarbeiteridFiltered; $out = Mitarbeiter::delete($out); $out = Mitarbeiter::getAll(); $out = self::transform($out); break; default: break; } return $out; }
public static function doAction($action, &$view, $id) { switch ($action) { case 'showList': $out = Mitarbeiter::getAll(); $out = self::transform($out); break; case 'showUpdate': $out = Mitarbeiter::getById($id); $out = self::transformUpdate($out); break; case 'showInsert': $out = self::transformUpdate(); break; case 'update': $daten = $_POST['daten']; $daten = json_decode($daten, FALSE); $vorgesetzter = ""; if (!$daten->vorgesetzter_id) { $vorgesetzter = NULL; } else { $vorgesetzter = $daten->vorgesetzter_id; } echo $vorgesetzter; Mitarbeiter::update(new Mitarbeiter($daten->vorname, $daten->nachname, $daten->geschlecht, $daten->geburtsdatum, Abteilung::getById($daten->abteilung_id), $daten->stundenlohn, Mitarbeiter::getVorgesetzterById($vorgesetzter), $daten->umaid)); $out = Mitarbeiter::getAll(); $out = self::transform($out); break; case 'insert': $daten = $_POST['daten']; $daten = json_decode($daten, FALSE); $vorgesetzter = ""; if (!$daten->vorgesetzter_id) { $vorgesetzter = NULL; } else { $vorgesetzter = $daten->vorgesetzter_id; } Mitarbeiter::insert(new Mitarbeiter($daten->vorname, $daten->nachname, $daten->geschlecht, $daten->geburtsdatum, Abteilung::getById($daten->abteilung_id), $daten->stundenlohn, Mitarbeiter::getVorgesetzterById($vorgesetzter), '')); $out = Mitarbeiter::getAll(); $out = self::transform($out); break; case 'delete': $out = $_POST['lmaid']; $out = Mitarbeiter::delete($out); $out = Mitarbeiter::getAll(); $out = self::transform($out); break; default: break; } return $out; }
<?php /* * für die options für die dropdown menüs * hier einige vorlagen später auch noch in die HTML umzusetzen */ //options für die abteilungen $abteilung = $out; $abt = Abteilung::getAll(); $options = []; // zum abwählen $options[0] = ['value' => 0, 'label' => '']; foreach ($abt as $o) { $options[$o->getId()] = ['value' => $o->getId(), 'label' => $o->getName()]; if ($o->getId() === $abteilung->getAbteilung()->getId()) { $options[$o->getId()]['selected'] = TRUE; } } // options für die vorgesetzten $vorgesetzte = Mitarbeiter::getAll(); $options2 = []; // zum abwählen $options2[0] = ['value' => 0, 'label' => '']; $hatVorgesetzte = FALSE; foreach ($vorgesetzte as $o) { $options2[$o->getId()] = ['value' => $o->getId(), 'label' => $o->getVorname() . ' ' . $o->getNachname()]; if ($o->getVorgesetzter() !== NULL) { if ($o->getId() === $out->getId()) { $options2[$o->getVorgesetzter()->getId()]['selected'] = TRUE; $hatVorgesetzte = TRUE; }
public static function getVorgesetzterById($id) { if ($id !== NULL) { $pdo = DbConnect::connect(); $sql = "SELECT * from mitarbeiter WHERE id=:id"; $stmt = $pdo->prepare($sql); $stmt->execute([':id' => $id]); $rows = $stmt->fetchAll(PDO::FETCH_ASSOC); return new Mitarbeiter($rows[0]['vorname'], $rows[0]['nachname'], $rows[0]['geschlecht'], $rows[0]['geburtsdatum'], Abteilung::getById($rows[0]['abteilung_id']), $rows[0]['stundenlohn'], NULL, $rows[0]['id']); } else { return NULL; } }