diff --git a/shiftcounter.php b/shiftcounter.php index da4e51b..80f5e26 100644 --- a/shiftcounter.php +++ b/shiftcounter.php @@ -1,27 +1,37 @@ 'Jan', 'feb' => 'Feb', 'mrt' => 'Mar', 'apr' => 'Apr', 'mei' => 'May', 'jun' => 'Jun', 'jul' => 'Jul', 'aug' => 'Aug', 'sep' => 'Sep', + 'okt' => 'Oct', 'nov' => 'Nov', 'dec' => 'Dec']; + $worklist_url = 'https://old.wina.be/worklists'; $worklistsData = file_get_contents($worklist_url); -preg_match_all('/href="\/worklists\/(\d*)">(.*?)<\/a>/s', $worklistsData, $lists); +preg_match_all('/href="\/worklists\/(\d*)">(.*?)<\/a><\/td>.*?<\/td>(.*?)<\/td>/s', $worklistsData, $lists); $worklists = []; - foreach($lists[1] as $key => $list) { - $worklists[$list] = $lists[2][$key]; + + $dateArr = explode(' ', substr($lists[3][$key], 3, 11) . substr($lists[3][$key], 16)); + $dateArr[1] = $monthTrans[$dateArr[1]]; + $date = \DateTimeImmutable::createFromFormat('d M Y H:i', implode(' ', $dateArr)); + + $worklists[$list] = [$lists[2][$key], $date]; } + for($i = 0; $i < 2; $i++) { $url = 'https://old.wina.be/worklists/past?page=' . $i; $worklistsData = file_get_contents($url); - preg_match_all('/href="\/worklists\/(\d*)">(.*?)<\/a>/s', $worklistsData, $lists); + preg_match_all('/href="\/worklists\/(\d*)">(.*?)<\/a><\/td>.*?<\/td>(.*?)<\/td>/s', $worklistsData, $lists); + + $dateArr = explode(' ', substr($lists[3][$key], 3, 11) . substr($lists[3][$key], 16)); + $dateArr[1] = $monthTrans[$dateArr[1]]; + $date = \DateTimeImmutable::createFromFormat('d M Y H:i', implode(' ', $dateArr)); foreach($lists[1] as $key => $list) { - $worklists[$list] = $lists[2][$key]; + $worklists[$list] = [$lists[2][$key], $date]; } } -natsort($worklists); - $all_names = []; $totalShifted = 0; $total = 0; @@ -30,9 +40,6 @@ $checkedLists = []; if (isset($_GET['worklist'])) { $checkedLists = $_GET['worklist']; - $monthTrans = ['jan' => 'Jan', 'feb' => 'Feb', 'mrt' => 'Mar', 'apr' => 'Apr', 'mei' => 'May', 'jun' => 'Jun', 'jul' => 'Jul', 'aug' => 'Aug', 'sep' => 'Sep', - 'okt' => 'Oct', 'nov' => 'Nov', 'dec' => 'Dec']; - foreach ($checkedLists as $site) { $site = 'https://old.wina.be/worklists/' . $site; $data = file_get_contents($site); @@ -69,7 +76,9 @@ if (isset($_GET['worklist'])) { } } -$avg = $totalShifted / count($all_names); +$avg = 0; +if ($totalShifted !== 0 & count($all_names) !== 0) + $avg = $totalShifted / count($all_names); ?> @@ -96,7 +105,7 @@ $avg = $totalShifted / count($all_names); @@ -104,13 +113,12 @@ $avg = $totalShifted / count($all_names); 0) { - echo '

' . floor($totalShifted) . ' uur en ' . ($totalShifted - floor($totalShifted)) * 60 . ' minuten geshift!
+ echo '

' . floor($totalShifted) . ' uur ' . ($totalShifted - floor($totalShifted) > 0 ? ' en ' . ($totalShifted - floor($totalShifted)) * 60 . ' minuten' : '') . ' geshift!
Gemiddeld: ' . floor($avg) . ' uur en ' . round(($avg - floor($avg)) * 60) . ' minuten

'; } ?> -