diff --git a/cis/private/lehre/fotoliste.pdf.php b/cis/private/lehre/fotoliste.pdf.php index 9e7535c04..62433e231 100644 --- a/cis/private/lehre/fotoliste.pdf.php +++ b/cis/private/lehre/fotoliste.pdf.php @@ -153,6 +153,7 @@ $qry = 'SELECT DISTINCT ON (nachname, vorname, person_id) vorname, nachname, + wahlname, matrikelnr, tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, @@ -237,6 +238,16 @@ if ($result = $db->db_query($qry)) { if ($row->stg_kz_student == $a_o_kz) //Außerordentliche Studierende $zusatz .= '(a.o.)'; + //wenn Wahlname vorhanden, wird dieser anstelle des Vornamens angezeigt + if ($row->wahlname != '') + { + $vorname = $row->wahlname; + } + else + { + $vorname = $row->vorname; + } + //allow admin and assistenz to see ALL fotos (even if locked by user) if ($show_all_fotos) $row->foto_sperre = 'f'; @@ -271,7 +282,7 @@ if ($result = $db->db_query($qry)) { //add studierenden data for XML $data[] = array('studierende' => array( - 'vorname' => $row->vorname, + 'vorname' => $vorname, 'nachname' => mb_strtoupper($row->nachname, 'UTF-8'), 'personenkennzeichen' => trim($row->matrikelnr), 'geschlecht' => $row->geschlecht, diff --git a/cis/private/lehre/notenliste.php b/cis/private/lehre/notenliste.php index 842d4b603..00a07b480 100644 --- a/cis/private/lehre/notenliste.php +++ b/cis/private/lehre/notenliste.php @@ -136,7 +136,7 @@ if (! check_student($user)) } else { - $qry = "SELECT vw_student.vorname, vw_student.nachname, vw_student.prestudent_id, tbl_studiengang.studiengang_kz + $qry = "SELECT vw_student.vorname, vw_student.nachname, vw_student.wahlname, vw_student.prestudent_id, tbl_studiengang.studiengang_kz FROM public.tbl_studiengang JOIN campus.vw_student USING (studiengang_kz) WHERE campus.vw_student.uid = " . $db->db_add_param($user) . ";"; @@ -148,6 +148,7 @@ else $vorname = $row->vorname; $nachname = $row->nachname; + $wahlname = $row->wahlname; $prestudent_id = $row->prestudent_id; $stg_obj = new studiengang(); $stg_obj->load($row->studiengang_kz); @@ -313,7 +314,7 @@ else // Noten ohne Wert werden entfernen if(isset($notenarr[$row->note]['notenwert'])) { - $notenSummenArray[$row->lehrveranstaltung_id]['notenwert'] = $notenarr[$row->note]['notenwert']; + $notenSummenArray[$row->lehrveranstaltung_id]['notenwert'] = $notenarr[$row->note]['notenwert']; $notenSummenArray[$row->lehrveranstaltung_id]['ects'] = $row->ects; } } diff --git a/cis/private/lehre/notenliste.xls.php b/cis/private/lehre/notenliste.xls.php index ad25a6bc2..74cb7e7c1 100644 --- a/cis/private/lehre/notenliste.xls.php +++ b/cis/private/lehre/notenliste.xls.php @@ -167,7 +167,7 @@ else //Lektoren ermitteln $qry = "SELECT - distinct vorname, nachname + distinct vorname, nachname, wahlname FROM campus.vw_benutzer, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter WHERE @@ -211,7 +211,7 @@ else $qry = " SELECT distinct on(nachname, vorname, person_id) - vorname, nachname, matrikelnr, person_id, tbl_student.student_uid as uid, + vorname, nachname, wahlname, matrikelnr, person_id, tbl_student.student_uid as uid, tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe, (SELECT status_kurzbz FROM public.tbl_prestudentstatus @@ -277,6 +277,8 @@ else $worksheet->write($lines,1,$elem->uid); $worksheet->write($lines,2,$elem->nachname.$inc); $worksheet->write($lines,3,$elem->vorname); + //wenn Wahlname vorhanden überschreibt dieser den Vornamen + $worksheet->write($lines,3,$elem->wahlname); $worksheet->write($lines,4,'="'.$elem->semester.$elem->verband.$elem->gruppe.'"'); $worksheet->write($lines,5,'="'.trim($elem->matrikelnr).'"',$format_highlight); $worksheet->write($lines,6, $note, $format_highlightright); diff --git a/cis/private/tools/suche.php b/cis/private/tools/suche.php index b4574a95f..e613b4306 100644 --- a/cis/private/tools/suche.php +++ b/cis/private/tools/suche.php @@ -108,7 +108,7 @@ if (defined('LOG_CONTENT') && LOG_CONTENT==true) //Easter Egg $easteregg = array ('antwort','leben','universum','rest','answer','universe','life','everything'); $easteregg_intersect = array_intersect(array_map('strtolower',$searchItems), $easteregg); -if (count($easteregg_intersect)==4) +if (count($easteregg_intersect)==3) { echo '



