/** * Determines if a student will be over the semester credit hour limit * Returns true if this internship's credit hours, plus the student's existing * credit hours would put them over the semester's limit. Limits vary for regular * terms (i.e. Fall/Spring) vs Summer terms, and Undergraduate vs Graduate levels. * * @param $internHours integer Number of credit hours the internship will be worth * @param $term integer The term the internship will be in. Used to check existing credit hours. * @return boolean */ public function isCreditHourLimited($internHours, $term) { if (!isset($this->creditHours)) { return; } $totalHours = $this->creditHours + $internHours; $semester = Term::getSemester($term); $level = $this->getLevel(); $limit = 0; if ($semester == Term::FALL || $semester == Term::SPRING) { if ($level == self::UNDERGRAD) { $limit = self::HOURS_LIMIT_UNDERGRAD_REG; } else { if ($level == self::GRADUATE) { $limit = self::HOURS_LIMIT_GRADUATE_REG; } } } else { if ($semester == Term::SUMMER1 || $semester == Term::SUMMER2) { if ($level == self::UNDERGRAD) { $limit = self::HOURS_LIMIT_UNDERGRAD_SUMMER; } else { if ($level == self::GRADUATE) { $limit = self::HOURS_LIMIT_GRADUATE_SUMMER; } } } } if ($totalHours > $limit) { return true; } else { return false; } }