vid); $opt_catgory = db_get_options(5); $opt_unit = db_get_options(6); // ========== ACTIONS START =================================================== switch ($submit = form_get_action()) { case NULL: break; case 'add': $action = ACT_ADD; break; case 'view': $action = ACT_VIEW; break; case 'edit': $action = ACT_EDIT; break; case 'del': $action = ACT_DELETE; break; case 'insert': $p[':provname'] = gpc_get_string($_POST, 'provname'); $p[':number'] = gpc_get_int($_POST, 'number'); $p[':unit'] = gpc_get_int($_POST, 'unit'); $p[':storedate'] = gpc_get_string($_POST, 'storedate'); $p[':shelflife'] = gpc_get_string($_POST, 'shelflife'); $keys = array_keys($p); $fields = join(',', array_map(function($s) { return ltrim($s, ':'); }, $keys)); $pnames = join(',', $keys); $sth = $pdo->prepare("INSERT INTO provisions ($fields) VALUES ($pnames)"); try { $sth->execute($p); } catch (PDOexception $e) { $g_error->Add('SQL-Error: '. $e->getMessage()); } $id = $pdo->LastInsertId(); $action = ACT_VIEW; break; case 'update': $p[':provname'] = gpc_get_string($_POST, 'provname'); $p[':number'] = gpc_get_int($_POST, 'number'); $p[':unit'] = gpc_get_int($_POST, 'unit'); $p[':storedate'] = gpc_get_string($_POST, 'storedate'); $p[':shelflife'] = gpc_get_string($_POST, 'shelflife'); $p[':sid'] = gpc_get_int($_POST, 'sid'); $fields = join(',', array_map(function($s) { return ltrim($s, ':') . '=' . $s; }, array_keys($p))); $sth = $pdo->prepare("UPDATE provisions SET $fields WHERE provid=:provid"); $p[':provid'] = $id; try { $sth->execute($p); } catch (PDOexception $e) { $g_error->Add('SQL-Error: '. $e->getMessage()); } $action = ACT_VIEW; break; case 'delete': // Security token needed! if (gpc_get_string($_POST, 'token', 16) != $_SESSION['token']) { $g_error->Add(_('Delete prohibited, invalid security token!')); $action = ACT_VIEW; break; } $action = ACT_DEFAULT; break; default: $g_error->Add(sprintf(_('Unknown function!'), $submit)); $valid = FALSE; } // ========== ACTIONS END ===================================================== require 'header.php'; // ========== PAGE CONTENT ==================================================== if ($action == ACT_DEFAULT): // ========== VARIANT: default behavior ======================================= echo "

", $pagetitle, "

\n"; $sql = "SELECT provid, provname, number, unit, storedate, shelflife, " . " DATEDIFF(shelflife, storedate) AS d0, DATEDIFF (CURDATE(), storedate) AS d1 " . "FROM provisions " . "ORDER BY provid"; $sth = $pdo->query($sql); $res = $sth->fetchAll(); echo '', "\n"; echo "\n"; echo "\n"; echo '"; echo '"; echo '"; echo '"; echo '"; echo ""; echo "\n"; echo "\n"; echo "\n"; foreach ($res as $row) { echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; } // Table summary echo "\n"; echo '', "\n"; echo "\n"; echo "
', _('Description'), "', _('Number'), "', _('Unit'), "', _('Stored'), "', _('Best before'), "
". $row['provname'] ."". $row['number'] ."". $opt_unit[$row['unit']] ."". $row['storedate'] ."". $row['shelflife'] .""; echo ''; // Action buttons form_action_buttons($g_scriptname, $row['provid']); echo "
', sprintf(_('%d records'), count($res)), '
\n"; form_add_button($g_scriptname); elseif ($action == ACT_ADD): // ========== VARIANT: add record ============================================= echo '

', _('Add provisions'), "

\n"; ?>
prepare($sql); $sth->execute([$id]); $prov = $sth->fetch(PDO::FETCH_OBJ); echo '

', $prov->provname, "

\n"; echo '', "\n"; echo '\n"; echo '\n"; echo '\n"; echo '\n"; echo '\n"; echo "
', _('Number'),"", $prov->number, "
', _('Unit'),"", $opt_unit[$prov->unit], "
', _('Storedate'),"", $prov->storedate, "
', _('Shelflife'),"", $prov->shelflife, "
', _('Storage'),"", $opt_storage[$prov->sid], "
\n"; form_view_buttons($g_scriptname, $id); elseif ($action == ACT_EDIT): // ========== VARIANT: edit single record ===================================== $sql = "SELECT provname, number, unit, storedate, shelflife, sid " . "FROM provisions " . "WHERE provid=?"; $sth = $pdo->prepare($sql); $sth->execute([$id]); $prov = $sth->fetch(PDO::FETCH_OBJ); echo '

', _('Edit provision'), "

\n"; ?>
unit); ?>
sid); form_edit_buttons($g_scriptname, $id); echo "
\n"; elseif ($action == ACT_DELETE): // ========== VARIANT: delete record ========================================== echo '

', _('Delete provisions'), "

\n"; else: // ========== ERROR UNKNOWN VARIANT =========================================== echo '

', _('Unknown function call: Please report to system development!'), "

\n"; endif; // $action == ... // ========== END OF VARIANTS ================================================= include 'footer.php';