function shiftDependentTasks_real() { // Get tasks that depend on this task $csDeps = explode(",", $this->dependentTasks('', '', false)); if ($csDeps[0] == '') { return; } // Stage 1: Update dependent task dates (accounting for working hours) foreach ($csDeps as $task_id) { $this->update_dep_dates_real($task_id); } // Stage 2: Now shift the dependent tasks' dependents foreach ($csDeps as $task_id) { $newTask = new CTask(); $newTask->load($task_id); $newTask->shiftDependentTasks_real(); } return; }