function constructTaskTree($task_data, $depth = 0) { global $projTasks, $all_tasks, $parents, $task_parent_options, $task_parent, $task_id; $projTasks[$task_data['task_id']] = $task_data['task_name']; $selected = $task_data['task_id'] == $task_parent ? ' selected="selected"' : ''; $task_data['task_name'] = mb_strlen($task_data[1]) > 45 ? mb_substr($task_data['task_name'], 0, 45) . '...' : $task_data['task_name']; $task_parent_options .= '<option value="' . $task_data['task_id'] . '"' . $selected . '>' . getSpaces($depth * 3) . dPFormSafe($task_data['task_name']) . '</option>'; if (isset($parents[$task_data['task_id']])) { foreach ($parents[$task_data['task_id']] as $child_task) { if ($child_task != $task_id) { constructTaskTree($all_tasks[$child_task], $depth + 1); } } } }
function constructTaskTree($task_data, $depth = 0) { global $projTasks, $all_tasks, $parents, $task_parent_options, $task_parent, $task_id; $projTasks[$task_data['task_id']] = $task_data['task_name']; $selected = $task_data['task_id'] == $task_parent ? "selected='selected'" : ""; $task_data['task_name'] = strlen($task_data[1]) > 45 ? substr($task_data['task_name'], 0, 45) . "..." : $task_data['task_name']; $task_parent_options .= "<option value='" . $task_data['task_id'] . "' {$selected}>" . getSpaces($depth * 3) . dPFormSafe($task_data['task_name']) . "</option>"; if (isset($parents[$task_data['task_id']])) { foreach ($parents[$task_data['task_id']] as $child_task) { if ($child_task != $task_id) { constructTaskTree($all_tasks[$child_task], $depth + 1); } } } }
$all_tasks = array(); $sub_tasks = $q->exec(); if ($sub_tasks) { while ($sub_task = $q->fetchRow()) { // Build parent/child task list $parents[$sub_task['task_parent']][] = $sub_task['task_id']; $all_tasks[$sub_task['task_id']] = $sub_task; build_date_list($projTasksWithEndDates, $sub_task); } } $q->clear(); // let's iterate root tasks foreach ($root_tasks as $root_task) { build_date_list($projTasksWithEndDates, $root_task); if ($root_task['task_id'] != $task_id) { constructTaskTree($root_task); } } // setup the title block $ttl = $task_id > 0 ? 'Edit Task' : 'Add Task'; $titleBlock = new CTitleBlock($ttl, 'applet-48.png', $m, $m . '.' . $a); $titleBlock->addCrumb('?m=tasks', 'tasks list'); if ($canReadProject) { $titleBlock->addCrumb('?m=projects&a=view&project_id=' . $task_project, 'view this project'); } if ($task_id > 0) { $titleBlock->addCrumb('?m=tasks&a=view&task_id=' . $task->task_id, 'view this task'); } $titleBlock->show(); // Get contacts list $selected_contacts = array();
function constructTaskTree($task_data, $depth = 0) { global $projTasks, $all_tasks, $parents, $task_parent_options, $task_parent, $task_id, $ptasks; $projTasks[$task_data['task_id']] = $task_data['task_name']; $selected = $task_data['task_id'] == $task_parent ? 'selected="selected"' : ''; $task_data['task_name'] = strlen($task_data[1]) > 45 ? substr($task_data['task_name'], 0, 45) . '...' : $task_data['task_name']; $task_parent_options .= '<option value="' . $task_data['task_id'] . '" ' . $selected . '>' . getSpaces($depth * 3) . dPFormSafe($task_data['task_name']) . '</option>'; $ptasks[$task_data['task_id']] = '<img src="images/blank.gif" width="' . 12 * $depth . '" height="1"/>' . $task_data['task_name']; if (isset($parents[$task_data['task_id']])) { foreach ($parents[$task_data['task_id']] as $child_task) { if ($child_task != $task_id) { constructTaskTree($all_tasks[$child_task], $depth + 1); } } } }