| 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/views/admin/projects/ |
Upload File : |
<?php defined('BASEPATH') or exit('No direct script access allowed');
foreach ($milestones as $milestone) {
$milestonesTasksWhere = [];
if ($milestones_exclude_completed_tasks) {
$milestonesTasksWhere['status !='] = Tasks_model::STATUS_COMPLETE;
}
$cpicker = '';
if (staff_can('edit_milestones', 'projects') && $milestone['id'] != 0) {
foreach (get_system_favourite_colors() as $color) {
$color_selected_class = 'cpicker-small';
$cpicker .= "<div class='kanban-cpicker cpicker " . $color_selected_class . "' data-color='" . $color . "' style='background:" . $color . ';border:1px solid ' . $color . "'></div>";
}
}
$milestone_color = '';
if (!empty($milestone['color']) && !is_null($milestone['color'])) {
$milestone_color = ' style="background:' . $milestone['color'] . ';border:1px solid ' . $milestone['color'] . '"';
}
$total_pages = ceil($this->projects_model->do_milestones_kanban_query($milestone['id'], $project_id, 1, $milestonesTasksWhere, true) / get_option('tasks_kanban_limit'));
$tasks = $this->projects_model->do_milestones_kanban_query($milestone['id'], $project_id, 1, $milestonesTasksWhere);
$total_tasks = count($tasks);
if ($milestone['id'] == 0 && count($tasks) == 0) {
continue;
} ?>
<ul class="kan-ban-col milestone-column<?php if (staff_cant('edit_milestones', 'projects') || $milestone['id'] == 0) {
echo ' milestone-not-sortable';
}; ?>" data-col-status-id="<?php echo e($milestone['id']); ?>" data-total-pages="<?php echo e($total_pages); ?>">
<li class="kan-ban-col-wrapper">
<div class="border-right panel_s">
<div class="panel-heading <?php if ($milestone_color != '') {
echo 'color-not-auto-adjusted color-white ';
} ?><?php if ($milestone['id'] != 0) {
echo 'task-phase';
} else {
echo 'bg-info';
} ?>" <?php echo $milestone_color; ?>>
<?php if ($milestone['id'] != 0 && staff_can('edit_milestones', 'projects')) { ?>
<i class="fa fa-reorder pointer"></i>
<?php } ?>
<?php if ($milestone['id'] != 0 && staff_can('edit_milestones', 'projects')) { ?>
<a href="#" data-hide-from-customer="<?php echo e($milestone['hide_from_customer']); ?>"
data-description-visible-to-customer="<?php echo e($milestone['description_visible_to_customer']); ?>"
data-description="<?php echo $milestone['description'] ? htmlspecialchars(clear_textarea_breaks($milestone['description'])) : ''; ?>"
data-name="<?php echo e($milestone['name']); ?>"
data-start_date="<?php echo $milestone['id'] != 0 ? _d($milestone['start_date']) : ''; ?>"
data-due_date="<?php echo $milestone['id'] != 0 ? _d($milestone['due_date']) : ''; ?>"
data-order="<?php echo e($milestone['milestone_order']); ?>"
onclick="edit_milestone(this,<?php echo e($milestone['id']); ?>); return false;" class="edit-milestone-phase <?php if ($milestone['color'] != '') {
echo 'color-white';
} ?>">
<?php } ?>
<span class="bold heading"><?php echo e($milestone['name']); ?></span>
<span class="tw-text-sm">
<?php echo $milestone['id'] != 0 ? (' | ' . _d($milestone['start_date']) . ' - ' . _d($milestone['due_date'])) : ''; ?>
</span>
<?php if ($milestone['id'] != 0 && staff_can('edit_milestones', 'projects')) { ?>
</a>
<?php } ?>
</span>
<?php if ($milestone['id'] != 0 && (staff_can('create', 'tasks') || staff_can('edit_milestones', 'projects'))) { ?>
<a href="#" onclick="return false;" class="pull-right text-dark" data-placement="bottom"
data-toggle="popover" data-content="
<div class='text-center'><?php if (staff_can('create', 'tasks')) {
?><button type='button' return false;' class='btn btn-success btn-block mtop10 new-task-to-milestone'>
<?php echo _l('new_task'); ?>
</button>
<?php
} ?>
</div>
<?php if (staff_can('edit_milestones', 'projects')) { ?>
<?php if ($cpicker != '') {
echo '<hr />';
}; ?>
<div class='kan-ban-settings cpicker-wrapper'>
<?php echo e($cpicker); ?>
</div>
<a href='#' class='tw-block reset_milestone_color <?php if ($milestone_color == '') {
echo 'hide';
} ?>' data-color=''>
<?php echo _l('reset_to_default_color'); ?>
</a><?php } ?>" data-html="true" data-trigger="focus">
<i class="fa fa-angle-down"></i>
</a>
<?php } ?>
<?php if (staff_can('create', 'tasks')) { ?>
<?php echo '<p class="tw-text-sm tw-mb-0'.($milestone['id'] !== 0 ? ' tw-ml-5' : '').'">' . e(_l('milestone_total_logged_time') . ': ' . seconds_to_time_format($milestone['total_logged_time'])) . '</p>'; } ?>
</div>
<div class="kan-ban-content-wrapper">
<div class="kan-ban-content">
<ul class="status project-milestone milestone-tasks-wrapper sortable relative"
data-task-status-id="<?php echo e($milestone['id']); ?>">
<?php
foreach ($tasks as $task) {
$this->load->view('admin/projects/_milestone_kanban_card', ['task' => $task, 'milestone' => $milestone['id']]);
} ?>
<?php if ($total_tasks > 0) { ?>
<li class="text-center not-sortable kanban-load-more"
data-load-status="<?php echo e($milestone['id']); ?>">
<a href="#" class="btn btn-default btn-block<?php if ($total_pages <= 1) {
echo ' disabled';
} ?>" data-page="1" onclick="kanban_load_more(<?php echo e($milestone['id']); ?>,this,'projects/milestones_kanban_load_more',320,360); return false;"
;>
<?php echo _l('load_more'); ?>
</a>
</li>
<?php } ?>
<li class="text-center not-sortable mtop30 kanban-empty<?php if ($total_tasks > 0) {
echo ' hide';
} ?>">
<h4>
<i class="fa-solid fa-circle-notch" aria-hidden="true"></i><br /><br />
<?php echo _l('no_tasks_found'); ?>
</h4>
</li>
</ul>
</div>
</div>
</li>
</ul>
<?php } ?>