Example #1
0
 /**
  * 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;
     }
 }