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/lib/gettaskman.php

166 lines
7.1 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();
require_once __DIR__ . "/userinfo.php";
$managed_uids = getManagedUIDs($_SESSION['uid']);
// There needs to be at least one entry otherwise the SQL query craps itself
if (count($managed_uids) < 1) {
$managed_uids = [-1];
}
$tasks = $database->select('tasks', [
'[>]assigned_tasks' => [
'taskid' => 'taskid'
]
], [
'tasks.taskid',
'tasktitle (title)',
'taskdesc (desc)',
'taskassignedon (assigned)',
'taskdueby (due)',
'userid',
'statusid',
'starttime',
'endtime'
], [
"AND" =>
[
"OR" => [
'tasks.taskcreatoruid' => $_SESSION['uid'],
'assigned_tasks.userid' => $managed_uids
],
"tasks.deleted" => 0
]
]
);
if (count($tasks) > 0) {
$usercache = [];
foreach ($tasks as $task) {
if (isset($_GET['alone']) || (isset($pageid) && $pageid != "home")) {
echo "<div class=\"col-xs-12 col-md-6\">";
}
$panelclass = "default";
switch ($task['statusid']) {
case 2:
$panelclass = "success";
break;
case 4:
$panelclass = "warning";
break;
}
?>
<div class='panel panel-<?php echo $panelclass ?>'>
<div class='panel-heading'>
<h3 class='panel-title'><?php echo $task['title'] ?>
<?php
// Check if the task is assigned to someone and show status if it is
if (!is_null($task['userid'])) {
echo "<span class='pull-right'>";
if (!isset($usercache[$task['userid']])) {
$usercache[$task['userid']] = getUserByID($task['userid']);
}
echo "<i class='fa fa-user fa-fw'></i> " . $usercache[$task['userid']]['name'] . " ";
switch ($task['statusid']) {
case 0:
echo "<i class='fa fa-ellipsis-h fa-fw'></i> " . lang("pending", false);
break;
case 1:
echo "<i class='fa fa-play fa-fw'></i> " . lang("started", false);
break;
case 2:
echo "<i class='fa fa-check fa-fw'></i> " . lang("finished", false);
break;
case 3:
echo "<i class='fa fa-pause fa-fw'></i> " . lang("paused", false);
break;
case 4:
echo "<i class='fa fa-stop fa-fw'></i> " . lang("problem", false);
break;
}
echo "</span>";
}
?>
</h3>
</div>
<div class='panel-body task-description'>
<?php echo $task['desc'] ?>
</div>
<div class='panel-footer'>
<div class='row'>
<div class='col-xs-12 col-sm-8 col-md-8'>
<i class='fa fa-hourglass-start fa-fw'></i> <?php lang2("assigned on", ["date" => ($task['assigned'] > 0 ? date("F j, Y, g:i a", strtotime($task['assigned'])) : lang("no assigned date", false))]) ?>
<br />
<i class='fa fa-hourglass-end fa-fw'></i> <?php lang2("due by", ["date" => ($task['due'] > 0 ? date("F j, Y, g:i a", strtotime($task['due'])) : lang("no due date", false))]) ?>
<?php
if ($task['statusid'] > 0) {
?>
<br />
<i class='fa fa-play fa-fw'></i> <?php lang2("started on", ["date" => date("F j, Y, g:i a", strtotime($task['starttime']))]) ?>
<?php
}
?>
<?php
if ($task['statusid'] == 2) {
?>
<br />
<i class='fa fa-stop fa-fw'></i> <?php lang2("finished on", ["date" => date("F j, Y, g:i a", strtotime($task['endtime']))]) ?>
<?php
}
?>
</div>
<div class='col-xs-12 col-sm-4 col-md-4'>
<div class='pull-right'>
<form action='app.php?page=edittask' method='GET' class='form-inline inblock'>
<input type='hidden' name='page' value='edittask' />
<input type='hidden' name='taskid' value='<?php echo $task['taskid'] ?>' />
<button type='submit' class='btn btn-sm btn-primary' data-toggle="tooltip" data-placement="auto left" title="<?php lang("edit task") ?>"><i class='fa fa-pencil'></i></button>
</form>
<form
action='action.php'
method='POST'
data-taskid="<?php echo $task['taskid'] ?>"
class='form-inline inblock padleft-5px deltaskform'>
<input type='hidden' name='taskid' value='<?php echo $task['taskid'] ?>' />
<input type='hidden' name='action' value='deltask' />
<?php
if (!is_null($task['userid'])) {
?>
<input type='hidden' name='assigned' value='1' />
<?php
}
?>
<button type='submit' id='deltaskbtn<?php echo $task['taskid'] ?>' class='btn btn-sm btn-danger' data-toggle="tooltip" data-placement="auto left" title="<?php lang("delete task") ?>"><i class='fa fa-trash-o'></i></button>
</form>
</div>
</div>
</div>
</div>
</div>
<?php
if (isset($_GET['alone']) || (isset($pageid) && $pageid != "home")) {
echo "</div>";
}
}
} else {
if (isset($_GET['alone']) || (isset($pageid) && $pageid != "home")) {
echo "<div class=\"col-xs-12 col-sm-6 col-md-4 col-sm-offset-3 col-md-offset-4\">";
} else {
echo "<div class=\"height-52px></div>";
}
echo "<div class='alert alert-info'><i class='fa fa-info-circle'></i> " . lang("no tasks", false) . "</div>";
if (isset($_GET['alone']) || (isset($pageid) && $pageid != "home")) {
echo "</div>";
}
}
//var_dump($tasks);
?>