From ce3028aad2912f2d43c4028b20965b4dcd59bd42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 17 Sep 2010 09:58:45 +0000 Subject: [PATCH] =?UTF-8?q?-=20Beim=20Generieren=20der=20UID=20wird=20gepr?= =?UTF-8?q?=C3=BCft,=20ob=20diese=20schon=20als=20E-Mail=20Alias=20verwend?= =?UTF-8?q?et=20wird=20um=20Konfikte=20zu=20vermeiden.=20-=20Spalte=20oe?= =?UTF-8?q?=5Fkurzbz=20zur=20vw=5Flehreinheit=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/tw/generateuid.inc.php | 20 ++++++++++++++++++-- system/checksystem.php | 24 ++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/include/tw/generateuid.inc.php b/include/tw/generateuid.inc.php index c8d63a284..fe1a0bfad 100644 --- a/include/tw/generateuid.inc.php +++ b/include/tw/generateuid.inc.php @@ -51,7 +51,23 @@ function generateUID($stgkzl,$jahr, $stgtyp, $matrikelnummer) function generateMitarbeiterUID($vorname, $nachname, $lektor) { $bn = new benutzer(); - + $reserviert = array(); + + // Das File aliases enthaelt die Mailverteiler haendisch gewarteten Mailverteiler die nicht + // in der FHC Datenbank vorhanden sind. + // Diese duerfen nicht als UID verwendet werden, da es sonst zu Konflikten kommt + $aliases = file_get_contents(DOC_ROOT.'../system/aliases'); + $aliases = explode("\n",$aliases); + foreach($aliases as $alias) + { + if(!strstr($alias,'#')) + { + $entry = preg_split("/[\s:]+/", $alias); + if($entry[0]!='') + $reserviert[]=$entry[0]; + } + } + for($nn=8,$vn=0;$nn!=0;$nn--,$vn++) { $uid = mb_substr($nachname,0,$nn); @@ -59,7 +75,7 @@ function generateMitarbeiterUID($vorname, $nachname, $lektor) $uid = mb_str_replace(' ','',$uid); - if(!$bn->uid_exists($uid)) + if(!$bn->uid_exists($uid) && !in_array($uid, $reserviert)) if($bn->errormsg=='') return $uid; } diff --git a/system/checksystem.php b/system/checksystem.php index 6de6851b3..557be0975 100644 --- a/system/checksystem.php +++ b/system/checksystem.php @@ -1113,6 +1113,30 @@ if(!@$db->db_query("SELECT bezeichnung_english FROM lehre.tbl_abschlussbeurteilu echo 'lehre.tbl_abschlussbeurteilung: Spalte bezeichnung_english hinzugefuegt
'; } +//orgform_kurzbz zu vw_lehreinheit hinzufuegen +if(!@$db->db_query("SELECT lv_orgform_kurzbz FROM campus.vw_lehreinheit LIMIT 1;")) +{ + $qry = "DROP VIEW campus.vw_lehreinheit; + CREATE VIEW campus.vw_lehreinheit AS + SELECT + tbl_lehrveranstaltung.studiengang_kz AS lv_studiengang_kz, tbl_lehrveranstaltung.semester AS lv_semester, tbl_lehrveranstaltung.kurzbz AS lv_kurzbz, tbl_lehrveranstaltung.bezeichnung AS lv_bezeichnung, tbl_lehrveranstaltung.ects AS lv_ects, tbl_lehrveranstaltung.lehreverzeichnis AS lv_lehreverzeichnis, tbl_lehrveranstaltung.planfaktor AS lv_planfaktor, tbl_lehrveranstaltung.planlektoren AS lv_planlektoren, tbl_lehrveranstaltung.planpersonalkosten AS lv_planpersonalkosten, tbl_lehrveranstaltung.plankostenprolektor AS lv_plankostenprolektor, tbl_lehrveranstaltung.orgform_kurzbz as lv_orgform_kurzbz, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrveranstaltung_id, tbl_lehreinheit.studiensemester_kurzbz, tbl_lehreinheit.lehrform_kurzbz, tbl_lehreinheit.stundenblockung, tbl_lehreinheit.wochenrythmus, tbl_lehreinheit.start_kw, tbl_lehreinheit.raumtyp, tbl_lehreinheit.raumtypalternativ, tbl_lehreinheit.lehre, tbl_lehreinheit.unr, tbl_lehreinheit.lvnr, tbl_lehreinheitmitarbeiter.lehrfunktion_kurzbz, tbl_lehreinheit.insertamum, tbl_lehreinheit.insertvon, tbl_lehreinheit.updateamum, tbl_lehreinheit.updatevon, tbl_lehreinheit.lehrfach_id, tbl_lehrfach.fachbereich_kurzbz, tbl_lehrfach.kurzbz AS lehrfach, tbl_lehrfach.bezeichnung AS lehrfach_bez, tbl_lehrfach.farbe, tbl_lehrveranstaltung.aktiv, tbl_lehrfach.sprache, tbl_lehreinheitmitarbeiter.mitarbeiter_uid, tbl_lehreinheitmitarbeiter.semesterstunden, tbl_lehrveranstaltung.semesterstunden AS lv_semesterstunden, tbl_lehreinheitmitarbeiter.planstunden, tbl_lehreinheitmitarbeiter.stundensatz, tbl_lehreinheitmitarbeiter.faktor, tbl_lehreinheit.anmerkung, tbl_mitarbeiter.kurzbz AS lektor, tbl_lehreinheitgruppe.studiengang_kz, tbl_lehreinheitgruppe.semester, tbl_lehreinheitgruppe.verband, tbl_lehreinheitgruppe.gruppe, tbl_lehreinheitgruppe.gruppe_kurzbz, tbl_studiengang.kurzbz AS stg_kurzbz, tbl_studiengang.kurzbzlang AS stg_kurzbzlang, tbl_studiengang.bezeichnung AS stg_bez, tbl_studiengang.typ AS stg_typ, tbl_lehreinheitmitarbeiter.anmerkung AS anmerkunglektor, tbl_lehrveranstaltung.lehrform_kurzbz AS lv_lehrform_kurzbz, tbl_lehrveranstaltung.bezeichnung_english AS lv_bezeichnung_english + FROM lehre.tbl_lehreinheit + JOIN lehre.tbl_lehrveranstaltung USING (lehrveranstaltung_id) + JOIN lehre.tbl_lehrfach USING (lehrfach_id) + JOIN lehre.tbl_lehreinheitmitarbeiter USING (lehreinheit_id) + JOIN tbl_mitarbeiter USING (mitarbeiter_uid) + JOIN lehre.tbl_lehreinheitgruppe USING (lehreinheit_id) + JOIN tbl_studiengang ON tbl_lehreinheitgruppe.studiengang_kz = tbl_studiengang.studiengang_kz; + GRANT SELECT ON campus.vw_lehreinheit TO web; + GRANT SELECT ON campus.vw_lehreinheit TO admin ; + "; + + if(!$db->db_query($qry)) + echo 'campus.vw_lehreinheit: '.$db->db_last_error().'
'; + else + echo 'campus.vw_lehreinheit: Spalte lv_orgform_kurzbz hinzugefuegt
'; +} + echo '
'; $tabellen=array(