From 332de0a299e391124991eac1b4d2ad2cd93fa377 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Mon, 17 Jun 2019 11:52:59 +0200 Subject: [PATCH 1/6] Check auf eingetragene ZGV, wenn zu Bewerber gemacht wird --- vilesci/stammdaten/auswertung_fhtw.php | 51 +++++++++++++++++--------- 1 file changed, 34 insertions(+), 17 deletions(-) diff --git a/vilesci/stammdaten/auswertung_fhtw.php b/vilesci/stammdaten/auswertung_fhtw.php index a87260940..a817614c3 100644 --- a/vilesci/stammdaten/auswertung_fhtw.php +++ b/vilesci/stammdaten/auswertung_fhtw.php @@ -834,27 +834,44 @@ if ($punkteUebertragen) // Um einen Bewerberstatus zu setzen, muss "reihungstestangetreten" true sein if ($prestudent->reihungstestangetreten == true) { - $prestudent->new = true; - $prestudent->prestudent_id = $array['prestudent_id']; - $prestudent->status_kurzbz = 'Bewerber'; - $prestudent->studiensemester_kurzbz = $prestudentrolle->studiensemester_kurzbz; - $prestudent->ausbildungssemester = $prestudentrolle->ausbildungssemester; - $prestudent->datum = date('Y-m-d'); - $prestudent->insertamum = date('Y-m-d H:i:s'); - $prestudent->insertvon = $user; - $prestudent->orgform_kurzbz = $prestudentrolle->orgform_kurzbz; - $prestudent->bestaetigtam = ''; - $prestudent->bestaetigtvon = ''; - $prestudent->bewerbung_abgeschicktamum = ''; - $prestudent->studienplan_id = $prestudentrolle->studienplan_id; - - if (!$prestudent->save_rolle()) + // Um einen Bewerberstatus zu setzen, muss die ZGV ausgefüllt sein + if ($prestudent->zgv_code != '') { - $msg_error .= '
Fehler beim speichern des Bewerberstatus für Prestudent '.$array['prestudent_id'].': '.$prestudent->errormsg; + $studiengang = new studiengang($prestudent->studiengang_kz); + // Bei Mastern muss auch die ZGV-Master ausgefüllt sein + if ($studiengang->typ == 'm' && $prestudent->zgvmas_code == '') + { + $msg_error .= '
Fehler beim speichern des Bewerberstatus für Prestudent '.$array['prestudent_id'].'. Es muss zuerst eine Master-ZGV eingetragen sein.'; + } + else + { + $prestudent->new = true; + $prestudent->prestudent_id = $array['prestudent_id']; + $prestudent->status_kurzbz = 'Bewerber'; + $prestudent->studiensemester_kurzbz = $prestudentrolle->studiensemester_kurzbz; + $prestudent->ausbildungssemester = $prestudentrolle->ausbildungssemester; + $prestudent->datum = date('Y-m-d'); + $prestudent->insertamum = date('Y-m-d H:i:s'); + $prestudent->insertvon = $user; + $prestudent->orgform_kurzbz = $prestudentrolle->orgform_kurzbz; + $prestudent->bestaetigtam = ''; + $prestudent->bestaetigtvon = ''; + $prestudent->bewerbung_abgeschicktamum = ''; + $prestudent->studienplan_id = $prestudentrolle->studienplan_id; + + if (!$prestudent->save_rolle()) + { + $msg_error .= '
Fehler beim speichern des Bewerberstatus für Prestudent '.$array['prestudent_id'].': '.$prestudent->errormsg; + } + else + { + $count_success_bewerber++; + } + } } else { - $count_success_bewerber++; + $msg_error .= '
Fehler beim speichern des Bewerberstatus für Prestudent '.$array['prestudent_id'].'. Es muss zuerst eine ZGV eingetragen sein.'; } } else From 73943f81880791cceaedc8592d931fb8d4fa302a Mon Sep 17 00:00:00 2001 From: Nikolaus Krondraf Date: Mon, 17 Jun 2019 13:22:47 +0200 Subject: [PATCH 2/6] Link zum Profil kann bei Suche deaktiviert werden --- cis/private/tools/suche.php | 6 +++++- config/global.config-default.inc.php | 3 +++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/cis/private/tools/suche.php b/cis/private/tools/suche.php index 2261a4e66..97188553d 100644 --- a/cis/private/tools/suche.php +++ b/cis/private/tools/suche.php @@ -163,7 +163,11 @@ function searchPerson($searchItems) //echo '',$row->titelpre,''; echo '',$row->anrede,''; echo '',$row->vorname,''; - echo '',$row->nachname,''; + echo ''; + if(!defined('CIS_SUCHE_PROFIL_ANZEIGEN') || CIS_SUCHE_PROFIL_ANZEIGEN) + echo '',$row->nachname,''; + else + echo $row->nachname; if($row->aktiv==false) echo ' (ausgeschieden)'; elseif($bisverwendung->beschausmasscode=='5') diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php index 1ab74d1a9..1386a6199 100644 --- a/config/global.config-default.inc.php +++ b/config/global.config-default.inc.php @@ -50,6 +50,9 @@ define('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN',true); // Anzeige des LV-Plan Links bei globaler Suche define('CIS_SUCHE_LVPLAN_ANZEIGEN',true); +// Anzeige des Links zum Profil von Personen bei globaler Suche +define('CIS_SUCHE_PROFIL_ANZEIGEN',true); + // Soll geprueft werden ob das Passwort innerhalb des letzten Jahres geaendert wurde true|false // Wenn dies nicht geaendert wurde wird nach dem Login auf die Passwort aendern Seite umgeleitet define('CIS_CHECK_PASSWORD_CHANGE',false); From e4ad90781ec4c09abb1a0b9f16d9b822d63d5554 Mon Sep 17 00:00:00 2001 From: Manfred Kindl Date: Mon, 17 Jun 2019 15:12:40 +0200 Subject: [PATCH 3/6] Spalten $bisorgform_kurzbz und $bezeichnung_mehrsprachig in orgformclass --- include/organisationsform.class.php | 47 +++++++++++++++++++++++++---- 1 file changed, 41 insertions(+), 6 deletions(-) diff --git a/include/organisationsform.class.php b/include/organisationsform.class.php index 5497621ad..29f094f2f 100644 --- a/include/organisationsform.class.php +++ b/include/organisationsform.class.php @@ -30,6 +30,8 @@ class organisationsform extends basis_db public $code; public $bezeichnung; public $rolle; + public $bisorgform_kurzbz; + public $bezeichnung_mehrsprachig; public $result = array(); @@ -37,9 +39,12 @@ class organisationsform extends basis_db * * Konstruktor */ - public function __construct() + public function __construct($orgform_kurzbz = null) { parent::__construct(); + + if($orgform_kurzbz != null) + $this->load($orgform_kurzbz); } /** @@ -48,7 +53,16 @@ class organisationsform extends basis_db */ public function load($orgform_kurzbz) { - $qry = "SELECT * FROM bis.tbl_orgform WHERE orgform_kurzbz=".$this->db_add_param($orgform_kurzbz).';'; + $sprache = new sprache(); + $bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig'); + $qry = "SELECT orgform_kurzbz, + code, + bezeichnung, + rolle, + bisorgform_kurzbz, + $bezeichnung_mehrsprachig + FROM bis.tbl_orgform + WHERE orgform_kurzbz=".$this->db_add_param($orgform_kurzbz).';'; if($this->db_query($qry)) { @@ -58,6 +72,8 @@ class organisationsform extends basis_db $this->code = $row->code; $this->bezeichnung = $row->bezeichnung; $this->rolle = $this->db_parse_bool($row->rolle); + $this->bisorgform_kurzbz = $row->bisorgform_kurzbz; + $this->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig',$row); } } else @@ -73,7 +89,15 @@ class organisationsform extends basis_db */ public function getAll() { - $qry = "SELECT * FROM bis.tbl_orgform"; + $sprache = new sprache(); + $bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig'); + $qry = "SELECT orgform_kurzbz, + code, + bezeichnung, + rolle, + bisorgform_kurzbz, + $bezeichnung_mehrsprachig + FROM bis.tbl_orgform"; if($this->db_query($qry)) { @@ -85,6 +109,8 @@ class organisationsform extends basis_db $orgform->code = $row->code; $orgform->bezeichnung = $row->bezeichnung; $orgform->rolle = $this->db_parse_bool($row->rolle); + $orgform->bisorgform_kurzbz = $row->bisorgform_kurzbz; + $orgform->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig',$row); $this->result[] = $orgform; } @@ -133,9 +159,16 @@ class organisationsform extends basis_db */ public function getOrgformLV() { - $qry = "SELECT * - FROM bis.tbl_orgform - WHERE orgform_kurzbz NOT IN ('VBB', 'ZGS') + $sprache = new sprache(); + $bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig'); + $qry = "SELECT orgform_kurzbz, + code, + bezeichnung, + rolle, + bisorgform_kurzbz, + $bezeichnung_mehrsprachig + FROM bis.tbl_orgform + WHERE orgform_kurzbz NOT IN ('VBB', 'ZGS') ORDER BY orgform_kurzbz"; if ($result = $this->db_query($qry)) @@ -148,6 +181,8 @@ class organisationsform extends basis_db $orgform->code = $row->code; $orgform->bezeichnung = $row->bezeichnung; $orgform->rolle = $row->rolle; + $orgform->bisorgform_kurzbz = $row->bisorgform_kurzbz; + $orgform->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig',$row); $this->result[] = $orgform; } From 45636fa0691ef693ee4f3026b2b8a564927d093a Mon Sep 17 00:00:00 2001 From: Nikolaus Krondraf Date: Wed, 19 Jun 2019 14:54:39 +0200 Subject: [PATCH 4/6] =?UTF-8?q?Pr=C3=BCfungsanmeldung=20ist=20nun=20f?= =?UTF-8?q?=C3=BCr=20alle=20Studenten=20des=20Studiengangs=20m=C3=B6glich?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/lehre/pruefung/pruefungsanmeldung.json.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php index 555144a67..a446c73e2 100644 --- a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php @@ -606,9 +606,10 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) foreach ($prestudent->result as $ps) { - if ($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch)) + // prüfen ob Student zum Zeitpunkt der LV oder zumindest irgendwann Student im Studiengang war/ist + if ($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch) || $ps->studiengang_kz == $studiengang_kz) { - if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) + if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher") || ($ps->status_kurzbz == "")) { array_push($prestudenten, $ps); } From 477ebe7cc75390ab4c2d4cbdf99a3eecec959058 Mon Sep 17 00:00:00 2001 From: Paolo Date: Fri, 21 Jun 2019 13:16:14 +0200 Subject: [PATCH 5/6] - core/Auth_Controller does NOT load anymore hlp_authentication helper - Added function getAuthPersonId to hlp_authentication helper - Added function isLogged to hlp_common helper - hlp_authentication helper functions getAuthPersonId and getAuthUID make use of isLogged function - AuthLib loads hlp_authentication helper after a successful login or if a user is already logged - FilterLib does NOT load anymore hlp_authentication helper - FilterLib does NOT use anymore BenutzerModel and getAuthUID, but retrieves user data directly using the person_id from getAuthPersonId --- application/core/Auth_Controller.php | 3 - .../helpers/hlp_authentication_helper.php | 27 +++- application/helpers/hlp_common_helper.php | 16 ++ application/libraries/AuthLib.php | 10 +- application/libraries/FiltersLib.php | 147 ++++++++---------- 5 files changed, 110 insertions(+), 93 deletions(-) diff --git a/application/core/Auth_Controller.php b/application/core/Auth_Controller.php index 1427a318d..5d03091f0 100644 --- a/application/core/Auth_Controller.php +++ b/application/core/Auth_Controller.php @@ -14,9 +14,6 @@ class Auth_Controller extends FHC_Controller // Loads authentication library and starts authentication $this->load->library('AuthLib'); - // Loads authentication helper - $this->load->helper('hlp_authentication'); - // Checks if the caller is allowed to access to this content $this->_isAllowed($requiredPermissions); } diff --git a/application/helpers/hlp_authentication_helper.php b/application/helpers/hlp_authentication_helper.php index 1c2e3603d..740823ff9 100644 --- a/application/helpers/hlp_authentication_helper.php +++ b/application/helpers/hlp_authentication_helper.php @@ -2,20 +2,35 @@ if (!defined('BASEPATH')) exit('No direct script access allowed'); -// ------------------------------------------------------------------------ +// ----------------------------------------------------------------------------------------------------- // Functions needed to manage the user authentication -// ------------------------------------------------------------------------ +// NOTE: the following functions do NOT prompt a login page if the user is NOT logged in +// ----------------------------------------------------------------------------------------------------- /** - * It calls the AuthLib, if the user is NOT logged then the login page is shown + * If the user is NOT logged then a null value is returned. + * If the user is alredy logged, then it is possible to access to the authentication object + * that contains the person_id of the logged user + * NOTE: if a user is logged then a person_id is always present! + */ +function getAuthPersonId() +{ + $ci =& get_instance(); // get CI instance + + return isLogged() ? ($ci->authlib->getAuthObj())->{AuthLib::AO_PERSON_ID} : null; +} + + +/** + * If the user is NOT logged then a null value is returned. * If the user is alredy logged, then it is possible to access to the authentication object * that contains the username of the logged user - * - * @return string or null + * NOTE: if the user is logged with a "foreign" method (ex. Bewerbungstool), + * then it is possible that the username is null! */ function getAuthUID() { $ci =& get_instance(); // get CI instance - return ($ci->authlib->getAuthObj())->{AuthLib::AO_USERNAME}; + return isLogged() ? ($ci->authlib->getAuthObj())->{AuthLib::AO_USERNAME} : null; } diff --git a/application/helpers/hlp_common_helper.php b/application/helpers/hlp_common_helper.php index bc09cd32c..bb8b1b8e4 100644 --- a/application/helpers/hlp_common_helper.php +++ b/application/helpers/hlp_common_helper.php @@ -224,3 +224,19 @@ function isDateWorkingDay($date, $days = null) return true; } } + +/** + * Checks if the current user is logged by checking that the AuthLib is loaded and + * it is present the authentication object in session + * NOTE: it is placed here instead of being placed in the helper hlp_authentication_helper + * because hlp_authentication_helper is loaded after the authentication. + * It is very useful to use this function even in those parts of the code that are accessible + * even when a user is NOT authenticated!!! + * If and only if this function returns true, then all the functions present in hlp_authentication_helper can be used! + */ +function isLogged() +{ + $ci =& get_instance(); // get CI instance + + return isset($ci->authlib) && $ci->authlib->getAuthObj() != null; +} diff --git a/application/libraries/AuthLib.php b/application/libraries/AuthLib.php index deebcb3ee..bb2c6ce9b 100644 --- a/application/libraries/AuthLib.php +++ b/application/libraries/AuthLib.php @@ -30,7 +30,6 @@ class AuthLib /** * Construct * - * * @param bool $authenticate If the authentication must be performed. */ public function __construct($authenticate = true) @@ -483,6 +482,8 @@ class AuthLib /** * Stores the authentication object into the authentication session + * Everything was fine, the user at this point is authenticated, it is possible to store the authentication object + * in the user session */ private function _storeSessionAuthObj($authObj) { @@ -552,7 +553,12 @@ class AuthLib $this->_showError(getData($auth)); // display a generic error message and logs the occurred error } } - // else the user is already logged, then continue with the execution + // else the user is already logged, then loads authentication helper and continue with the execution + // NOTE: it is needed only here because: + // - it is called when a user is already logged in + // - it is called after login the user + // - it is NOT called in case of fatal error or wrong authentication + $this->_ci->load->helper('hlp_authentication'); } /** diff --git a/application/libraries/FiltersLib.php b/application/libraries/FiltersLib.php index 9d0d67584..6346150d8 100644 --- a/application/libraries/FiltersLib.php +++ b/application/libraries/FiltersLib.php @@ -108,9 +108,6 @@ class FiltersLib { $this->_ci =& get_instance(); // get code igniter instance - // Loads authentication helper - $this->_ci->load->helper('hlp_authentication'); // NOTE: needed to load custom filters do not remove! - $this->_filterUniqueId = $this->_getFilterUniqueId($params); // sets the id for the related filter widget } @@ -185,11 +182,8 @@ class FiltersLib { // Loads the needed models $this->_ci->load->model('system/Filters_model', 'FiltersModel'); - $this->_ci->load->model('person/Benutzer_model', 'BenutzerModel'); // to get the default custom filter - $this->_ci->FiltersModel->resetQuery(); // reset any previous built query - $this->_ci->FiltersModel->addJoin('public.tbl_benutzer', 'person_id', 'LEFT'); // left join with benutzer table $this->_ci->FiltersModel->addSelect('system.tbl_filters.*'); // select only from table filters $this->_ci->FiltersModel->addOrder('sort', 'ASC'); // sort on column sort $this->_ci->FiltersModel->addLimit(1); // if more than one filter is set as default only one will be retrieved @@ -223,7 +217,7 @@ class FiltersLib $whereParameters = array( 'app' => $app, 'dataset_name' => $datasetName, - 'uid' => getAuthUID(), + 'person_id' => getAuthPersonId(), 'default_filter' => true ); @@ -260,10 +254,10 @@ class FiltersLib $jsonEncodedFilter = null; // If the definition contains data and they are valid - if (hasData($definition) && isset($definition->retval[0]->filter) && trim($definition->retval[0]->filter) != '') + if (hasData($definition) && isset(getData($definition)[0]->filter) && trim(getData($definition)[0]->filter) != '') { // Get the json definition of the filter - $tmpJsonEncodedFilter = json_decode($definition->retval[0]->filter); + $tmpJsonEncodedFilter = json_decode(getData($definition)[0]->filter); // Checks required filter's properies if (isset($tmpJsonEncodedFilter->name) @@ -585,87 +579,76 @@ class FiltersLib $saveCustomFilter = false; // by default returns a failure // Checks parameter customFilterDescription if not valid stop the execution - if (isEmptyString($customFilterDescription)) - { - return $saveCustomFilter; - } + if (isEmptyString($customFilterDescription)) return $saveCustomFilter; $this->_ci->load->model('system/Filters_model', 'FiltersModel'); // to load the filter definitions - $this->_ci->load->model('person/Benutzer_model', 'BenutzerModel'); // to get the person_id of the authenticated user - $this->_ci->FiltersModel->resetQuery(); // reset any previous built query - $this->_ci->BenutzerModel->resetQuery(); // reset any previous built query - // Loads data for the authenticated user - $authBenutzer = $this->_ci->BenutzerModel->loadWhere(array('uid' => getAuthUID())); - if (hasData($authBenutzer)) // if data are found + // person_id of the authenticated user + $authPersonId = getAuthPersonId(); + // Postgres array for the description + $descPGArray = str_replace('%desc%', $customFilterDescription, '{"%desc%", "%desc%", "%desc%", "%desc%"}'); + + // Loads the definition to check if is already present in the DB + $definition = $this->_ci->FiltersModel->loadWhere(array( + 'app' => $this->getSessionElement(self::APP_PARAMETER), + 'dataset_name' => $this->getSessionElement(self::DATASET_NAME_PARAMETER), + 'description' => $descPGArray, + 'person_id' => $authPersonId + )); + + // New definition to be json encoded + $jsonDeifinition = new stdClass(); + $jsonDeifinition->name = $customFilterDescription; // name of the filter + + // Generates the "column" property + $jsonDeifinition->columns = array(); + $selectedFields = $this->getSessionElement(self::SESSION_SELECTED_FIELDS); // retrieved the selected fields + for ($i = 0; $i < count($selectedFields); $i++) { - // person_id of the authenticated user - $authPersonId = $authBenutzer->retval[0]->person_id; - // Postgres array for the description - $descPGArray = str_replace('%desc%', $customFilterDescription, '{"%desc%", "%desc%", "%desc%", "%desc%"}'); + // Each element is an object with a property called "name" + $jsonDeifinition->columns[$i] = new stdClass(); + $jsonDeifinition->columns[$i]->name = $selectedFields[$i]; + } - // Loads the definition to check if is already present in the DB - $definition = $this->_ci->FiltersModel->loadWhere(array( - 'app' => $this->getSessionElement(self::APP_PARAMETER), - 'dataset_name' => $this->getSessionElement(self::DATASET_NAME_PARAMETER), - 'description' => $descPGArray, - 'person_id' => $authPersonId - )); + // List of applied filters + $jsonDeifinition->filters = $this->getSessionElement(self::SESSION_FILTERS); - // New definition to be json encoded - $jsonDeifinition = new stdClass(); - $jsonDeifinition->name = $customFilterDescription; // name of the filter + // If it is already present + if (hasData($definition)) + { + // update it + $this->_ci->FiltersModel->update( + array( + 'app' => $this->getSessionElement(self::APP_PARAMETER), + 'dataset_name' => $this->getSessionElement(self::DATASET_NAME_PARAMETER), + 'description' => $descPGArray, + 'person_id' => $authPersonId + ), + array( + 'filter' => json_encode($jsonDeifinition) + ) + ); - // Generates the "column" property - $jsonDeifinition->columns = array(); - $selectedFields = $this->getSessionElement(self::SESSION_SELECTED_FIELDS); // retrieved the selected fields - for ($i = 0; $i < count($selectedFields); $i++) - { - // Each element is an object with a property called "name" - $jsonDeifinition->columns[$i] = new stdClass(); - $jsonDeifinition->columns[$i]->name = $selectedFields[$i]; - } + $saveCustomFilter = true; + } + else // otherwise insert a new one + { + $this->_ci->FiltersModel->insert( + array( + 'app' => $this->getSessionElement(self::APP_PARAMETER), + 'dataset_name' => $this->getSessionElement(self::DATASET_NAME_PARAMETER), + 'filter_kurzbz' => uniqid($authPersonId, true), + 'description' => $descPGArray, + 'person_id' => $authPersonId, + 'sort' => null, + 'default_filter' => false, + 'filter' => json_encode($jsonDeifinition), + 'oe_kurzbz' => null + ) + ); - // List of applied filters - $jsonDeifinition->filters = $this->getSessionElement(self::SESSION_FILTERS); - - // If it is already present - if (hasData($definition)) - { - // update it - $this->_ci->FiltersModel->update( - array( - 'app' => $this->getSessionElement(self::APP_PARAMETER), - 'dataset_name' => $this->getSessionElement(self::DATASET_NAME_PARAMETER), - 'description' => $descPGArray, - 'person_id' => $authPersonId - ), - array( - 'filter' => json_encode($jsonDeifinition) - ) - ); - - $saveCustomFilter = true; - } - else // otherwise insert a new one - { - $this->_ci->FiltersModel->insert( - array( - 'app' => $this->getSessionElement(self::APP_PARAMETER), - 'dataset_name' => $this->getSessionElement(self::DATASET_NAME_PARAMETER), - 'filter_kurzbz' => uniqid($authPersonId, true), - 'description' => $descPGArray, - 'person_id' => $authPersonId, - 'sort' => null, - 'default_filter' => false, - 'filter' => json_encode($jsonDeifinition), - 'oe_kurzbz' => null - ) - ); - - $saveCustomFilter = true; - } + $saveCustomFilter = true; } return $saveCustomFilter; @@ -721,7 +704,7 @@ class FiltersLib $childrenPersonalArray = array(); // contains all the children elements in menu enty for personal filters // Loops through loaded filters - foreach ($filters->retval as $filter) + foreach (getData($filters) as $filter) { // Generate a menu entry $menuEntry = $this->_ci->navigationlib->oneLevel( From 8c9827b9a262e283b098f2ca20fad72e24eef252 Mon Sep 17 00:00:00 2001 From: Nikolaus Krondraf Date: Mon, 24 Jun 2019 10:43:55 +0200 Subject: [PATCH 6/6] =?UTF-8?q?Link=20zum=20Profil=20bei=20Suche=20wird=20?= =?UTF-8?q?f=C3=BCr=20Mitarbeiter=20immer=20angezeigt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/tools/suche.php | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/cis/private/tools/suche.php b/cis/private/tools/suche.php index 97188553d..f5a1ae591 100644 --- a/cis/private/tools/suche.php +++ b/cis/private/tools/suche.php @@ -111,7 +111,7 @@ if (!$searchPerson && !$searchOrt && !$searchDms && !$searchContent && !$searchO function searchPerson($searchItems) { - global $db, $p, $noalias; + global $db, $p, $noalias, $uid; $bn = new benutzer(); $bn->search($searchItems, 21); @@ -164,10 +164,18 @@ function searchPerson($searchItems) echo '',$row->anrede,''; echo '',$row->vorname,''; echo ''; - if(!defined('CIS_SUCHE_PROFIL_ANZEIGEN') || CIS_SUCHE_PROFIL_ANZEIGEN) + if(!defined('CIS_SUCHE_PROFIL_ANZEIGEN')) echo '',$row->nachname,''; + else if(!CIS_SUCHE_PROFIL_ANZEIGEN) + { + $mitarbeiter = new Mitarbeiter($uid); + if($mitarbeiter->errormsg === NULL) + echo '',$row->nachname,''; + else + echo $row->nachname; + } else - echo $row->nachname; + echo '',$row->nachname,''; if($row->aktiv==false) echo ' (ausgeschieden)'; elseif($bisverwendung->beschausmasscode=='5')