diff --git a/content/fas.xul.php b/content/fas.xul.php index 9c89c81fd..0cd44408d 100644 --- a/content/fas.xul.php +++ b/content/fas.xul.php @@ -88,6 +88,7 @@ echo ''; + @@ -255,6 +256,16 @@ echo ''; + + + + + content/statistik/notenspiegel.php?studiengang_kz='+studiengang_kz+'&semester='+semester,'Notenspiegel'); } +function ExtrasShowReihungstest() +{ + window.open('vilesci/stammdaten/reihungstestverwaltung.php','Reihungstest',''); +} + // **** // * Oeffnet den About Dialog // **** diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index e8cf6bdc4..2eafd7d7b 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -488,32 +488,40 @@ if(!$error) if(isset($_POST['studiensemester_kurzbz']) && isset($_POST['rolle_kurzbz']) && isset($_POST['prestudent_id']) && is_numeric($_POST['prestudent_id'])) { - $rolle = new prestudent($conn, null, true); - if($rolle->load_rolle($_POST['prestudent_id'],$_POST['rolle_kurzbz'],$_POST['studiensemester_kurzbz'])) + if($_POST['rolle_kurzbz']=='Student') { - if($rechte->isBerechtigt('admin',0) || $rolle->insertvon == $user) - { - if($rolle->delete_rolle($_POST['prestudent_id'],$_POST['rolle_kurzbz'],$_POST['studiensemester_kurzbz'])) + $return = false; + $errormsg = 'Studentenrolle kann nur durch den Administrator geloescht werden'; + } + else + { + $rolle = new prestudent($conn, null, true); + if($rolle->load_rolle($_POST['prestudent_id'],$_POST['rolle_kurzbz'],$_POST['studiensemester_kurzbz'])) + { + if($rechte->isBerechtigt('admin',0) || $rolle->insertvon == $user) { - $return = true; + if($rolle->delete_rolle($_POST['prestudent_id'],$_POST['rolle_kurzbz'],$_POST['studiensemester_kurzbz'])) + { + $return = true; + } + else + { + $return = false; + $errormsg = $rolle->errormsg; + } } else { $return = false; - $errormsg = $rolle->errormsg; + $errormsg = 'Sie haben keine Berechtigung zum Loeschen dieser Rolle'; } } else { $return = false; - $errormsg = 'Sie haben keine Berechtigung zum Loeschen dieser Rolle'; + $errormsg = $rolle->errormsg; } } - else - { - $return = false; - $errormsg = $rolle->errormsg; - } } else { @@ -602,7 +610,7 @@ if(!$error) $student->matrikelnr = $matrikelnr; $student->prestudent_id = $prestd->prestudent_id; $student->studiengang_kz = $prestd->studiengang_kz; - $student->semester = 1; //$hlp->result[0]->ausbildungssemester + $student->semester = $hlp->result[0]->ausbildungssemester; $student->verband = ' '; $student->gruppe = ' '; $student->insertamum = date('Y-m-d H:i:s'); @@ -614,8 +622,8 @@ if(!$error) $rolle = new prestudent($conn); $rolle->prestudent_id = $prestd->prestudent_id; $rolle->rolle_kurzbz = 'Student'; - $rolle->studiensemester_kurzbz = $semester_aktuell; //$hlp->result[0]->studiensemester_kurzbz; - $rolle->ausbildungssemester = 1; //$hlp->result[0]->ausbildungssemester + $rolle->studiensemester_kurzbz = $hlp->result[0]->studiensemester_kurzbz; + $rolle->ausbildungssemester = $hlp->result[0]->ausbildungssemester; $rolle->datum = date('Y-m-d'); $rolle->insertamum = date('Y-m-d H:i:s'); $rolle->insertvon = $user; @@ -626,9 +634,9 @@ if(!$error) //StudentLehrverband anlegen $studentlehrverband = new student($conn); $studentlehrverband->uid = $uid; - $studentlehrverband->studiensemester_kurzbz = $semester_aktuell; //$hlp->result[0]->studiensemester_kurzbz; + $studentlehrverband->studiensemester_kurzbz = $hlp->result[0]->studiensemester_kurzbz; $studentlehrverband->studiengang_kz = $prestd->studiengang_kz; - $studentlehrverband->semester = 1; //$hlp->result[0]->ausbildungssemester + $studentlehrverband->semester = $hlp->result[0]->ausbildungssemester; $studentlehrverband->verband = ' '; $studentlehrverband->gruppe = ' '; $studentlehrverband->insertamum = date('Y-m-d H:i:s'); diff --git a/include/datum.class.php b/include/datum.class.php index 45f7ee153..ca338ecae 100644 --- a/include/datum.class.php +++ b/include/datum.class.php @@ -134,5 +134,30 @@ class datum { return (strlen($datum)>0?date('d.m.Y',strtotime($datum)):''); } + + + /** + * Prueft Uhrzeit auf Gueltigkeit (HH:MM:SS) + * @return true wenn ok, false wenn falsches Format + */ + function checkUhrzeit($uhrzeit) + { + if(ereg("([0-9]{2}):([0-9]{2})(:([0-9]{2}))?$",$uhrzeit)) + return true; + else + return false; + } + + /** + * Prueft ob das Datum im Format dd.mm.YYYY oder YYYY-mm-dd ist + * @return true wenn ok, false wenn falsches Format + */ + function checkDatum($datum) + { + if(ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})$",$datum) || ereg("([0-9]{2}).([0-9]{2}).([0-9]{4})$",$datum)) + return true; + else + return false; + } } ?> \ No newline at end of file diff --git a/include/reihungstest.class.php b/include/reihungstest.class.php index 2f0050b75..0a88fc9b2 100644 --- a/include/reihungstest.class.php +++ b/include/reihungstest.class.php @@ -78,12 +78,46 @@ class reihungstest */ function load($reihungstest_id) { - //noch nicht implementiert + if(!is_numeric($reihungstest_id)) + { + $this->errormsg = 'Reihungstest_id ist ungueltig'; + return false; + } + + $qry = "SELECT * FROM public.tbl_reihungstest WHERE reihungstest_id='$reihungstest_id'"; + if($result = pg_query($this->conn, $qry)) + { + if($row = pg_fetch_object($result)) + { + $this->reihungstest_id = $row->reihungstest_id; + $this->studiengang_kz = $row->studiengang_kz; + $this->ort_kurzbz = $row->ort_kurzbz; + $this->anmerkung = $row->anmerkung; + $this->datum = $row->datum; + $this->uhrzeit = $row->uhrzeit; + $this->ext_id = $row->ext_id; + $this->insertamum = $row->insertamum; + $this->insertvon = $row->insertvon; + $this->updateamum = $row->updateamum; + $this->updatevon = $row->updatevon; + return true; + } + else + { + $this->errormsg = 'Reihungstest existiert nicht'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Reihungstests'; + return false; + } } function getAll() { - $qry = "SELECT * FROM public.tbl_reihungstest ORDER BY studiengang_kz, datum, uhrzeit"; + $qry = "SELECT * FROM public.tbl_reihungstest ORDER BY datum, uhrzeit"; if($result = pg_query($this->conn, $qry)) { while($row = pg_fetch_object($result)) @@ -258,5 +292,37 @@ class reihungstest { //noch nicht implementiert! } + + function getReihungstest($studiengang_kz) + { + $qry = "SELECT * FROM public.tbl_reihungstest WHERE studiengang_kz='$studiengang_kz'"; + if($result = pg_query($this->conn, $qry)) + { + while($row = pg_fetch_object($result)) + { + $obj = new reihungstest($this->conn, null, null); + + $obj->reihungstest_id = $row->reihungstest_id; + $obj->studiengang_kz = $row->studiengang_kz; + $obj->ort_kurzbz = $row->ort_kurzbz; + $obj->anmerkung = $row->anmerkung; + $obj->datum = $row->datum; + $obj->uhrzeit = $row->uhrzeit; + $obj->ext_id = $row->ext_id; + $obj->insertamum = $row->insertamum; + $obj->insertvon = $row->insertvon; + $obj->updateamum = $row->updateamum; + $obj->updatevon = $row->updatevon; + + $this->result[] = $obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim Laden der Reihungstests'; + return false; + } + } } ?> \ No newline at end of file diff --git a/locale/de-AT/fas.dtd b/locale/de-AT/fas.dtd index 0a2f42452..caaea19d2 100644 --- a/locale/de-AT/fas.dtd +++ b/locale/de-AT/fas.dtd @@ -90,3 +90,11 @@ + + + + + + + + \ No newline at end of file diff --git a/rdf/student.rdf.php b/rdf/student.rdf.php index cd5c66f09..459b69f2c 100644 --- a/rdf/student.rdf.php +++ b/rdf/student.rdf.php @@ -384,6 +384,16 @@ else $stsem->load($ss); + $qry = "SELECT * FROM public.tbl_prestudentrolle WHERE prestudent_id='$student->prestudent_id' AND studiensemester_kurzbz='$ss'"; + $semester=0; + if($result = pg_query($conn, $qry)) + { + if($row = pg_fetch_object($result)) + { + $semester = $row->ausbildungssemester; + } + } + echo ' uid.']]> @@ -396,7 +406,7 @@ else matrikelnr.']]> convertISODate($student->gebdatum).']]> gebdatum.']]> - semester.']]> + verband.']]> gruppe.']]> studiengang_kz).']]> diff --git a/rdf/zeugnis.rdf.php b/rdf/zeugnis.rdf.php index aced224b0..cf3366ee7 100644 --- a/rdf/zeugnis.rdf.php +++ b/rdf/zeugnis.rdf.php @@ -116,6 +116,16 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") $datum_aktuell = date('d.m.Y'); $xml .= " Wien, am ".$datum_aktuell.""; + + $qry = "SELECT wochen FROM public.tbl_semesterwochen WHERE studiengang_kz='$row->studiengang_kz' AND semester='$row->semester'"; + $wochen = 15; + if($result_wochen = pg_query($conn, $qry)) + { + if($row_wochen = pg_fetch_object($result_wochen)) + { + $wochen = $row_wochen->wochen; + } + } $obj = new zeugnisnote($conn, null, null, null, false); $obj->getZeugnisnoten($lehrveranstaltung_id=null, $uid_arr[$i], $studiensemester_kurzbz); @@ -131,7 +141,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") $xml .= "\n "; $xml .= " ".$row->lehrveranstaltung_bezeichnung.""; $xml .= " ".$note.""; - $xml .= " ".$row->semesterstunden.""; + $xml .= " ".sprintf('%.1f',$row->semesterstunden/$wochen).""; $xml .= " ".$row->ects.""; $xml .= " "; } diff --git a/vilesci/admin/xslvorlagen/zeugnis.xsl b/vilesci/admin/xslvorlagen/zeugnis.xsl index f020aece4..f3e0c9598 100644 --- a/vilesci/admin/xslvorlagen/zeugnis.xsl +++ b/vilesci/admin/xslvorlagen/zeugnis.xsl @@ -104,23 +104,23 @@ - + Lehrveranstaltung\n - + Note\n - + Anzahl\n SWS - + ECTS\n Punkte @@ -154,7 +154,7 @@ - + @@ -210,7 +210,7 @@ - Fachhochschule Technikum Wien\nHöchstädtplatz 5\nA-1200 Wien + Fachhochschule Technikum Wien\nHöchstädtplatz 5\nA-1200 Wien\nZVR-Nr.: 074476426\nDVR-Nr.:0928381 diff --git a/vilesci/left.php b/vilesci/left.php index 18dabab8c..3ce506152 100644 --- a/vilesci/left.php +++ b/vilesci/left.php @@ -58,12 +58,12 @@ if (__js_menu_array[i]==tabid) { document.getElementById(__js_menu_array[i]).style.display = 'block'; - document.getElementById(__js_tab_array[i]).class = 'tab active'; + //document.getElementById(__js_tab_array[i]).class = 'tab active'; } else { document.getElementById(__js_menu_array[i]).style.display = 'none'; - document.getElementById(__js_tab_array[i]).class = 'tab'; + //document.getElementById(__js_tab_array[i]).class = 'tab'; } return true; } @@ -340,6 +340,22 @@ +   + + +  Reihungstest + + + + + + + + + +
  Verwaltung
 
+ +   diff --git a/vilesci/personen/import/interessentenimport.php b/vilesci/personen/import/interessentenimport.php index a36ae6338..bc95b9d29 100644 --- a/vilesci/personen/import/interessentenimport.php +++ b/vilesci/personen/import/interessentenimport.php @@ -109,6 +109,7 @@ if($studiengang_kz=='' && isset($_GET['studiengang_kz'])) $person_id = (isset($_REQUEST['person_id'])?$_REQUEST['person_id']:''); $ueberschreiben = (isset($_REQUEST['ueberschreiben'])?$_REQUEST['ueberschreiben']:''); $studiensemester_kurzbz = (isset($_REQUEST['studiensemester_kurzbz'])?$_REQUEST['studiensemester_kurzbz']:''); +$ausbildungssemester = (isset($_REQUEST['ausbildungssemester'])?$_REQUEST['ausbildungssemester']:''); //end Parameter $geburtsdatum_error=false; @@ -324,7 +325,7 @@ if(isset($_POST['save'])) $rolle->prestudent_id = $prestudent->prestudent_id; $rolle->rolle_kurzbz = 'Interessent'; $rolle->studiensemester_kurzbz = $studiensemester_kurzbz; - $rolle->ausbildungssemester = 1; + $rolle->ausbildungssemester = $ausbildungssemester; $rolle->datum = date('Y-m-d'); $rolle->insertamum = date('Y-m-d H:i:s'); $rolle->insertvon = $user; @@ -434,6 +435,12 @@ foreach ($stsem->studiensemester as $row) echo ''; echo ''; echo ''; +echo 'Ausbildungssemester'; +echo ''; + echo ''; if(($geburtsdatum=='' && $vorname=='' && $nachname=='') || $geburtsdatum_error) diff --git a/vilesci/stammdaten/reihungstestverwaltung.php b/vilesci/stammdaten/reihungstestverwaltung.php new file mode 100644 index 000000000..bb93bb1a0 --- /dev/null +++ b/vilesci/stammdaten/reihungstestverwaltung.php @@ -0,0 +1,248 @@ +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Raab . + */ + require_once('../config.inc.php'); + require_once('../../include/functions.inc.php'); + require_once('../../include/studiengang.class.php'); + require_once('../../include/reihungstest.class.php'); + require_once('../../include/ort.class.php'); + require_once('../../include/datum.class.php'); + + if (!$conn = pg_pconnect(CONN_STRING)) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + + $user = get_uid(); + $datum_obj = new datum(); + $stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:''); + $reihungstest_id = (isset($_GET['reihungstest_id'])?$_GET['reihungstest_id']:''); + $neu = (isset($_GET['neu'])?true:false); + $stg_arr = array(); + $error = false; + +?> + + + +Reihungstest + + + + + +

Reihungstest - Verwaltung

+load($_POST['reihungstest_id'])) + die($reihungstest->errormsg); + $reihungstest->new = false; + } + else + { + $reihungstest->new=true; + $reihungstest->insertvon = $user; + $reihungstest->insertamum = date('Y-m-d H:i:s'); + } + + if($_POST['datum']!='' && !$datum_obj->checkDatum($_POST['datum'])) + { + echo 'Datum ist ungueltig'; + $error = true; + } + if($_POST['uhrzeit']!='' && !$datum_obj->checkUhrzeit($_POST['uhrzeit'])) + { + echo 'Uhrzeit ist ungueltig:'.$_POST['uhrzeit']; + $error = true; + } + + if(!$error) + { + $reihungstest->studiengang_kz = $_POST['studiengang_kz']; + $reihungstest->ort_kurzbz = $_POST['ort_kurzbz']; + $reihungstest->anmerkung = $_POST['anmerkung']; + $reihungstest->datum = $_POST['datum']; + $reihungstest->uhrzeit = $_POST['uhrzeit']; + $reihungstest->updateamum = date('Y-m-d H:i:s'); + $reihungstest->udpatevon = $user; + + if($reihungstest->save()) + { + echo 'Daten wurden erfolgreich gespeichert'; + $reihungstest_id = $reihungstest->reihungstest_id; + $stg_kz = $reihungstest->studiengang_kz; + } + else + { + echo 'Fehler beim Speichern der Daten: '.$reihungstest->errormsg; + } + } + } + echo '
"; + echo "
'; + + //Studiengang DropDown + $studiengang = new studiengang($conn); + $studiengang->getAll('typ, kurzbz', false); + + echo ""; + + //Reihungstest DropDown + $reihungstest = new reihungstest($conn); + if($stg_kz==-1) + $reihungstest->getAll(); + else + $reihungstest->getReihungstest($stg_kz); + + echo ""; + + echo "


