You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
TaskFloor/pages/edittask.php

94 lines
4.4 KiB
PHP

<?php
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
require_once __DIR__ . '/../required.php';
redirectifnotloggedin();
?>
<div class="card border-blue-grey">
<h3 class="card-header text-blue-grey">
<i class="fas fa-edit"></i> <?php
if (is_empty($VARS['taskid'])) {
$Strings->get("add task");
} else {
$Strings->get("edit task");
}
?>
</h3>
<?php
if (!is_empty($VARS['taskid'])) {
$taskid = $VARS['taskid'];
$managed_users = (new User($_SESSION['uid']))->getManagedUsers();
$managed_uids = [];
foreach ($managed_users as $u) {
$managed_uids[] = $u->getUID();
}
// There needs to be at least one entry otherwise the SQL query craps itself
if (count($managed_uids) < 1) {
$managed_uids = [-1];
}
$allowed = $database->has('tasks', [
'[>]assigned_tasks' => [
'taskid' => 'taskid'
]
], [
"AND" => [
"OR" => [
'tasks.taskcreatoruid' => $_SESSION['uid'],
'assigned_tasks.userid' => $managed_uids
],
"tasks.taskid" => $taskid
]]);
if (!$allowed) {
header("Location: app.php?page=edittask&msg=task_edit_not_allowed");
die($Strings->get("task edit not allowed", false));
}
}
if (!is_empty($taskid)) {
$task = $database->select('tasks', '*', ['taskid' => $taskid])[0];
}
if (!is_empty($taskid) && $database->has('assigned_tasks', ['taskid' => $taskid])) {
$tass = $database->select('assigned_tasks', '*', ['taskid' => $taskid])[0];
} else {
$tass['userid'] = null;
}
?>
<form action="action.php" method="GET" onsubmit="prettysave();">
<div class="card-body">
<div class="row">
<div class="col-12 mb-3">
<?php $Strings->get("task title") ?>: <input type="text" name="tasktitle" placeholder="<?php $Strings->get("task title") ?>" required="required" class="form-control" value="<?php echo $task['tasktitle']; ?>"/>
</div>
<div class="col-12 mb-3">
<?php $Strings->get("task description") ?>:<br />
<textarea name="taskdesc" id="taskdesc" class="form-control"><?php echo $task['taskdesc']; ?></textarea>
</div>
<div class="col-12 col-lg-4 mb-3">
<?php $Strings->get("assigned to") ?>:
<input type="text" id="assigned-to-box" name="assignedto" class="form-control" autocomplete="off" value="<?php echo (is_null($tass['userid']) ? "" : (new User($tass['userid']))->getUsername() ); ?>" placeholder="<?php $Strings->get("nobody") ?>" />
</div>
<div class="col-12 col-md-6 col-lg-4 mb-3">
<?php $Strings->get("assigned on 2") ?>: <input type="text" class="form-control" id="assigned-on-box" name="taskassignedon" data-toggle="datetimepicker" data-target="#assigned-on-box" value="<?php echo (is_empty($task['taskassignedon']) ? "" : date("D F j, Y g:i a"/* 'Y-m-d\TH:i' */, strtotime($task['taskassignedon']))); ?>" />
</div>
<div class="col-12 col-md-6 col-lg-4">
<?php $Strings->get("due by 2") ?>: <input type="text" class="form-control" id="due-by-box" name="taskdueby" data-toggle="datetimepicker" data-target="#due-by-box" value="<?php echo (is_empty($task['taskdueby']) ? "" : date("D F j, Y g:i a", strtotime($task['taskdueby']))); ?>"/>
</div>
</div>
</div>
<input type="hidden" name="action" value="edittask" />
<?php if (!is_empty($taskid)) { ?>
<input type="hidden" name="taskid" value="<?php echo $taskid; ?>" />
<?php } ?>
<div class="card-footer d-flex">
<button id="savebtn" type="submit" class="btn btn-success mr-auto"><i class="fas fa-save"></i> <?php $Strings->get("save task") ?></button>
<a class="btn btn-warning" href="app.php?page=taskman"><i class="fas fa-times"></i> <?php $Strings->get("exit") ?></a>
</div>
</form>
</div>