} else { if (isBtnChangeWeekAfterNxtWeekPrsd()) { $now->modify('+2 week'); } else { if (isBtnChangePrevWeekPrsd()) { $now->modify('-1 week'); } } } $startWeekDate = getWorkingDates($now->format('Y'), $now->format('W')); $endWeekDate = getWorkingDates($now->format('Y'), $now->format('W'), false); $courses = CourseFetcher::retrieveAll(); //TODO: do not fetch all tutors when a tutors is viewing this page. $tutors = TutorFetcher::retrieveAll(); if (!$user->isTutor()) { $appointments = AppointmentFetcher::retrieveBetweenDates($startWeekDate, $endWeekDate); $countAppointmentsForCurWeek = sizeof($appointments); $countAchievedAppointmentsForCurWeek = Appointment::countWithLabelMessage($appointments, Appointment::LABEL_MESSAGE_COMPLETE); $canceledLabelMessagesForWeek = [Appointment::LABEL_MESSAGE_STUDENT_NO_SHOW, Appointment::LABEL_MESSAGE_TUTOR_CANCELED, Appointment::LABEL_MESSAGE_TUTOR_NO_SHOW, Appointment::LABEL_MESSAGE_STUDENT_CANCELED]; $countCanceledAppointmentsForCurWeek = Appointment::countWithLabelMessages($appointments, $canceledLabelMessagesForWeek); } else { $appointments = AppointmentFetcher::retrieveTutorsBetweenDates($user->getId(), $startWeekDate, $endWeekDate); $countAppointmentsForCurWeek = sizeof($appointments); $countAchievedAppointmentsForCurWeek = Appointment::countTutorsWithLabelMessage($user->getId(), $appointments, Appointment::LABEL_MESSAGE_COMPLETE); $canceledLabelMessagesForWeek = [Appointment::LABEL_MESSAGE_STUDENT_NO_SHOW, Appointment::LABEL_MESSAGE_TUTOR_CANCELED, Appointment::LABEL_MESSAGE_TUTOR_NO_SHOW, Appointment::LABEL_MESSAGE_STUDENT_CANCELED]; $countCanceledAppointmentsForCurWeek = Appointment::countTutorsWithLabelMessageS($user->getId(), $appointments, $canceledLabelMessagesForWeek); } } catch (Exception $e) { $errors[] = $e->getMessage(); } // viewers