| Server IP : 103.161.17.216 / Your IP : 216.73.216.1 Web Server : nginx/1.18.0 System : Linux tipsysaigoncharming 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 7.4.3-4ubuntu2.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/app.houseland.info/application/services/projects/ |
Upload File : |
<?php
namespace app\services\projects;
abstract class AbstractGantt
{
abstract public function get();
public static function tasks_array_data($task, $dep_id = null, $defaultEnd = null)
{
$data = [];
$data['id'] = $task['id'];
$data['desc'] = $task['name'];
$data['status'] = $task['status'];
$data['start'] = date('Y-m-d', strtotime($task['startdate']));
if ($task['duedate']) {
$data['end'] = date('Y-m-d', strtotime($task['duedate']));
} else {
$data['end'] = $defaultEnd;
}
$data['desc'] = $task['name'] . ' - ' . _l('task_total_logged_time') . ' ' . seconds_to_time_format($task['total_logged_time']);
$data['label'] = $task['name'];
if ($task['duedate'] && date('Y-m-d') > $task['duedate'] && $task['status'] != \Tasks_model::STATUS_COMPLETE) {
$data['custom_class'] = 'ganttRed';
} elseif ($task['status'] == \Tasks_model::STATUS_COMPLETE) {
$data['custom_class'] = 'ganttGreen';
}
$data['name'] = $task['name'];
$data['task_id'] = $task['id'];
$data['progress'] = 0;
//for task in single project gantt
if ($dep_id) {
$data['dependencies'] = $dep_id;
}
if (staff_cant('edit', 'tasks') || is_client_logged_in()) {
if (isset($data['custom_class'])) {
$data['custom_class'] .= ' noDrag';
} else {
$data['custom_class'] = 'noDrag';
}
}
return $data;
}
}