/** * @param Course $course * @return $this */ public function addCourse(Course $course) { if ($this->useHalf) { if ($course->getWeek() == 'T') { $this->courses[$course->getDay()][$course->getStart()] = array('type' => 'course', 'size' => self::getBlockSize($course), 'course' => $course); } else { if (!isset($this->courses[$course->getDay()][$course->getStart()]['courses'])) { $this->courses[$course->getDay()][$course->getStart()] = array('type' => 'course_half', 'size' => self::getBlockSize($course), 'courses' => new CourseHalf()); } $this->courses[$course->getDay()][$course->getStart()]['courses']->addCourse($course); } } else { $this->courses[$course->getDay()][$course->getStart()] = array('type' => 'course', 'size' => self::getBlockSize($course), 'course' => $course); } return $this; }
/** * @param Course $course * @return array */ private function getData(Course $course) { $start = explode(':', $course->getStart()); $end = explode(':', $course->getEnd()); return ['day' => $course->getDay(), 'start' => ['hour' => (int) $start[0], 'minute' => (int) $start[1]], 'end' => ['hour' => (int) $end[0], 'minute' => (int) $end[1]], 'week' => $course->getWeek(), 'uv' => $course->getUv(), 'type' => $course->getType(), 'room' => $course->getRoom()]; }