function calcFinish($start_date, $start_hour, $start_minute, $duration_type, $task_duration) { global $AppUI; $df = $AppUI->getPref('SHDATEFORMAT'); $year = substr($start_date, 0, 4); $month = substr($start_date, 4, 2); $day = substr($start_date, 6, 2); $date = new w2p_Utilities_Date($year . '-' . $month . '-' . $day); $date->setTime($start_hour, $start_minute); $finish = $date->calcFinish($task_duration, $duration_type); $response = new xajaxResponse(); $response->assign('end_date', 'value', $finish->format($df)); $response->assign('task_end_date', 'value', $finish->format(FMT_TIMESTAMP_DATE)); $response->assign('end_hour', 'value', $finish->getHour()); $response->assign('end_minute', 'value', $finish->getMinute()); if ($finish->getHour() > 11) { $response->assign('end_hour_ampm', 'value', 'pm'); } else { $response->assign('end_hour_ampm', 'value', 'am'); } return $response; }
/** * Test calcFinish with day duration across non working days */ public function testCalcFinishAddDaysDayDurationAcrossNonWorkingDays() { $date = new w2p_Utilities_Date('2010-09-17 10:00:00'); $finish = $date->calcFinish(2, 24); $this->assertEquals('2010-09-21 10:00:00', $finish->getDate(DATE_FORMAT_ISO)); }
//User time format in 12hr $hours[$current_key] = $current > 12 ? $current - 12 : $current; } else { //User time format in 24hr $hours[$current_key] = $current; } } $minutes = array(); $minutes['00'] = '00'; for ($current = $inc; $current < 60; $current += $inc) { $minutes[$current] = $current; } // format dates $df = $AppUI->getPref('SHDATEFORMAT'); $defaultDate = new w2p_Utilities_Date(); $start_date = intval($object->task_start_date) ? new w2p_Utilities_Date($AppUI->formatTZAwareTime($object->task_start_date, '%Y-%m-%d %T')) : $defaultDate->calcFinish(1, $object->task_duration_type); $object->task_duration = isset($object->task_duration) ? $object->task_duration : 1; $end_date = intval($object->task_end_date) ? new w2p_Utilities_Date($AppUI->formatTZAwareTime($object->task_end_date, '%Y-%m-%d %T')) : $defaultDate->calcFinish($object->task_duration + 1, $object->task_duration_type); // convert the numeric calendar_working_days config array value to a human readable output format $cwd = explode(',', $w2Pconfig['cal_working_days']); $cwd_conv = array_map('cal_work_day_conv', $cwd); $cwd_hr = implode(', ', $cwd_conv); include $AppUI->getTheme()->resolveTemplate('tasks/addedit_dates'); ?> <script language="javascript"> subForm.push(new FormDefinition(<?php echo $tab; ?> , document.datesFrm, checkDates, saveDates)); </script>