. */ if (! defined('BASEPATH')) exit('No direct script access allowed'); class Studgang extends FHCAPI_Controller { /** * Object initialization */ public function __construct() { parent::__construct([ 'getStudiengangInfo'=> self::PERM_LOGGED, 'getDegreePrograms'=> self::PERM_LOGGED, ]); $this->load->model('organisation/Studiengang_model', 'StudiengangModel'); $this->load->model('ressource/mitarbeiter_model', 'MitarbeiterModel'); // Loads phrases system $this->loadPhrases([ 'global' ]); } //------------------------------------------------------------------------------------------------------------------ // Public methods public function getDegreePrograms() { $entitledDegreePrograms = $this->permissionlib->getSTG_isEntitledFor("basis/news"); if (!$entitledDegreePrograms) { $this->terminateWithError("User is not entitled for any degree program"); } $activeDegreePrograms = $this->StudiengangModel->getDegreePrograms(); $activeDegreePrograms= $this->getDataOrTerminateWithError($activeDegreePrograms); $activeDegreePrograms = array_values(array_filter($activeDegreePrograms, function($degreeProgram) use ($entitledDegreePrograms) { return in_array($degreeProgram->studiengang_kz, $entitledDegreePrograms); })); $this->terminateWithSuccess($activeDegreePrograms); } public function getStudiengangInfo(){ $studiengang_kz = $this->input->get('studiengang_kz', true); $semester = $this->input->get('semester', true); // without a Studiengang the info of the logged in Student is returned if (!is_numeric($studiengang_kz)) { $isMitarbeiter = $this->MitarbeiterModel->isMitarbeiter(getAuthUID()); $isMitarbeiter = $this->getDataOrTerminateWithError($isMitarbeiter); if($isMitarbeiter) { $this->terminateWithSuccess(null); } $studiengang_kz = null; $semester = null; } else { $studiengang_kz = (int)$studiengang_kz; $semester = is_numeric($semester) ? (int)$semester : null; } // fetches the Studiengang Information which is used next to the news $studiengangInfo = $this->StudiengangModel->getStudiengangInfoForNews($studiengang_kz, $semester); $studiengangInfo= $this->getDataOrTerminateWithError($studiengangInfo); $this->terminateWithSuccess($studiengangInfo); } //------------------------------------------------------------------------------------------------------------------ // Private methods }