42

'; exit; @@ -156,6 +156,7 @@ function searchPerson($searchItems) ',$p->t('global/anrede'),' ',$p->t('global/vorname'),' + ',$p->t('global/wahlname'),' ',$p->t('global/nachname'),' ',$p->t('global/studiengang'),' ',$p->t('freebusy/typ'),' @@ -178,20 +179,21 @@ function searchPerson($searchItems) echo ''; //echo '',$row->titelpre,''; echo '',$row->anrede,''; - echo '',$row->vorname,''; + echo '',$row->vorname, ''; + echo '',$row->wahlname,''; echo ''; if(!defined('CIS_SUCHE_PROFIL_ANZEIGEN')) - echo '',$row->nachname,''; + echo '',$row->nachname,''; else if(!CIS_SUCHE_PROFIL_ANZEIGEN) { $mitarbeiter = new Mitarbeiter($uid); if($mitarbeiter->errormsg === NULL) - echo '',$row->nachname,''; + echo '',$row->nachname,''; else echo $row->nachname; } else - echo '',$row->nachname,''; + echo '',$row->nachname,''; if($row->aktiv==false) echo ' (ausgeschieden)'; elseif($bisverwendung->beschausmasscode=='5') diff --git a/include/benutzer.class.php b/include/benutzer.class.php index ac6ae1c3a..dc9c3ec12 100644 --- a/include/benutzer.class.php +++ b/include/benutzer.class.php @@ -315,7 +315,7 @@ class benutzer extends person $qry = "SELECT * FROM ( SELECT - distinct on (uid) vorname, nachname, uid, mitarbeiter_uid, personalnummer, titelpre, titelpost, lektor, fixangestellt, alias, tbl_benutzer.aktiv, anrede, + distinct on (uid) vorname, nachname, wahlname, uid, mitarbeiter_uid, personalnummer, titelpre, titelpost, lektor, fixangestellt, alias, tbl_benutzer.aktiv, anrede, (SELECT UPPER (tbl_studiengang.typ || tbl_studiengang.kurzbz) FROM public.tbl_student @@ -356,6 +356,8 @@ class benutzer extends person $qry.=" (lower(vorname || ' ' || nachname) ~* lower(".$this->db_add_param($searchItems_string).")"; $qry.=" OR lower(nachname || ' ' || vorname) ~* lower(".$this->db_add_param($searchItems_string).")"; + $qry.=" OR lower(nachname || ' ' || wahlname) ~* lower(".$this->db_add_param($searchItems_string).")"; + $qry.=" OR lower(wahlname || ' ' || nachname) ~* lower(".$this->db_add_param($searchItems_string).")"; $qry.=" OR lower(uid) like lower('%".$this->db_escape(implode(' ',$searchItems))."%')"; $qry.=" OR lower(telefonklappe) like lower('%".$this->db_escape(implode(' ',$searchItems))."%')"; @@ -376,6 +378,7 @@ class benutzer extends person $obj->titelpre = $row->titelpre; $obj->vorname = $row->vorname; + $obj->wahlname = $row->wahlname; $obj->nachname = $row->nachname; $obj->titelpost = $row->titelpost; $obj->uid = $row->uid; diff --git a/include/lehrelisthelper.class.php b/include/lehrelisthelper.class.php index c7fdb9959..31f6a067d 100644 --- a/include/lehrelisthelper.class.php +++ b/include/lehrelisthelper.class.php @@ -200,7 +200,7 @@ class LehreListHelper //Studierende der LV laden und in ein Array schreiben $qry = 'SELECT - distinct on(nachname, vorname, person_id) vorname, nachname, matrikelnr, public.tbl_student.student_uid, + distinct on(nachname, vorname, person_id) vorname, nachname, wahlname, matrikelnr, public.tbl_student.student_uid, tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe, (SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id @@ -276,10 +276,24 @@ class LehreListHelper if(($row->mobilitaetstyp_kurzbz != '') && ($row->doubledegree == 1)) //Double Degree Student $zusatz .= '(d.d.)'; + if(($row->wahlname != '')) + { + //als Zusatz speichern + //$zusatz .= '(Wahlname: ' . $row->wahlname . ')'; + + //wenn vorhanden statt Vornamen anzeigen + $vorname = $row->wahlname; + } + else + { + $vorname = $row->vorname; + } + + $this->studentuids[] = $row->student_uid; $this->data[]=array('student'=>array( 'uid' => $row->student_uid, - 'vorname'=>$row->vorname, + 'vorname'=>$vorname, 'nachname'=>$row->nachname, 'personenkennzeichen'=>trim($row->matrikelnr), 'matr_nr'=>$row->matr_nr, diff --git a/include/person.class.php b/include/person.class.php index e10862ea1..da4c0c129 100644 --- a/include/person.class.php +++ b/include/person.class.php @@ -66,6 +66,7 @@ class person extends basis_db public $matr_nr; //varchar(32) public $bpk; //varchar(255) public $udf_values; //json + public $wahlname; /** * Konstruktor - Uebergibt die Connection und laedt optional eine Person @@ -95,7 +96,7 @@ class person extends basis_db gebdatum, gebort, gebzeit, foto, anmerkung, homepage, svnr, ersatzkennzeichen, familienstand, anzahlkinder, aktiv, insertamum, insertvon, updateamum, updatevon, ext_id, geschlecht, staatsbuergerschaft, geburtsnation, kurzbeschreibung, zugangscode, foto_sperre, - matr_nr, bpk"; + matr_nr, bpk, wahlname"; if ($hasUDF = $udf->personHasUDF()) $qry .= ", udf_values "; @@ -142,6 +143,7 @@ class person extends basis_db $this->foto_sperre = $this->db_parse_bool($row->foto_sperre); $this->matr_nr = $row->matr_nr; $this->bpk = $row->bpk; + $this->wahlname = $row->wahlname; if ($hasUDF) { $this->udf_values = $row->udf_values; @@ -441,7 +443,7 @@ class person extends basis_db gebdatum, gebort, gebzeit, foto, anmerkung, homepage, svnr, ersatzkennzeichen, familienstand, anzahlkinder, aktiv, insertamum, insertvon, updateamum, updatevon, geschlecht, geburtsnation, staatsbuergerschaft, kurzbeschreibung, zugangscode, - foto_sperre, matr_nr, bpk) + foto_sperre, matr_nr, bpk, wahlname) VALUES('.$this->db_add_param($this->sprache).','. $this->db_add_param($this->anrede).','. $this->db_add_param($this->titelpost).','. @@ -471,7 +473,8 @@ class person extends basis_db $this->db_add_param($this->zugangscode).','. $this->db_add_param($this->foto_sperre, FHC_BOOLEAN).','. $this->db_add_param($this->matr_nr).','. - $this->db_add_param($this->bpk).');'; + $this->db_add_param($this->bpk).','. + $this->db_add_param($this->wahlname).');'; } else { @@ -510,7 +513,8 @@ class person extends basis_db ' foto_sperre='.$this->db_add_param($this->foto_sperre, FHC_BOOLEAN).','. ' zugangscode='.$this->db_add_param($this->zugangscode).','. ' matr_nr ='.$this->db_add_param($this->matr_nr).','. - ' bpk = '.$this->db_add_param($this->bpk). + ' bpk = '.$this->db_add_param($this->bpk).','. + ' wahlname = '.$this->db_add_param($this->wahlname). ' WHERE person_id='.$this->person_id.';'; } @@ -611,6 +615,7 @@ class person extends basis_db $l->foto_sperre = $this->db_parse_bool($row->foto_sperre); $l->matr_nr = $row->matr_nr; $l->bpk = $row->bpk; + $l->wahlname = $row->wahlname; $this->personen[] = $l; } } @@ -684,6 +689,7 @@ class person extends basis_db $adrObj->nachname = $row->nachname; $adrObj->vorname = $row->vorname; $adrObj->vornamen = $row->vornamen; + $adrObj->wahlname = $row->wahlname; $adrObj->gebdatum = $row->gebdatum; $adrObj->gebort = $row->gebort; $adrObj->gebzeit = $row->gebzeit; @@ -868,6 +874,7 @@ class person extends basis_db $this->foto_sperre = $this->db_parse_bool($row->foto_sperre); $this->matr_nr = $row->matr_nr; $this->bpk = $row->bpk; + $this->wahlname = $row->wahlname; } else { @@ -986,6 +993,7 @@ class person extends basis_db $this->updateaktivam = $row->updateaktivam; $this->aktivierungscode = $row->aktivierungscode; $this->bpk = $row->bpk; + $this->wahlname = $row->wahlname; return true; } else diff --git a/locale/de-AT/global.php b/locale/de-AT/global.php index 7104a83a5..4d16e40bf 100644 --- a/locale/de-AT/global.php +++ b/locale/de-AT/global.php @@ -71,6 +71,7 @@ $this->phrasen['global/aenderungenZuruecksetzen']= "Änderungen zurücks $this->phrasen['global/username']='Username'; $this->phrasen['global/vorname']='Vorname'; $this->phrasen['global/nachname']='Nachname'; +$this->phrasen['global/wahlname']='Wahlname'; $this->phrasen['global/anrede']='Anrede'; $this->phrasen['global/name']='Name'; $this->phrasen['global/uid']='UID'; diff --git a/locale/en-US/global.php b/locale/en-US/global.php index 97f5cfe26..d62a264c6 100644 --- a/locale/en-US/global.php +++ b/locale/en-US/global.php @@ -70,6 +70,7 @@ $this->phrasen['global/aenderungenZuruecksetzen']= "Reset changes"; $this->phrasen['global/username']='Username'; $this->phrasen['global/vorname']='First Name'; $this->phrasen['global/nachname']='Last Name'; +$this->phrasen['global/wahlname']='Name of Choice'; $this->phrasen['global/anrede']='Title'; $this->phrasen['global/name']='Name'; $this->phrasen['global/uid']='UID'; diff --git a/rdf/anwesenheit.rdf.php b/rdf/anwesenheit.rdf.php index 52e44802f..c42463412 100644 --- a/rdf/anwesenheit.rdf.php +++ b/rdf/anwesenheit.rdf.php @@ -61,7 +61,7 @@ $i=0; if(isset($anwesenheit->result) && is_array($anwesenheit->result)) { foreach($anwesenheit->result as $row) - { + { $i=$oRdf->newObjekt($i); $oRdf->obj[$i]->setAttribut('lehrveranstaltung_bezeichnung',$row->bezeichnung,true); $oRdf->obj[$i]->setAttribut('prozent',$row->prozent,true); @@ -69,12 +69,13 @@ if(isset($anwesenheit->result) && is_array($anwesenheit->result)) $oRdf->obj[$i]->setAttribut('nichtanwesend',$row->nichtanwesend,true); $oRdf->obj[$i]->setAttribut('vorname',$row->vorname,true); $oRdf->obj[$i]->setAttribut('nachname',$row->nachname,true); + $oRdf->obj[$i]->setAttribut('wahlname',$row->wahlname,true); $oRdf->obj[$i]->setAttribut('uid',$row->uid,true); - + $ampel='makeIt'.$anwesenheit->getAmpel($row->prozent); $oRdf->obj[$i]->setAttribut('ampel',$ampel,true); - + $oRdf->addSequence($i); $i++; } diff --git a/rdf/anwesenheitsliste.xml.php b/rdf/anwesenheitsliste.xml.php index 4349a6935..8bd9e80c8 100644 --- a/rdf/anwesenheitsliste.xml.php +++ b/rdf/anwesenheitsliste.xml.php @@ -89,7 +89,7 @@ if($db->db_query($qry)) { if(empty($row)) die("Lehreinheit $lehreinheit am $von nicht gefunden"); - + $data[$row->lehreinheit_id]['tage'][$row->datum][] = $row; } } @@ -97,7 +97,7 @@ if($db->db_query($qry)) foreach($data as $key => $value) { $currentDay = key($value['tage']); - + // Daten der Vortragenden ermitteln $qry = "SELECT vorname, nachname, titelpre, titelpost " . "FROM lehre.tbl_lehreinheitmitarbeiter lema " @@ -114,7 +114,7 @@ foreach($data as $key => $value) } // Daten der Studenten ermitteln - $qry = "SELECT pe.person_id, vorname, nachname, titelpre, titelpost, note, " + $qry = "SELECT pe.person_id, vorname, nachname, wahlname, titelpre, titelpost, note, " . "get_rolle_prestudent(tbl_student.prestudent_id, " . $db->db_add_param($studiensemester) . ") AS laststatus " . "FROM campus.vw_student_lehrveranstaltung stlv " . "JOIN public.tbl_benutzer be ON be.uid = stlv.uid " diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 9e73828d0..6c26e1418 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -6141,6 +6141,17 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht } } +//Add column wahlname to public.tbl_person +if(!@$db->db_query("SELECT wahlname FROM public.tbl_person LIMIT 1")) +{ + $qry = "ALTER TABLE public.tbl_person ADD COLUMN wahlname varchar(128);"; + + if(!$db->db_query($qry)) + echo 'public.tbl_person '.$db->db_last_error().'
'; + else + echo '
public.tbl_person: Spalte wahlname hinzugefügt'; +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; @@ -6347,7 +6358,7 @@ $tabellen=array( "public.tbl_ortraumtyp" => array("ort_kurzbz","hierarchie","raumtyp_kurzbz"), "public.tbl_organisationseinheit" => array("oe_kurzbz", "oe_parent_kurzbz", "bezeichnung","organisationseinheittyp_kurzbz", "aktiv","mailverteiler","freigabegrenze","kurzzeichen","lehre","standort","warn_semesterstunden_frei","warn_semesterstunden_fix","standort_id"), "public.tbl_organisationseinheittyp" => array("organisationseinheittyp_kurzbz", "bezeichnung", "beschreibung"), - "public.tbl_person" => array("person_id","staatsbuergerschaft","geburtsnation","sprache","anrede","titelpost","titelpre","nachname","vorname","vornamen","gebdatum","gebort","gebzeit","foto","anmerkung","homepage","svnr","ersatzkennzeichen","familienstand","geschlecht","anzahlkinder","aktiv","insertamum","insertvon","updateamum","updatevon","ext_id","bundesland_code","kompetenzen","kurzbeschreibung","zugangscode", "foto_sperre","matr_nr","zugangscode_timestamp","udf_values","bpk","matr_aktiv"), + "public.tbl_person" => array("person_id","staatsbuergerschaft","geburtsnation","sprache","anrede","titelpost","titelpre","nachname","vorname","vornamen","gebdatum","gebort","gebzeit","foto","anmerkung","homepage","svnr","ersatzkennzeichen","familienstand","geschlecht","anzahlkinder","aktiv","insertamum","insertvon","updateamum","updatevon","ext_id","bundesland_code","kompetenzen","kurzbeschreibung","zugangscode", "foto_sperre","matr_nr","zugangscode_timestamp","udf_values","bpk","matr_aktiv","wahlname"), "public.tbl_person_fotostatus" => array("person_fotostatus_id","person_id","fotostatus_kurzbz","datum","insertamum","insertvon","updateamum","updatevon"), "public.tbl_personfunktionstandort" => array("personfunktionstandort_id","funktion_kurzbz","person_id","standort_id","position","anrede"), "public.tbl_preincoming" => array("preincoming_id","person_id","mobilitaetsprogramm_code","zweck_code","firma_id","universitaet","aktiv","bachelorthesis","masterthesis","von","bis","uebernommen","insertamum","insertvon","updateamum","updatevon","anmerkung","zgv","zgv_ort","zgv_datum","zgv_name","zgvmaster","zgvmaster_datum","zgvmaster_ort","zgvmaster_name","program_name","bachelor","master","jahre","person_id_emergency","person_id_coordinator_dep","person_id_coordinator_int","code","deutschkurs1","deutschkurs2","research_area","deutschkurs3","ext_id"),