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) . w2PFormSafe($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 buildTaskTree($task_data, $depth = 0, $projTasks, $all_tasks, $parents, $task_parent, $task_id) { $output = ''; $projTasks[$task_data['task_id']] = $task_data['task_name']; $task_data['task_name'] = mb_strlen($task_data['task_name']) > 45 ? mb_substr($task_data['task_name'], 0, 45) . '...' : $task_data['task_name']; $selected = $task_data['task_id'] == $task_parent ? ' selected="selected"' : ''; $output .= '<option value="' . $task_data['task_id'] . '"' . $selected . '>' . str_repeat(' ', $depth * 3) . w2PFormSafe($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) { $output .= buildTaskTree($all_tasks[$child_task], $depth + 1, $projTasks, $all_tasks, $parents, $task_parent, $task_id); } } } return $output; }