diff --git a/content/pdfExport.php b/content/pdfExport.php index b214ebd53..ba6638227 100644 --- a/content/pdfExport.php +++ b/content/pdfExport.php @@ -422,7 +422,7 @@ if (!isset($_REQUEST["archive"])) { $studienordnung = new studienordnung(); $studienordnung->loadStudienordnung($_GET['studienordnung_id']); - $filename = $filename.'_'.$studienordnung->studiengangkurzbzlang.'.pdf'; + $filename = 'Studienordnung-Studienplan-'. sprintf("%'.04d",$studienordnung->studiengang_kz).'-'.$studienordnung->studiengangkurzbzlang; $tempPdfName = $vorlage->vorlage_kurzbz.'.pdf'; } else diff --git a/include/person.class.php b/include/person.class.php index cb5909e9a..1e6779b58 100644 --- a/include/person.class.php +++ b/include/person.class.php @@ -929,6 +929,7 @@ class person extends basis_db $this->updateaktivvon = $row->updateaktivvon; $this->updateaktivam = $row->updateaktivam; $this->aktivierungscode = $row->aktivierungscode; + return true; } else { @@ -936,6 +937,11 @@ class person extends basis_db return false; } } + else + { + $this->errormsg = "Fehler beim Laden der Personendaten"; + return false; + } } } diff --git a/rdf/studienordnung.rdf.php b/rdf/studienordnung.rdf.php index 5a62c83f7..4a1d013e1 100644 --- a/rdf/studienordnung.rdf.php +++ b/rdf/studienordnung.rdf.php @@ -30,6 +30,9 @@ require_once('../include/studienordnung.class.php'); require_once('../include/studienplan.class.php'); require_once('../include/organisationsform.class.php'); require_once('../include/lehrform.class.php'); +require_once('../include/sprache.class.php'); + + header("Content-type: application/xhtml+xml"); @@ -90,8 +93,8 @@ if(isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") echo ''; - echo ''; - echo ' studiengang_kz.']]>'; + echo ''; + echo ' studiengang_kz).']]>'; echo ' kurzbz.']]>'; echo ' typ.']]>'; echo ' '; @@ -219,7 +222,7 @@ if(isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") echo ' '; } //echo ' '; - echo ''; + echo ''; } else die('Parameter studienordnung_id is missing'); @@ -232,6 +235,7 @@ function cmp($a, $b) { return strcmp($a->bezeichnung, $b->bezeichnung); } + function printLehrveranstaltungTree($tree) { global $summe_ects_semester, $summe_sws_semester; @@ -269,7 +273,9 @@ function printLehrveranstaltungTree($tree) //Bezeichnung der Lehrform $lehrform_kurzbz = new lehrform(); $lehrform_kurzbz->load($lv->lehrform_kurzbz); - + + //Klasse "sprache" instanzieren, um anschließend die Sprache(e.g. "German") in der richtigen Sprache zu bekommen("Deutsch") + $sp = new sprache(); echo ' '; echo ' semester.']]>'; @@ -285,6 +291,8 @@ function printLehrveranstaltungTree($tree) echo ' '; echo ' '; echo ' anmerkung).']]>'; + echo ' getBezeichnung($lv->sprache, constant("DEFAULT_LANGUAGE")).']]>'; + $objLVInfo = new lvinfo(); // ***************** LV-Info *************** diff --git a/system/vorlage_zip/Studienordnung.odt b/system/vorlage_zip/Studienordnung.odt old mode 100755 new mode 100644 index 7d0aa867f..5d24b595c Binary files a/system/vorlage_zip/Studienordnung.odt and b/system/vorlage_zip/Studienordnung.odt differ diff --git a/system/xsl/Studienordnung_0.xsl b/system/xsl/Studienordnung_0.xsl index 2f44efa15..37bc4dbde 100644 --- a/system/xsl/Studienordnung_0.xsl +++ b/system/xsl/Studienordnung_0.xsl @@ -3,7 +3,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" > - + @@ -531,11 +531,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - - - - - @@ -1801,11 +1796,18 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - - + + + - - + + + + + + + + @@ -1829,7 +1831,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - + @@ -1853,17 +1855,10 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - - - - - - - @@ -1871,17 +1866,10 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - - - - - - - @@ -1908,17 +1896,10 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - - - - - - - @@ -1932,37 +1913,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1994,40 +1944,22 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - - - - - - - - - - - - - - - - - - - + + + + - - - - + @@ -2035,13 +1967,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - - - - - - - + @@ -2050,18 +1976,12 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - - - - - - - + - + @@ -2081,15 +2001,15 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - - - - - - - - - + + + + + + + + + @@ -3086,9 +3006,9 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - - - + + + @@ -3097,13 +3017,12 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - Studienordnung - - Teile Studienplan - - - [Die ursprünglichen Inhalte dieses Dokumentes beziehen sich auf das Studienjahr 2014/15. Bitte ersetzen Sie das Studienjahr nach Überarbeitung des Dokumentes durch jenes in welchem die Lernergebnisorientierung & Modularisierung planmäßig erstmalig im produktiven Studienbetrieb umgesetzt werden soll.] - + + Studienordnung - Studienplan + + () + @@ -3121,8 +3040,8 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - FHTW - - + -- + Inhaltsverzeichnis @@ -3213,10 +3132,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - 1.Studienplan Organisationsform Berufsbegleitend3 @@ -3229,9 +3144,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn 1.3.Modulbeschreibungen6 - - 1.4.Lernergebnisabgleich7 - 2.Studienplan Organisationsform Vollzeit8 @@ -3240,17 +3152,15 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - + - - + + - - @@ -3259,39 +3169,17 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - + Studienplanmatrix - [Die Studienplanmatrix ist eine Liste der Pflicht-Lehrveranstaltungen eines Studiengangs gruppiert nach Semestern und nach Modulen. Pro aktuell erfasster Lehrveranstaltung und aktuell erfasstem Modul wurden die Bezeichnung, die SWS und die ECTS (sowie der LV-Typ) aus dem FAS exportiert. Die Summenbildung erfolgt je Modul, je Semester und über alle Semester. - - Todo’s: - - - - Bitte überprüfen Sie alle Einträge auf Korrektheit und überarbeiten Sie diese wenn notwendig auf Basis des IST-Curricula. - - - Bitte listen Sie die Wahlpflichtmodule/ -lehrveranstaltungen, Vertiefungen, Spezialisierungen etc. für die jeweiligen Semester in welchen sich diese befinden, separat unterhalb des entsprechenden Semesters, wie am Beispiel des 6. Semesters ersichtlich. - - - - Definitionen: - - - SWS: Von den Studierenden zu absolvierende Semesterwochenstunden. - - - ECTS: Von den Studierenden zu erbringender Aufwand an ECTS credits.] - - - - - + + + @@ -3499,13 +3387,13 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - [Bitte fügen Sie die endgültige Modulgrafik Ihres lernergebnisorientierten und modularisierten Curricula zu Ende aller Überarbeitungen an dieser Stelle ein. Erforderlichenfalls zwischenzeitliche Aktualisierungen integrieren.] + [Die Modulgrafik ist derzeit noch nicht automatisch generierbar. Sie wird zu einem späteren Zeitpunkt in den Studienplan integriert werden.] - - - + @@ -3520,1523 +3408,18 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - [Bitte beschreiben bzw. aktualisieren Sie jeweils die Beschreibung des Modul und der dem Modul zugeordneten Lehrveranstaltungen. Die folgenden Modul- und LV-Beschreibungen entsprechen Ihrem Curricula aus dem Studienjahr 2014/15 und wurden aus dem FAS exportiert. - Dieses Kapitel entspricht Schritt 1b des Prozesses „LE und Modularisierung“. + - Todo’s: - - - - Bitte überprüfen Sie alle Einträge auf Korrektheit und überarbeiten Sie diese wenn notwendig auf Basis des IST-Curricula. - - - - Bitte überprüfen und überarbeiten Sie die Lernergebnisse auf LV-Ebene und Modul-Ebene.• bei Modulprüfung: Lernergebnisse nur auf Modul-Ebene definieren• bei LV-Prüfungen: Lernergebnisse nur auf LV-Ebene definieren - - - Bitte beachten Sie, dass eventuelle Änderungen in den definierten Lernergebnissen auf LV- bzw. Modul-Ebene notwendige Änderungen in den Lernergebnissen auf Studiengangsebene = Qualifikationsziele erfordern können. Falls dies der Fall ist, überarbeiten Sie bitte auch die Qualifikationsziele im Dokument „Studienordnung“ (welches je Studiengang im Auftrag der QSE bis 02/2015 erarbeitet wurde).] - - - + - + - - - - - - Lernergebnisabgleich - - - - - - [In diesem Kapitel soll der Abgleich der Lernergebnisse auf Modul-Ebene (Lernergebnisse) mit den Lernergebnissen auf Studiengangsebene (Qualifikationsziele) stattfinden. - Dieses Kapitel entspricht Schritt 2 des Prozesses „LE und Modularisierung“. - - Todo’s: - - - Bitte fügen Sie die Qualifikationsziele (Kurzbeschreibung) und Module (Modul#) Ihres Studienganges, nach Semestern, in folgender Tabelle ein und machen jeweils ein „x“ in den Zellen der Schnittstellen. - - - Bitte beachten Sie, dass dieser Abgleich Sie darauf aufmerksam machen könnte, dass Lernergebnisse auf LV- bzw. Modul-Ebene keinem Lernergebnis auf Studiengangsebene zugeordnet werden kann bzw. umgekehrt. In diesem Fall ist entweder eine Überarbeitung der Lernergebnisse auf LV- bzw. Modul-Ebene notwendig – diese bitte im vorherigen Kapitel durchführen – oder eine Überarbeitung der Lernergebnisse auf Studiengangsebene (Qualifikationsziele) erforderlich – dann bitte die Qualifikationsziele im Dokument „Studienordnung“ (welches je Studiengang im Auftrag der QSE bis 02/2015 erarbeitet wurde) überarbeiten.] - - + - - - - - - - - - - - - - - - - - - Qualifikationsziele - - - - - - Semester 1 - - - - - - - - - - Semester 2 - - - - - - - - - - Semester 3 - - - - - - - - - - Semester 4 - - - - - - - - - - Semester 5 - - - - - - - - - - Semester 6 - - - - - - - - - - - M11 - - - M12 - - - M13 - - - M14 - - - M15 - - - - - - M21 - - - M22 - - - M23 - - - M24 - - - M25 - - - - - - M31 - - - M32 - - - M33 - - - M34 - - - M35 - - - - - - M41 - - - M42 - - - M43 - - - M44 - - - M45 - - - - - - M51 - - - M52 - - - M53 - - - M54 - - - M55 - - - - - - M61 - - - M62 - - - M63 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Fachliche Kompetenzen - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - QZ1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - QZ2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - QZ3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Sozial-personale Kompetenzen - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - QZ1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - QZ2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - QZ3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ... - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -5072,9 +3455,9 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn ECTS - + - + Summenzeile: @@ -5090,13 +3473,11 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - - @@ -5137,19 +3518,16 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - - . Semester - - + + + + + - - - - - - + + Modul-Bezeichnung @@ -5160,7 +3538,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - + Modul-Bezeichnung engl. @@ -5190,6 +3568,14 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn + + + Sprache + + + + + Kompetenzbereich @@ -5218,7 +3604,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - + LV-Bezeichnung engl. @@ -5251,7 +3637,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Kurzbeschreibung - [bitte überarbeiten] @@ -5260,34 +3645,14 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Course Description - [bitte überarbeiten] - - - Kompetenzerwerb - [ALT: wird gelöscht] - - - - - - - - Competences - [ALT: wird gelöscht] - - - - - Lernergebnisse - [NEU: bitte definieren] Nach erfolgreichem Abschluss sind die Studierenden in der Lage,... @@ -5308,7 +3673,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Learning Outcomes - [NEU: bitte definieren] After passing this course successfully students are able to... @@ -5329,7 +3693,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Lehrinhalte - [bitte überarbeiten] @@ -5338,7 +3701,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Course Contents - [bitte überarbeiten] @@ -5347,7 +3709,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Vorkenntnisse - [bitte überarbeiten] @@ -5356,7 +3717,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Prerequisites - [bitte überarbeiten] @@ -5365,7 +3725,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Literatur/Literature - [bitte überarbeiten und alphabetisch reihen] @@ -5379,7 +3738,6 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Leistungsbeurteilung - [bitte überarbeiten] LV-Immanente Leistungsbeurteilung oder @@ -5394,9 +3752,9 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Assessment Methods - Course immanent assessment method or - Course immanent assessment method and/ or end exam or - End exam + LV-Immanente Leistungsbeurteilung oder + LV-Immanente Leistungsbeurteilung und/ oder Abschlussprüfung oder + Abschlussprüfung @@ -5412,38 +3770,17 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn Attendance - - + - - - Anmerkungen - - - - - - - - Comments - - - - - - - - + - - - \ No newline at end of file + diff --git a/system/xsl/Studienordnung_style_0.xml b/system/xsl/Studienordnung_style_0.xml new file mode 100644 index 000000000..3aa267cc9 --- /dev/null +++ b/system/xsl/Studienordnung_style_0.xml @@ -0,0 +1,418 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Studienordnung-Studienplan-- + + + 4 + + + + + + + + + + + + + + + Studienordnung-Studienplan-- + + + 4 + + + + + + + + + + + + + + + + + + + diff --git a/vilesci/cronjobs/lvplanwartung.php b/vilesci/cronjobs/lvplanwartung.php new file mode 100644 index 000000000..e1c4feb1d --- /dev/null +++ b/vilesci/cronjobs/lvplanwartung.php @@ -0,0 +1,179 @@ + + */ +/** + * Cronjob der automatisch nicht verplante Gruppen zur bestehenden Planunung hinzufuegt + * Aufruf von der Commandline + * php lvplanwartung.php --stg_kz 10001 --semester 0 + * Parameter Semester ist optional stg_kz muss uebergeben werden + */ +require_once(dirname(__FILE__).'/../../config/vilesci.config.inc.php'); +require_once(dirname(__FILE__).'/../../include/basis_db.class.php'); +require_once(dirname(__FILE__).'/../../include/studiengang.class.php'); +require_once(dirname(__FILE__).'/../../include/functions.inc.php'); +require_once(dirname(__FILE__).'/../../include/studiensemester.class.php'); +require_once(dirname(__FILE__).'/../../include/benutzerberechtigung.class.php'); + +if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + +// Wenn das Script nicht ueber Commandline gestartet wird, muss eine +// Authentifizierung stattfinden +if(php_sapi_name() != 'cli') +{ + // Benutzerdefinierte Variablen laden + $user = get_uid(); + loadVariables($user); + + // Berechtigungen pruefen + $rechte = new benutzerberechtigung(); + $rechte->getBerechtigungen($user); + + if(!$rechte->isBerechtigt('lehre/lvplan', null,'suid')) + die('Sie haben keine Berechtigung für diese Seite'); +} +else + $user = 'lvplanwartung_cronjob'; + +// Commandline Paramter parsen bei Aufruf ueber Cronjob +// zb php lvplanwartung.php --stg_kz 10001 --semester 0 +$longopt = array( + "stg_kz:", + "semester:" +); +$commandlineparams = getopt('', $longopt); +if(isset($commandlineparams['stg_kz'])) + $studiengang_kz=$commandlineparams['stg_kz']; +elseif(isset($_GET['stg_kz'])) + $studiengang_kz=$_GET['stg_kz']; +else + die("Studiengangskennzahl muss uebergeben werden!\nAufruf: php lvplanwartung.php --stg_kz 10001\n"); + +if(isset($commandlineparams['semester'])) + $semester=$commandlineparams['semester']; +elseif(isset($_GET['semester'])) + $semester=$_GET['semester']; +else + $semester=''; + +$stsem_obj = new studiensemester(); +$studiensemester_kurzbz = $stsem_obj->getAktOrNext(); + +$qry="SELECT + *, planstunden-verplant::smallint AS offenestunden + FROM + lehre.vw_lva_stundenplandev + JOIN lehre.tbl_lehrform ON (vw_lva_stundenplandev.lehrform=tbl_lehrform.lehrform_kurzbz) + WHERE + studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz); + +if($semester!='') + $qry.=" AND semester=".$db->db_add_param($semester); + +$qry.=" AND studiengang_kz=".$db->db_add_param($studiengang_kz)." + AND verplant=0 + AND planstunden>0 + AND lehreinheit_id IN (SELECT lehreinheit_id FROM lehre.tbl_stundenplandev) + ORDER BY offenestunden DESC, lehrfach, lehrform, semester, verband, gruppe, gruppe_kurzbz;"; + +$stg_obj = new studiengang(); +$stg_obj->getAll(null, false); +if($result_lv=$db->db_query($qry)) +{ + while($row_lv = $db->db_fetch_object($result_lv)) + { + // Termine holen + $qry = "SELECT DISTINCT datum, stunde FROM lehre.tbl_stundenplandev WHERE lehreinheit_id=".$db->db_add_param($row_lv->lehreinheit_id, FHC_INTEGER); + + if(!$result=$db->db_query($qry)) + die ($qry .' '.$db->db_last_error()); + + while ($row=$db->db_fetch_object($result)) + { + $qry = "SELECT + DISTINCT ort_kurzbz + FROM + lehre.tbl_stundenplandev + WHERE + lehreinheit_id=".$db->db_add_param($row_lv->lehreinheit_id, FHC_INTEGER)." + AND datum=".$db->db_add_param($row->datum)." + AND stunde=".$db->db_add_param($row->stunde).";"; + + if(!$result_ort=$db->db_query($qry)) + die ("DB Fehler $qry" .' '.$db->db_last_error()); + + while ($row_ort=$db->db_fetch_object($result_ort)) + { + // Pruefen ob der Eintrag schon in der Datenbank vorhanden ist + // da sonst bei mehrmaligem Refresh der Seite der Eintrag oefter eingetragen wird + $qry = "SELECT + 1 + FROM + lehre.tbl_stundenplandev + WHERE datum=".$db->db_add_param($row->datum). + ' AND stunde='.$db->db_add_param($row->stunde). + ' AND ort_kurzbz='.$db->db_add_param($row_ort->ort_kurzbz). + ' AND unr='.$db->db_add_param($row_lv->unr). + ' AND mitarbeiter_uid='.$db->db_add_param($row_lv->lektor_uid). + ' AND studiengang_kz='.$db->db_add_param($row_lv->studiengang_kz). + ' AND semester='.$db->db_add_param($row_lv->semester). + ' AND verband='.$db->db_add_param($row_lv->verband). + ' AND gruppe='.$db->db_add_param($row_lv->gruppe); + + if ($row_lv->gruppe_kurzbz!='') + $qry.=' AND gruppe_kurzbz='.$db->db_add_param($row_lv->gruppe_kurzbz); + else + $qry.=' AND gruppe_kurzbz is null'; + + if($result_stplcheck=$db->db_query($qry)) + { + if($db->db_num_rows($result_stplcheck)==0) + { + $qry="INSERT INTO lehre.tbl_stundenplandev (datum,stunde,ort_kurzbz,unr,mitarbeiter_uid,studiengang_kz, + semester,verband,gruppe,gruppe_kurzbz,lehreinheit_id, updatevon, insertvon) + VALUES (".$db->db_add_param($row->datum).",". + $db->db_add_param($row->stunde).",". + $db->db_add_param($row_ort->ort_kurzbz).",". + $db->db_add_param($row_lv->unr).",". + $db->db_add_param($row_lv->lektor_uid).",". + $db->db_add_param($row_lv->studiengang_kz).",". + $db->db_add_param($row_lv->semester).",". + $db->db_add_param($row_lv->verband, FHC_STRING, false).",". + $db->db_add_param($row_lv->gruppe, FHC_STRING, false).","; + + if ($row_lv->gruppe_kurzbz!='') + $qry.=$db->db_add_param($row_lv->gruppe_kurzbz).","; + else + $qry.="NULL,"; + $qry.=$db->db_add_param($row_lv->lehreinheit_id, FHC_INTEGER).",".$db->db_add_param($user).",".$db->db_add_param($user).");"; + + if(!$result_insert=$db->db_query($qry)) + die ("DB Fehler $qry" .' '.$db->db_last_error()); + echo "Adding $row->datum - $row->stunde. Stunde $row_ort->ort_kurzbz ".($row_lv->gruppe_kurzbz!=''?$row_lv->gruppe_kurzbz:mb_strtoupper($stg_obj->kuerzel_arr[$row_lv->studiengang_kz]).'-'.$row_lv->semester.$row_lv->verband.$row_lv->gruppe)."\n"; + } + else + { + $outp.='Fehlgeschlagen: Eintrag bereits vorhanden'; + } + } + } + } + } +} +?>