vid, array(-1 => _('unassigned'))); // ========== 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[':projid'] = gpc_get_int($_POST, 'projid'); if ($p[':projid'] == -1) { $p[':projid'] = NULL; } $p[':taskname'] = gpc_get_string($_POST, 'taskname'); $keys = array_keys($p); $fields = join(',', array_map(function($s) { return ltrim($s, ':'); }, $keys)); $pnames = join(',', $keys); $sth = $pdo->prepare("INSERT INTO task ($fields) VALUES ($pnames)"); try { $sth->execute($p); } catch (PDOexception $e) { $g_error->Add('SQL-Error: '. $e->getMessage()); } break; case 'update': $p[':taskname'] = gpc_get_string($_POST, 'taskname'); $p[':projid'] = gpc_get_int($_POST, 'projid'); if ($p[':projid'] == -1) { $p[':projid'] = NULL; } $fields = join(',', array_map(function($s) { return ltrim($s, ':') . '=' . $s; }, array_keys($p))); $sth = $pdo->prepare("UPDATE task SET $fields WHERE taskid=:taskid"); $p[':taskid'] = $id; try { $sth->execute($p); } catch (PDOexception $e) { $g_error->Add('SQL-Error: '. $e->getMessage()); } $action = ACT_VIEW; break; default: $g_error->Add(sprintf(_("Unknown function '%s'!"), $submit)); $valid = FALSE; } // ========== ACTIONS END ===================================================== require 'header.php'; // ========== PAGE CONTENT ==================================================== if ($action == ACT_DEFAULT): // ========== VARIANT: default behavior ======================================= echo "

$pagetitle

\n"; $sql = "SELECT t.taskid, t.projid, t.taskname, p.projname " . "FROM task AS t LEFT JOIN project AS p USING (projid) " . "WHERE p.projid IS NULL OR p.vid=? " . "ORDER BY t.taskid"; $sth = $pdo->prepare($sql); try { $sth->execute([$user->vid]); } catch (PDOexception $e) { $g_error->Add('SQL-Error: '. $e->getMessage()); } $res = $sth->fetchAll(); echo '', "\n"; echo "\n"; echo "\n"; echo ''; echo '"; echo '"; echo ""; echo "\n"; echo "\n"; echo "\n"; foreach ($res as $row) { echo "\n"; echo "\n"; echo "\n"; echo "\n"; // Action buttons form_action_buttons($g_scriptname, $row['taskid']); echo "\n"; } // Table summary echo "\n"; echo '', "\n"; echo "\n"; echo "
#', _('Task'), "', _('Project'), "
" . $row['taskid'] . "" . $row['taskname'] . "" . $row['projname'] . "
', sprintf(_('%d records'), count($res)), '
\n"; elseif ($action == ACT_ADD): // ========== VARIANT: add record ============================================= echo '

', _('Add Task'), "

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

', _('View Task'), "

\n"; echo '', "\n"; echo '\n"; echo '\n"; echo "
', _('Task'),"", $task->taskname, "
', _('Project'),"", $task->projname ?? _('unassigned'), "
\n"; form_view_buttons($g_scriptname, $id); elseif ($action == ACT_EDIT): // ========== VARIANT: edit single record ===================================== $sql = "SELECT taskname " . "FROM task " . "WHERE taskid=?"; $sth = $pdo->prepare($sql); $sth->execute([$id]); $task = $sth->fetch(PDO::FETCH_OBJ); echo '

', _('Edit Task'), "

\n"; ?>
\n"; elseif ($action == ACT_DELETE): // ========== VARIANT: delete record ========================================== echo '

', _('Delete Task'), "

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

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

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