예제 #1
0
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;
}
예제 #2
0
 /**
  * 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));
 }
예제 #3
0
        //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>