$reason = $_POST['reason']; $hour = $_POST['date_start_hours']; $minutes = $_POST['date_start_minutes']; $ampm = $_POST['date_start_meridiem']; $time_format = $timedate->get_user_time_format(); //get the logged in users time settings //Combine date and time dependant on users settings $time_separator = ":"; if (preg_match('/\\d+([^\\d])\\d+([^\\d]*)/s', $time_format, $match)) { $time_separator = $match[1]; } if (!empty($hour) && !empty($minutes)) { $time_start = $hour . $time_separator . $minutes; } if (isset($ampm) && !empty($ampm)) { $time_start = $timedate->merge_time_meridiem($time_start, $timedate->get_time_format(), $ampm); } if (isset($time_start) && strlen($date) == 10) { $date_start = $date . ' ' . $time_start; } $call->retrieve($id); $call->date_start = $date_start; //set new the start date $call->save(); //save the new start date //get the duration of the call $hours = $call->duration_hours; $mins = $call->duration_minutes; //get the new start date directly from the database to avoid sugar changing the format to users setting $query = 'SELECT date_start FROM calls WHERE id="' . $id . '"'; $result = $call->db->getOne($query);
/** * test for merge_time_meridiem * @dataProvider ampmDataSet */ public function testMergeAmPm($date, $mer, $tf, $display) { $amdate = $this->time_date->merge_time_meridiem($date, $tf, $mer); $this->assertEquals($display, $amdate, "Bad min result for {$date} format {$tf}"); }