function process_semester($fields) { // Lookup the semester from the database list($year, $semester_name) = $this->parse_semester($fields[1]); $semester = CoursePrefsSemester::findByUnique($year, $semester_name, $fields[0]); // Create a new semester entry if the semester doesn't exist within the database if (!$semester) { $semester = new CoursePrefsSemester($year, $semester_name, $fields[0]); } // Set when classes start for the semester if available if ($fields[2]) { $semester->setClassStart($this->courseprefs_date_to_stamp($fields[2])); } // Set when grades are due for the semester if available if ($fields[3]) { $semester->setGradesDue($this->courseprefs_date_to_stamp($fields[3])); } try { $semester->save(); } catch (Exception $e) { throw new Exception($e->getMessage()); } }