function get_all_curriculums() { $curriculums = false; $CI =& get_instance(); $CI->load->model("curriculum_model"); $curriculuminfo = new Curriculum_Model(); $query = $CI->db->select("*")->from($curriculuminfo->table_name)->get(); if ($query && $query->num_rows() > 0) { $curriculums = array(); foreach ($query->result() as $rwi => $rw) { $curriculuminfo = new Curriculum_Model(); $curriculuminfo->setCurriculumid($rw->curriculum_id); $curriculuminfo->setCourseid($rw->course_id); $curriculuminfo->setMajorid($rw->major_id); $curriculuminfo->setCurriculumtypeid($rw->curriculum_type_id); $curriculuminfo->setDescription($rw->description); $curriculuminfo->setYear($rw->year); $curriculuminfo->setSchoolyearstart($rw->schoolyear_start); $curriculuminfo->setCreatedon($rw->created_on); $curriculuminfo->setLastupdate($rw->last_update); $curriculums[] = $curriculuminfo; } } return $curriculums; }
public function setCurriculum($name = NULL, $type = NULL) { //get arguments if ($name == NULL) { $name = $this->input->post('name'); } if ($type == NULL) { $type = $this->input->post('type'); } //set curriculum name $curriculum = new Curriculum_model(); if (isset($_SESSION['curriculum'])) { $curriculum->fromSerializedString($_SESSION['curriculum']); } $curriculum->setName($name); //set curriculum type if ($type == "Degree") { $curriculum->setCurriculumType(1); } else { if ($type == "Minor") { $curriculum->setCurriculumType(2); } else { if ($type == "Concentration") { $curriculum->setCurriculumType(3); } } } //save curriculum if (isset($_SESSION['curriculumCreationMethod'])) { if ($_SESSION['curriculumCreationMethod'] == "edit") { $curriculum->update(); } else { $curriculum->create(); } //create a new entry for clone/new } //find all current pre/coreqs and $newCurr = new Curriculum_Model(); $newCurr->loadPropertiesFromPrimaryKey($curriculum->getCurriculumID()); $courseSlots = $newCurr->getCurriculumCourseSlots(); //find and delete old reqs and save new ones if (isset($_SESSION['reqs'])) { foreach ($_SESSION['reqs'] as $reqs) { $reqSlot = new Curriculum_course_slot_model(); $reqSlot->fromSerializedString($reqs['slot']); $reqSlotIndex = $reqSlot->getCurriculumIndex(); foreach ($courseSlots as $slot) { //find the right course slot if ($slot->getCurriculumIndex() == $reqSlotIndex) { $previousPrereqSlots = $slot->getPrequisiteCourseSlots(); $previousCoreqSlots = $slot->getCorequisiteCourseSlots(); //find and delete old prereqs if (!empty($previousPrereqSlots)) { // and !empty($reqs['prereqs'])) foreach ($previousPrereqSlots as $previousSlot) { $slot->removeCourseSlotRequisite($previousSlot); } } //delete any old corequisites if (!empty($previousCoreqSlots)) { // and !empty($reqs['coreqs'])) foreach ($previousCoreqSlots as $previousSlot) { $slot->removeCourseSlotRequisite($previousSlot); } } //save new coreqs if (!empty($reqs['coreqs'])) { $co = new Curriculum_course_slot_model(); foreach ($reqs['coreqs'] as $r) { $co->fromSerializedString($r); $slot->addCourseSlotCorequisite($co); } } //save new prereqs //need to make sure you can't make one slot a co and pre if (!empty($reqs['prereqs'])) { $pre = new Curriculum_course_slot_model(); foreach ($reqs['prereqs'] as $r) { $pre->fromSerializedString($r); $slot->addCourseSlotPrerequisite($pre); } } break; } } } } $curriculum->update(); //update current curriculum for edit unset($_SESSION['curriculum']); unset($_SESSION['courseSlot']); unset($_SESSION['curriculumCreationMethod']); unset($_SESSION['curriculumCourseSlotMethod']); unset($_SESSION['maxCurriculumIndex']); unset($_SESSION['reqs']); $this->index(); }
private function createCurriculum() { $return = false; $this->form_validation->set_rules("curriculumType", "Curriculum type", "trim|required|xss_clean"); $this->form_validation->set_rules("curriculumCourse", "Curriculum course", "trim|required|xss_clean"); $this->form_validation->set_rules("curriculumMajor", "Curriculum major", "trim|xss_clean"); $this->form_validation->set_rules("curriculumDescription", "Curriculum description", "trim|xss_clean"); $this->form_validation->set_rules("curriculumYear", "Curriculum year", "trim|xss_clean"); if ($this->form_validation->run() == FALSE) { if (form_error("curriculumType")) { set_has_error("curriculumType", true); set_message("curriculumType", form_error("curriculumType", " ", " ")); } if (form_error("curriculumCourse")) { set_has_error("curriculumCourse", true); set_message("curriculumCourse", form_error("curriculumCourse", " ", " ")); } if (form_error("curriculumMajor")) { set_has_error("curriculumMajor", true); set_message("curriculumMajor", form_error("curriculumMajor", " ", " ")); } if (form_error("curriculumDescription")) { set_has_error("curriculumDescription", true); set_message("curriculumDescription", form_error("curriculumDescription", " ", " ")); } if (form_error("curriculumYear")) { set_has_error("curriculumYear", true); set_message("curriculumYear", form_error("curriculumYear", " ", " ")); } } else { $newcurriculuminfo = new Curriculum_Model(); $ctype = $this->input->post("curriculumType"); $ccourse = $this->input->post("curriculumCourse"); $cmajor = $this->input->post("curriculumMajor"); $cdesc = $this->input->post("curriculumDescription"); $cyear = $this->input->post("curriculumYear"); if ($ctype && is_curriculum_type_exist($ctype)) { $newcurriculuminfo->setCurriculumtypeid($ctype); if ($ccourse && (int) $ccourse > 0 && is_course_exist($ccourse)) { $errorz = 0; $newcurriculuminfo->setCourseid($ccourse); if ($cmajor) { if ((int) $cmajor > 0 && is_major_exist($cmajor)) { $newcurriculuminfo->setMajorid($cmajor); } else { set_has_error("curriculumMajor", true); set_message("curriculumMajor", "Invalid major selected."); } } if ($cdesc) { $newcurriculuminfo->setDescription($cdesc); } if ($cyear) { $ystart = 1970; $now = mdate("%Y", now()); $yend = $now + 10; if ((int) $cyear >= $ystart && (int) $cyear <= $yend) { $newcurriculuminfo->setYear($cyear); } else { $errorz++; set_has_error("curriculumYear", true); set_message("curriculumYear", "Invalid Year."); } } if ($errorz == 0) { $return = $newcurriculuminfo->saveasnew(); } } else { set_has_error("curriculumCourse", true); set_message("curriculumCourse", "Invalid course selected."); } } else { set_has_error("curriculumType", true); set_message("curriculumType", "Invalid type selected."); } } return $return; }