diff --git a/application/controllers/api/v1/organisation/Studiengang2.php b/application/controllers/api/v1/organisation/Studiengang2.php index 44e213ccf..2ae34a89e 100644 --- a/application/controllers/api/v1/organisation/Studiengang2.php +++ b/application/controllers/api/v1/organisation/Studiengang2.php @@ -11,7 +11,7 @@ * @filesource */ // ------------------------------------------------------------------------ -if (!defined('BASEPATH')) exit('No direct script access allowed'); +if (!defined("BASEPATH")) exit("No direct script access allowed"); class Studiengang2 extends APIv1_Controller { @@ -22,12 +22,12 @@ class Studiengang2 extends APIv1_Controller { parent::__construct(); // Load model PersonModel - $this->load->model('organisation/studiengang_model', 'StudiengangModel'); + $this->load->model("organisation/studiengang_model", "StudiengangModel"); } public function getStudiengang() { - $studiengang_kz = $this->get('studiengang_kz'); + $studiengang_kz = $this->get("studiengang_kz"); if (isset($studiengang_kz)) { @@ -48,37 +48,37 @@ class Studiengang2 extends APIv1_Controller public function getStudiengangStudienplan() { - $studiensemester_kurzbz = $this->get('studiensemester_kurzbz'); - $ausbildungssemester = $this->get('ausbildungssemester'); - $aktiv = $this->get('aktiv'); - $onlinebewerbung = $this->get('onlinebewerbung'); + $studiensemester_kurzbz = $this->get("studiensemester_kurzbz"); + $ausbildungssemester = $this->get("ausbildungssemester"); + $aktiv = $this->get("aktiv"); + $onlinebewerbung = $this->get("onlinebewerbung"); if (isset($studiensemester_kurzbz) && isset($ausbildungssemester)) { - $this->load->model('organisation/studienplan_model', 'StudienplanModel'); - $result = $this->StudienplanModel->addJoin('lehre.tbl_studienplan_semester', 'studienplan_id'); + $this->load->model("organisation/Studienplan_model", "StudienplanModel"); + $result = $this->StudienplanModel->addJoin("lehre.tbl_studienplan_semester", "studienplan_id"); if ($result->error == EXIT_SUCCESS) { - $result = $this->StudienplanModel->addJoin('lehre.tbl_studienordnung', 'studienordnung_id'); + $result = $this->StudienplanModel->addJoin("lehre.tbl_studienordnung", "studienordnung_id"); if ($result->error == EXIT_SUCCESS) { - $this->StudienplanModel->addSelect('tbl_studienplan.*, lehre.tbl_studienordnung.studiengang_kz'); + $this->StudienplanModel->addSelect("tbl_studienplan.*, lehre.tbl_studienordnung.studiengang_kz"); - $this->StudienplanModel->addOrder('lehre.tbl_studienordnung.studiengang_kz'); + $this->StudienplanModel->addOrder("lehre.tbl_studienordnung.studiengang_kz"); - if (!isset($aktiv)) $aktiv = 'TRUE'; - if (!isset($onlinebewerbung)) $onlinebewerbung = 'TRUE'; + if (!isset($aktiv)) $aktiv = "TRUE"; + if (!isset($onlinebewerbung)) $onlinebewerbung = "TRUE"; $resultStudienplan = $this->StudienplanModel->loadWhere( - array('semester' => $ausbildungssemester, - 'studiensemester_kurzbz' => $studiensemester_kurzbz) + array("semester" => $ausbildungssemester, + "studiensemester_kurzbz" => $studiensemester_kurzbz) ); if (is_object($resultStudienplan) && $resultStudienplan->error == EXIT_SUCCESS && is_array($resultStudienplan->retval) && count($resultStudienplan->retval) > 0) { $studiengangCount = 0; - $prevStudiengang_kz = ''; + $prevStudiengang_kz = ""; $studiengangArray = array(); for ($i = 0; $i < count($resultStudienplan->retval); $i++) @@ -93,9 +93,9 @@ class Studiengang2 extends APIv1_Controller else { $resultStudiengang = $this->StudiengangModel->loadWhere( - array('studiengang_kz' => $resultStudienplan->retval[$i]->studiengang_kz, - 'aktiv' => $aktiv, - 'onlinebewerbung' => $onlinebewerbung) + array("studiengang_kz" => $resultStudienplan->retval[$i]->studiengang_kz, + "aktiv" => $aktiv, + "onlinebewerbung" => $onlinebewerbung) ); if (is_object($resultStudiengang) && $resultStudiengang->error == EXIT_SUCCESS && @@ -121,4 +121,125 @@ class Studiengang2 extends APIv1_Controller $this->response(); } } + + private function _getStudienplaene($studiengang_kz, $studiensemester_kurzbz, $ausbildungssemester) + { + $studienplaene = null; + + // Loading model for Studienplan + $this->load->model("organisation/Studienplan_model", "StudienplanModel"); + + $result = $this->StudienplanModel->addJoin("lehre.tbl_studienplan_semester", "studienplan_id"); + if ($result->error == EXIT_SUCCESS) + { + $result = $this->StudienplanModel->addJoin("lehre.tbl_studienordnung", "studienordnung_id"); + if ($result->error == EXIT_SUCCESS) + { + $this->StudienplanModel->addSelect("tbl_studienplan.*, lehre.tbl_studienordnung.studiengang_kz"); + + $resultStudienplan = $this->StudienplanModel->loadWhere(array( + "studiengang_kz" => $studiengang_kz, + "semester" => $ausbildungssemester, + "studiensemester_kurzbz" => $studiensemester_kurzbz + )); + if (is_object($resultStudienplan) && $resultStudienplan->error == EXIT_SUCCESS && + is_array($resultStudienplan->retval)) + { + $studienplaene = $resultStudienplan->retval; + } + } + } + + return $studienplaene; + } + + private function _getBewerbungstermine($studiengang_kz, $studiensemester_kurzbz) + { + $bewerbungstermine = null; + + // Loading model for Bewerbungstermine + $this->load->model("crm/bewerbungstermine_model", "BewerbungstermineModel"); + + $resultBewerbungstermine = $this->BewerbungstermineModel->loadWhere(array( + "studiengang_kz" => $studiengang_kz, + "studiensemester_kurzbz" => $studiensemester_kurzbz + )); + if (is_object($resultBewerbungstermine) && $resultBewerbungstermine->error == EXIT_SUCCESS && + is_array($resultBewerbungstermine->retval)) + { + $bewerbungstermine = $resultBewerbungstermine->retval; + } + + return $bewerbungstermine; + } + + private function _getReihungstests($studiengang_kz, $studiensemester_kurzbz) + { + $reihungstests = null; + + // Loading model for Reihungstests + $this->load->model("crm/reihungstest_model", "ReihungstestModel"); + + $resultReihungstests = $this->ReihungstestModel->loadWhere(array( + "studiengang_kz" => $studiengang_kz, + "studiensemester_kurzbz" => $studiensemester_kurzbz + )); + if (is_object($resultReihungstests) && $resultReihungstests->error == EXIT_SUCCESS && + is_array($resultReihungstests->retval)) + { + $reihungstests = $resultReihungstests->retval; + } + + return $reihungstests; + } + + public function getCompleteStudiengang() + { + $studiensemester_kurzbz = $this->get("studiensemester_kurzbz"); + $ausbildungssemester = $this->get("ausbildungssemester"); + $aktiv = $this->get("aktiv"); + $onlinebewerbung = $this->get("onlinebewerbung"); + + if (isset($studiensemester_kurzbz) && isset($ausbildungssemester)) + { + if (!isset($aktiv)) $aktiv = "TRUE"; + if (!isset($onlinebewerbung)) $onlinebewerbung = "TRUE"; + + $resultStudiengang = $this->StudiengangModel->loadWhere( + array("aktiv" => $aktiv, + "onlinebewerbung" => $onlinebewerbung) + ); + if (is_object($resultStudiengang) && $resultStudiengang->error == EXIT_SUCCESS && + is_array($resultStudiengang->retval)) + { + for ($i = 0; $i < count($resultStudiengang->retval); $i++) + { + $studiengang_kz = $resultStudiengang->retval[$i]->studiengang_kz; + + // Getting all studienplaene for this studiengang + $resultStudiengang->retval[$i]->studienplaene = $this->_getStudienplaene( + $studiengang_kz, + $studiensemester_kurzbz, + $ausbildungssemester + ); + // Getting all bewerbungstermine for this studiengang + $resultStudiengang->retval[$i]->bewerbungstermine = $this->_getBewerbungstermine( + $studiengang_kz, + $studiensemester_kurzbz + ); + // Getting all reihungstests for this studiengang + $resultStudiengang->retval[$i]->reihungstests = $this->_getReihungstests( + $studiengang_kz, + $studiensemester_kurzbz + ); + } + } + + $this->response($resultStudiengang, REST_Controller::HTTP_OK); + } + else + { + $this->response(); + } + } } \ No newline at end of file