first draft for #536
This commit is contained in:
parent
b1d8fede46
commit
60a9c15454
|
@ -114,7 +114,7 @@ function admin_shifts()
|
||||||
if (
|
if (
|
||||||
$request->has('change_hours')
|
$request->has('change_hours')
|
||||||
&& preg_match(
|
&& preg_match(
|
||||||
'/^(\d{2}(,|$))/',
|
'/^((\d{2}(:\d{2})?(,|$))*)/',
|
||||||
trim(str_replace(' ', '', $request->input('change_hours')))
|
trim(str_replace(' ', '', $request->input('change_hours')))
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
|
@ -216,10 +216,18 @@ function admin_shifts()
|
||||||
$day = parse_date('Y-m-d H:i', date('Y-m-d', $start) . ' 00:00');
|
$day = parse_date('Y-m-d H:i', date('Y-m-d', $start) . ' 00:00');
|
||||||
$change_index = 0;
|
$change_index = 0;
|
||||||
// Ersten/nächsten passenden Schichtwechsel suchen
|
// Ersten/nächsten passenden Schichtwechsel suchen
|
||||||
foreach ($change_hours as $i => $change_hour) {
|
foreach ($change_hours as $i => $change_time) {
|
||||||
if ($start < $day + $change_hour * 60 * 60) {
|
if(!preg_match('/\d{2}:\d{2}/',$change_time)) {
|
||||||
|
$change_time = $change_time.":00";
|
||||||
|
}
|
||||||
|
|
||||||
|
$change_time = explode(':',$change_time);
|
||||||
|
$change_hour = $change_time[0];
|
||||||
|
$change_minute = $change_time[1];
|
||||||
|
|
||||||
|
if ($start < $day + $change_hour * 60 * 60 + $change_minute * 60) {
|
||||||
$change_index = $i;
|
$change_index = $i;
|
||||||
} elseif ($start == $day + $change_hour * 60 * 60) {
|
} elseif ($start == $day + $change_hour * 60 * 60 + $change_minute * 60) {
|
||||||
// Start trifft Schichtwechsel
|
// Start trifft Schichtwechsel
|
||||||
$change_index = ($i + count($change_hours) - 1) % count($change_hours);
|
$change_index = ($i + count($change_hours) - 1) % count($change_hours);
|
||||||
break;
|
break;
|
||||||
|
@ -231,7 +239,19 @@ function admin_shifts()
|
||||||
$shift_start = $start;
|
$shift_start = $start;
|
||||||
do {
|
do {
|
||||||
$day = parse_date('Y-m-d H:i', date('Y-m-d', $shift_start) . ' 00:00');
|
$day = parse_date('Y-m-d H:i', date('Y-m-d', $shift_start) . ' 00:00');
|
||||||
$shift_end = $day + $change_hours[$change_index] * 60 * 60;
|
|
||||||
|
$change_time=$change_hours[$change_index];
|
||||||
|
if(!preg_match('/\d{2}:\d{2}/',$change_time)) {
|
||||||
|
$change_time = $change_time.":00";
|
||||||
|
}
|
||||||
|
|
||||||
|
$change_time = explode(':',$change_time);
|
||||||
|
$change_hour = $change_time[0];
|
||||||
|
$change_minute = $change_time[1];
|
||||||
|
|
||||||
|
|
||||||
|
$shift_end = $day + $change_hour * 60 * 60 + $change_minute * 60;
|
||||||
|
|
||||||
|
|
||||||
if ($shift_end > $end) {
|
if ($shift_end > $end) {
|
||||||
$shift_end = $end;
|
$shift_end = $end;
|
||||||
|
|
Loading…
Reference in New Issue