vid, array(-1 => _('unassigned'))); $opt_priority = db_load_enum('task', 'priority', true, true); // ========== 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[':vid'] = $user->vid; $p[':projid'] = gpc_get_int($_POST, 'projid'); if ($p[':projid'] == -1) { $p[':projid'] = NULL; } $p[':taskname'] = gpc_get_string($_POST, 'taskname'); $id = db_exec_insert('task', $p); $action = ACT_VIEW; break; case 'update': $p[':taskid'] = $id; $p[':projid'] = gpc_get_int($_POST, 'projid'); $p[':plandate'] = gpc_get_string($_POST, 'plandate'); $p[':duedate'] = gpc_get_string($_POST, 'duedate'); if ($p[':projid'] == -1) { $p[':projid'] = NULL; } $p[':taskname'] = gpc_get_string($_POST, 'taskname'); $p[':priority'] = gpc_get_string($_POST, 'priority', 10); if ($p[':priority'] == 'X') { $p[':projid'] = NULL; } db_exec_update('task', $p, 'taskid'); $action = ACT_VIEW; break; case 'delete': 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, t.priority, 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 ""; echo "\n"; echo "\n"; echo "\n"; foreach ($res as $row) { echo "\n"; 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'), "', _('Priority'), "
", $row['taskid'], "", $row['taskname'], "", $row['projname'], "", ($opt_priority[$row['priority']] ?? ''), "
', sprintf(_('%d records'), count($res)), '
\n"; form_add_button($g_scriptname); elseif ($action == ACT_ADD): // ========== VARIANT: add record ============================================= echo '

', _('Add Task'), "

\n"; ?>
'― none ―']; form_create_select('projid', _('Project'), $opt_none + $opt_projects, $projid); ?>
prepare($sql); $sth->execute([$id]); $task = $sth->fetch(PDO::FETCH_OBJ); echo '

', _('View Task'), "

\n"; echo '', "\n"; echo '\n"; echo '\n"; echo '\n"; echo '\n"; echo '\n"; echo '\n"; echo '\n"; echo "
', _('Task'),"", $task->taskname, "
', _('Project'),"", ($task->projname ?? _('unassigned')), "
', _('Priority'),"", ($task->priority ?? _('none')), "
', _('Plan date'),"", $task->plandate, "
', _('Due date'),"", $task->duedate, "
', _('Started at'),"", $task->started, "
', _('Finished at'),"", $task->finished, "
\n"; form_view_buttons($g_scriptname, $id); echo "

Annotations

"; $sql = "SELECT noteid, annotation " . "FROM note " . "WHERE notetype='task' AND refid=?"; $sth = $pdo->prepare($sql); $sth->execute([$id]); if ($sth->rowCount() > 0) { $n = 0; foreach ($sth->fetchAll() as $row) { $n += 1; echo "

($n) {$row['annotation']}"; echo ' '; echo "

\n"; } } else { echo '

', _('No annotations for this task'), "

\n"; } echo '
', "\n"; echo ''; echo _('Add note'), "\n"; echo "
\n"; echo "

Documents

"; echo "

Not yet implemented

"; elseif ($action == ACT_EDIT): // ========== VARIANT: edit single record ===================================== $sql = "SELECT taskname, projid, priority, plandate, duedate, started, finished " . "FROM task " . "WHERE taskid=?"; $sth = $pdo->prepare($sql); $sth->execute([$id]); $task = $sth->fetch(PDO::FETCH_OBJ); echo '

', _('Edit Task'), "

\n"; ?>
'― none ―']; form_create_select('projid', _('Project'), $opt_none + $opt_projects, $task->projid); form_create_select('priority', _('Priority'), $opt_none + $opt_priority, $task->priority ?? 'X'); ?>
\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';