"; + + $reihungstest = new reihungstest($conn); + + if(!$neu) + { + if(!$reihungstest->load($reihungstest_id)) + die('Reihungstest existiert nicht: '.$reihungstest_id); + } + else + { + if($stg_kz!=-1 && $stg_kz!='') + $reihungstest->studiengang_kz = $stg_kz; + } + + echo '
'; + echo "
"; + echo ""; + + //Studiengang DropDown + echo ""; + + echo "'; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
Studiengang
Ort
Anmerkung
Datum
Uhrzeit
'; + echo '
'; + + echo '
'; + + + $qry = "SELECT *, (SELECT kontakt FROM tbl_kontakt WHERE kontakttyp='email' AND person_id=tbl_prestudent.person_id ORDER BY zustellung LIMIT 1) as email FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) WHERE reihungstest_id='$reihungstest_id' ORDER BY nachname, vorname"; + $mailto = ''; + if($result = pg_query($conn, $qry)) + { + echo 'Anzahl: '.pg_num_rows($result); + + echo ""; + while($row = pg_fetch_object($result)) + { + echo " + + + + + + + "; + + $mailto.= ($mailto!=''?',':'').$row->email; + } + echo "
VornameNachnameStudiengangGeburtsdatumEMail
$row->vorname$row->nachname".$stg_arr[$row->studiengang_kz]."".$datum_obj->convertISODate($row->gebdatum)."$row->email
"; + echo "
Mail an alle senden"; + } +?> + + + \ No newline at end of file