From 9d12a4748647f1cc97f78a6e316fb58220237f59 Mon Sep 17 00:00:00 2001 From: Andreas Moik Date: Tue, 7 Jun 2016 14:07:49 +0200 Subject: [PATCH] multiple TODO EINE comments fixed --- cis/private/lehre/abgabe_student.php | 227 ++- cis/private/lehre/abgabe_student_details.php | 2 +- .../benotungstool/lvgesamtnoteeintragen.php | 10 +- cis/private/outgoing/outgoing.php | 4 +- cis/private/profile/dokumente.php | 159 +- content/student/studentoverlay.js.php | 8 +- content/tempusoverlay.js.php | 888 +++++----- include/lehrverband.class.php | 674 ++++---- include/preoutgoing.class.php | 1421 ++++++++--------- include/prestudent.class.php | 31 +- rdf/PHPRequest.txt | 48 +- rdf/index.html | 605 +++---- rdf/learningagreement_outgoing.rdf.php | 42 +- rdf/student.rdf.php | 24 +- system/dbupdate_eine_uid.php | 327 +++- 15 files changed, 2353 insertions(+), 2117 deletions(-) diff --git a/cis/private/lehre/abgabe_student.php b/cis/private/lehre/abgabe_student.php index 2cd19c357..f6c198edf 100644 --- a/cis/private/lehre/abgabe_student.php +++ b/cis/private/lehre/abgabe_student.php @@ -27,7 +27,7 @@ require_once('../../../include/functions.inc.php'); require_once('../../../include/datum.class.php'); require_once('../../../include/person.class.php'); require_once('../../../include/benutzer.class.php'); -require_once('../../../include/student.class.php'); +require_once('../../../include/prestudent.class.php'); require_once('../../../include/studiengang.class.php'); require_once('../../../include/benutzerberechtigung.class.php'); require_once('../../../include/phrasen.class.php'); @@ -40,86 +40,22 @@ if (!$db = new basis_db()) $getuid=get_uid(); $uid=$getuid; - -// TODO EINE get_prestudent_id -// WICHTIG TODO EINE: $uid und $getuid müssen im ganzen script noch umgeschrieben werden! - -if(isset($_GET['prestudent_id'])) -{ - //Studentenansicht - $prestudent_id = $_GET['prestudent_id']; - //Rechte Pruefen - $allowed=false; - - $prestudent = new prestudent($prestudent_id); - - $stg_obj = new studiengang(); - if(!$stg_obj->load($prestudent->studiengang_kz)) - die($p->t('global/fehlerBeimLesenAusDatenbank')); - - //Berechtigung ueber das Berechtigungssystem - $rechte = new benutzerberechtigung(); - $rechte->getBerechtigungen($getuid); - if($rechte->isBerechtigt('lehre/abgabetool',$stg_obj->oe_kurzbz,'s')) - $allowed=true; - - //oder Lektor mit Betreuung dieses Studenten - $qry = "SELECT 1 - FROM - lehre.tbl_projektarbeit - JOIN lehre.tbl_projektbetreuer USING(projektarbeit_id) - JOIN campus.vw_benutzer on(vw_benutzer.person_id=tbl_projektbetreuer.person_id) - WHERE - tbl_projektarbeit.prestudent_id=".$db->db_add_param($prestudent_id, FHC_INTEGER)." AND - vw_benutzer.uid=".$db->db_add_param($getuid).";"; - - if($result = $db->db_query($qry)) - { - if($db->db_num_rows($result)>0) - { - $allowed=true; - } - } - - if(!$allowed) - { - die($p->t('abgabetool/keineBerechtigungStudentenansicht')); - } -} -$htmlstr = ''; -$htmlstr1 = ''; $vorname=''; $nachname=''; - -$sql_query = "SELECT (SELECT nachname FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS bnachname, - (SELECT vorname FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS bvorname, - (SELECT titelpre FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS btitelpre, - (SELECT titelpost FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS btitelpost, - tbl_projektbetreuer.person_id AS betreuer_person_id, - tbl_projekttyp.bezeichnung AS prjbez, * - FROM lehre.tbl_projektarbeit - LEFT JOIN lehre.tbl_projektbetreuer USING(projektarbeit_id) - LEFT JOIN public.tbl_benutzer ON(uid=student_uid) - LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id) - LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) - LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) - LEFT JOIN public.tbl_studiengang USING(studiengang_kz) - LEFT JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz) - WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom') - AND (tbl_projektbetreuer.betreuerart_kurzbz='Betreuer' OR tbl_projektbetreuer.betreuerart_kurzbz='Begutachter' OR tbl_projektbetreuer.betreuerart_kurzbz='Erstbetreuer' OR tbl_projektbetreuer.betreuerart_kurzbz='Erstbegutachter') - AND tbl_projektarbeit.prestudent_id=".$db->db_add_param($prestudent_id, FHC_INTEGER)." - AND public.tbl_benutzer.aktiv - AND lehre.tbl_projektarbeit.note IS NULL - ORDER BY studiensemester_kurzbz desc, tbl_lehrveranstaltung.kurzbz"; - -//AND tbl_projektarbeit.student_uid='$getuid' 'ie07m102'; -if(!$erg=$db->db_query($sql_query)) -{ - $errormsg=$p->t('global/fehlerBeimLesenAusDatenbank'); -} -else +if(isset($_GET['uid'])) { + //Studentenansicht + $uid = $_GET['uid']; + //Rechte Pruefen + $allowed=false; + + $prestudent = new prestudent(); + $prestudent->getPrestudentsFromUid($uid); + + + $htmlstr = ''; + $htmlstr .= "
\n"; $htmlstr .= "\n"; $htmlstr .= " @@ -132,47 +68,111 @@ else "; $htmlstr .= "\n"; - $i = 0; - while($row=$db->db_fetch_object($erg)) - { - $htmlstr1=''; - $vorname=$row->vorname; - $nachname=$row->nachname; - $uid=$row->uid; - ($row->btitelpre!=''?$htmlstr1 = $row->btitelpre.' ':$htmlstr1 .= ''); - $htmlstr1 .= $row->bvorname.' '.$row->bnachname; - ($row->btitelpost!=''?$htmlstr1 .= ' '.$row->btitelpost:$htmlstr1 .= ''); - $htmlstr .= " \n"; //class='liste".($i%2)."' - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " "; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + } } } - $htmlstr .= " "; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $i++; } - $htmlstr .= "
".$p->t('abgabetool/titel')." ".$p->t('abgabetool/betreuerart')."
".$p->t('abgabetool/upload')."".$row->studiensemester_kurzbz."".strtoupper($row->typ.$row->kurzbz).""; - $qry_betr="SELECT mitarbeiter_uid FROM public.tbl_person - JOIN public.tbl_benutzer USING(person_id) - JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) - WHERE person_id=".$db->db_add_param($row->betreuer_person_id, FHC_INTEGER).";"; - if($result_betr=$db->db_query($qry_betr)) + foreach($prestudent->result as $pres) + { + $stg_obj = new studiengang(); + if(!$stg_obj->load($pres->studiengang_kz)) + die($p->t('global/fehlerBeimLesenAusDatenbank')); + + //Berechtigung ueber das Berechtigungssystem + $rechte = new benutzerberechtigung(); + $rechte->getBerechtigungen($getuid); + if($rechte->isBerechtigt('lehre/abgabetool',$stg_obj->oe_kurzbz,'s')) + $allowed = true; + + //oder Lektor mit Betreuung dieses Studenten + $qry = "SELECT studiengang_kz + FROM + lehre.tbl_projektarbeit + JOIN lehre.tbl_projektbetreuer USING(projektarbeit_id) + JOIN campus.vw_benutzer on(vw_benutzer.person_id=tbl_projektbetreuer.person_id) + JOIN tbl_prestudent USING(prestudent_id) + WHERE + tbl_projektarbeit.prestudent_id=".$db->db_add_param($pres->prestudent_id, FHC_INTEGER)." AND + vw_benutzer.uid=".$db->db_add_param($getuid).";"; + + if($result = $db->db_query($qry)) { - if($row_betr=$db->db_fetch_object($result_betr)) + if($db->db_num_rows($result)>0) { - $htmlstr.="email"; - } - else - { - $htmlstr.="UID unknown!"; + $allowed = true; + } + } + + if($allowed) + { + $sql_query = "SELECT (SELECT nachname FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS bnachname, + (SELECT vorname FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS bvorname, + (SELECT titelpre FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS btitelpre, + (SELECT titelpost FROM public.tbl_person WHERE person_id=tbl_projektbetreuer.person_id) AS btitelpost, + tbl_projektbetreuer.person_id AS betreuer_person_id, + tbl_projekttyp.bezeichnung AS prjbez, * + FROM lehre.tbl_projektarbeit + LEFT JOIN public.tbl_prestudent USING(prestudent_id) + LEFT JOIN lehre.tbl_projektbetreuer USING(projektarbeit_id) + LEFT JOIN public.tbl_benutzer USING(uid) + LEFT JOIN public.tbl_person ON(tbl_benutzer.person_id=tbl_person.person_id) + LEFT JOIN lehre.tbl_lehreinheit USING(lehreinheit_id) + LEFT JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) + LEFT JOIN public.tbl_studiengang ON(tbl_studiengang.studiengang_kz = tbl_lehrveranstaltung.studiengang_kz) + LEFT JOIN lehre.tbl_projekttyp USING (projekttyp_kurzbz) + WHERE (projekttyp_kurzbz='Bachelor' OR projekttyp_kurzbz='Diplom') + AND (tbl_projektbetreuer.betreuerart_kurzbz='Betreuer' OR tbl_projektbetreuer.betreuerart_kurzbz='Begutachter' OR tbl_projektbetreuer.betreuerart_kurzbz='Erstbetreuer' OR tbl_projektbetreuer.betreuerart_kurzbz='Erstbegutachter') + AND tbl_projektarbeit.prestudent_id=".$db->db_add_param($pres->prestudent_id, FHC_INTEGER)." + AND public.tbl_benutzer.aktiv + AND lehre.tbl_projektarbeit.note IS NULL + ORDER BY studiensemester_kurzbz desc, tbl_lehrveranstaltung.kurzbz"; + + if(!$erg=$db->db_query($sql_query)) + { + $errormsg=$p->t('global/fehlerBeimLesenAusDatenbank'); + } + else + { + while($row=$db->db_fetch_object($erg)) + { + $htmlstr1=''; + $vorname=$row->vorname; + $nachname=$row->nachname; + $uid=$row->uid; + ($row->btitelpre!=''?$htmlstr1 = $row->btitelpre.' ':$htmlstr1 .= ''); + $htmlstr1 .= $row->bvorname.' '.$row->bnachname; + ($row->btitelpost!=''?$htmlstr1 .= ' '.$row->btitelpost:$htmlstr1 .= ''); + $htmlstr .= "
".$p->t('abgabetool/upload')."".$row->studiensemester_kurzbz."".strtoupper($row->typ.$row->kurzbz).""; + + $qry_betr="SELECT mitarbeiter_uid FROM public.tbl_person + JOIN public.tbl_benutzer USING(person_id) + JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) + WHERE person_id=".$db->db_add_param($row->betreuer_person_id, FHC_INTEGER).";"; + if($result_betr=$db->db_query($qry_betr)) + { + if($row_betr=$db->db_fetch_object($result_betr)) + { + $htmlstr.="email"; + } + else + { + $htmlstr.="UID unknown!"; + } + } + $htmlstr .= " ".$htmlstr1." ".$db->convert_html_chars($row->prjbez)."".$db->convert_html_chars($row->titel)."".$db->convert_html_chars($row->betreuerart_kurzbz)."
".$htmlstr1." ".$db->convert_html_chars($row->prjbez)."".$db->convert_html_chars($row->titel)."".$db->convert_html_chars($row->betreuerart_kurzbz)."
\n"; } +$htmlstr .= "\n"; + echo ' @@ -183,8 +183,8 @@ echo ' - '; echo '

'.$p->t('abgabetool/ueberschrift'); diff --git a/cis/private/lehre/abgabe_student_details.php b/cis/private/lehre/abgabe_student_details.php index 9b6611814..445393e6f 100644 --- a/cis/private/lehre/abgabe_student_details.php +++ b/cis/private/lehre/abgabe_student_details.php @@ -97,7 +97,7 @@ else $user = get_uid(); if($uid=='-1' || $projektarbeit_id=='-1') { - exit; + exit; } // Bei Studierenden pruefen ob die Uebergebene Projektarbeit zu dem Studierenden passt. diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php b/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php index ee6690d4e..2f3265a3c 100755 --- a/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php +++ b/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php @@ -38,7 +38,6 @@ require_once('../../../../include/lvgesamtnote.class.php'); require_once('../../../../include/zeugnisnote.class.php'); require_once('../../../../include/person.class.php'); require_once('../../../../include/benutzer.class.php'); -require_once('../../../../include/student.class.php'); require_once('../../../../include/phrasen.class.php'); require_once('../../../../include/zeugnisnote.class.php'); require_once('../../../../include/notenschluessel.class.php'); @@ -210,7 +209,6 @@ if (isset($_REQUEST["submit"])) } else { - foreach ($_POST as $row=>$val) { if(mb_strstr(mb_strtolower($row), 'matrikelnr_')) @@ -231,8 +229,10 @@ if (isset($_REQUEST["submit"])) continue; } $punkte=str_replace(',','.', $punkte); - //UID ermitteln - if(!$student_uid = $student->getUidFromMatrikelnummer($matrikelnummer)) // TODO EINE! hier brauchen wir für savenote eine prestudent_id! + + //PreID ermitteln + $prestudent = new prestudent(); + if(!$prestudent_id = $prestudent->getPreIdFromPerskz($matrikelnummer)) { $response.="\n".$p->t('benotungstool/studentMitMatrikelnummerExistiertNicht',array($matrikelnummer)); continue; @@ -245,7 +245,7 @@ if (isset($_REQUEST["submit"])) else $znote = null; */ - $val=savenote($db,$lvid, $student_uid, $note, $punkte); + $val=savenote($db,$lvid, $prestudent_id, $note, $punkte); if($val!='neu' && $val!='update' && $val!='update_f') $response.=$val; } diff --git a/cis/private/outgoing/outgoing.php b/cis/private/outgoing/outgoing.php index 565289e70..ac0791d7a 100755 --- a/cis/private/outgoing/outgoing.php +++ b/cis/private/outgoing/outgoing.php @@ -41,7 +41,7 @@ $outgoing->loadUid($uid); // speichert outgoing if(isset($_REQUEST['submitOutgoing'])) -{ +{ $ansprechpersonUid = (isset($_REQUEST['ansprechperson_uid']))?$_REQUEST['ansprechperson_uid']:''; $datum=new datum(); @@ -716,4 +716,4 @@ function sendMailInternational() $mail->setHTMLContent($emailtext); $mail->send(); } -?> \ No newline at end of file +?> diff --git a/cis/private/profile/dokumente.php b/cis/private/profile/dokumente.php index 217eace52..53d479787 100755 --- a/cis/private/profile/dokumente.php +++ b/cis/private/profile/dokumente.php @@ -27,6 +27,7 @@ require_once('../../../include/studiensemester.class.php'); require_once('../../../include/konto.class.php'); require_once('../../../include/phrasen.class.php'); require_once('../../../include/student.class.php'); +require_once('../../../include/prestudent.class.php'); require_once('../../../include/benutzerberechtigung.class.php'); $sprache = getSprache(); @@ -46,27 +47,31 @@ if(isset($_GET['uid'])) { // Administratoren duerfen die UID als Parameter uebergeben um die Notenliste // von anderen Personen anzuzeigen - $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($uid); if($rechte->isBerechtigt('admin')) - { + { $uid = $_GET['uid']; - $getParam = "&uid=" . $uid; - } - else - $getParam = ""; + $getParam = "&uid=" . $uid; + } + else + $getParam = ""; } else $getParam=''; -$student_studiengang = new student(); -$student_studiengang->load($uid); -$xsl_stg_kz = $student_studiengang->studiengang_kz; +$prestudent_id = null; +if(isset($_GET['prestudent_id'])) +{ + $prestudent_id = $_GET['prestudent_id']; + $prestudent = new prestudent($prestudent_id); + $xsl_stg_kz = $prestudent->studiengang_kz; +} + $stg = ''; -if(!($erg=$db->db_query("SELECT * FROM campus.vw_benutzer WHERE uid='".addslashes($uid)."'"))) +if(!($erg=$db->db_query("SELECT * FROM campus.vw_benutzer WHERE uid=".$db->db_add_param($uid)))) die($db->db_last_error()); $num_rows=$db->db_num_rows($erg); if ($num_rows==1) @@ -93,7 +98,7 @@ if ($stud_num_rows==1) $stgkz=$db->db_result($erg_stud,0,"stgkz"); $matrikelnr=$db->db_result($erg_stud,0,"perskz"); } -if(!($erg_lekt=$db->db_query("SELECT * FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid='".addslashes($uid)."'"))) +if(!($erg_lekt=$db->db_query("SELECT * FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid=".$db->db_add_param($uid)))) die($db->db_last_error()); $lekt_num_rows=$db->db_num_rows($erg_lekt); if ($lekt_num_rows==1) @@ -104,7 +109,7 @@ if ($lekt_num_rows==1) } // Mail-Groups -if(!($erg_mg=$db->db_query("SELECT gruppe_kurzbz, beschreibung FROM campus.vw_persongruppe WHERE mailgrp AND uid='".addslashes($uid)."' ORDER BY gruppe_kurzbz"))) +if(!($erg_mg=$db->db_query("SELECT gruppe_kurzbz, beschreibung FROM campus.vw_persongruppe WHERE mailgrp AND uid=".$db->db_add_param($uid)." ORDER BY gruppe_kurzbz"))) die($db->db_last_error()); $nr_mg=$db->db_num_rows($erg_mg); @@ -127,10 +132,16 @@ echo ' } } + -

'.$p->t('tools/dokumente').'

'; +

'.$p->t('tools/dokumente').'

'; //Aktuelles Studiensemester oder gewaehltes Studiensemester @@ -140,57 +151,99 @@ $stsem_obj = new studiensemester(); $stsem_obj->getAll(); -echo "

"; -echo $p->t('global/studiensemester')." "; + echo ""; + + foreach ($prestudent->result as $pres) { - if($stsem == $semrow->studiensemester_kurzbz) - echo ""; - else - echo ""; + $studiengang = new studiengang($pres->studiengang_kz); + echo ""; } - echo "
"; + echo ""; -$konto = new konto(); - -$buchungstypen = array(); -if(defined("CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN")) -{ - $buchungstypen = unserialize (CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN); -} - -$stsem_zahlung = $konto->getLastStSemBuchungstypen($uid, $buchungstypen, $stsem); -if ($stsem_zahlung != FALSE && $stsem == $stsem_zahlung) -{ - echo "".$p->t('tools/inskriptionsbestaetigung').""; - echo ' - '.$p->t('tools/studienbeitragFuerSSBezahlt',array($stsem)); + if(isset($prestudent_id)) + { + $semester = array(); + $prestudent->result = array(); + $prestudent->getPrestudentRolle($prestudent_id); + foreach($prestudent->result as $rolle) + { + if($rolle->status_kurzbz == "Student" || $rolle->status_kurzbz == "Absolvent" || $rolle->status_kurzbz == "Diplomand") + { + $semester[$rolle->studiensemester_kurzbz] = 1; + } + } + echo "".$p->t('global/studiensemester').""; + echo ""; + } + echo "
"; } else - echo $p->t('tools/inskriptionsbestaetigung')." - ".$p->t('tools/studienbeitragFuerSSNochNichtBezahlt',array($stsem)); - -echo "
"; - -if(defined('CIS_DOKUMENTE_STUDIENBUCHLBATT_DRUCKEN') && CIS_DOKUMENTE_STUDIENBUCHLBATT_DRUCKEN) { - if ($stsem_zahlung != FALSE && $stsem == $stsem_zahlung) - { - echo "".$p->t('tools/studienbuchblatt').""; - echo ' - '.$p->t('tools/studienbeitragFuerSSBezahlt',array($stsem)); - } - else - echo $p->t('tools/studienbuchblatt')." - ".$p->t('tools/studienbeitragFuerSSNochNichtBezahlt',array($stsem)); - - echo "
"; + echo "
"; + echo $p->t("upload/keineStudiengaengeDefiniert"); + echo "
"; } -if(defined('CIS_DOKUMENTE_STUDIENERFOLGSBESTAETIGUNG_DRUCKEN') && CIS_DOKUMENTE_STUDIENERFOLGSBESTAETIGUNG_DRUCKEN) +if(isset($xsl_stg_kz)) { - echo "".$p->t('tools/studienerfolgsbestaetigung')." Deutsch
"; - echo "".$p->t('tools/studienerfolgsbestaetigung')." Englisch"; + echo "
"; + + $konto = new konto(); + + $buchungstypen = array(); + if(defined("CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN")) + { + $buchungstypen = unserialize (CIS_DOKUMENTE_STUDIENBEITRAG_TYPEN); + } + + $stsem_zahlung = $konto->getLastStSemBuchungstypen($uid, $buchungstypen, $stsem); + if ($stsem_zahlung != FALSE && $stsem == $stsem_zahlung) + { + echo "".$p->t('tools/inskriptionsbestaetigung').""; + echo ' - '.$p->t('tools/studienbeitragFuerSSBezahlt',array($stsem)); + } + else + echo $p->t('tools/inskriptionsbestaetigung')." - ".$p->t('tools/studienbeitragFuerSSNochNichtBezahlt',array($stsem)); + echo "
"; -} -echo "
"; + if(defined('CIS_DOKUMENTE_STUDIENBUCHLBATT_DRUCKEN') && CIS_DOKUMENTE_STUDIENBUCHLBATT_DRUCKEN) + { + if ($stsem_zahlung != FALSE && $stsem == $stsem_zahlung) + { + echo "".$p->t('tools/studienbuchblatt').""; + echo ' - '.$p->t('tools/studienbeitragFuerSSBezahlt',array($stsem)); + } + else + echo $p->t('tools/studienbuchblatt')." - ".$p->t('tools/studienbeitragFuerSSNochNichtBezahlt',array($stsem)); + + echo "
"; + } + + if(defined('CIS_DOKUMENTE_STUDIENERFOLGSBESTAETIGUNG_DRUCKEN') && CIS_DOKUMENTE_STUDIENERFOLGSBESTAETIGUNG_DRUCKEN) + { + echo "".$p->t('tools/studienerfolgsbestaetigung')." Deutsch
"; + echo "".$p->t('tools/studienerfolgsbestaetigung')." Englisch"; + echo "
"; + } + echo "
"; +} echo ' '; diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php index fb7945fc7..ea7a454b5 100644 --- a/content/student/studentoverlay.js.php +++ b/content/student/studentoverlay.js.php @@ -2137,11 +2137,11 @@ function StudentPrintInskriptionsbestaetigung(event) for (var t = 0; t < numRanges; t++) { - tree.view.selection.getRangeAt(t,start,end); + tree.view.selection.getRangeAt(t,start,end); for (var v = start.value; v <= end.value; v++) { - uid = getTreeCellText(tree, 'student-treecol-uid', v); - paramList += ';'+uid; + prestudent_id = getTreeCellText(tree, 'student-treecol-prestudent_id', v); + paramList += ';'+prestudent_id; stg_kz = getTreeCellText(tree, 'student-treecol-studiengang_kz', v); anzahl = anzahl+1; } @@ -2162,7 +2162,7 @@ function StudentPrintInskriptionsbestaetigung(event) var output='pdf'; if(anzahl>0) - window.open('content/pdfExport.php?xml=student.rdf.php&xsl=Inskription&stg_kz='+stg_kz+'&uid='+paramList+'&ss='+stsem+'&output='+output,'Inskriptionsbestaetigung', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes'); + window.open('content/pdfExport.php?xml=student.rdf.php&xsl=Inskription&stg_kz='+stg_kz+'&prestudent_id='+paramList+'&ss='+stsem+'&output='+output,'Inskriptionsbestaetigung', 'height=200,width=350,left=0,top=0,hotkeys=0,resizable=yes,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no,dependent=yes'); else alert('Bitte einen Studenten auswaehlen'); } diff --git a/content/tempusoverlay.js.php b/content/tempusoverlay.js.php index 1593def08..2d7f5edcf 100644 --- a/content/tempusoverlay.js.php +++ b/content/tempusoverlay.js.php @@ -1,444 +1,444 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -include('../config/vilesci.config.inc.php'); -?> - -var currentAuswahl=new auswahlValues(); -var LvTreeDatasource; -var StudentTreeDatasource; - -function auswahlValues() -{ - this.stg_kz=null; - this.sem=null; - this.ver=null; - this.grp=null; - this.gruppe=null; - this.lektor_uid=null; -} - -function onVerbandSelect() -{ - document.getElementById('tempus-lva-filter').value=''; - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - var contentFrame=document.getElementById('iframeTimeTableWeek'); - var tree=document.getElementById('tree-verband'); - if(tree.currentIndex==-1) - return; - - var col=tree.columns ? tree.columns["stg_kz"] : "stg_kz"; - var stg_kz=tree.view.getCellText(tree.currentIndex,col); - col=tree.columns ? tree.columns["sem"] : "sem"; - var sem=tree.view.getCellText(tree.currentIndex,col); - col=tree.columns ? tree.columns["ver"] : "ver"; - var ver=tree.view.getCellText(tree.currentIndex,col); - col=tree.columns ? tree.columns["grp"] : "grp"; - var grp=tree.view.getCellText(tree.currentIndex,col); - col=tree.columns ? tree.columns["gruppe"] : "gruppe"; - var gruppe=tree.view.getCellText(tree.currentIndex,col); - col = tree.columns ? tree.columns["typ"] : "typ"; - var typ=tree.view.getCellText(tree.currentIndex,col); - col = tree.columns ? tree.columns["stsem"] : "stsem"; - var stsem=tree.view.getCellText(tree.currentIndex,col); - col = tree.columns ? tree.columns["orgform"] : "orgform"; - var orgform=tree.view.getCellText(tree.currentIndex,col); - - var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData'); - var datum=parseInt(daten.getAttribute("datum")); - var attributes="&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe; - var url = "content/lvplanung/timetable-week.xul.php"; - if (gruppe!=null && gruppe!=0 &gruppe!='') - var type="?type=gruppe"; - else - var type="?type=verband"; - url+=type+attributes+"&datum="+datum; - if (url) - { - //alert(url); - contentFrame.setAttribute('src', url); - } - - currentAuswahl.stg_kz=stg_kz; - currentAuswahl.sem=sem; - currentAuswahl.ver=ver; - currentAuswahl.grp=grp; - currentAuswahl.gruppe=gruppe; - - // Semesterplan - var semesterplan=document.getElementById('tabpanels-main'); - var panelIndex=semesterplan.getAttribute("selectedIndex"); - if (panelIndex==1) - { - //alert (url); - var contentFrame=document.getElementById('iframeTimeTableSemester'); - var url = "content/lvplanung/timetable-week.xul.php"; - if (gruppe!=null && gruppe!=0 &gruppe!='') - var type="?type=gruppe"; - else - var type="?type=verband"; - url+=type+attributes+"&semesterplan=true&"+gettimestamp(); - if (url) - contentFrame.setAttribute('src', url); - } - - var order = LehrstundeGetSortOrder(); - // LVAs - var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung'); - var attribute='../rdf/lehreinheit-lvplan.rdf.php'+type+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe+"&order="+order+"&orgform="+orgform; - - vboxLehrveranstalungPlanung.setAttribute('datasources',attribute); - - // -------------- Studenten -------------------------- - try - { - stsem = getStudiensemester(); - url = "rdf/student.rdf.php?studiengang_kz="+stg_kz+"&semester="+sem+"&verband="+ver+"&gruppe="+grp+"&gruppe_kurzbz="+gruppe+"&studiensemester_kurzbz="+stsem+"&typ=student&"+gettimestamp(); - var treeStudent=document.getElementById('student-tree'); - - //Alte DS entfernen - var oldDatasources = treeStudent.database.GetDataSources(); - while(oldDatasources.hasMoreElements()) - { - treeStudent.database.RemoveDataSource(oldDatasources.getNext()); - } - - try - { - StudentTreeDatasource.removeXMLSinkObserver(StudentTreeSinkObserver); - treeStudent.builder.removeListener(StudentTreeListener); - } - catch(e) - {} - var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); - StudentTreeDatasource = rdfService.GetDataSource(url); - StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); - StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); - treeStudent.database.AddDataSource(StudentTreeDatasource); - StudentTreeDatasource.addXMLSinkObserver(StudentTreeSinkObserver); - treeStudent.builder.addListener(StudentTreeListener); - - //Detailfelder Deaktivieren - StudentDetailReset(); - StudentDetailDisableFields(true); - StudentPrestudentDisableFields(true); - StudentKontoDisableFields(true); - StudentAkteDisableFields(true); - StudentIODisableFields(true); - StudentNoteDisableFields(true); - document.getElementById('student-kontakt').setAttribute('src',''); - document.getElementById('student-betriebsmittel').setAttribute('src',''); - StudentAbschlusspruefungDisableFields(true); - } - catch(e){} - - - // Lehrveranstaltung - try - { - url = 'rdf/lehrveranstaltung_einheiten.rdf.php?stg_kz='+encodeURIComponent(stg_kz)+'&sem='+encodeURIComponent(sem)+'&ver='+encodeURIComponent(ver)+'&grp='+encodeURIComponent(grp)+'&gruppe='+encodeURIComponent(gruppe)+'&orgform='+encodeURIComponent(orgform)+'&'+gettimestamp(); - var treeLV=document.getElementById('lehrveranstaltung-tree'); - - //Alte DS entfernen - var oldDatasources = treeLV.database.GetDataSources(); - while(oldDatasources.hasMoreElements()) - { - treeLV.database.RemoveDataSource(oldDatasources.getNext()); - } - - var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); - LvTreeDatasource = rdfService.GetDataSource(url); - LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); - LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); - treeLV.database.AddDataSource(LvTreeDatasource); - LvTreeDatasource.addXMLSinkObserver(LvTreeSinkObserver); - treeLV.builder.addListener(LvTreeListener); - } - catch(e) - { - debug(e); - } -} - -function onOrtSelect() -{ - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - var contentFrame=document.getElementById('iframeTimeTableWeek'); - var treeOrt=document.getElementById('tree-ort'); - var col=treeOrt.columns ? treeOrt.columns["ort_kurzbz"] : "ort_kurzbz"; - var ort=treeOrt.view.getCellText(treeOrt.currentIndex,col); - var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData'); - var datum=parseInt(daten.getAttribute("datum")); - - if(ort=='') - return false; - - var attributes="?type=ort&ort="+ort+"&datum="+datum; - var url = "content/lvplanung/timetable-week.xul.php"; - url+=attributes+'&'+gettimestamp(); - if (url) - contentFrame.setAttribute('src', url); - - // Semesterplan - var semesterplan=document.getElementById('tabpanels-main'); - var panelIndex=semesterplan.getAttribute("selectedIndex"); - if (panelIndex==1) - { - //alert (url); - var contentFrame=document.getElementById('iframeTimeTableSemester'); - var url = "content/lvplanung/timetable-week.xul.php"; - url+=attributes+"&semesterplan=true&"+gettimestamp(); - if (url) - contentFrame.setAttribute('src', url); - } -} - -function onLektorSelect(event) -{ - document.getElementById('tempus-lva-filter').value=''; - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - var contentFrame=document.getElementById('iframeTimeTableWeek'); - var treeLektor=document.getElementById('tree-lektor'); - var col=treeLektor.columns ? treeLektor.columns["uid"] : "uid"; - //debug(col+'-'+treeLektor.currentIndex); - try - { - var uid=treeLektor.view.getCellText(treeLektor.currentIndex,col); - } - catch(e) - { - } - if(uid=='') - return; - //var treeVerband=document.getElementById('tree-verband'); - //var stg_kz=treeVerband.view.getCellText(treeVerband.currentIndex,"stg_kz"); - var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData'); - var datum=parseInt(daten.getAttribute("datum")); - - var attributes="?type=lektor&pers_uid="+uid+"&datum="+datum; - var url = "content/lvplanung/timetable-week.xul.php"; - url+=attributes+'&'+gettimestamp(); - if (url) - contentFrame.setAttribute('src', url); - - // Semesterplan - var semesterplan=document.getElementById('tabpanels-main'); - var panelIndex=semesterplan.getAttribute("selectedIndex"); - if (panelIndex==1) - { - //alert (url); - var contentFrame=document.getElementById('iframeTimeTableSemester'); - var url = "content/lvplanung/timetable-week.xul.php"; - url+=attributes+"&semesterplan=true&"+gettimestamp(); - if (url) - contentFrame.setAttribute('src', url); - } - - var order = LehrstundeGetSortOrder(); - // LVAs - var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung'); - vboxLehrveranstalungPlanung.setAttribute('datasources','../rdf/lehreinheit-lvplan.rdf.php?'+"type=lektor&lektor="+uid+"&order="+order+"&"+gettimestamp()); - - var tree=document.getElementById('tree-lektor'); - //Wenn nichts markiert wurde -> beenden - if(tree.currentIndex==-1) - return; - - var row = { }; - var col = { }; - var child = { }; - - tree.treeBoxObject.getCellAt(event.pageX, event.pageY, row, col, child) - - //Wenn es keine Row ist sondern ein Header oder Scrollbar dann abbrechen - if (!col.value) - return false; - - //Wenn eine andere row markiert ist als angeklickt wurde -> beenden. - //Dies kommt vor wenn ein Subtree geoeffnet wird - if(row.value!=tree.currentIndex) - return; - - col = tree.columns ? tree.columns["uid"] : "uid"; - var uid=tree.view.getCellText(tree.currentIndex,col); - - var stg_idx = tree.view.getParentIndex(tree.currentIndex); - var col = tree.columns ? tree.columns["studiengang_kz"] : "studiengang_kz"; - var stg_kz=tree.view.getCellText(stg_idx,col); - - document.getElementById('LehrveranstaltungEditor').setAttribute('stg_kz',stg_kz); - document.getElementById('LehrveranstaltungEditor').setAttribute('uid',uid); - - // Lehrveranstaltung des Lektors laden - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - try - { - //alert(stg_kz); - url = 'rdf/lehrveranstaltung_einheiten.rdf.php?stg_kz='+stg_kz+'&uid='+uid+'&'+gettimestamp(); - var treeLV=document.getElementById('lehrveranstaltung-tree'); - - //Alte DS entfernen - var oldDatasources = treeLV.database.GetDataSources(); - try - { - LvTreeDatasource.removeXMLSinkObserver(LvTreeSinkObserver); - treeLV.builder.removeListener(LvTreeListener); - } - catch(e) - {} - - while(oldDatasources.hasMoreElements()) - { - treeLV.database.RemoveDataSource(oldDatasources.getNext()); - } - - var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); - LvTreeDatasource = rdfService.GetDataSource(url); - LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); - LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); - treeLV.database.AddDataSource(LvTreeDatasource); - LvTreeDatasource.addXMLSinkObserver(LvTreeSinkObserver); - treeLV.builder.addListener(LvTreeListener); - document.getElementById('lehrveranstaltung-toolbar-lehrauftrag').hidden=false; - } - catch(e) - { - debug(e); - } -} - -function loadURL(event) -{ - var contentFrame = document.getElementById('contentFrame'); - var url = event.target.getAttribute('value'); - - if (url) contentFrame.setAttribute('src', url); -}; - -function onFachbereichSelect(event) -{ - var tree=document.getElementById('tree-fachbereich'); - //Wenn nichts markiert wurde -> beenden - if(tree.currentIndex==-1) - return; - - var row = { }; - var col = { }; - var child = { }; - - tree.treeBoxObject.getCellAt(event.pageX, event.pageY, row, col, child) - - //Wenn es keine Row ist sondern ein Header oder Scrollbar dann abbrechen - if (!col.value) - return false; - - //Wenn eine andere row markiert ist als angeklickt wurde -> beenden. - //Dies kommt vor wenn ein Subtree geoeffnet wird - if(row.value!=tree.currentIndex) - return; - - col = tree.columns ? tree.columns["fachbereich-treecol-kurzbz"] : "fachbereich-treecol-kurzbz"; - var kurzbz=tree.view.getCellText(tree.currentIndex,col); - - col = tree.columns ? tree.columns["fachbereich-treecol-uid"] : "fachbereich-treecol-uid"; - var uid=tree.view.getCellText(tree.currentIndex,col); - - //Wenn auf einen Mitarbeiter geklickt wird, dann die kurzbz vom uebergeordneten - //Fachbereich holen - if(uid!='') - { - idx = tree.view.getParentIndex(tree.currentIndex); - col = tree.columns ? tree.columns["fachbereich-treecol-kurzbz"] : "fachbereich-treecol-kurzbz"; - var kurzbz=tree.view.getCellText(idx,col); - } - - - //---- - document.getElementById('tempus-lva-filter').value=''; - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - var contentFrame=document.getElementById('iframeTimeTableWeek'); - - var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData'); - var datum=parseInt(daten.getAttribute("datum")); - - var attributes="?type=fachbereich&fachbereich_kurzbz="+kurzbz+"&datum="+datum; - var url = "content/lvplanung/timetable-week.xul.php"; - url+=attributes+'&'+gettimestamp(); - if (url) - contentFrame.setAttribute('src', url); - - // Semesterplan - var semesterplan=document.getElementById('tabpanels-main'); - var panelIndex=semesterplan.getAttribute("selectedIndex"); - if (panelIndex==1) - { - //alert (url); - var contentFrame=document.getElementById('iframeTimeTableSemester'); - var url = "content/lvplanung/timetable-week.xul.php"; - url+=attributes+"&semesterplan=true&"+gettimestamp(); - if (url) - contentFrame.setAttribute('src', url); - } - - var order = LehrstundeGetSortOrder(); - // LVAs - var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung'); - vboxLehrveranstalungPlanung.setAttribute('datasources','../rdf/lehreinheit-lvplan.rdf.php?'+"type=fachbereich&fachbereich_kurzbz="+kurzbz+"&order="+order+"&"+gettimestamp()); - - - // Lehrveranstaltung des Fachbereichs - netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - try - { - //alert(stg_kz); - url = 'rdf/lehrveranstaltung_einheiten.rdf.php?fachbereich_kurzbz='+kurzbz+'&'+gettimestamp(); - var treeLV=document.getElementById('lehrveranstaltung-tree'); - - //Alte DS entfernen - var oldDatasources = treeLV.database.GetDataSources(); - try - { - LvTreeDatasource.removeXMLSinkObserver(LvTreeSinkObserver); - treeLV.builder.removeListener(LvTreeListener); - } - catch(e) - {} - - while(oldDatasources.hasMoreElements()) - { - treeLV.database.RemoveDataSource(oldDatasources.getNext()); - } - - var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); - LvTreeDatasource = rdfService.GetDataSource(url); - LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); - LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); - treeLV.database.AddDataSource(LvTreeDatasource); - LvTreeDatasource.addXMLSinkObserver(LvTreeSinkObserver); - treeLV.builder.addListener(LvTreeListener); - document.getElementById('lehrveranstaltung-toolbar-lehrauftrag').hidden=false; - } - catch(e) - { - debug(e); - } -} - +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +include('../config/vilesci.config.inc.php'); +?> + +var currentAuswahl=new auswahlValues(); +var LvTreeDatasource; +var StudentTreeDatasource; + +function auswahlValues() +{ + this.stg_kz=null; + this.sem=null; + this.ver=null; + this.grp=null; + this.gruppe=null; + this.lektor_uid=null; +} + +function onVerbandSelect() +{ + document.getElementById('tempus-lva-filter').value=''; + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + var contentFrame=document.getElementById('iframeTimeTableWeek'); + var tree=document.getElementById('tree-verband'); + if(tree.currentIndex==-1) + return; + + var col=tree.columns ? tree.columns["stg_kz"] : "stg_kz"; + var stg_kz=tree.view.getCellText(tree.currentIndex,col); + col=tree.columns ? tree.columns["sem"] : "sem"; + var sem=tree.view.getCellText(tree.currentIndex,col); + col=tree.columns ? tree.columns["ver"] : "ver"; + var ver=tree.view.getCellText(tree.currentIndex,col); + col=tree.columns ? tree.columns["grp"] : "grp"; + var grp=tree.view.getCellText(tree.currentIndex,col); + col=tree.columns ? tree.columns["gruppe"] : "gruppe"; + var gruppe=tree.view.getCellText(tree.currentIndex,col); + col = tree.columns ? tree.columns["typ"] : "typ"; + var typ=tree.view.getCellText(tree.currentIndex,col); + col = tree.columns ? tree.columns["stsem"] : "stsem"; + var stsem=tree.view.getCellText(tree.currentIndex,col); + col = tree.columns ? tree.columns["orgform"] : "orgform"; + var orgform=tree.view.getCellText(tree.currentIndex,col); + + var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData'); + var datum=parseInt(daten.getAttribute("datum")); + var attributes="&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe; + var url = "content/lvplanung/timetable-week.xul.php"; + if (gruppe!=null && gruppe!=0 &gruppe!='') + var type="?type=gruppe"; + else + var type="?type=verband"; + url+=type+attributes+"&datum="+datum; + if (url) + { + //alert(url); + contentFrame.setAttribute('src', url); + } + + currentAuswahl.stg_kz=stg_kz; + currentAuswahl.sem=sem; + currentAuswahl.ver=ver; + currentAuswahl.grp=grp; + currentAuswahl.gruppe=gruppe; + + // Semesterplan + var semesterplan=document.getElementById('tabpanels-main'); + var panelIndex=semesterplan.getAttribute("selectedIndex"); + if (panelIndex==1) + { + //alert (url); + var contentFrame=document.getElementById('iframeTimeTableSemester'); + var url = "content/lvplanung/timetable-week.xul.php"; + if (gruppe!=null && gruppe!=0 &gruppe!='') + var type="?type=gruppe"; + else + var type="?type=verband"; + url+=type+attributes+"&semesterplan=true&"+gettimestamp(); + if (url) + contentFrame.setAttribute('src', url); + } + + var order = LehrstundeGetSortOrder(); + // LVAs + var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung'); + var attribute='../rdf/lehreinheit-lvplan.rdf.php'+type+"&stg_kz="+stg_kz+"&sem="+sem+"&ver="+ver+"&grp="+grp+"&gruppe="+gruppe+"&order="+order+"&orgform="+orgform; + + vboxLehrveranstalungPlanung.setAttribute('datasources',attribute); + + // -------------- Studenten -------------------------- + try + { + stsem = getStudiensemester(); + url = "rdf/student.rdf.php?studiengang_kz="+stg_kz+"&semester="+sem+"&verband="+ver+"&gruppe="+grp+"&gruppe_kurzbz="+gruppe+"&studiensemester_kurzbz="+stsem+"&typ=student&"+gettimestamp(); + var treeStudent=document.getElementById('student-tree'); + + //Alte DS entfernen + var oldDatasources = treeStudent.database.GetDataSources(); + while(oldDatasources.hasMoreElements()) + { + treeStudent.database.RemoveDataSource(oldDatasources.getNext()); + } + + try + { + StudentTreeDatasource.removeXMLSinkObserver(StudentTreeSinkObserver); + treeStudent.builder.removeListener(StudentTreeListener); + } + catch(e) + {} + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + StudentTreeDatasource = rdfService.GetDataSource(url); + StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); + StudentTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); + treeStudent.database.AddDataSource(StudentTreeDatasource); + StudentTreeDatasource.addXMLSinkObserver(StudentTreeSinkObserver); + treeStudent.builder.addListener(StudentTreeListener); + + //Detailfelder Deaktivieren + StudentDetailReset(); + StudentDetailDisableFields(true); + StudentPrestudentDisableFields(true); + StudentKontoDisableFields(true); + StudentAkteDisableFields(true); + StudentIODisableFields(true); + StudentNoteDisableFields(true); + document.getElementById('student-kontakt').setAttribute('src',''); + document.getElementById('student-betriebsmittel').setAttribute('src',''); + StudentAbschlusspruefungDisableFields(true); + } + catch(e){} + + + // Lehrveranstaltung + try + { + url = 'rdf/lehrveranstaltung_einheiten.rdf.php?stg_kz='+encodeURIComponent(stg_kz)+'&sem='+encodeURIComponent(sem)+'&ver='+encodeURIComponent(ver)+'&grp='+encodeURIComponent(grp)+'&gruppe='+encodeURIComponent(gruppe)+'&orgform='+encodeURIComponent(orgform)+'&'+gettimestamp(); + var treeLV=document.getElementById('lehrveranstaltung-tree'); + + //Alte DS entfernen + var oldDatasources = treeLV.database.GetDataSources(); + while(oldDatasources.hasMoreElements()) + { + treeLV.database.RemoveDataSource(oldDatasources.getNext()); + } + + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + LvTreeDatasource = rdfService.GetDataSource(url); + LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); + LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); + treeLV.database.AddDataSource(LvTreeDatasource); + LvTreeDatasource.addXMLSinkObserver(LvTreeSinkObserver); + treeLV.builder.addListener(LvTreeListener); + } + catch(e) + { + debug(e); + } +} + +function onOrtSelect() +{ + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + var contentFrame=document.getElementById('iframeTimeTableWeek'); + var treeOrt=document.getElementById('tree-ort'); + var col=treeOrt.columns ? treeOrt.columns["ort_kurzbz"] : "ort_kurzbz"; + var ort=treeOrt.view.getCellText(treeOrt.currentIndex,col); + var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData'); + var datum=parseInt(daten.getAttribute("datum")); + + if(ort=='') + return false; + + var attributes="?type=ort&ort="+ort+"&datum="+datum; + var url = "content/lvplanung/timetable-week.xul.php"; + url+=attributes+'&'+gettimestamp(); + if (url) + contentFrame.setAttribute('src', url); + + // Semesterplan + var semesterplan=document.getElementById('tabpanels-main'); + var panelIndex=semesterplan.getAttribute("selectedIndex"); + if (panelIndex==1) + { + //alert (url); + var contentFrame=document.getElementById('iframeTimeTableSemester'); + var url = "content/lvplanung/timetable-week.xul.php"; + url+=attributes+"&semesterplan=true&"+gettimestamp(); + if (url) + contentFrame.setAttribute('src', url); + } +} + +function onLektorSelect(event) +{ + document.getElementById('tempus-lva-filter').value=''; + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + var contentFrame=document.getElementById('iframeTimeTableWeek'); + var treeLektor=document.getElementById('tree-lektor'); + var col=treeLektor.columns ? treeLektor.columns["uid"] : "uid"; + //debug(col+'-'+treeLektor.currentIndex); + try + { + var uid=treeLektor.view.getCellText(treeLektor.currentIndex,col); + } + catch(e) + { + } + if(uid=='') + return; + //var treeVerband=document.getElementById('tree-verband'); + //var stg_kz=treeVerband.view.getCellText(treeVerband.currentIndex,"stg_kz"); + var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData'); + var datum=parseInt(daten.getAttribute("datum")); + + var attributes="?type=lektor&pers_uid="+uid+"&datum="+datum; + var url = "content/lvplanung/timetable-week.xul.php"; + url+=attributes+'&'+gettimestamp(); + if (url) + contentFrame.setAttribute('src', url); + + // Semesterplan + var semesterplan=document.getElementById('tabpanels-main'); + var panelIndex=semesterplan.getAttribute("selectedIndex"); + if (panelIndex==1) + { + //alert (url); + var contentFrame=document.getElementById('iframeTimeTableSemester'); + var url = "content/lvplanung/timetable-week.xul.php"; + url+=attributes+"&semesterplan=true&"+gettimestamp(); + if (url) + contentFrame.setAttribute('src', url); + } + + var order = LehrstundeGetSortOrder(); + // LVAs + var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung'); + vboxLehrveranstalungPlanung.setAttribute('datasources','../rdf/lehreinheit-lvplan.rdf.php?'+"type=lektor&lektor="+uid+"&order="+order+"&"+gettimestamp()); + + var tree=document.getElementById('tree-lektor'); + //Wenn nichts markiert wurde -> beenden + if(tree.currentIndex==-1) + return; + + var row = { }; + var col = { }; + var child = { }; + + tree.treeBoxObject.getCellAt(event.pageX, event.pageY, row, col, child) + + //Wenn es keine Row ist sondern ein Header oder Scrollbar dann abbrechen + if (!col.value) + return false; + + //Wenn eine andere row markiert ist als angeklickt wurde -> beenden. + //Dies kommt vor wenn ein Subtree geoeffnet wird + if(row.value!=tree.currentIndex) + return; + + col = tree.columns ? tree.columns["uid"] : "uid"; + var uid=tree.view.getCellText(tree.currentIndex,col); + + var stg_idx = tree.view.getParentIndex(tree.currentIndex); + var col = tree.columns ? tree.columns["studiengang_kz"] : "studiengang_kz"; + var stg_kz=tree.view.getCellText(stg_idx,col); + + document.getElementById('LehrveranstaltungEditor').setAttribute('stg_kz',stg_kz); + document.getElementById('LehrveranstaltungEditor').setAttribute('uid',uid); + + // Lehrveranstaltung des Lektors laden + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + try + { + //alert(stg_kz); + url = 'rdf/lehrveranstaltung_einheiten.rdf.php?stg_kz='+stg_kz+'&uid='+uid+'&'+gettimestamp(); + var treeLV=document.getElementById('lehrveranstaltung-tree'); + + //Alte DS entfernen + var oldDatasources = treeLV.database.GetDataSources(); + try + { + LvTreeDatasource.removeXMLSinkObserver(LvTreeSinkObserver); + treeLV.builder.removeListener(LvTreeListener); + } + catch(e) + {} + + while(oldDatasources.hasMoreElements()) + { + treeLV.database.RemoveDataSource(oldDatasources.getNext()); + } + + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + LvTreeDatasource = rdfService.GetDataSource(url); + LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); + LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); + treeLV.database.AddDataSource(LvTreeDatasource); + LvTreeDatasource.addXMLSinkObserver(LvTreeSinkObserver); + treeLV.builder.addListener(LvTreeListener); + document.getElementById('lehrveranstaltung-toolbar-lehrauftrag').hidden=false; + } + catch(e) + { + debug(e); + } +} + +function loadURL(event) +{ + var contentFrame = document.getElementById('contentFrame'); + var url = event.target.getAttribute('value'); + + if (url) contentFrame.setAttribute('src', url); +}; + +function onFachbereichSelect(event) +{ + var tree=document.getElementById('tree-fachbereich'); + //Wenn nichts markiert wurde -> beenden + if(tree.currentIndex==-1) + return; + + var row = { }; + var col = { }; + var child = { }; + + tree.treeBoxObject.getCellAt(event.pageX, event.pageY, row, col, child) + + //Wenn es keine Row ist sondern ein Header oder Scrollbar dann abbrechen + if (!col.value) + return false; + + //Wenn eine andere row markiert ist als angeklickt wurde -> beenden. + //Dies kommt vor wenn ein Subtree geoeffnet wird + if(row.value!=tree.currentIndex) + return; + + col = tree.columns ? tree.columns["fachbereich-treecol-kurzbz"] : "fachbereich-treecol-kurzbz"; + var kurzbz=tree.view.getCellText(tree.currentIndex,col); + + col = tree.columns ? tree.columns["fachbereich-treecol-uid"] : "fachbereich-treecol-uid"; + var uid=tree.view.getCellText(tree.currentIndex,col); + + //Wenn auf einen Mitarbeiter geklickt wird, dann die kurzbz vom uebergeordneten + //Fachbereich holen + if(uid!='') + { + idx = tree.view.getParentIndex(tree.currentIndex); + col = tree.columns ? tree.columns["fachbereich-treecol-kurzbz"] : "fachbereich-treecol-kurzbz"; + var kurzbz=tree.view.getCellText(idx,col); + } + + + //---- + document.getElementById('tempus-lva-filter').value=''; + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + var contentFrame=document.getElementById('iframeTimeTableWeek'); + + var daten=window.TimeTableWeek.document.getElementById('TimeTableWeekData'); + var datum=parseInt(daten.getAttribute("datum")); + + var attributes="?type=fachbereich&fachbereich_kurzbz="+kurzbz+"&datum="+datum; + var url = "content/lvplanung/timetable-week.xul.php"; + url+=attributes+'&'+gettimestamp(); + if (url) + contentFrame.setAttribute('src', url); + + // Semesterplan + var semesterplan=document.getElementById('tabpanels-main'); + var panelIndex=semesterplan.getAttribute("selectedIndex"); + if (panelIndex==1) + { + //alert (url); + var contentFrame=document.getElementById('iframeTimeTableSemester'); + var url = "content/lvplanung/timetable-week.xul.php"; + url+=attributes+"&semesterplan=true&"+gettimestamp(); + if (url) + contentFrame.setAttribute('src', url); + } + + var order = LehrstundeGetSortOrder(); + // LVAs + var vboxLehrveranstalungPlanung=document.getElementById('vboxLehrveranstalungPlanung'); + vboxLehrveranstalungPlanung.setAttribute('datasources','../rdf/lehreinheit-lvplan.rdf.php?'+"type=fachbereich&fachbereich_kurzbz="+kurzbz+"&order="+order+"&"+gettimestamp()); + + + // Lehrveranstaltung des Fachbereichs + netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); + try + { + //alert(stg_kz); + url = 'rdf/lehrveranstaltung_einheiten.rdf.php?fachbereich_kurzbz='+kurzbz+'&'+gettimestamp(); + var treeLV=document.getElementById('lehrveranstaltung-tree'); + + //Alte DS entfernen + var oldDatasources = treeLV.database.GetDataSources(); + try + { + LvTreeDatasource.removeXMLSinkObserver(LvTreeSinkObserver); + treeLV.builder.removeListener(LvTreeListener); + } + catch(e) + {} + + while(oldDatasources.hasMoreElements()) + { + treeLV.database.RemoveDataSource(oldDatasources.getNext()); + } + + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + LvTreeDatasource = rdfService.GetDataSource(url); + LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); + LvTreeDatasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); + treeLV.database.AddDataSource(LvTreeDatasource); + LvTreeDatasource.addXMLSinkObserver(LvTreeSinkObserver); + treeLV.builder.addListener(LvTreeListener); + document.getElementById('lehrveranstaltung-toolbar-lehrauftrag').hidden=false; + } + catch(e) + { + debug(e); + } +} + diff --git a/include/lehrverband.class.php b/include/lehrverband.class.php index 3143a92e9..c51907907 100644 --- a/include/lehrverband.class.php +++ b/include/lehrverband.class.php @@ -1,337 +1,337 @@ -, - * Andreas Oesterreicher , - * Rudolf Hangl , - * Stefan Puraner - */ -require_once(dirname(__FILE__).'/basis_db.class.php'); - -class lehrverband extends basis_db -{ - public $new; // boolean - public $result = array(); // lehrverband Objekt - - //Tabellenspalten - public $studiengang_kz; // integer - public $semester; // integer - public $verband; // integer - public $gruppe; // integer - public $aktiv; // boolean - public $bezeichnung; // varchar(16) - public $orgform_kurzbz; - - /** - * Konstruktor - * - */ - public function __construct() - { - parent::__construct(); - } - - /** - * Prueft ob ein Lehrverband existiert - * - * @param $studiengang_kz - * @param $semester - * @param $verband - * @param $gruppe - * @return true wenn vorhanden, sonst false - */ - public function exists($studiengang_kz, $semester, $verband, $gruppe) - { - $qry = "SELECT count(*) as anzahl FROM public.tbl_lehrverband WHERE - studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)." AND - semester=".$this->db_add_param($semester, FHC_INTEGER, false)." AND - trim(verband)=".$this->db_add_param(trim($verband), FHC_STRING, false)." AND - trim(gruppe)=".$this->db_add_param(trim($gruppe), FHC_STRING, false).";"; - - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - if($row->anzahl>0) - return true; - else - return false; - } - else - { - $this->errormsg = 'Fehler bei Abfrage'; - return false; - } - } - else - { - $this->errormsg = 'Fehler bei einer Abfrage'; - return false; - } - } - - /** - * Laedt einen Lehrverband - * - * @param $studiengang_kz - * @param $semester - * @param $verband - * @param $gruppe - * @return boolean - */ - public function load($studiengang_kz, $semester, $verband, $gruppe) - { - $qry = "SELECT * FROM public.tbl_lehrverband - WHERE studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)." - AND semester=".$this->db_add_param($semester, FHC_INTEGER)." - AND verband=".$this->db_add_param($verband)." - AND gruppe=".$this->db_add_param($gruppe).";"; - - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - $this->studiengang_kz = $row->studiengang_kz; - $this->semester = $row->semester; - $this->verband = $row->verband; - $this->gruppe = $row->gruppe; - $this->aktiv = $this->db_parse_bool($row->aktiv); - $this->bezeichnung = $row->bezeichnung; - $this->orgform_kurzbz = $row->orgform_kurzbz; - return true; - } - else - { - $this->errormsg = 'Eintrag nicht gefunden'; - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Lesen der Daten'; - return false; - } - } - - /** - * Prueft die Variablen vor dem Speichern - * auf Gueltigkeit. - * @return true wenn ok, false im Fehlerfall - */ - protected function validate() - { - if(!is_numeric($this->semester)) - { - $this->errormsg = 'Semester muss eine gueltige Zahl sein'; - return false; - } - if(!is_numeric($this->studiengang_kz)) - { - $this->errormsg = 'Studiengang muss eine gueltige Zahl sein'; - return false; - } - if($this->verband=='') - { - $this->verband=' '; - } - if($this->gruppe=='') - { - $this->gruppe=' '; - } - return true; - } - - /** - * Liefert alle Lehrverbaende unterhalb des uebergebenen - * - * @param $studiengang_kz - * @param $semester - * @param $verband - * @return boolean - */ - public function getlehrverband($studiengang_kz=null, $semester=null, $verband=null) - { - $qry = 'SELECT * FROM public.tbl_lehrverband WHERE aktiv=true'; - if(!is_null($studiengang_kz)) - $qry .=' AND studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER); - if(!is_null($semester)) - $qry .=' AND semester='.$this->db_add_param($semester, FHC_INTEGER); - if(!is_null($verband)) - $qry .=' AND verband='.$this->db_add_param($verband); - - $qry .= ' ORDER BY studiengang_kz, semester, verband, gruppe;'; - if($this->db_query($qry)) - { - while($row = $this->db_fetch_object()) - { - $lv_obj = new lehrverband(); - - $lv_obj->studiengang_kz = $row->studiengang_kz; - $lv_obj->semester = $row->semester; - $lv_obj->verband = $row->verband; - $lv_obj->gruppe = $row->gruppe; - $lv_obj->aktiv = $this->db_parse_bool($row->aktiv); - $lv_obj->bezeichnung = $row->bezeichnung; - $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; - - $this->result[] = $lv_obj; - } - return true; - } - else - { - $this->errormsg = 'Fehler beim Lesen der Lehrverbaende '; - return false; - } - } - - public function getSemesterFromStudiengang($studiengang_kz, $aktiv=false) - { - $qry = 'SELECT semester, aktiv FROM public.tbl_lehrverband WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER)." AND verband=' ' "; - - if($aktiv) - $qry.= ' AND aktiv=true'; - - $qry .= ' GROUP BY semester, aktiv ORDER BY semester;'; - - if($this->db_query($qry)) - { - $lv_obj = array(); - while($row = $this->db_fetch_object()) - { - $sem = array(); - $sem["aktiv"] = $row->aktiv; - $sem["semester"] = $row->semester; - array_push($lv_obj, $sem); - } - return $lv_obj; - } - else - { - $this->errormsg = 'Fehler beim Lesen der Semester '; - return false; - } - } - - public function getVerbandFromSemester($studiengang_kz, $semester, $aktiv=false) - { - $qry = 'SELECT verband, aktiv, bezeichnung FROM public.tbl_lehrverband WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER).' AND semester='.$this->db_add_param($semester, FHC_INTEGER)." AND gruppe=' ' "; - if($aktiv) - $qry.=' AND aktiv=true'; - $qry .= ' GROUP BY verband, aktiv, bezeichnung ORDER BY verband;'; - - if($this->db_query($qry)) - { - $lv_obj = array(); - while($row = $this->db_fetch_object()) - { - $verb = array(); - $verb["verband"] = $row->verband; - $verb["aktiv"] = $row->aktiv; - $verb["bezeichnung"] = $row->bezeichnung; - array_push($lv_obj, $verb); - } - return $lv_obj; - } - else - { - $this->errormsg = 'Fehler beim Lesen der Lehrverbaende '; - return false; - } - } - - public function getGruppeFromVerband($studiengang_kz, $semester, $verband, $aktiv=false) - { - $qry = 'SELECT gruppe, bezeichnung, aktiv FROM public.tbl_lehrverband WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER).' AND semester='.$this->db_add_param($semester, FHC_INTEGER).' AND verband='.$this->db_add_param($verband, FHC_STRING); - if($aktiv) - { - $qry.=' AND aktiv=true'; - } - $qry .= ' GROUP BY gruppe, bezeichnung, aktiv ORDER BY gruppe;'; - if($this->db_query($qry)) - { - - $lv_obj = array(); - - while($row = $this->db_fetch_object()) - { - $grp = array(); - $grp["bezeichnung"] = $row->bezeichnung; - $grp["gruppe"] = $row->gruppe; - $grp["aktiv"] = $row->aktiv; - array_push($lv_obj, $grp); - } - return $lv_obj; - } - else - { - $this->errormsg = 'Fehler beim Lesen der Lehrverbaende '; - return false; - } - } - - /** - * Speichert Lehrverband in die Datenbank - * Wenn $new auf true gesetzt ist wird ein neuer Datensatz - * angelegt, ansonsten der Datensatz upgedated - * @return true wenn erfolgreich, false im Fehlerfall - */ - public function save($new=null) - { - if($new==null) - $new = $this->new; - - //Variablen auf Gueltigkeit pruefen - if(!$this->validate()) - return false; - - if($new) - { - $qry = 'INSERT INTO public.tbl_lehrverband (studiengang_kz, semester, verband, gruppe, aktiv, bezeichnung, orgform_kurzbz) - VALUES('.$this->db_add_param($this->studiengang_kz, FHC_INTEGER).','. - $this->db_add_param($this->semester, FHC_INTEGER).','. - $this->db_add_param($this->verband).','. - $this->db_add_param($this->gruppe).','. - $this->db_add_param($this->aktiv, FHC_BOOLEAN).','. - $this->db_add_param($this->bezeichnung).','. - $this->db_add_param($this->orgform_kurzbz).');'; - } - else - { - $qry = "UPDATE public.tbl_lehrverband SET ". - " aktiv=".$this->db_add_param($this->aktiv, FHC_BOOLEAN).", ". - " bezeichnung=".$this->db_add_param($this->bezeichnung).",". - " orgform_kurzbz=".$this->db_add_param($this->orgform_kurzbz). - " WHERE studiengang_kz=".$this->db_add_param($this->studiengang_kz, FHC_INTEGER). - " AND semester=".$this->db_add_param($this->semester, FHC_INTEGER). - " AND verband=".$this->db_add_param($this->verband). - " AND gruppe=".$this->db_add_param($this->gruppe).";"; - } - - if($this->db_query($qry)) - { - //Log schreiben - return true; - } - else - { - $this->errormsg = 'Fehler beim Speichern des Lehrverbands:'; - return false; - } - } -} -?> +, + * Andreas Oesterreicher , + * Rudolf Hangl , + * Stefan Puraner + */ +require_once(dirname(__FILE__).'/basis_db.class.php'); + +class lehrverband extends basis_db +{ + public $new; // boolean + public $result = array(); // lehrverband Objekt + + //Tabellenspalten + public $studiengang_kz; // integer + public $semester; // integer + public $verband; // integer + public $gruppe; // integer + public $aktiv; // boolean + public $bezeichnung; // varchar(16) + public $orgform_kurzbz; + + /** + * Konstruktor + * + */ + public function __construct() + { + parent::__construct(); + } + + /** + * Prueft ob ein Lehrverband existiert + * + * @param $studiengang_kz + * @param $semester + * @param $verband + * @param $gruppe + * @return true wenn vorhanden, sonst false + */ + public function exists($studiengang_kz, $semester, $verband, $gruppe) + { + $qry = "SELECT count(*) as anzahl FROM public.tbl_lehrverband WHERE + studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)." AND + semester=".$this->db_add_param($semester, FHC_INTEGER, false)." AND + trim(verband)=".$this->db_add_param(trim($verband), FHC_STRING, false)." AND + trim(gruppe)=".$this->db_add_param(trim($gruppe), FHC_STRING, false).";"; + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + if($row->anzahl>0) + return true; + else + return false; + } + else + { + $this->errormsg = 'Fehler bei Abfrage'; + return false; + } + } + else + { + $this->errormsg = 'Fehler bei einer Abfrage'; + return false; + } + } + + /** + * Laedt einen Lehrverband + * + * @param $studiengang_kz + * @param $semester + * @param $verband + * @param $gruppe + * @return boolean + */ + public function load($studiengang_kz, $semester, $verband, $gruppe) + { + $qry = "SELECT * FROM public.tbl_lehrverband + WHERE studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)." + AND semester=".$this->db_add_param($semester, FHC_INTEGER)." + AND verband=".$this->db_add_param($verband)." + AND gruppe=".$this->db_add_param($gruppe).";"; + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + $this->studiengang_kz = $row->studiengang_kz; + $this->semester = $row->semester; + $this->verband = $row->verband; + $this->gruppe = $row->gruppe; + $this->aktiv = $this->db_parse_bool($row->aktiv); + $this->bezeichnung = $row->bezeichnung; + $this->orgform_kurzbz = $row->orgform_kurzbz; + return true; + } + else + { + $this->errormsg = 'Eintrag nicht gefunden'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Lesen der Daten'; + return false; + } + } + + /** + * Prueft die Variablen vor dem Speichern + * auf Gueltigkeit. + * @return true wenn ok, false im Fehlerfall + */ + protected function validate() + { + if(!is_numeric($this->semester)) + { + $this->errormsg = 'Semester muss eine gueltige Zahl sein'; + return false; + } + if(!is_numeric($this->studiengang_kz)) + { + $this->errormsg = 'Studiengang muss eine gueltige Zahl sein'; + return false; + } + if($this->verband=='') + { + $this->verband=' '; + } + if($this->gruppe=='') + { + $this->gruppe=' '; + } + return true; + } + + /** + * Liefert alle Lehrverbaende unterhalb des uebergebenen + * + * @param $studiengang_kz + * @param $semester + * @param $verband + * @return boolean + */ + public function getlehrverband($studiengang_kz=null, $semester=null, $verband=null) + { + $qry = 'SELECT * FROM public.tbl_lehrverband WHERE aktiv=true'; + if(!is_null($studiengang_kz)) + $qry .=' AND studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER); + if(!is_null($semester)) + $qry .=' AND semester='.$this->db_add_param($semester, FHC_INTEGER); + if(!is_null($verband)) + $qry .=' AND verband='.$this->db_add_param($verband); + + $qry .= ' ORDER BY studiengang_kz, semester, verband, gruppe;'; + if($this->db_query($qry)) + { + while($row = $this->db_fetch_object()) + { + $lv_obj = new lehrverband(); + + $lv_obj->studiengang_kz = $row->studiengang_kz; + $lv_obj->semester = $row->semester; + $lv_obj->verband = $row->verband; + $lv_obj->gruppe = $row->gruppe; + $lv_obj->aktiv = $this->db_parse_bool($row->aktiv); + $lv_obj->bezeichnung = $row->bezeichnung; + $lv_obj->orgform_kurzbz = $row->orgform_kurzbz; + + $this->result[] = $lv_obj; + } + return true; + } + else + { + $this->errormsg = 'Fehler beim Lesen der Lehrverbaende '; + return false; + } + } + + public function getSemesterFromStudiengang($studiengang_kz, $aktiv=false) + { + $qry = 'SELECT semester, aktiv FROM public.tbl_lehrverband WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER)." AND verband=' ' "; + + if($aktiv) + $qry.= ' AND aktiv=true'; + + $qry .= ' GROUP BY semester, aktiv ORDER BY semester;'; + + if($this->db_query($qry)) + { + $lv_obj = array(); + while($row = $this->db_fetch_object()) + { + $sem = array(); + $sem["aktiv"] = $row->aktiv; + $sem["semester"] = $row->semester; + array_push($lv_obj, $sem); + } + return $lv_obj; + } + else + { + $this->errormsg = 'Fehler beim Lesen der Semester '; + return false; + } + } + + public function getVerbandFromSemester($studiengang_kz, $semester, $aktiv=false) + { + $qry = 'SELECT verband, aktiv, bezeichnung FROM public.tbl_lehrverband WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER).' AND semester='.$this->db_add_param($semester, FHC_INTEGER)." AND gruppe=' ' "; + if($aktiv) + $qry.=' AND aktiv=true'; + $qry .= ' GROUP BY verband, aktiv, bezeichnung ORDER BY verband;'; + + if($this->db_query($qry)) + { + $lv_obj = array(); + while($row = $this->db_fetch_object()) + { + $verb = array(); + $verb["verband"] = $row->verband; + $verb["aktiv"] = $row->aktiv; + $verb["bezeichnung"] = $row->bezeichnung; + array_push($lv_obj, $verb); + } + return $lv_obj; + } + else + { + $this->errormsg = 'Fehler beim Lesen der Lehrverbaende '; + return false; + } + } + + public function getGruppeFromVerband($studiengang_kz, $semester, $verband, $aktiv=false) + { + $qry = 'SELECT gruppe, bezeichnung, aktiv FROM public.tbl_lehrverband WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER).' AND semester='.$this->db_add_param($semester, FHC_INTEGER).' AND verband='.$this->db_add_param($verband, FHC_STRING); + if($aktiv) + { + $qry.=' AND aktiv=true'; + } + $qry .= ' GROUP BY gruppe, bezeichnung, aktiv ORDER BY gruppe;'; + if($this->db_query($qry)) + { + + $lv_obj = array(); + + while($row = $this->db_fetch_object()) + { + $grp = array(); + $grp["bezeichnung"] = $row->bezeichnung; + $grp["gruppe"] = $row->gruppe; + $grp["aktiv"] = $row->aktiv; + array_push($lv_obj, $grp); + } + return $lv_obj; + } + else + { + $this->errormsg = 'Fehler beim Lesen der Lehrverbaende '; + return false; + } + } + + /** + * Speichert Lehrverband in die Datenbank + * Wenn $new auf true gesetzt ist wird ein neuer Datensatz + * angelegt, ansonsten der Datensatz upgedated + * @return true wenn erfolgreich, false im Fehlerfall + */ + public function save($new=null) + { + if($new==null) + $new = $this->new; + + //Variablen auf Gueltigkeit pruefen + if(!$this->validate()) + return false; + + if($new) + { + $qry = 'INSERT INTO public.tbl_lehrverband (studiengang_kz, semester, verband, gruppe, aktiv, bezeichnung, orgform_kurzbz) + VALUES('.$this->db_add_param($this->studiengang_kz, FHC_INTEGER).','. + $this->db_add_param($this->semester, FHC_INTEGER).','. + $this->db_add_param($this->verband).','. + $this->db_add_param($this->gruppe).','. + $this->db_add_param($this->aktiv, FHC_BOOLEAN).','. + $this->db_add_param($this->bezeichnung).','. + $this->db_add_param($this->orgform_kurzbz).');'; + } + else + { + $qry = "UPDATE public.tbl_lehrverband SET ". + " aktiv=".$this->db_add_param($this->aktiv, FHC_BOOLEAN).", ". + " bezeichnung=".$this->db_add_param($this->bezeichnung).",". + " orgform_kurzbz=".$this->db_add_param($this->orgform_kurzbz). + " WHERE studiengang_kz=".$this->db_add_param($this->studiengang_kz, FHC_INTEGER). + " AND semester=".$this->db_add_param($this->semester, FHC_INTEGER). + " AND verband=".$this->db_add_param($this->verband). + " AND gruppe=".$this->db_add_param($this->gruppe).";"; + } + + if($this->db_query($qry)) + { + //Log schreiben + return true; + } + else + { + $this->errormsg = 'Fehler beim Speichern des Lehrverbands:'; + return false; + } + } +} +?> diff --git a/include/preoutgoing.class.php b/include/preoutgoing.class.php index 3c1d27f63..e63568c21 100755 --- a/include/preoutgoing.class.php +++ b/include/preoutgoing.class.php @@ -15,8 +15,9 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. * - * Authors: Karl Burkhart - * + * Authors: Karl Burkhart and + * Andreas Moik . + * */ /** * Klasse PreOutgoing @@ -31,58 +32,58 @@ class preoutgoing extends basis_db // Tabellenspalten tbl_preoutgoing public $preoutgoing_id; // serial - public $uid; // uid - public $dauer_von; // date - public $dauer_bis; // date - public $ansprechperson; // uid - public $bachelorarbeit; // boolean - public $masterarbeit; // boolean - public $projektarbeittitel; // varchar (128) - public $betreuer; // varchar(256) - public $sprachkurs; // boolean - public $intensivsprachkurs; // boolean - public $sprachkurs_von; // date - public $sprachkurs_bis; // date - public $praktikum; // boolean - public $praktikum_von; // date - public $praktikum_bis; // date - public $behinderungszuschuss; // boolean - public $studienbeihilfe; // boolean - public $anmerkung_student; // text - public $anmerkung_admin; // text - public $studienrichtung_gastuniversitaet; // varchar(64) - public $insertamum; // timestamp - public $insertvon; // uid - public $updateamum; // timestamp - public $updatevon; // uid - - /* Tabellenspalten tbl_preoutgoing_lehrveranstaltung */ - public $lehrveranstaltungen = array(); // preoutgoing objekte - public $preoutgoing_lehrveranstaltung_id; // serial - // public $preoutgoing_id; // integer - public $bezeichnung; // varchar(256) - public $ects; // numeric(5,2) - public $endversion; // boolean - public $wochenstunden; // numeric(5,2) - public $unitcode; // varchar(16) - - /* Tabellenspalten tbl_preoutgoing_status */ - public $stati = array(); // preoutgoing objekte - public $status_id; // serial - public $preoutgoing_status_kurzbz; // varchar(32) - // public $bezeichnung; // varchar(256) - // public $preoutgoing_id; // integer - public $datum; // date - - /* Tabellenspalten tbl_preoutgoing_firma */ - public $firmen = array(); // preoutgoing objekte - public $preoutgoing_firma_id; // serial - // public $preoutgoing_id; // integer - public $mobilitaetsprogramm_code; // integer - public $firma_id; // integer - public $name; // varchar(256) - public $auswahl; // boolean - + public $prestudent_id; // int + public $dauer_von; // date + public $dauer_bis; // date + public $ansprechperson; // uid + public $bachelorarbeit; // boolean + public $masterarbeit; // boolean + public $projektarbeittitel; // varchar (128) + public $betreuer; // varchar(256) + public $sprachkurs; // boolean + public $intensivsprachkurs; // boolean + public $sprachkurs_von; // date + public $sprachkurs_bis; // date + public $praktikum; // boolean + public $praktikum_von; // date + public $praktikum_bis; // date + public $behinderungszuschuss; // boolean + public $studienbeihilfe; // boolean + public $anmerkung_student; // text + public $anmerkung_admin; // text + public $studienrichtung_gastuniversitaet; // varchar(64) + public $insertamum; // timestamp + public $insertvon; // uid + public $updateamum; // timestamp + public $updatevon; // uid + + /* Tabellenspalten tbl_preoutgoing_lehrveranstaltung */ + public $lehrveranstaltungen = array(); // preoutgoing objekte + public $preoutgoing_lehrveranstaltung_id; // serial + // public $preoutgoing_id; // integer + public $bezeichnung; // varchar(256) + public $ects; // numeric(5,2) + public $endversion; // boolean + public $wochenstunden; // numeric(5,2) + public $unitcode; // varchar(16) + + /* Tabellenspalten tbl_preoutgoing_status */ + public $stati = array(); // preoutgoing objekte + public $status_id; // serial + public $preoutgoing_status_kurzbz; // varchar(32) + // public $bezeichnung; // varchar(256) + // public $preoutgoing_id; // integer + public $datum; // date + + /* Tabellenspalten tbl_preoutgoing_firma */ + public $firmen = array(); // preoutgoing objekte + public $preoutgoing_firma_id; // serial + // public $preoutgoing_id; // integer + public $mobilitaetsprogramm_code; // integer + public $firma_id; // integer + public $name; // varchar(256) + public $auswahl; // boolean + /** * Konstruktor @@ -91,7 +92,7 @@ class preoutgoing extends basis_db public function __construct($preoutgoing_id=null) { parent::__construct(); - + if(!is_null($preoutgoing_id)) $this->load($preoutgoing_id); } @@ -121,31 +122,31 @@ class preoutgoing extends basis_db if($row = $this->db_fetch_object()) { - $this->preoutgoing_id = $row->preoutgoing_id; - $this->uid = $row->uid; - $this->dauer_von = $row->dauer_von; - $this->dauer_bis = $row->dauer_bis; - $this->ansprechperson = $row->ansprechperson; - $this->bachelorarbeit = $this->db_parse_bool($row->bachelorarbeit); - $this->masterarbeit = $this->db_parse_bool($row->masterarbeit); - $this->projektarbeittitel = $row->projektarbeittitel; - $this->betreuer = $row->betreuer; - $this->sprachkurs = $this->db_parse_bool($row->sprachkurs); - $this->intensivsprachkurs = $this->db_parse_bool($row->intensivsprachkurs); - $this->sprachkurs_von = $row->sprachkurs_von; - $this->sprachkurs_bis = $row->sprachkurs_bis; - $this->praktikum = $this->db_parse_bool($row->praktikum); - $this->praktikum_von = $row->praktikum_von; - $this->praktikum_bis = $row->praktikum_bis; - $this->behinderungszuschuss = $this->db_parse_bool($row->behinderungszuschuss); - $this->studienbeihilfe = $this->db_parse_bool($row->studienbeihilfe); - $this->anmerkung_student = $row->anmerkung_student; - $this->anmerkung_admin = $row->anmerkung_admin; - $this->studienrichtung_gastuniversitaet = $row->studienrichtung_gastuniversitaet; - $this->insertamum = $row->insertamum; - $this->insertvon = $row->insertvon; - $this->updateamum = $row->updateamum; - $this->updatevon = $row->updatevon; + $this->preoutgoing_id = $row->preoutgoing_id; + $this->prestudent_id = $row->prestudent_id; + $this->dauer_von = $row->dauer_von; + $this->dauer_bis = $row->dauer_bis; + $this->ansprechperson = $row->ansprechperson; + $this->bachelorarbeit = $this->db_parse_bool($row->bachelorarbeit); + $this->masterarbeit = $this->db_parse_bool($row->masterarbeit); + $this->projektarbeittitel = $row->projektarbeittitel; + $this->betreuer = $row->betreuer; + $this->sprachkurs = $this->db_parse_bool($row->sprachkurs); + $this->intensivsprachkurs = $this->db_parse_bool($row->intensivsprachkurs); + $this->sprachkurs_von = $row->sprachkurs_von; + $this->sprachkurs_bis = $row->sprachkurs_bis; + $this->praktikum = $this->db_parse_bool($row->praktikum); + $this->praktikum_von = $row->praktikum_von; + $this->praktikum_bis = $row->praktikum_bis; + $this->behinderungszuschuss = $this->db_parse_bool($row->behinderungszuschuss); + $this->studienbeihilfe = $this->db_parse_bool($row->studienbeihilfe); + $this->anmerkung_student = $row->anmerkung_student; + $this->anmerkung_admin = $row->anmerkung_admin; + $this->studienrichtung_gastuniversitaet = $row->studienrichtung_gastuniversitaet; + $this->insertamum = $row->insertamum; + $this->insertvon = $row->insertvon; + $this->updateamum = $row->updateamum; + $this->updatevon = $row->updatevon; } else { @@ -155,14 +156,14 @@ class preoutgoing extends basis_db return true; } - - /** - * Liefert alle Outgoings zurück - */ - public function getAll() - { - $qry = "SELECT * FROM public.tbl_preoutgoing;"; - if(!$this->db_query($qry)) + + /** + * Liefert alle Outgoings zurück + */ + public function getAll() + { + $qry = "SELECT * FROM public.tbl_preoutgoing;"; + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler bei einer Datenbankabfrage'; return false; @@ -170,56 +171,56 @@ class preoutgoing extends basis_db while($row = $this->db_fetch_object()) { - $preoutgoing= new preoutgoing(); - - $preoutgoing->preoutgoing_id = $row->preoutgoing_id; - $preoutgoing->uid = $row->uid; - $preoutgoing->dauer_von = $row->dauer_von; - $preoutgoing->dauer_bis = $row->dauer_bis; - $preoutgoing->ansprechperson = $row->ansprechperson; - $preoutgoing->bachelorarbeit = $this->db_parse_bool($row->bachelorarbeit); - $preoutgoing->masterarbeit = $this->db_parse_bool($row->masterarbeit); - $preoutgoing->projektarbeittitel = $row->projektarbeittitel; - $preoutgoing->betreuer = $row->betreuer; - $preoutgoing->sprachkurs = $this->db_parse_bool($row->sprachkurs); - $preoutgoing->intensivsprachkurs = $this->db_parse_bool($row->intensivsprachkurs); - $preoutgoing->sprachkurs_von = $row->sprachkurs_von; - $preoutgoing->sprachkurs_bis = $row->sprachkurs_bis; - $preoutgoing->praktikum = $this->db_parse_bool($row->praktikum); - $preoutgoing->praktikum_von = $row->praktikum_von; - $preoutgoing->praktikum_bis = $row->praktikum_bis; - $preoutgoing->behinderungszuschuss = $this->db_parse_bool($row->behinderungszuschuss); - $preoutgoing->studienbeihilfe = $this->db_parse_bool($row->studienbeihilfe); - $preoutgoing->anmerkung_student = $row->anmerkung_student; - $preoutgoing->anmerkung_admin = $row->anmerkung_admin; - $preoutgoing->studienrichtung_gastuniversitaet = $row->studienrichtung_gastuniversitaet; - $preoutgoing->insertamum = $row->insertamum; - $preoutgoing->insertvon = $row->insertvon; - $preoutgoing->updateamum = $row->updateamum; - $preoutgoing->updatevon = $row->updatevon; - - $this->result[] = $preoutgoing; - } - return true; - } - - - /** - * Laedt die Preoutgoing Datensätze mit der uebergebenen uid es wird immer der neueste zurückgegeben - * @param $uid uid des zu ladenden Studenten + $preoutgoing= new preoutgoing(); + + $preoutgoing->preoutgoing_id = $row->preoutgoing_id; + $preoutgoing->prestudent_id = $row->prestudent_id; + $preoutgoing->dauer_von = $row->dauer_von; + $preoutgoing->dauer_bis = $row->dauer_bis; + $preoutgoing->ansprechperson = $row->ansprechperson; + $preoutgoing->bachelorarbeit = $this->db_parse_bool($row->bachelorarbeit); + $preoutgoing->masterarbeit = $this->db_parse_bool($row->masterarbeit); + $preoutgoing->projektarbeittitel = $row->projektarbeittitel; + $preoutgoing->betreuer = $row->betreuer; + $preoutgoing->sprachkurs = $this->db_parse_bool($row->sprachkurs); + $preoutgoing->intensivsprachkurs = $this->db_parse_bool($row->intensivsprachkurs); + $preoutgoing->sprachkurs_von = $row->sprachkurs_von; + $preoutgoing->sprachkurs_bis = $row->sprachkurs_bis; + $preoutgoing->praktikum = $this->db_parse_bool($row->praktikum); + $preoutgoing->praktikum_von = $row->praktikum_von; + $preoutgoing->praktikum_bis = $row->praktikum_bis; + $preoutgoing->behinderungszuschuss = $this->db_parse_bool($row->behinderungszuschuss); + $preoutgoing->studienbeihilfe = $this->db_parse_bool($row->studienbeihilfe); + $preoutgoing->anmerkung_student = $row->anmerkung_student; + $preoutgoing->anmerkung_admin = $row->anmerkung_admin; + $preoutgoing->studienrichtung_gastuniversitaet = $row->studienrichtung_gastuniversitaet; + $preoutgoing->insertamum = $row->insertamum; + $preoutgoing->insertvon = $row->insertvon; + $preoutgoing->updateamum = $row->updateamum; + $preoutgoing->updatevon = $row->updatevon; + + $this->result[] = $preoutgoing; + } + return true; + } + + + /** + * Laedt die Preoutgoing Datensätze mit der uebergebenen prestudent_id es wird immer der neueste zurückgegeben + * @param $prestudent_id prestudent_id des zu ladenden Studenten * @return true wenn ok, false im Fehlerfall */ - public function loadUid($uid) + public function loadPrestudent_id($prestudent_id) { //Pruefen ob id eine gueltige Zahl ist - if($uid == '') + if(!is_numeric($prestudent_id)) { - $this->errormsg = 'Ungültige UID'; + $this->errormsg = 'Ungültige prestudent_id'; return false; } //Daten aus der Datenbank lesen - $qry = "SELECT * FROM public.tbl_preoutgoing WHERE uid=".$this->db_add_param($uid).' ORDER BY insertamum DESC LIMIT 1;'; + $qry = "SELECT * FROM public.tbl_preoutgoing WHERE prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER).' ORDER BY insertamum DESC LIMIT 1;'; if(!$this->db_query($qry)) { @@ -229,39 +230,39 @@ class preoutgoing extends basis_db if($row = $this->db_fetch_object()) { - - $this->preoutgoing_id = $row->preoutgoing_id; - $this->uid = $row->uid; - $this->dauer_von = $row->dauer_von; - $this->dauer_bis = $row->dauer_bis; - $this->ansprechperson = $row->ansprechperson; - $this->bachelorarbeit = $this->db_parse_bool($row->bachelorarbeit); - $this->masterarbeit = $this->db_parse_bool($row->masterarbeit); - $this->projektarbeittitel = $row->projektarbeittitel; - $this->betreuer = $row->betreuer; - $this->sprachkurs = $this->db_parse_bool($row->sprachkurs); - $this->intensivsprachkurs = $this->db_parse_bool($row->intensivsprachkurs); - $this->sprachkurs_von = $row->sprachkurs_von; - $this->sprachkurs_bis = $row->sprachkurs_bis; - $this->praktikum = $this->db_parse_bool($row->praktikum); - $this->praktikum_von = $row->praktikum_von; - $this->praktikum_bis = $row->praktikum_bis; - $this->behinderungszuschuss = $this->db_parse_bool($row->behinderungszuschuss); - $this->studienbeihilfe = $this->db_parse_bool($row->studienbeihilfe); - $this->anmerkung_student = $row->anmerkung_student; - $this->anmerkung_admin = $row->anmerkung_admin; - $this->studienrichtung_gastuniversitaet = $row->studienrichtung_gastuniversitaet; - $this->insertamum = $row->insertamum; - $this->insertvon = $row->insertvon; - $this->updateamum = $row->updateamum; - $this->updatevon = $row->updatevon; + + $this->preoutgoing_id = $row->preoutgoing_id; + $this->prestudent_id = $row->prestudent_id; + $this->dauer_von = $row->dauer_von; + $this->dauer_bis = $row->dauer_bis; + $this->ansprechperson = $row->ansprechperson; + $this->bachelorarbeit = $this->db_parse_bool($row->bachelorarbeit); + $this->masterarbeit = $this->db_parse_bool($row->masterarbeit); + $this->projektarbeittitel = $row->projektarbeittitel; + $this->betreuer = $row->betreuer; + $this->sprachkurs = $this->db_parse_bool($row->sprachkurs); + $this->intensivsprachkurs = $this->db_parse_bool($row->intensivsprachkurs); + $this->sprachkurs_von = $row->sprachkurs_von; + $this->sprachkurs_bis = $row->sprachkurs_bis; + $this->praktikum = $this->db_parse_bool($row->praktikum); + $this->praktikum_von = $row->praktikum_von; + $this->praktikum_bis = $row->praktikum_bis; + $this->behinderungszuschuss = $this->db_parse_bool($row->behinderungszuschuss); + $this->studienbeihilfe = $this->db_parse_bool($row->studienbeihilfe); + $this->anmerkung_student = $row->anmerkung_student; + $this->anmerkung_admin = $row->anmerkung_admin; + $this->studienrichtung_gastuniversitaet = $row->studienrichtung_gastuniversitaet; + $this->insertamum = $row->insertamum; + $this->insertvon = $row->insertvon; + $this->updateamum = $row->updateamum; + $this->updatevon = $row->updatevon; } - else - return false; + else + return false; return true; } - + /** * Speichert den aktuellen Datensatz in die Datenbank * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt @@ -273,64 +274,64 @@ class preoutgoing extends basis_db if($this->new) { //Neuen Datensatz einfuegen - $qry='BEGIN;INSERT INTO public.tbl_preoutgoing (uid, dauer_von, dauer_bis, ansprechperson, bachelorarbeit, masterarbeit, projektarbeittitel, - betreuer, sprachkurs, intensivsprachkurs, sprachkurs_von, sprachkurs_bis, praktikum, praktikum_von, praktikum_bis, behinderungszuschuss, - studienbeihilfe, anmerkung_student, anmerkung_admin, studienrichtung_gastuniversitaet, insertamum, insertvon, updateamum, updatevon) - VALUES('. - $this->db_add_param($this->uid).', '. - $this->db_add_param($this->dauer_von).', '. - $this->db_add_param($this->dauer_bis).', '. - $this->db_add_param($this->ansprechperson).', '. - $this->db_add_param($this->bachelorarbeit, FHC_BOOLEAN).', '. - $this->db_add_param($this->masterarbeit, FHC_BOOLEAN).', '. - $this->db_add_param($this->projektarbeittitel).', '. - $this->db_add_param($this->betreuer).', '. - $this->db_add_param($this->sprachkurs, FHC_BOOLEAN).', '. - $this->db_add_param($this->intensivsprachkurs, FHC_BOOLEAN).', '. - $this->db_add_param($this->sprachkurs_von).', '. - $this->db_add_param($this->sprachkurs_bis).', '. - $this->db_add_param($this->praktikum, FHC_BOOLEAN).', '. - $this->db_add_param($this->praktikum_von).', '. - $this->db_add_param($this->praktikum_bis).', '. - $this->db_add_param($this->behinderungszuschuss, FHC_BOOLEAN).', '. - $this->db_add_param($this->studienbeihilfe, FHC_BOOLEAN).', '. - $this->db_add_param($this->anmerkung_student).', '. - $this->db_add_param($this->anmerkung_admin).', '. - $this->db_add_param($this->studienrichtung_gastuniversitaet).', '. - ' now(), '. - $this->db_add_param($this->insertamum).' , '. - ' now(), '. - $this->db_add_param($this->updatevon).');'; + $qry='BEGIN;INSERT INTO public.tbl_preoutgoing (prestudent_id, dauer_von, dauer_bis, ansprechperson, bachelorarbeit, masterarbeit, projektarbeittitel, + betreuer, sprachkurs, intensivsprachkurs, sprachkurs_von, sprachkurs_bis, praktikum, praktikum_von, praktikum_bis, behinderungszuschuss, + studienbeihilfe, anmerkung_student, anmerkung_admin, studienrichtung_gastuniversitaet, insertamum, insertvon, updateamum, updatevon) + VALUES('. + $this->db_add_param($this->prestudent_id).', '. + $this->db_add_param($this->dauer_von).', '. + $this->db_add_param($this->dauer_bis).', '. + $this->db_add_param($this->ansprechperson).', '. + $this->db_add_param($this->bachelorarbeit, FHC_BOOLEAN).', '. + $this->db_add_param($this->masterarbeit, FHC_BOOLEAN).', '. + $this->db_add_param($this->projektarbeittitel).', '. + $this->db_add_param($this->betreuer).', '. + $this->db_add_param($this->sprachkurs, FHC_BOOLEAN).', '. + $this->db_add_param($this->intensivsprachkurs, FHC_BOOLEAN).', '. + $this->db_add_param($this->sprachkurs_von).', '. + $this->db_add_param($this->sprachkurs_bis).', '. + $this->db_add_param($this->praktikum, FHC_BOOLEAN).', '. + $this->db_add_param($this->praktikum_von).', '. + $this->db_add_param($this->praktikum_bis).', '. + $this->db_add_param($this->behinderungszuschuss, FHC_BOOLEAN).', '. + $this->db_add_param($this->studienbeihilfe, FHC_BOOLEAN).', '. + $this->db_add_param($this->anmerkung_student).', '. + $this->db_add_param($this->anmerkung_admin).', '. + $this->db_add_param($this->studienrichtung_gastuniversitaet).', '. + ' now(), '. + $this->db_add_param($this->insertamum).' , '. + ' now(), '. + $this->db_add_param($this->updatevon).');'; } else { $qry='UPDATE public.tbl_preoutgoing SET'. - ' uid='.$this->db_add_param($this->uid).', '. + ' prestudent_id='.$this->db_add_param($this->prestudent_id).', '. ' dauer_von='.$this->db_add_param($this->dauer_von).', '. ' dauer_bis='.$this->db_add_param($this->dauer_bis).', '. - ' ansprechperson='.$this->db_add_param($this->ansprechperson).', '. - ' bachelorarbeit='.$this->db_add_param($this->bachelorarbeit, FHC_BOOLEAN).', '. - ' masterarbeit='.$this->db_add_param($this->masterarbeit, FHC_BOOLEAN).', '. - ' projektarbeittitel='.$this->db_add_param($this->projektarbeittitel).', '. + ' ansprechperson='.$this->db_add_param($this->ansprechperson).', '. + ' bachelorarbeit='.$this->db_add_param($this->bachelorarbeit, FHC_BOOLEAN).', '. + ' masterarbeit='.$this->db_add_param($this->masterarbeit, FHC_BOOLEAN).', '. + ' projektarbeittitel='.$this->db_add_param($this->projektarbeittitel).', '. ' betreuer='.$this->db_add_param($this->betreuer).', '. ' sprachkurs='.$this->db_add_param($this->sprachkurs, FHC_BOOLEAN).', '. - ' intensivsprachkurs='.$this->db_add_param($this->intensivsprachkurs, FHC_BOOLEAN).', '. - ' sprachkurs_von='.$this->db_add_param($this->sprachkurs_von).', '. + ' intensivsprachkurs='.$this->db_add_param($this->intensivsprachkurs, FHC_BOOLEAN).', '. + ' sprachkurs_von='.$this->db_add_param($this->sprachkurs_von).', '. ' sprachkurs_bis='.$this->db_add_param($this->sprachkurs_bis).', '. ' praktikum='.$this->db_add_param($this->praktikum, FHC_BOOLEAN).', '. - ' praktikum_von='.$this->db_add_param($this->praktikum_von).', '. - ' praktikum_bis='.$this->db_add_param($this->praktikum_bis).', '. + ' praktikum_von='.$this->db_add_param($this->praktikum_von).', '. + ' praktikum_bis='.$this->db_add_param($this->praktikum_bis).', '. ' behinderungszuschuss='.$this->db_add_param($this->behinderungszuschuss, FHC_BOOLEAN).', '. ' studienbeihilfe='.$this->db_add_param($this->studienbeihilfe, FHC_BOOLEAN).', '. - ' anmerkung_student='.$this->db_add_param($this->anmerkung_student).', '. - ' anmerkung_admin='.$this->db_add_param($this->anmerkung_admin).', '. - ' studienrichtung_gastuniversitaet='.$this->db_add_param($this->studienrichtung_gastuniversitaet).', '. + ' anmerkung_student='.$this->db_add_param($this->anmerkung_student).', '. + ' anmerkung_admin='.$this->db_add_param($this->anmerkung_admin).', '. + ' studienrichtung_gastuniversitaet='.$this->db_add_param($this->studienrichtung_gastuniversitaet).', '. ' updateamum= now(), '. - ' updatevon='.$this->db_add_param($this->updatevon).' - WHERE preoutgoing_id = '.$this->db_add_param($this->preoutgoing_id, FHC_INTEGER).';'; + ' updatevon='.$this->db_add_param($this->updatevon).' + WHERE preoutgoing_id = '.$this->db_add_param($this->preoutgoing_id, FHC_INTEGER).';'; } - + if($this->db_query($qry)) { if($this->new) @@ -362,40 +363,40 @@ class preoutgoing extends basis_db else { $this->errormsg = 'Fehler beim Speichern des Datensatzes'; - $this->errormsg = $qry; + $this->errormsg = $qry; return false; } return true; } - public function saveLv() - { - if($this->new) - { - $qry='BEGIN;INSERT INTO public.tbl_preoutgoing_lehrveranstaltung (preoutgoing_id, bezeichnung, wochenstunden, unitcode, ects, endversion, insertamum, insertvon, updateamum, updatevon) - VALUES('.$this->db_add_param($this->preoutgoing_id, FHC_INTEGER).', ' - .$this->db_add_param($this->bezeichnung).', ' - .$this->db_add_param($this->wochenstunden).', ' - .$this->db_add_param($this->unitcode).', ' - .$this->db_add_param($this->ects).', false, now(), ' - .$this->db_add_param($this->insertvon).', null, null );'; - } - else - { - $qry='UPDATE public.tbl_preoutgoing_lehrveranstaltung SET'. - ' preoutgoing_id='.$this->db_add_param($this->preoutgoing_id, FHC_INTEGER).', '. - ' bezeichnung='.$this->db_add_param($this->bezeichnung).', '. - ' wochenstunden='.$this->db_add_param($this->wochenstunden).', '. - ' unitcode='.$this->db_add_param($this->unitcode).', '. - ' ects='.$this->db_add_param($this->ects).', '. - ' endversion='.$this->db_add_param($this->endversion, FHC_BOOLEAN).', '. - ' updatevon ='.$this->db_add_param($this->updatevon).', '. - ' updateamum = now() - WHERE preoutgoing_lehrveranstaltung_id = '.$this->db_add_param($this->preoutgoing_lehrveranstaltung_id, FHC_INTEGER).';'; - } - - if($this->db_query($qry)) + public function saveLv() + { + if($this->new) + { + $qry='BEGIN;INSERT INTO public.tbl_preoutgoing_lehrveranstaltung (preoutgoing_id, bezeichnung, wochenstunden, unitcode, ects, endversion, insertamum, insertvon, updateamum, updatevon) + VALUES('.$this->db_add_param($this->preoutgoing_id, FHC_INTEGER).', ' + .$this->db_add_param($this->bezeichnung).', ' + .$this->db_add_param($this->wochenstunden).', ' + .$this->db_add_param($this->unitcode).', ' + .$this->db_add_param($this->ects).', false, now(), ' + .$this->db_add_param($this->insertvon).', null, null );'; + } + else + { + $qry='UPDATE public.tbl_preoutgoing_lehrveranstaltung SET'. + ' preoutgoing_id='.$this->db_add_param($this->preoutgoing_id, FHC_INTEGER).', '. + ' bezeichnung='.$this->db_add_param($this->bezeichnung).', '. + ' wochenstunden='.$this->db_add_param($this->wochenstunden).', '. + ' unitcode='.$this->db_add_param($this->unitcode).', '. + ' ects='.$this->db_add_param($this->ects).', '. + ' endversion='.$this->db_add_param($this->endversion, FHC_BOOLEAN).', '. + ' updatevon ='.$this->db_add_param($this->updatevon).', '. + ' updateamum = now() + WHERE preoutgoing_lehrveranstaltung_id = '.$this->db_add_param($this->preoutgoing_lehrveranstaltung_id, FHC_INTEGER).';'; + } + + if($this->db_query($qry)) { if($this->new) { @@ -428,256 +429,256 @@ class preoutgoing extends basis_db $this->errormsg = 'Fehler beim Speichern des Datensatzes'; return false; } - return true; - } - + return true; + } - /** - * - * @param type $preoutgoing_id - * @return boolean - */ - public function loadLvs($preoutgoing_id) - { + + /** + * + * @param type $preoutgoing_id + * @return boolean + */ + public function loadLvs($preoutgoing_id) + { //Pruefen ob id eine gueltige Zahl ist if(!is_numeric($preoutgoing_id) || $preoutgoing_id == '') { $this->errormsg = 'id muss eine Zahl sein'; return false; - } - $qry = "SELECT * FROM public.tbl_preoutgoing_lehrveranstaltung WHERE preoutgoing_id =".$this->db_add_param($preoutgoing_id); - - if($result = $this->db_query($qry)) - { - while($row = $this->db_fetch_object($result)) - { - $outLv = new preoutgoing(); - $outLv->preoutgoing_lehrveranstaltung_id = $row->preoutgoing_lehrveranstaltung_id; - $outLv->preoutgoing_id = $row->preoutgoing_id; - $outLv->bezeichnung = $row->bezeichnung; - $outLv->wochenstunden = $row->wochenstunden; - $outLv->unitcode = $row->unitcode; - $outLv->ects = $row->ects; - $outLv->endversion = $row->endversion; - $outLv->insertamum = $row->insertamum; - $outLv->insertvon = $row->insertvon; - $outLv->updateamum = $row->updateamum; - $outLv->updatevon = $row->updatevon; - - $this->lehrveranstaltungen[] =$outLv; - } - return true; - } - else - { - $this->errormsg = "Fehler bei der Abfrage aufgetreten"; - return false; - } - } - - - /** - * - * @param type $preoutgoing_lehrveranstaltung_id - * @return boolean - */ - public function deleteLv($preoutgoing_lehrveranstaltung_id) - { - //Pruefen ob id eine gueltige Zahl ist + } + $qry = "SELECT * FROM public.tbl_preoutgoing_lehrveranstaltung WHERE preoutgoing_id =".$this->db_add_param($preoutgoing_id); + + if($result = $this->db_query($qry)) + { + while($row = $this->db_fetch_object($result)) + { + $outLv = new preoutgoing(); + $outLv->preoutgoing_lehrveranstaltung_id = $row->preoutgoing_lehrveranstaltung_id; + $outLv->preoutgoing_id = $row->preoutgoing_id; + $outLv->bezeichnung = $row->bezeichnung; + $outLv->wochenstunden = $row->wochenstunden; + $outLv->unitcode = $row->unitcode; + $outLv->ects = $row->ects; + $outLv->endversion = $row->endversion; + $outLv->insertamum = $row->insertamum; + $outLv->insertvon = $row->insertvon; + $outLv->updateamum = $row->updateamum; + $outLv->updatevon = $row->updatevon; + + $this->lehrveranstaltungen[] =$outLv; + } + return true; + } + else + { + $this->errormsg = "Fehler bei der Abfrage aufgetreten"; + return false; + } + } + + + /** + * + * @param type $preoutgoing_lehrveranstaltung_id + * @return boolean + */ + public function deleteLv($preoutgoing_lehrveranstaltung_id) + { + //Pruefen ob id eine gueltige Zahl ist if(!is_numeric($preoutgoing_lehrveranstaltung_id) || $preoutgoing_lehrveranstaltung_id == '') { $this->errormsg = 'id muss eine Zahl sein'; return false; - } - - $qry = "DELETE FROM public.tbl_preoutgoing_lehrveranstaltung - WHERE preoutgoing_lehrveranstaltung_id =".$this->db_add_param($preoutgoing_lehrveranstaltung_id, FHC_INTEGER).";"; - - if(!$this->db_query($qry)) - { - $this->errormsg = "Fehler bei der Abfrage aufgetreten"; - return false; - } - - return true; - } - - /** - * - * @param type $preoutgoing_lehrveranstaltung_id - * @param type $preoutgoing_id - */ - public function checkLv($preoutgoing_lehrveranstaltung_id, $preoutgoing_id) - { - $qry ="SELECT 1 FROM public.tbl_preoutgoing_lehrveranstaltung - WHERE preoutgoing_lehrveranstaltung_id =".$this->db_add_param($preoutgoing_lehrveranstaltung_id, FHC_INTEGER)." AND - preoutgoing_id =".$this->db_add_param($preoutgoing_id, FHC_INTEGER).";"; - - if($result = $this->db_query($qry)) - { - if($this->db_fetch_object($result)) - return true; - else - return false; - } - } - - + } - /** - * - * @param type $preoutgoing_id - * @return boolean - */ - public function setAuswahlFirmaFalse($preoutgoing_id) - { - $qry = "UPDATE public.tbl_preoutgoing_firma SET auswahl = 'false' - WHERE preoutgoing_id = ".$this->db_add_param($preoutgoing_id, FHC_INTEGER).";"; - - if(!$this->db_query($qry)) - { - $this->errormsg = "Fehler bei der Abfrage aufgetreten"; - return false; - } - - return true; - } - - /** + $qry = "DELETE FROM public.tbl_preoutgoing_lehrveranstaltung + WHERE preoutgoing_lehrveranstaltung_id =".$this->db_add_param($preoutgoing_lehrveranstaltung_id, FHC_INTEGER).";"; + + if(!$this->db_query($qry)) + { + $this->errormsg = "Fehler bei der Abfrage aufgetreten"; + return false; + } + + return true; + } + + /** + * + * @param type $preoutgoing_lehrveranstaltung_id + * @param type $preoutgoing_id + */ + public function checkLv($preoutgoing_lehrveranstaltung_id, $preoutgoing_id) + { + $qry ="SELECT 1 FROM public.tbl_preoutgoing_lehrveranstaltung + WHERE preoutgoing_lehrveranstaltung_id =".$this->db_add_param($preoutgoing_lehrveranstaltung_id, FHC_INTEGER)." AND + preoutgoing_id =".$this->db_add_param($preoutgoing_id, FHC_INTEGER).";"; + + if($result = $this->db_query($qry)) + { + if($this->db_fetch_object($result)) + return true; + else + return false; + } + } + + + + /** + * + * @param type $preoutgoing_id + * @return boolean + */ + public function setAuswahlFirmaFalse($preoutgoing_id) + { + $qry = "UPDATE public.tbl_preoutgoing_firma SET auswahl = 'false' + WHERE preoutgoing_id = ".$this->db_add_param($preoutgoing_id, FHC_INTEGER).";"; + + if(!$this->db_query($qry)) + { + $this->errormsg = "Fehler bei der Abfrage aufgetreten"; + return false; + } + + return true; + } + + /** * Laedt die Firmen die der Outgoing ausgesucht hat - * @param $uid uid des zu ladenden Studenten + * @param $preoutgoing_id preoutgoing_id des zu ladenden Outgoings * @return true wenn ok, false im Fehlerfall */ - public function loadAuswahlFirmen($preoutgoing_id) - { - //Pruefen ob id eine gueltige Zahl ist + public function loadAuswahlFirmen($preoutgoing_id) + { + //Pruefen ob id eine gueltige Zahl ist if(!is_numeric($preoutgoing_id) || $preoutgoing_id == '') { $this->errormsg = 'id muss eine Zahl sein'; return false; } - - $qry = "SELECT * FROM public.tbl_preoutgoing_firma - JOIN public.tbl_preoutgoing USING(preoutgoing_id) - WHERE preoutgoing_id = ".$this->db_add_param($preoutgoing_id, FHC_INTEGER)." ORDER BY preoutgoing_firma_id"; - - if($result = $this->db_query($qry)) - { - while($row = $this->db_fetch_object($result)) - { - $firma = new preoutgoing(); - - $firma->preoutgoing_firma_id = $row->preoutgoing_firma_id; - $firma->preoutgoing_id = $row->preoutgoing_id; - $firma->firma_id = $row->firma_id; - $firma->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code; - $firma->name = $row->name; - $firma->auswahl = $this->db_parse_bool($row->auswahl); - - $this->firmen[] = $firma; - } - } - else - { - $this->errormsg = "Fehler bei der Abfrage aufgetreten"; - return false; - } - } - - - /** - * Lädt die Ausgewählte Firma eines Outgoings - */ - public function loadAuswahl($preoutgoing_id) - { - //Pruefen ob id eine gueltige Zahl ist + + $qry = "SELECT * FROM public.tbl_preoutgoing_firma + JOIN public.tbl_preoutgoing USING(preoutgoing_id) + WHERE preoutgoing_id = ".$this->db_add_param($preoutgoing_id, FHC_INTEGER)." ORDER BY preoutgoing_firma_id"; + + if($result = $this->db_query($qry)) + { + while($row = $this->db_fetch_object($result)) + { + $firma = new preoutgoing(); + + $firma->preoutgoing_firma_id = $row->preoutgoing_firma_id; + $firma->preoutgoing_id = $row->preoutgoing_id; + $firma->firma_id = $row->firma_id; + $firma->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code; + $firma->name = $row->name; + $firma->auswahl = $this->db_parse_bool($row->auswahl); + + $this->firmen[] = $firma; + } + } + else + { + $this->errormsg = "Fehler bei der Abfrage aufgetreten"; + return false; + } + } + + + /** + * Lädt die Ausgewählte Firma eines Outgoings + */ + public function loadAuswahl($preoutgoing_id) + { + //Pruefen ob id eine gueltige Zahl ist if(!is_numeric($preoutgoing_id) || $preoutgoing_id == '') { $this->errormsg = 'id muss eine Zahl sein'; return false; - } - - $qry = "SELECT firma.* FROM public.tbl_preoutgoing_firma firma - JOIN public.tbl_preoutgoing USING(preoutgoing_id) - WHERE preoutgoing_id = ".$this->db_add_param($preoutgoing_id, FHC_INTEGER)." AND auswahl = 'true';"; - - if($result = $this->db_query($qry)) - { - if($row= $this->db_fetch_object($result)) - { - $this->preoutgoing_firma_id = $row->preoutgoing_firma_id; - $this->preoutgoing_id = $row->preoutgoing_id; - $this->firma_id = $row->firma_id; - $this->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code; - $this->name = $row->name; - $this->auswahl = $this->db_parse_bool($row->auswahl); - } - return true; - } - else - { - $this->errormsg = "Fehler bei der Abfrage aufgetreten"; - return false; - } - - - } - - /** - * Lädt eine firma mit übergebener firma_id vom outgoing - * @param type $preoutgoing_firma_id - * @return boolean - */ - public function loadFirma($preoutgoing_firma_id) - { - $qry='SELECT * FROM public.tbl_preoutgoing_firma WHERE preoutgoing_firma_id = '.$this->db_add_param($preoutgoing_firma_id, FHC_INTEGER).';'; - - if($this->db_query($qry)) - { - if($row=$this->db_fetch_object()) - { - $this->preoutgoing_firma_id = $row->preoutgoing_firma_id; - $this->preoutgoing_id = $row->preoutgoing_id; - $this->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code; - $this->firma_id = $row->firma_id; - $this->name = $row->name; - $this->auswahl = $this->db_parse_bool($row->auswahl); - } - } - else - { - $this->errormsg = "Fehler bei der Abfrage aufgetreten"; - return false; - } - - return true; - } - - - /** - * Speichert eine übergebene Firma zu einer preoutgoing_id - */ - public function saveFirma() - { - if($this->new) - { - $qry='BEGIN;INSERT INTO public.tbl_preoutgoing_firma (preoutgoing_id, mobilitaetsprogramm_code, firma_id, name, auswahl) - VALUES('.$this->db_add_param($this->preoutgoing_id, FHC_INTEGER).', ' - .$this->db_add_param($this->mobilitaetsprogramm_code, FHC_INTEGER).', ' - .$this->db_add_param($this->firma_id, FHC_INTEGER).', ' - .$this->db_add_param($this->name).', false );'; - } - else - { - $qry='UPDATE public.tbl_preoutgoing_firma SET'. + } + + $qry = "SELECT firma.* FROM public.tbl_preoutgoing_firma firma + JOIN public.tbl_preoutgoing USING(preoutgoing_id) + WHERE preoutgoing_id = ".$this->db_add_param($preoutgoing_id, FHC_INTEGER)." AND auswahl = 'true';"; + + if($result = $this->db_query($qry)) + { + if($row= $this->db_fetch_object($result)) + { + $this->preoutgoing_firma_id = $row->preoutgoing_firma_id; + $this->preoutgoing_id = $row->preoutgoing_id; + $this->firma_id = $row->firma_id; + $this->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code; + $this->name = $row->name; + $this->auswahl = $this->db_parse_bool($row->auswahl); + } + return true; + } + else + { + $this->errormsg = "Fehler bei der Abfrage aufgetreten"; + return false; + } + + + } + + /** + * Lädt eine firma mit übergebener firma_id vom outgoing + * @param type $preoutgoing_firma_id + * @return boolean + */ + public function loadFirma($preoutgoing_firma_id) + { + $qry='SELECT * FROM public.tbl_preoutgoing_firma WHERE preoutgoing_firma_id = '.$this->db_add_param($preoutgoing_firma_id, FHC_INTEGER).';'; + + if($this->db_query($qry)) + { + if($row=$this->db_fetch_object()) + { + $this->preoutgoing_firma_id = $row->preoutgoing_firma_id; + $this->preoutgoing_id = $row->preoutgoing_id; + $this->mobilitaetsprogramm_code = $row->mobilitaetsprogramm_code; + $this->firma_id = $row->firma_id; + $this->name = $row->name; + $this->auswahl = $this->db_parse_bool($row->auswahl); + } + } + else + { + $this->errormsg = "Fehler bei der Abfrage aufgetreten"; + return false; + } + + return true; + } + + + /** + * Speichert eine übergebene Firma zu einer preoutgoing_id + */ + public function saveFirma() + { + if($this->new) + { + $qry='BEGIN;INSERT INTO public.tbl_preoutgoing_firma (preoutgoing_id, mobilitaetsprogramm_code, firma_id, name, auswahl) + VALUES('.$this->db_add_param($this->preoutgoing_id, FHC_INTEGER).', ' + .$this->db_add_param($this->mobilitaetsprogramm_code, FHC_INTEGER).', ' + .$this->db_add_param($this->firma_id, FHC_INTEGER).', ' + .$this->db_add_param($this->name).', false );'; + } + else + { + $qry='UPDATE public.tbl_preoutgoing_firma SET'. ' mobilitaetsprogramm_code='.$this->db_add_param($this->mobilitaetsprogramm_code).', '. ' firma_id='.$this->db_add_param($this->firma_id, FHC_INTEGER).', '. ' name='.$this->db_add_param($this->name).', '. - ' auswahl='.$this->db_add_param($this->auswahl, FHC_BOOLEAN).' - WHERE preoutgoing_firma_id = '.$this->db_add_param($this->preoutgoing_firma_id, FHC_INTEGER).';'; - } - - if($this->db_query($qry)) + ' auswahl='.$this->db_add_param($this->auswahl, FHC_BOOLEAN).' + WHERE preoutgoing_firma_id = '.$this->db_add_param($this->preoutgoing_firma_id, FHC_INTEGER).';'; + } + + if($this->db_query($qry)) { if($this->new) { @@ -710,65 +711,65 @@ class preoutgoing extends basis_db $this->errormsg = 'Fehler beim Speichern des Datensatzes'; return false; } - return true; - } + return true; + } - /** + /** * Liefert die Anzahl der eingetragen Firmen zu einem Outgoing zurück * @param $preoutgoing id des zu ladenden Studenten */ - public function getAnzahlFirma($preoutgoing_id) - { - //Pruefen ob id eine gueltige Zahl ist + public function getAnzahlFirma($preoutgoing_id) + { + //Pruefen ob id eine gueltige Zahl ist if(!is_numeric($preoutgoing_id) || $preoutgoing_id == '') { $this->errormsg = 'id muss eine Zahl sein'; return false; } - - $qry = "SELECT count(*) as anzahl FROM public.tbl_preoutgoing_firma - WHERE preoutgoing_id =".$this->db_add_param($preoutgoing_id, FHC_INTEGER).';'; - - if(!$this->db_query($qry)) - { - $this->errormsg = "Fehler bei der Abfrage aufgetreten"; - return false; - } - if($row = $this->db_fetch_object()) - { - return $row->anzahl; - } - else - { - $this->errormsg = "Fehler bei der Abfrage aufgetreten"; - return false; - } - } - - - /** + + $qry = "SELECT count(*) as anzahl FROM public.tbl_preoutgoing_firma + WHERE preoutgoing_id =".$this->db_add_param($preoutgoing_id, FHC_INTEGER).';'; + + if(!$this->db_query($qry)) + { + $this->errormsg = "Fehler bei der Abfrage aufgetreten"; + return false; + } + if($row = $this->db_fetch_object()) + { + return $row->anzahl; + } + else + { + $this->errormsg = "Fehler bei der Abfrage aufgetreten"; + return false; + } + } + + + /** * Löscht die übergebene Firma * @param $preoutgoing_firma_id id der zu löschenden Firma - */ - public function deleteFirma($preoutgoing_firma_id) - { - //Pruefen ob id eine gueltige Zahl ist + */ + public function deleteFirma($preoutgoing_firma_id) + { + //Pruefen ob id eine gueltige Zahl ist if(!is_numeric($preoutgoing_firma_id) || $preoutgoing_firma_id == '') { $this->errormsg = 'id muss eine Zahl sein'; return false; } - - $qry ="DELETE FROM public.tbl_preoutgoing_firma WHERE preoutgoing_firma_id =".$this->db_add_param($preoutgoing_firma_id, FHC_INTEGER).';'; - - if(!$this->db_query($qry)) - { - $this->errormsg ="Fehler beim löschen aufgetreten"; - return false; - } - return true; - } - + + $qry ="DELETE FROM public.tbl_preoutgoing_firma WHERE preoutgoing_firma_id =".$this->db_add_param($preoutgoing_firma_id, FHC_INTEGER).';'; + + if(!$this->db_query($qry)) + { + $this->errormsg ="Fehler beim löschen aufgetreten"; + return false; + } + return true; + } + /** * Loescht den Outgoing Datenensatz mit der ID die uebergeben wird * @param $preoutgoing_id ID die geloescht werden soll @@ -796,69 +797,69 @@ class preoutgoing extends basis_db return false; } } - - /** - * Speichert einen Status zu einem Outgoing - * @param $preoutgoing_id id des Outgoings - * @param $status_kurzbz Kurzbz des Status der eingefügt wird - * @return true bei erfolg - * @return false bei einem Fehler - */ + + /** + * Speichert einen Status zu einem Outgoing + * @param $preoutgoing_id id des Outgoings + * @param $status_kurzbz Kurzbz des Status der eingefügt wird + * @return true bei erfolg + * @return false bei einem Fehler + */ public function setStatus($preoutgoing_id, $status_kurzbz) - { - if($this->checkStatus($preoutgoing_id, $status_kurzbz)) - return true; - - $qry='BEGIN;INSERT INTO public.tbl_preoutgoing_preoutgoing_status (preoutgoing_status_kurzbz, preoutgoing_id, datum, insertamum, insertvon, updateamum, updatevon) - VALUES('.$this->db_add_param($status_kurzbz).', ' - .$this->db_add_param($preoutgoing_id, FHC_INTEGER).', - now(), now(), null, null, null);'; - - if($this->db_query($qry)) + { + if($this->checkStatus($preoutgoing_id, $status_kurzbz)) + return true; + + $qry='BEGIN;INSERT INTO public.tbl_preoutgoing_preoutgoing_status (preoutgoing_status_kurzbz, preoutgoing_id, datum, insertamum, insertvon, updateamum, updatevon) + VALUES('.$this->db_add_param($status_kurzbz).', ' + .$this->db_add_param($preoutgoing_id, FHC_INTEGER).', + now(), now(), null, null, null);'; + + if($this->db_query($qry)) { - //aktuelle ID aus der Sequence holen - $qry="SELECT currval('seq_preoutgoing_preoutgoing_status_status_id') as id;"; - if($this->db_query($qry)) + //aktuelle ID aus der Sequence holen + $qry="SELECT currval('seq_preoutgoing_preoutgoing_status_status_id') as id;"; + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) { - if($row = $this->db_fetch_object()) - { - $this->status_id = $row->id; - $this->db_query('COMMIT'); - } - else - { - $this->db_query('ROLLBACK'); - $this->errormsg = "Fehler beim Auslesen der Sequence"; - return false; - } + $this->status_id = $row->id; + $this->db_query('COMMIT'); } else { $this->db_query('ROLLBACK'); - $this->errormsg = 'Fehler beim Auslesen der Sequence'; + $this->errormsg = "Fehler beim Auslesen der Sequence"; return false; - } + } + } + else + { + $this->db_query('ROLLBACK'); + $this->errormsg = 'Fehler beim Auslesen der Sequence'; + return false; + } } else { $this->errormsg = 'Fehler beim Speichern des Datensatzes'; return false; } - return true; - } - + return true; + } + /** * Prueft ob der Status bereits zu dem Preoutging zugeordnet ist - * + * * @param $preoutgoing_id * @param $status_kurzbz - * @return boolean true wenn bereits zugeordnet, sonst false + * @return boolean true wenn bereits zugeordnet, sonst false */ public function checkStatus($preoutgoing_id, $status_kurzbz) { - $qry = "SELECT 1 FROM public.tbl_preoutgoing_preoutgoing_status - WHERE - preoutgoing_id=".$this->db_add_param($preoutgoing_id, FHC_INTEGER)." + $qry = "SELECT 1 FROM public.tbl_preoutgoing_preoutgoing_status + WHERE + preoutgoing_id=".$this->db_add_param($preoutgoing_id, FHC_INTEGER)." AND preoutgoing_status_kurzbz =".$this->db_add_param($status_kurzbz).";"; if($result = $this->db_query($qry)) @@ -874,70 +875,71 @@ class preoutgoing extends basis_db return false; } } - - /** - * Liefert Alle Stati eines Outgoings zurück - * @param type $preoutgoing_id - * @return boolean - */ - public function getAllStatus($preoutgoing_id) - { - $qry = "SELECT * FROM public.tbl_preoutgoing_preoutgoing_status - WHERE - preoutgoing_id=".$this->db_add_param($preoutgoing_id, FHC_INTEGER); - - if($result = $this->db_query($qry)) - { - while($row = $this->db_fetch_object($result)) - { - $out = new preoutgoing(); - $out->status_id = $row->status_id; - $out->preoutgoing_status_kurzbz = $row->preoutgoing_status_kurzbz; - $out->preoutgoing_id = $row->preoutgoing_id; - $out->datum = $row->datum; - $out->insertamum = $row->insertamum; - $out->insertvon = $row->insertvon; - $out->updateamum = $row->updateamum; - $out->updatevon = $row-> updatevon; - - $this->stati[]=$out; - } - return true; - } - else - { - $this->errormsg = "Fehler bei der Abfrage aufgetreten"; - return false; - } - } - - /** - * Liefert Outgoings anhand bestimmter Kriterien zurück - * - * @param $name - * @param $von - * @param $bis - * @param $status - * @return boolean - */ - public function getOutgoingFilter($name ='', $von ='', $bis='', $status='') - { - $qry ="SELECT distinct(pre.preoutgoing_id), person.vorname, person.nachname, pre.* FROM public.tbl_preoutgoing pre - LEFT JOIN public.tbl_preoutgoing_preoutgoing_status status USING(preoutgoing_id) - JOIN public.tbl_benutzer benutzer USING(uid) - JOIN public.tbl_person person USING(person_id) - WHERE (vorname LIKE '%".$name."%' OR nachname LIKE'%".$name."%')"; - - if($von != '') - $qry.=" AND pre.dauer_von >=".$this->db_add_param($von, FHC_STRING); - - if($bis != '') - $qry.= " AND pre.dauer_bis <=".$this->db_add_param ($bis, FHC_STRING); - - if($status != '') - $qry.= "AND status.preoutgoing_status_kurzbz =".$this->db_add_param ($status, FHC_STRING); - if(!$this->db_query($qry)) + /** + * Liefert Alle Stati eines Outgoings zurück + * @param type $preoutgoing_id + * @return boolean + */ + public function getAllStatus($preoutgoing_id) + { + $qry = "SELECT * FROM public.tbl_preoutgoing_preoutgoing_status + WHERE + preoutgoing_id=".$this->db_add_param($preoutgoing_id, FHC_INTEGER); + + if($result = $this->db_query($qry)) + { + while($row = $this->db_fetch_object($result)) + { + $out = new preoutgoing(); + $out->status_id = $row->status_id; + $out->preoutgoing_status_kurzbz = $row->preoutgoing_status_kurzbz; + $out->preoutgoing_id = $row->preoutgoing_id; + $out->datum = $row->datum; + $out->insertamum = $row->insertamum; + $out->insertvon = $row->insertvon; + $out->updateamum = $row->updateamum; + $out->updatevon = $row-> updatevon; + + $this->stati[]=$out; + } + return true; + } + else + { + $this->errormsg = "Fehler bei der Abfrage aufgetreten"; + return false; + } + } + + /** + * Liefert Outgoings anhand bestimmter Kriterien zurück + * + * @param $name + * @param $von + * @param $bis + * @param $status + * @return boolean + */ + public function getOutgoingFilter($name ='', $von ='', $bis='', $status='') + { + $qry ="SELECT distinct(pre.preoutgoing_id), person.vorname, person.nachname, pre.* FROM public.tbl_preoutgoing pre + LEFT JOIN public.tbl_preoutgoing_preoutgoing_status status USING(preoutgoing_id) + JOIN public.tbl_prestudent benutzer USING(prestudent_id) + JOIN public.tbl_benutzer benutzer USING(uid) + JOIN public.tbl_person person USING(person_id) + WHERE (vorname LIKE '%".$name."%' OR nachname LIKE'%".$name."%')"; + + if($von != '') + $qry.=" AND pre.dauer_von >=".$this->db_add_param($von, FHC_STRING); + + if($bis != '') + $qry.= " AND pre.dauer_bis <=".$this->db_add_param ($bis, FHC_STRING); + + if($status != '') + $qry.= "AND status.preoutgoing_status_kurzbz =".$this->db_add_param ($status, FHC_STRING); + + if(!$this->db_query($qry)) { $this->errormsg = 'Fehler bei einer Datenbankabfrage'; return false; @@ -945,115 +947,112 @@ class preoutgoing extends basis_db while($row = $this->db_fetch_object()) { - $preoutgoing= new preoutgoing(); - - $preoutgoing->preoutgoing_id = $row->preoutgoing_id; - $preoutgoing->uid = $row->uid; - $preoutgoing->dauer_von = $row->dauer_von; - $preoutgoing->dauer_bis = $row->dauer_bis; - $preoutgoing->ansprechperson = $row->ansprechperson; - $preoutgoing->bachelorarbeit = $this->db_parse_bool($row->bachelorarbeit); - $preoutgoing->masterarbeit = $this->db_parse_bool($row->masterarbeit); - $preoutgoing->projektarbeittitel = $this->projektarbeittitel; - $preoutgoing->betreuer = $row->betreuer; - $preoutgoing->sprachkurs = $this->db_parse_bool($row->sprachkurs); - $preoutgoing->intensivsprachkurs = $this->db_parse_bool($row->intensivsprachkurs); - $preoutgoing->sprachkurs_von = $row->sprachkurs_von; - $preoutgoing->sprachkurs_bis = $row->sprachkurs_bis; - $preoutgoing->praktikum = $this->db_parse_bool($row->praktikum); - $preoutgoing->praktikum_von = $row->praktikum_von; - $preoutgoing->praktikum_bis = $row->praktikum_bis; - $preoutgoing->behinderungszuschuss = $this->db_parse_bool($row->behinderungszuschuss); - $preoutgoing->studienbeihilfe = $this->db_parse_bool($row->studienbeihilfe); - $preoutgoing->anmerkung_student = $row->anmerkung_student; - $preoutgoing->anmerkung_admin = $row->anmerkung_admin; - $preoutgoing->studienrichtung_gastuniversitaet = $row->studienrichtung_gastuniversitaet; - $preoutgoing->insertamum = $row->insertamum; - $preoutgoing->insertvon = $row->insertvon; - $preoutgoing->updateamum = $row->updateamum; - $preoutgoing->updatevon = $row->updatevon; - - $this->result[] = $preoutgoing; - } - return true; - } - - /** - * Liefert alle Status_kurzbz zurück - * @return boolean - */ - public function getAllStatiKurzbz() - { - $qry = "SELECT * FROM public.tbl_preoutgoing_status"; - - if(!$this->db_query($qry)) - { - $this->errormsg = 'Fehler bei der Abfrage aufgetreten'; - return false; - } - - while($row= $this->db_fetch_object()) - { - $preoutgoing = new preoutgoing(); - $preoutgoing->preoutgoing_status_kurzbz = $row->preoutgoing_status_kurzbz; - $preoutgoing->bezeichnung = $row->bezeichnung; - - $this->stati[] = $preoutgoing; - } - return true; - } - - - /** - * Liefert alle Aktuell im Ausland befindlichen Outgoings zurück - * @return boolean - */ - public function getAktuellOutgoing() - { - $qry = "SELECT * FROM public.tbl_preoutgoing where now() between dauer_von and dauer_bis;"; - //$qry = "SELECT * FROM public.tbl_preoutgoing WHERE dauer_von < CURRENT_DATE AND dauer_bis > CURRENT_DATE;"; - - if(!$this->db_query($qry)) - { - $this->errormsg = 'Fehler bei der Abfrage aufgetreten'; - return false; - } - - while($row = $this->db_fetch_object()) - { - $preoutgoing= new preoutgoing(); - - $preoutgoing->preoutgoing_id = $row->preoutgoing_id; - $preoutgoing->uid = $row->uid; - $preoutgoing->dauer_von = $row->dauer_von; - $preoutgoing->dauer_bis = $row->dauer_bis; - $preoutgoing->ansprechperson = $row->ansprechperson; - $preoutgoing->bachelorarbeit = $this->db_parse_bool($row->bachelorarbeit); - $preoutgoing->projektarbeittitel = $row->projektarbeittitel; - $preoutgoing->masterarbeit = $this->db_parse_bool($row->masterarbeit); - $preoutgoing->betreuer = $row->betreuer; - $preoutgoing->sprachkurs = $this->db_parse_bool($row->sprachkurs); - $preoutgoing->intensivsprachkurs = $this->db_parse_bool($row->intensivsprachkurs); - $preoutgoing->sprachkurs_von = $row->sprachkurs_von; - $preoutgoing->sprachkurs_bis = $row->sprachkurs_bis; - $preoutgoing->praktikum = $this->db_parse_bool($row->praktikum); - $preoutgoing->praktikum_von = $row->praktikum_von; - $preoutgoing->praktikum_bis = $row->praktikum_bis; - $preoutgoing->behinderungszuschuss = $this->db_parse_bool($row->behinderungszuschuss); - $preoutgoing->studienbeihilfe = $this->db_parse_bool($row->studienbeihilfe); - $preoutgoing->anmerkung_student = $row->anmerkung_student; - $preoutgoing->anmerkung_admin = $row->anmerkung_admin; - $preoutgoing->studienrichtung_gastuniversitaet = $row->studienrichtung_gastuniversitaet; - $preoutgoing->insertamum = $row->insertamum; - $preoutgoing->insertvon = $row->insertvon; - $preoutgoing->updateamum = $row->updateamum; - $preoutgoing->updatevon = $row->updatevon; - - $this->result[] = $preoutgoing; - } - return true; - } - + $preoutgoing= new preoutgoing(); + $preoutgoing->preoutgoing_id = $row->preoutgoing_id; + $preoutgoing->prestudent_id = $row->prestudent_id; + $preoutgoing->dauer_von = $row->dauer_von; + $preoutgoing->dauer_bis = $row->dauer_bis; + $preoutgoing->ansprechperson = $row->ansprechperson; + $preoutgoing->bachelorarbeit = $this->db_parse_bool($row->bachelorarbeit); + $preoutgoing->masterarbeit = $this->db_parse_bool($row->masterarbeit); + $preoutgoing->projektarbeittitel = $this->projektarbeittitel; + $preoutgoing->betreuer = $row->betreuer; + $preoutgoing->sprachkurs = $this->db_parse_bool($row->sprachkurs); + $preoutgoing->intensivsprachkurs = $this->db_parse_bool($row->intensivsprachkurs); + $preoutgoing->sprachkurs_von = $row->sprachkurs_von; + $preoutgoing->sprachkurs_bis = $row->sprachkurs_bis; + $preoutgoing->praktikum = $this->db_parse_bool($row->praktikum); + $preoutgoing->praktikum_von = $row->praktikum_von; + $preoutgoing->praktikum_bis = $row->praktikum_bis; + $preoutgoing->behinderungszuschuss = $this->db_parse_bool($row->behinderungszuschuss); + $preoutgoing->studienbeihilfe = $this->db_parse_bool($row->studienbeihilfe); + $preoutgoing->anmerkung_student = $row->anmerkung_student; + $preoutgoing->anmerkung_admin = $row->anmerkung_admin; + $preoutgoing->studienrichtung_gastuniversitaet = $row->studienrichtung_gastuniversitaet; + $preoutgoing->insertamum = $row->insertamum; + $preoutgoing->insertvon = $row->insertvon; + $preoutgoing->updateamum = $row->updateamum; + $preoutgoing->updatevon = $row->updatevon; + + $this->result[] = $preoutgoing; + } + return true; + } + + /** + * Liefert alle Status_kurzbz zurück + * @return boolean + */ + public function getAllStatiKurzbz() + { + $qry = "SELECT * FROM public.tbl_preoutgoing_status"; + + if(!$this->db_query($qry)) + { + $this->errormsg = 'Fehler bei der Abfrage aufgetreten'; + return false; + } + + while($row= $this->db_fetch_object()) + { + $preoutgoing = new preoutgoing(); + $preoutgoing->preoutgoing_status_kurzbz = $row->preoutgoing_status_kurzbz; + $preoutgoing->bezeichnung = $row->bezeichnung; + + $this->stati[] = $preoutgoing; + } + return true; + } + + + /** + * Liefert alle Aktuell im Ausland befindlichen Outgoings zurück + * @return boolean + */ + public function getAktuellOutgoing() + { + $qry = "SELECT * FROM public.tbl_preoutgoing where now() between dauer_von and dauer_bis;"; + + if(!$this->db_query($qry)) + { + $this->errormsg = 'Fehler bei der Abfrage aufgetreten'; + return false; + } + + while($row = $this->db_fetch_object()) + { + $preoutgoing= new preoutgoing(); + + $preoutgoing->preoutgoing_id = $row->preoutgoing_id; + $preoutgoing->prestudent_id = $row->prestudent_id; + $preoutgoing->dauer_von = $row->dauer_von; + $preoutgoing->dauer_bis = $row->dauer_bis; + $preoutgoing->ansprechperson = $row->ansprechperson; + $preoutgoing->bachelorarbeit = $this->db_parse_bool($row->bachelorarbeit); + $preoutgoing->projektarbeittitel = $row->projektarbeittitel; + $preoutgoing->masterarbeit = $this->db_parse_bool($row->masterarbeit); + $preoutgoing->betreuer = $row->betreuer; + $preoutgoing->sprachkurs = $this->db_parse_bool($row->sprachkurs); + $preoutgoing->intensivsprachkurs = $this->db_parse_bool($row->intensivsprachkurs); + $preoutgoing->sprachkurs_von = $row->sprachkurs_von; + $preoutgoing->sprachkurs_bis = $row->sprachkurs_bis; + $preoutgoing->praktikum = $this->db_parse_bool($row->praktikum); + $preoutgoing->praktikum_von = $row->praktikum_von; + $preoutgoing->praktikum_bis = $row->praktikum_bis; + $preoutgoing->behinderungszuschuss = $this->db_parse_bool($row->behinderungszuschuss); + $preoutgoing->studienbeihilfe = $this->db_parse_bool($row->studienbeihilfe); + $preoutgoing->anmerkung_student = $row->anmerkung_student; + $preoutgoing->anmerkung_admin = $row->anmerkung_admin; + $preoutgoing->studienrichtung_gastuniversitaet = $row->studienrichtung_gastuniversitaet; + $preoutgoing->insertamum = $row->insertamum; + $preoutgoing->insertvon = $row->insertvon; + $preoutgoing->updateamum = $row->updateamum; + $preoutgoing->updatevon = $row->updatevon; + + $this->result[] = $preoutgoing; + } + return true; + } } -?> \ No newline at end of file +?> diff --git a/include/prestudent.class.php b/include/prestudent.class.php index 23302b4ae..72a1c7179 100755 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -36,7 +36,7 @@ $p = new phrasen($sprache); class prestudent extends person { //Tabellenspalten - public $prestudent_id; // varchar(16) + public $prestudent_id; // int public $uid; public $perskz; public $aufmerksamdurch_kurzbz; @@ -2009,4 +2009,33 @@ class prestudent extends person return false; } + + + /** + * Laedt die Prestudent_id anhand des Personenkennzeichens + * @param Personenkennzeichen + * @return prestudent_id wenn ok, false wenn Fehler + */ + function getPreIdFromPerskz($perskz) + { + $qry = "SELECT prestudent_id FROM public.tbl_prestudent WHERE perskz=".$this->db_add_param($perskz); + + if($this->db_query($qry)) + { + if($row = $this->db_fetch_object()) + { + return $row->prestudent_id; + } + else + { + $this->errormsg = 'Prestudent nicht gefunden'; + return false; + } + } + else + { + $this->errormsg = 'Fehler beim Laden der Daten'; + return false; + } + } } diff --git a/rdf/PHPRequest.txt b/rdf/PHPRequest.txt index ed31ab386..a52096c87 100644 --- a/rdf/PHPRequest.txt +++ b/rdf/PHPRequest.txt @@ -1,24 +1,24 @@ - array ('method'=>'GET', 'header'=>$header)); -$ctx = stream_context_create($opts); - -//RDF holen -$xml = file_get_contents($url,false,$ctx); - -//Weiterverarbeitung mit SimpleXML etc -//... - -echo htmlentities($xml); -?> \ No newline at end of file + array ('method'=>'GET', 'header'=>$header)); +$ctx = stream_context_create($opts); + +//RDF holen +$xml = file_get_contents($url,false,$ctx); + +//Weiterverarbeitung mit SimpleXML etc +//... + +echo htmlentities($xml); +?> diff --git a/rdf/index.html b/rdf/index.html index a7ef75b35..bf75d7754 100644 --- a/rdf/index.html +++ b/rdf/index.html @@ -1,302 +1,303 @@ - - - - -RDF-Spezifikationen FHComplete - - -

RDF-Spezifikationen - FHComplete

-
-Diese Seite beschreibt den Inhalt und die Verwendung aller vorhandenen -RDF-Files des FHComplete Systems. Die gesamte RDF-Struktur ist gerade im -Aufbau und kann sich deshalb jederzeit ändern. Es sei darauf -hingewiesen, dass die RDF-Files von heute, morgen vielleicht gar nicht -mehr oder anders zu verwenden sind.
-Um die Last auf unseren Servern zu minimieren, empfehlen wir, die Daten -1x pro Monat/Woche/Nacht in ihr eigenes System zu syncronisieren.
-
-Ein Beispiel wie sie die RDFs per PHP auslesen können finden Sie hier
-
-

Student

-Aufruf: -student.rdf.php?studiengang_kz=...&semester=...&verband=...&gruppe=...&gruppe_kurzbz=...&uid=...&studiensemester_kurzbz=...
-Beispiel: student.rdf.php?studiengang_kz=227&semester=1&studiensemester_kurzbz=WS2008&typ=student
-
-Parameter
:
-
    -
  • studiengang_kz: Studiengangskennzahl
    -
  • -
  • studiensemester_kurzbz: Studiensemester (WS2008, SS2009, -WS2009,...)
    -
  • -
  • semester: Semester (optional)
    -
  • -
  • verband: Verband (optional)
  • -
  • gruppe: Gruppe (optional)
  • -
  • gruppe_kurzbz: Spezialgruppen, Module, ... (optional)
  • -
  • uid: UID eines bestimmten Studenten (Wenn gesetzt werden alle -anderen Parameter nicht verwendet)
  • -
  • typ: Typ der gelieferten Personen (student, prestudent, -interressent, bewerber, aufgenommen, warteliste, absage, zgv, -reihungstestangeledet, reihungstestnichtangemeldet, absolvent, -diplomand)
  • -
  • prestudent_id: Prestudent_id
  • -
  • xmlformat: Wenn xmlformat=xml dann wird ein XML statt dem RDF -geliefert
  • -
  • filter: Alle Personen die filter im Nachnamen enthalten
  • -
-
-Attribute:

-
    -
-
    -
  • person_id
  • -
  • titelpre
  • -
  • titelpost
  • -
  • vornamen
  • -
  • vorname
  • -
  • nachname
  • -
  • geburtsdatum
  • -
  • geburtsdatum_iso
  • -
  • homepage
  • -
  • gebort
  • -
  • gebzeit
  • -
  • anmerkungen
  • -
  • anrede
  • -
  • svnr
  • -
  • ersatzkennzeichen
  • -
  • familienstand
  • -
  • geschlecht
  • -
  • anzahlkinder
  • -
  • staatsbuergerschaft
  • -
  • geburtsnation
  • -
  • sprache
  • -
  • status
  • -
  • orgform
  • -
  • mail_privat
  • -
  • mail_intern
  • -
  • aktiv
  • -
  • uid
  • -
  • matrikelnummer
  • -
  • alias
  • -
  • semester
  • -
  • verband
  • -
  • gruppe
  • -
  • studiengang_kz_student
  • -
  • prestudent_id
  • -
  • studiengang_kz_prestudent
  • -
  • studiengang_kz
  • -
  • aufmerksamdurch_kurzbz
  • -
  • studiengang
  • -
  • berufstaetigkeit_code
  • -
  • ausbildungcode
  • -
  • zgv_code
  • -
  • zgvort
  • -
  • zgvdatum
  • -
  • zgvdatum_iso
  • -
  • zgvmas_code
  • -
  • zgvmaort
  • -
  • zgvmadatum
  • -
  • zgvmadatum_iso
  • -
  • aufnahmeschluessel
  • -
  • facheinschlberuf
  • -
  • reihungstest_id
  • -
  • anmeldungreihungstest
  • -
  • anmeldungreihungstest_iso
  • -
  • reihungstestangetreten
  • -
  • punkte
  • -
  • punkte1
  • -
  • punkte2
  • -
  • bismelden
  • -
  • dual
  • -
  • dual_bezeichnung
  • -
  • anmerkungpre
  • -
-

Lehrstunde

-Aufruf: -lehrstunde.rdf.php?datum=...&datum_bis=...stg_kz=...&sem=...&ver=...&grp=...&einheit=...
-Beispiel: lehrstunde.rdf.php?datum=2006-03-20&type=verband&stg_kz=258
-
-Parameter
:
-
    -
  • datum
  • -
  • datum_bis: Endedatum (optional)
    -
  • -
  • stunde
  • -
  • type
  • -
  • stg_kz
  • -
  • sem
  • -
  • ver
  • -
  • grp
  • -
  • einheit
  • -
  • pers_uid
  • -
  • ort_kurzbz
    -
  • -
-
-Attribute:

-
    -
  • datum
  • -
  • stunde
  • -
  • unr
  • -
  • ort_kurzbz
  • -
  • lehrfach
  • -
  • lehrfach_bez
  • -
  • lehrform
  • -
  • lektor
  • -
  • semester
  • -
  • verband
  • -
  • gruppe
  • -
  • einheit
  • -
  • lehrform
  • -
  • studiengang
  • -
  • farbe
  • -
  • anmerkung
  • -
-
- -

LVInfo

-Liefert das RDF fuer die Lehrveranstaltungsinformationen.
-
-Aufruf: -lvinfo.rdf.php?stg_kz=...&semester=...

-Beispiele: - -Standardfilter:
-
    -
  • tbl_lehrveranstaltung.aktiv=true
  • -
  • tbl_lehrveranstaltung.lehre=true
  • -
  • tbl_lvinfo.aktiv=true
  • -
  • tbl_lvinfo.genehmigt=true
  • tbl_lehreinheitmitarbeiter muss gesetzt sein -
-Parameter:
-
    -
  • stg_kz - Studiengangskennzahl (optional wenn Mitarbeiter gesetzt)
  • -
  • studiensemester_kurzbz - Studiensemester (optional)
  • -
  • mitarbeiter_uid - Lehrbeauftragter (optional wenn Studiengang gesetzt)
  • -
  • semester - Semester (optional)
  • -
- -Attribute:
-
    -
  • lehrveranstaltung_id
  • -
  • kurzbz
  • -
  • bezeichnung
  • -
  • studiengang_kz
  • -
  • semester
  • -
  • lehreverzeichnis
  • -
  • unterrichtssprache
  • -
  • ects
  • -
  • semesterstunden
  • -
  • sprache
  • -
  • titel
  • -
  • lehrziele
  • -
  • lehrinhalte
  • -
  • methodik
  • -
  • voraussetzungen
  • -
  • unterlagen
  • -
  • pruefungsordnung
  • -
  • anmerkungen
  • -
  • kurzbeschreibung
  • -
  • orgform_kurzbz
  • -
  • incoming
  • -
-
-

Kontakt

-Liefert die Kontaktdaten von Personen
-Aufruf:
-    kontakt.rdf.php?person_id=...
-    kontakt.rdf.php?kontakt_id=...
-Beispiel: kontakt.rdf.php?person_id=5
-
-Parameter
:
-
    -
  • person_id oder
    -
  • -
  • kontakt_id
  • -
- -Attribute:
-
    -
  • kontakt_id
  • -
  • person_id
  • -
  • firma_id
  • -
  • firma_name
  • -
  • kontakttyp
  • -
  • anmerkung
  • -
  • kontakt
  • -
  • zustellung
  • -
  • updateamum
  • -
-

Adressen

-Liefert die Adressen von Personen
-Aufruf:
-    adresse.rdf.php?person_id=...
-    adresse.rdf.php?adresse_id=...
-Beispiel: adresse.rdf.php?person_id=5
-
-Parameter
:
-
    -
  • person_id oder
    -
  • -
  • kontakt_id
  • -
- -Attribute:
-
    -
  • adresse_id
  • -
  • person_id
  • -
  • name
  • -
  • strasse
  • -
  • plz
  • -
  • ort
  • -
  • gemeinde
  • -
  • nation
  • -
  • typ
  • -
  • typ_name
  • -
  • heimatadresse
  • -
  • zustelladresse
  • -
  • firma_id
  • -
  • firma_name
  • -
  • updateamum
  • -
-

Lektoren

-Liefert die Zuordnung von Mitarbeitern zu Organisationseinheiten (Fachbereich/ Studiengang)
-Ein Mitarbeiter ist immer nur einer Organisationseinheit zugeordnet
-Aufruf:
-    lektoren.rdf.php?studiengang_kz=...
-    lektoren.rdf.php?institut=...
-Beispiel: institut.rdf.php?institut=Mechatronics -

Parameter
: -
-
    -
  • studiengang_kz oder
    -
  • -
  • institut
  • -
- -Attribute:
-
    -
  • uid
  • -
  • person_id
  • -
  • anrede
  • -
  • titelpre
  • -
  • vorname
  • -
  • nachname
  • -
  • titelpost
  • -
  • email
  • -
  • fixangestellt
  • -
- - + + + + +RDF-Spezifikationen FHComplete + + +

RDF-Spezifikationen - FHComplete

+
+Diese Seite beschreibt den Inhalt und die Verwendung aller vorhandenen +RDF-Files des FHComplete Systems. Die gesamte RDF-Struktur ist gerade im +Aufbau und kann sich deshalb jederzeit ändern. Es sei darauf +hingewiesen, dass die RDF-Files von heute, morgen vielleicht gar nicht +mehr oder anders zu verwenden sind.
+Um die Last auf unseren Servern zu minimieren, empfehlen wir, die Daten +1x pro Monat/Woche/Nacht in ihr eigenes System zu syncronisieren.
+
+Ein Beispiel wie sie die RDFs per PHP auslesen können finden Sie hier
+
+

Student

+Aufruf: +student.rdf.php?studiengang_kz=...&semester=...&verband=...&gruppe=...&gruppe_kurzbz=...&prestudent_id=...&studiensemester_kurzbz=...
+Beispiel: student.rdf.php?studiengang_kz=227&semester=1&studiensemester_kurzbz=WS2008&typ=student
+
+Parameter
:
+
    +
  • studiengang_kz: Studiengangskennzahl
    +
  • +
  • studiensemester_kurzbz: Studiensemester (WS2008, SS2009, +WS2009,...)
    +
  • +
  • semester: Semester (optional)
    +
  • +
  • verband: Verband (optional)
  • +
  • gruppe: Gruppe (optional)
  • +
  • gruppe_kurzbz: Spezialgruppen, Module, ... (optional)
  • +
  • prestudent_id: prestudent_id eines bestimmten Studenten (Wenn gesetzt werden alle +anderen Parameter nicht verwendet)
  • +
  • typ: Typ der gelieferten Personen (student, prestudent, +interressent, bewerber, aufgenommen, warteliste, absage, zgv, +reihungstestangeledet, reihungstestnichtangemeldet, absolvent, +diplomand)
  • +
  • prestudent_id: Prestudent_id
  • +
  • xmlformat: Wenn xmlformat=xml dann wird ein XML statt dem RDF +geliefert
  • +
  • filter: Alle Personen die filter im Nachnamen enthalten
  • +
+
+Attribute:

+
    +
+
    +
  • person_id
  • +
  • prestudent_id
  • +
  • titelpre
  • +
  • titelpost
  • +
  • vornamen
  • +
  • vorname
  • +
  • nachname
  • +
  • geburtsdatum
  • +
  • geburtsdatum_iso
  • +
  • homepage
  • +
  • gebort
  • +
  • gebzeit
  • +
  • anmerkungen
  • +
  • anrede
  • +
  • svnr
  • +
  • ersatzkennzeichen
  • +
  • familienstand
  • +
  • geschlecht
  • +
  • anzahlkinder
  • +
  • staatsbuergerschaft
  • +
  • geburtsnation
  • +
  • sprache
  • +
  • status
  • +
  • orgform
  • +
  • mail_privat
  • +
  • mail_intern
  • +
  • aktiv
  • +
  • uid
  • +
  • matrikelnummer
  • +
  • alias
  • +
  • semester
  • +
  • verband
  • +
  • gruppe
  • +
  • studiengang_kz_student
  • +
  • prestudent_id
  • +
  • studiengang_kz_prestudent
  • +
  • studiengang_kz
  • +
  • aufmerksamdurch_kurzbz
  • +
  • studiengang
  • +
  • berufstaetigkeit_code
  • +
  • ausbildungcode
  • +
  • zgv_code
  • +
  • zgvort
  • +
  • zgvdatum
  • +
  • zgvdatum_iso
  • +
  • zgvmas_code
  • +
  • zgvmaort
  • +
  • zgvmadatum
  • +
  • zgvmadatum_iso
  • +
  • aufnahmeschluessel
  • +
  • facheinschlberuf
  • +
  • reihungstest_id
  • +
  • anmeldungreihungstest
  • +
  • anmeldungreihungstest_iso
  • +
  • reihungstestangetreten
  • +
  • punkte
  • +
  • punkte1
  • +
  • punkte2
  • +
  • bismelden
  • +
  • dual
  • +
  • dual_bezeichnung
  • +
  • anmerkungpre
  • +
+

Lehrstunde

+Aufruf: +lehrstunde.rdf.php?datum=...&datum_bis=...stg_kz=...&sem=...&ver=...&grp=...&einheit=...
+Beispiel: lehrstunde.rdf.php?datum=2006-03-20&type=verband&stg_kz=258
+
+Parameter
:
+
    +
  • datum
  • +
  • datum_bis: Endedatum (optional)
    +
  • +
  • stunde
  • +
  • type
  • +
  • stg_kz
  • +
  • sem
  • +
  • ver
  • +
  • grp
  • +
  • einheit
  • +
  • pers_uid
  • +
  • ort_kurzbz
    +
  • +
+
+Attribute:

+
    +
  • datum
  • +
  • stunde
  • +
  • unr
  • +
  • ort_kurzbz
  • +
  • lehrfach
  • +
  • lehrfach_bez
  • +
  • lehrform
  • +
  • lektor
  • +
  • semester
  • +
  • verband
  • +
  • gruppe
  • +
  • einheit
  • +
  • lehrform
  • +
  • studiengang
  • +
  • farbe
  • +
  • anmerkung
  • +
+
+ +

LVInfo

+Liefert das RDF fuer die Lehrveranstaltungsinformationen.
+
+Aufruf: +lvinfo.rdf.php?stg_kz=...&semester=...

+Beispiele: + +Standardfilter:
+
    +
  • tbl_lehrveranstaltung.aktiv=true
  • +
  • tbl_lehrveranstaltung.lehre=true
  • +
  • tbl_lvinfo.aktiv=true
  • +
  • tbl_lvinfo.genehmigt=true
  • tbl_lehreinheitmitarbeiter muss gesetzt sein +
+Parameter:
+
    +
  • stg_kz - Studiengangskennzahl (optional wenn Mitarbeiter gesetzt)
  • +
  • studiensemester_kurzbz - Studiensemester (optional)
  • +
  • mitarbeiter_uid - Lehrbeauftragter (optional wenn Studiengang gesetzt)
  • +
  • semester - Semester (optional)
  • +
+ +Attribute:
+
    +
  • lehrveranstaltung_id
  • +
  • kurzbz
  • +
  • bezeichnung
  • +
  • studiengang_kz
  • +
  • semester
  • +
  • lehreverzeichnis
  • +
  • unterrichtssprache
  • +
  • ects
  • +
  • semesterstunden
  • +
  • sprache
  • +
  • titel
  • +
  • lehrziele
  • +
  • lehrinhalte
  • +
  • methodik
  • +
  • voraussetzungen
  • +
  • unterlagen
  • +
  • pruefungsordnung
  • +
  • anmerkungen
  • +
  • kurzbeschreibung
  • +
  • orgform_kurzbz
  • +
  • incoming
  • +
+
+

Kontakt

+Liefert die Kontaktdaten von Personen
+Aufruf:
+    kontakt.rdf.php?person_id=...
+    kontakt.rdf.php?kontakt_id=...
+Beispiel: kontakt.rdf.php?person_id=5
+
+Parameter
:
+
    +
  • person_id oder
    +
  • +
  • kontakt_id
  • +
+ +Attribute:
+
    +
  • kontakt_id
  • +
  • person_id
  • +
  • firma_id
  • +
  • firma_name
  • +
  • kontakttyp
  • +
  • anmerkung
  • +
  • kontakt
  • +
  • zustellung
  • +
  • updateamum
  • +
+

Adressen

+Liefert die Adressen von Personen
+Aufruf:
+    adresse.rdf.php?person_id=...
+    adresse.rdf.php?adresse_id=...
+Beispiel: adresse.rdf.php?person_id=5
+
+Parameter
:
+
    +
  • person_id oder
    +
  • +
  • kontakt_id
  • +
+ +Attribute:
+
    +
  • adresse_id
  • +
  • person_id
  • +
  • name
  • +
  • strasse
  • +
  • plz
  • +
  • ort
  • +
  • gemeinde
  • +
  • nation
  • +
  • typ
  • +
  • typ_name
  • +
  • heimatadresse
  • +
  • zustelladresse
  • +
  • firma_id
  • +
  • firma_name
  • +
  • updateamum
  • +
+

Lektoren

+Liefert die Zuordnung von Mitarbeitern zu Organisationseinheiten (Fachbereich/ Studiengang)
+Ein Mitarbeiter ist immer nur einer Organisationseinheit zugeordnet
+Aufruf:
+    lektoren.rdf.php?studiengang_kz=...
+    lektoren.rdf.php?institut=...
+Beispiel: institut.rdf.php?institut=Mechatronics +

Parameter
: +
+
    +
  • studiengang_kz oder
    +
  • +
  • institut
  • +
+ +Attribute:
+
    +
  • uid
  • +
  • person_id
  • +
  • anrede
  • +
  • titelpre
  • +
  • vorname
  • +
  • nachname
  • +
  • titelpost
  • +
  • email
  • +
  • fixangestellt
  • +
+ + diff --git a/rdf/learningagreement_outgoing.rdf.php b/rdf/learningagreement_outgoing.rdf.php index 740938705..f306036d2 100755 --- a/rdf/learningagreement_outgoing.rdf.php +++ b/rdf/learningagreement_outgoing.rdf.php @@ -23,13 +23,13 @@ require_once('../config/vilesci.config.inc.php'); require_once('../include/preoutgoing.class.php'); require_once('../include/benutzer.class.php'); -require_once('../include/student.class.php'); require_once('../include/studiengang.class.php'); require_once('../include/firma.class.php'); require_once('../include/standort.class.php'); require_once('../include/adresse.class.php'); require_once('../include/nation.class.php'); require_once('../include/prestudent.class.php'); +require_once('../include/lehrverband.class.php'); header("Content-type: application/xhtml+xml"); @@ -37,30 +37,28 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") { if(!isset($_REQUEST['preoutgoing_id'])) die('Parameter preoutgoing_id is missing!'); - + $preoutgoing_id = $_REQUEST['preoutgoing_id']; - - $preoutgoing = new preoutgoing(); - $benutzer = new benutzer(); - $student = new student(); - $studiengang = new studiengang(); - $prestudent = new prestudent(); - + + $preoutgoing = new preoutgoing(); + $studiengang = new studiengang(); + $prestudent = new prestudent(); + $lehrverband = new lehrverband(); + if(!$preoutgoing->load($preoutgoing_id)) die('Konnte Outgoing nicht finden!'); - if(!$benutzer->load($preoutgoing->uid)) - die('Konnte Benutzer nicht laden!'); - if(!$student->load($preoutgoing->uid)) - die('Konnte Student nicht laden!'); + if(!$prestudent->load($preoutgoing->prestudent_id)) + die('Konnte Prestudent nicht laden!'); $projektarbeittitel = $preoutgoing->projektarbeittitel; - $studiengang->load($student->studiengang_kz); - $preoutgoingFirma = new preoutgoing(); + $studiengang->load($prestudent->studiengang_kz); + $preoutgoingFirma = new preoutgoing(); $preoutgoingFirma->loadAuswahl($preoutgoing_id); $preoutgoing_firma = $preoutgoingFirma->firma_id; - $prestudent->getLastStatus($student->prestudent_id); // TODO EINE NICHT EINDEUTIG + $prestudent->getLastStatus($preoutgoing->prestudent_id); + $prestudent->load_studentlehrverband($prestudent->studiensemester_kurzbz); $firma = new firma(); $nation = new nation(); @@ -81,17 +79,17 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") echo ' '; echo ''; echo ' '; - echo ' vorname.']]>'; - echo ' nachname.']]>'; - echo ' titelpre.']]>'; - echo ' titelpost.']]>'; - echo ' uid.'@'.DOMAIN.']]>'; + echo ' vorname.']]>'; + echo ' nachname.']]>'; + echo ' titelpre.']]>'; + echo ' titelpost.']]>'; + echo ' uid.'@'.DOMAIN.']]>'; echo ' FH Technikum Wien'; echo ' Austria'; echo ' english.']]>'; echo ' name.']]>'; echo ' engltext.']]>'; - echo ' semester.']]>'; + echo ' semester.']]>'; echo ' studiensemester_kurzbz.']]>'; echo ' '.date('d.m.Y').''; echo ' '; diff --git a/rdf/student.rdf.php b/rdf/student.rdf.php index 4df1dff9b..d32db9993 100755 --- a/rdf/student.rdf.php +++ b/rdf/student.rdf.php @@ -358,7 +358,6 @@ $verband=(isset($_GET['verband'])?$_GET['verband']:null); $semester=(isset($_GET['semester'])?$_GET['semester']:null); $studiengang_kz=(isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:null); $studiensemester_kurzbz = (isset($_GET['studiensemester_kurzbz'])?$_GET['studiensemester_kurzbz']:null); -$uid = (isset($_GET['uid'])?$_GET['uid']:null); $typ = (isset($_GET['typ'])?$_GET['typ']:null); $prestudent_id = (isset($_GET['prestudent_id'])?$_GET['prestudent_id']:null); $filter = (isset($_GET['filter'])?$_GET['filter']:null); @@ -401,15 +400,12 @@ if($xmlformat=='rdf') '; - if(isset($uid)) + if(isset($prestudent_id)) { - /* TODO EINE - * Hier wird der Student und der Prestudent gezeichnet - * der Student ist aber nicht eindeutig! - */ + $prestd = new prestudent($prestudent_id); $student=new student(); + $uid = $student->getUid($prestudent_id); $student->load($uid, $studiensemester_kurzbz); - $prestd = new prestudent(); draw_content($student); $prestd->load($student->prestudent_id); @@ -849,17 +845,17 @@ else gruppe.']]> orgform_kurzbz.']]> - bezeichnung.']]> + bezeichnung.']]> bezeichnung.']]> - typ.']]> - orgform_kurzbz.']]> - bezeichnung.']]> - + typ.']]> + orgform_kurzbz.']]> + bezeichnung.']]> + - + anrede.']]> geschlecht.']]> @@ -877,7 +873,7 @@ else max_semester.']]> anmerkung.']]> aktiv.']]> - '; + '; } } echo ''; diff --git a/system/dbupdate_eine_uid.php b/system/dbupdate_eine_uid.php index 03bb0c938..596af519f 100644 --- a/system/dbupdate_eine_uid.php +++ b/system/dbupdate_eine_uid.php @@ -69,6 +69,7 @@ array array("schema" => "lehre", "name" => "tbl_pruefung", "from" => "student_uid", "to" => "prestudent_id", "datatype" => "int", "newTarget" => "tbl_prestudent", "newTargetSchema" => "public", "pickDataFrom" => "tbl_student", "pickDataFromCol" => "student_uid", "constraint" => "SET NOT NULL"), array("schema" => "lehre", "name" => "tbl_zeugnis", "from" => "student_uid", "to" => "prestudent_id", "datatype" => "int", "newTarget" => "tbl_prestudent", "newTargetSchema" => "public", "pickDataFrom" => "tbl_student", "pickDataFromCol" => "student_uid", "constraint" => "SET NOT NULL"), array("schema" => "lehre", "name" => "tbl_zeugnisnote", "from" => "student_uid", "to" => "prestudent_id", "datatype" => "int", "newTarget" => "tbl_prestudent", "newTargetSchema" => "public", "pickDataFrom" => "tbl_student", "pickDataFromCol" => "student_uid", "constraint" => "SET NOT NULL"), + array("schema" => "public", "name" => "tbl_preoutgoing", "from" => "uid", "to" => "prestudent_id", "datatype" => "int", "newTarget" => "tbl_prestudent", "newTargetSchema" => "public", "pickDataFrom" => "tbl_student", "pickDataFromCol" => "student_uid", "constraint" => "SET NOT NULL"), ); @@ -121,6 +122,8 @@ if(!isset($_POST["action"])) } else if($_POST["action"] == "Starten") { + $db->db_query("BEGIN;"); + $error = false; echo '

Systemcheck!

'; echo '

DB-Updates!

'; @@ -130,7 +133,10 @@ else if($_POST["action"] == "Starten") echo '

Pruefe Tabellen und Attribute!

'; //********************************tbl_prestudent CHANGES******************************** - if(!$result = @$db->db_query("SELECT perskz FROM public.tbl_prestudent LIMIT 1;")) + if(!$db->db_num_rows($db->db_query("SELECT * FROM information_schema.columns WHERE + table_schema='public' AND + table_name='tbl_prestudent' AND + column_name='perskz';"))) { $prestudent_qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN uid varchar(32); ALTER TABLE public.tbl_prestudent ADD CONSTRAINT fk_tbl_prestudent_tbl_benutzer_uid FOREIGN KEY (uid) REFERENCES public.tbl_benutzer (uid) ON DELETE RESTRICT ON UPDATE CASCADE; @@ -138,21 +144,25 @@ else if($_POST["action"] == "Starten") "; if(!$result = @$db->db_query($prestudent_qry)) { + $error = true; echo "

Could not ADD COLUMN uid TO public.tbl_prestudent: " . $db->db_last_error()."

"; } - $prestudent_qry = "ALTER TABLE public.tbl_prestudent ADD COLUMN perskz character(15); UPDATE public.tbl_prestudent SET perskz = (SELECT matrikelnr FROM public.tbl_student WHERE tbl_student.prestudent_id = tbl_prestudent.prestudent_id); "; if(!$result = @$db->db_query($prestudent_qry)) { + $error = true; echo "

Could not ADD COLUMN perskz TO public.tbl_prestudent: " . $db->db_last_error()."

"; } } //********************************tbl_benutzergruppe CHANGES******************************** - if(!$result = @$db->db_query("SELECT prestudent_id FROM public.tbl_benutzergruppe LIMIT 1;")) + if(!$db->db_num_rows($db->db_query("SELECT * FROM information_schema.columns WHERE + table_schema='public' AND + table_name='tbl_benutzergruppe' AND + column_name='prestudent_id';"))) { $prestudent_qry = "ALTER TABLE public.tbl_benutzergruppe ADD COLUMN prestudent_id int; ALTER TABLE public.tbl_benutzergruppe ADD CONSTRAINT fk_tbl_benutzergruppe_tbl_prestudent_prestudent_id FOREIGN KEY (prestudent_id) REFERENCES public.tbl_prestudent (prestudent_id) ON DELETE RESTRICT ON UPDATE CASCADE; @@ -160,17 +170,40 @@ else if($_POST["action"] == "Starten") "; if(!$result = @$db->db_query($prestudent_qry)) { + $error = true; echo "

Could not ADD COLUMN prestudent_id TO public.tbl_benutzergruppe: " . $db->db_last_error()."

"; } } - dropViews($db); + + //********************************tbl_preoutgoing - MA - testdaten entfernen(uid wird auf prestudent_id geändert)******************************** + + $qry = "DELETE FROM public.tbl_preoutgoing where uid in(select uid from tbl_mitarbeiter where tbl_mitarbeiter.mitarbeiter_uid = tbl_preoutgoing.uid); + "; + if(!$result = @$db->db_query($qry)) + { + $error = true; + echo "

Could not ADD COLUMN prestudent_id TO public.tbl_benutzergruppe: " . $db->db_last_error()."

"; + } + + if(!dropViews($db, $error)) + $error = true; //modify all tables foreach($all_tables_to_update as $t) - modifyOneTable($db, $t); + if(!modifyOneTable($db, $t, $error)) + $error = true; - createViews($db); + if(!createViews($db, $error)) + $error = true; + + if($error) + { + $db->db_query("ROLLBACK;"); + echo "

Rolled Back because of errors

"; + } + else + $db->db_query("COMMIT;"); } @@ -220,17 +253,31 @@ function checkForUpdates($db, $table) } -function modifyOneTable($db, $table) +function modifyOneTable($db, $table, $error) { - if(!$result = @$db->db_query('SELECT '.$table["to"].' FROM '.$table["schema"].'.'.$table["name"].' LIMIT 1;')) - { - $db->db_query("BEGIN;"); + if($error) + return false; + $qry_count = 'SELECT 1 + FROM information_schema.columns + WHERE table_name='.$db->db_add_param($table["name"]).' + AND column_name='.$db->db_add_param($table["to"]).' + AND table_schema='.$db->db_add_param($table["schema"]).' + LIMIT 1'; + $result_count = $db->db_query($qry_count); + $row_count = $db->db_num_rows($result_count); + + if($row_count < 1) + { $indices = array(); $primary_keys = array(); - $index_search_result = $db->db_query("SELECT * FROM pg_indexes WHERE schemaname=".$db->db_add_param($table["schema"])." AND tablename=".$db->db_add_param($table["name"])); + if(!$index_search_result) + { + echo "

ERROR: ".$db->getErrorMsg()."

"; + return false; + } while($row = $db->db_fetch_object($index_search_result)) { if(strpos($row->indexdef, $table["from"]) !== false) //only if the pk is affected @@ -253,9 +300,8 @@ function modifyOneTable($db, $table) if(!$pk_drop_result = $db->db_query('ALTER TABLE '.$table["schema"].".".$table["name"].' DROP CONSTRAINT '.$row->indexname)) { - echo "

ACHTUNG: DROPPEN von PRIMARY KEY ".$row->indexname." fehlgeschlagen

"; - $db->db_query("ROLLBACK;"); - return; + echo "

ACHTUNG: DROPPEN von PRIMARY KEY ".$row->indexname." fehlgeschlagen: " . $db->db_last_error() . "

"; + return false; } $constraint_add_query = str_replace ($table["from"], $table["to"], $def->pg_get_constraintdef ); @@ -265,9 +311,8 @@ function modifyOneTable($db, $table) { if(!$index_drop_result = $db->db_query('DROP INDEX '.$table["schema"].".".$row->indexname)) { - echo "

ACHTUNG: DROPPEN von INDEX ".$row->indexname." fehlgeschlagen

"; - $db->db_query("ROLLBACK;"); - return; + echo "

ACHTUNG: DROPPEN von INDEX ".$row->indexname." fehlgeschlagen: " . $db->db_last_error() . "

"; + return false; } $index_add_query = str_replace ($table["from"], $table["to"], $row->indexdef ); @@ -283,9 +328,8 @@ function modifyOneTable($db, $table) UPDATE '.$table["schema"].".".$table["name"].' SET '.$table["to"].' = (SELECT '.$table["to"].' FROM '.$table["newTargetSchema"].'.'.$table["pickDataFrom"].' WHERE '.$table["pickDataFromCol"].'='.$table["schema"].'.'.$table["name"].'.'.$table["from"].');'; $db->db_query($alter_update_qry); - $constraint_qry = ""; - //constraints: $TO FK, $TO + $constraint_qry = ""; if($table["constraint"] != "") $constraint_qry = 'ALTER TABLE '.$table["schema"].".".$table["name"].' ALTER COLUMN '.$table["to"].' '.$table["constraint"].";"; @@ -297,11 +341,8 @@ function modifyOneTable($db, $table) } else { - echo ' '.$table["schema"].".".$table["name"].': Spalte '.$table["to"].' hinzugefuegt!
'; - echo ' '.$table["schema"].".".$table["name"].': Spalte '.$table["from"].' auf '.$table["to"].' geändert!
'; - echo ' '.$table["schema"].".".$table["name"].': Spalte '.$table["to"].' constraints eingefuegt!
'; + echo "

Added: ".$table["schema"].".".$table["name"].".".$table["to"]."

"; - //FROM löschen $qry = 'ALTER TABLE '.$table["schema"].".".$table["name"].' DROP COLUMN '.$table["from"].';'; if(!$db->db_query($qry)) @@ -317,82 +358,71 @@ function modifyOneTable($db, $table) { if(!$pk_add_result = $db->db_query($pk)) { - echo "

ACHTUNG: ADDEN von PRIMARY KEY ".$row->indexname." fehlgeschlagen

"; - $db->db_query("ROLLBACK;"); - return; + echo "

ACHTUNG: ADDEN von PRIMARY KEY ".$row->indexname." fehlgeschlagen: " . $db->db_last_error() . "

"; + return false; } } foreach( $indices as $ind) { if(!$index_add_result = $db->db_query($ind)) { - echo "

ACHTUNG: ADDEN von INDEX ".$row->indexname." fehlgeschlagen

"; - $db->db_query("ROLLBACK;"); - return; + echo "

ACHTUNG: ADDEN von INDEX ".$row->indexname." fehlgeschlagen: " . $db->db_last_error() . "

"; + return false; } } - - $db->db_query("COMMIT;"); - return; } } } + return true; } -function dropViews($db) +function dropViews($db, $error) { + if($error) + return false; + + $viewsToDrop = array + ( + array("schema" => "bis", "name" => "vw_bisio"), + array("schema" => "campus", "name" => "vw_student_lehrveranstaltung"), + array("schema" => "lehre", "name" => "vw_stundenplandev_student_unr"), + array("schema" => "public", "name" => "vw_gruppen"), + array("schema" => "lehre", "name" => "vw_zeugnisnote"), + array("schema" => "testtool", "name" => "vw_reihungstest_zeugnisnoten"), + array("schema" => "reports", "name" => "vw_outgoing"), + ); + //********************************DROP ALL VIEWS******************************** - //bis.vw_bisio - - if(!$db->db_query("DROP VIEW bis.vw_bisio")) + foreach($viewsToDrop as $v) { - echo "

Could not DROP view bis.vw_bisio: " . $create_view_qry."

"; - } - - //campus.vw_student_lehrveranstaltung - - if(!$db->db_query("DROP VIEW campus.vw_student_lehrveranstaltung")) - { - echo "

Could not DROP view campus.vw_student_lehrveranstaltung: " . $create_view_qry."

"; - } - - //lehre.vw_stundenplandev_student_unr - if(!$db->db_query("DROP VIEW lehre.vw_stundenplandev_student_unr")) - { - echo "

Could not DROP view lehre.vw_stundenplandev_student_unr: " . $create_view_qry."

"; - } - - //public.vw_gruppen - if(!$db->db_query("DROP VIEW public.vw_gruppen")) - { - echo "

Could not DROP view public.vw_gruppen: " . $create_view_qry."

"; - } - - //lehre.vw_zeugnisnote - if(!$db->db_query("DROP VIEW lehre.vw_zeugnisnote")) - { - echo "

Could not DROP view lehre.vw_zeugnisnote: " . $create_view_qry."

"; - } - - //testtool.vw_reihungstest_zeugnisnoten - if(!$db->db_query("DROP VIEW testtool.vw_reihungstest_zeugnisnoten")) - { - echo "

Could not DROP view testtool.vw_reihungstest_zeugnisnoten: " . $create_view_qry."

"; + if(!@$db->db_query("DROP VIEW ".$v["schema"].".".$v["name"])) + { + echo "

Could not DROP view ".$v["schema"].".".$v["name"].": " . $db->db_last_error() . "

"; + return false; + } else + { + echo "

Dropped: ".$v["schema"].".".$v["name"]."

"; + } } + return true; } -function createViews($db) +function createViews($db, $error) { + if($error) + return false; //********************************CREATE ALL VIEWS******************************** //bis.vw_bisio - if(!$result = @$db->db_query("SELECT 1 FROM bis.vw_bisio LIMIT 1;")) + if(!$db->db_num_rows($db->db_query("SELECT * FROM information_schema.tables WHERE table_type='VIEW' + AND table_schema='bis' + AND table_name='vw_bisio';"))) { $create_view_qry = " CREATE VIEW bis.vw_bisio AS SELECT tbl_prestudentstatus.studiensemester_kurzbz, @@ -456,14 +486,20 @@ function createViews($db) COMMENT ON VIEW bis.vw_bisio IS 'Incoming Outgoing';"; if(!$db->db_query($create_view_qry)) { - echo "

Could not CREATE view bis.vw_bisio: " . $create_view_qry."

"; + echo "

Could not CREATE view bis.vw_bisio: " . $db->db_last_error() . "

"; + return false; + } + else + { + echo "

Created: bis.vw_bisio

"; } } - //campus.vw_student_lehrveranstaltung - if(!$result = @$db->db_query("SELECT 1 FROM campus.vw_student_lehrveranstaltung LIMIT 1;")) + if(!$db->db_num_rows($db->db_query("SELECT * FROM information_schema.tables WHERE table_type='VIEW' + AND table_schema='campus' + AND table_name='vw_student_lehrveranstaltung';"))) { $create_view_qry = " CREATE VIEW campus.vw_student_lehrveranstaltung AS @@ -554,14 +590,21 @@ function createViews($db) "; if(!$db->db_query($create_view_qry)) { - echo "

Could not CREATE view campus.vw_student_lehrveranstaltung: " . $create_view_qry."

"; + echo "

Could not CREATE view campus.vw_student_lehrveranstaltung: " . $db->db_last_error() . "

"; + return false; + } + else + { + echo "

Created: campus.vw_student_lehrveranstaltung

"; } } //lehre.vw_stundenplandev_student_unr - if(!$result = @$db->db_query("SELECT 1 FROM lehre.vw_stundenplandev_student_unr LIMIT 1;")) + if(!$db->db_num_rows($db->db_query("SELECT * FROM information_schema.tables WHERE table_type='VIEW' + AND table_schema='lehre' + AND table_name='vw_stundenplandev_student_unr';"))) { $create_view_qry = " CREATE VIEW lehre.vw_stundenplandev_student_unr AS @@ -597,14 +640,21 @@ function createViews($db) "; if(!$db->db_query($create_view_qry)) { - echo "

Could not CREATE view lehre.vw_stundenplandev_student_unr: " . $create_view_qry."

"; + echo "

Could not CREATE view lehre.vw_stundenplandev_student_unr: " . $db->db_last_error() . "

"; + return false; + } + else + { + echo "

Created: lehre.vw_stundenplandev_student_unr

"; } } //public.vw_gruppen - if(!$result = @$db->db_query("SELECT 1 FROM public.vw_gruppen LIMIT 1;")) + if(!$db->db_num_rows($db->db_query("SELECT * FROM information_schema.tables WHERE table_type='VIEW' + AND table_schema='public' + AND table_name='vw_gruppen';"))) { $create_view_qry = " CREATE VIEW public.vw_gruppen AS @@ -642,14 +692,21 @@ function createViews($db) "; if(!$db->db_query($create_view_qry)) { - echo "

Could not CREATE view public.vw_gruppen: " . $create_view_qry."

"; + echo "

Could not CREATE view public.vw_gruppen: " . $db->db_last_error() . "

"; + return false; + } + else + { + echo "

Created: public.vw_gruppen

"; } } //lehre.vw_zeugnisnote - if(!$result = @$db->db_query("SELECT 1 FROM lehre.vw_zeugnisnote LIMIT 1;")) + if(!$db->db_num_rows($db->db_query("SELECT * FROM information_schema.tables WHERE table_type='VIEW' + AND table_schema='lehre' + AND table_name='vw_zeugnisnote';"))) { $create_view_qry = " CREATE VIEW lehre.vw_zeugnisnote AS @@ -696,12 +753,19 @@ function createViews($db) "; if(!$db->db_query($create_view_qry)) { - echo "

Could not CREATE view lehre.vw_zeugnisnote: " . $create_view_qry."

"; + echo "

Could not CREATE view lehre.vw_zeugnisnote: " . $db->db_last_error() . "

"; + return false; + } + else + { + echo "

Created: lehre.vw_zeugnisnote

"; } } - //testtool.VIEW - if(!$result = @$db->db_query("SELECT 1 FROM testtool.vw_reihungstest_zeugnisnoten LIMIT 1;")) + //testtool.vw_reihungstest_zeugnisnoten + if(!$db->db_num_rows($db->db_query("SELECT * FROM information_schema.tables WHERE table_type='VIEW' + AND table_schema='testtool' + AND table_name='vw_reihungstest_zeugnisnoten';"))) { $create_view_qry = " CREATE VIEW testtool.vw_reihungstest_zeugnisnoten AS @@ -759,9 +823,106 @@ function createViews($db) "; if(!$db->db_query($create_view_qry)) { - echo "

Could not CREATE view testtool.vw_reihungstest_zeugnisnoten: " . $create_view_qry."

"; + echo "

Could not CREATE view testtool.vw_reihungstest_zeugnisnoten: " . $db->db_last_error() . "

"; + return false; + } + else + { + echo "

Created: testtool.vw_reihungstest_zeugnisnoten

"; } } + + //reports.vw_outgoing + if(!$db->db_num_rows($db->db_query("SELECT * FROM information_schema.tables WHERE table_type='VIEW' + AND table_schema='reports' + AND table_name='vw_outgoing';"))) + { + $create_view_qry = " + CREATE VIEW reports.vw_outgoing AS + SELECT 'Outgoing'::character varying AS status_kurzbz, + tbl_preoutgoing_firma.mobilitaetsprogramm_code, + tbl_benutzer.person_id, + tbl_preoutgoing.prestudent_id, + tbl_preoutgoing_firma.firma_id, + tbl_preoutgoing.preoutgoing_id, + tbl_preoutgoing.dauer_von, + tbl_preoutgoing.dauer_bis, + tbl_preoutgoing.ansprechperson, + tbl_preoutgoing.bachelorarbeit, + tbl_preoutgoing.masterarbeit, + tbl_preoutgoing.betreuer, + tbl_preoutgoing.sprachkurs, + tbl_preoutgoing.intensivsprachkurs, + tbl_preoutgoing.sprachkurs_von, + tbl_preoutgoing.sprachkurs_bis, + tbl_preoutgoing.praktikum, + tbl_preoutgoing.praktikum_von, + tbl_preoutgoing.praktikum_bis, + tbl_preoutgoing.behinderungszuschuss, + tbl_preoutgoing.studienbeihilfe, + tbl_preoutgoing.studienrichtung_gastuniversitaet, + tbl_preoutgoing.projektarbeittitel, + tbl_preoutgoing_firma.preoutgoing_firma_id, + tbl_preoutgoing_firma.name AS partneruniname, + tbl_preoutgoing_firma.auswahl, + tbl_firma.name AS firmenname, + tbl_firma.firmentyp_kurzbz, + tbl_firma.schule, + tbl_firma.steuernummer, + tbl_firma.gesperrt, + tbl_firma.aktiv AS firmaaktiv, + tbl_benutzer.alias, + tbl_person.staatsbuergerschaft, + tbl_person.geburtsnation, + tbl_person.sprache, + tbl_person.anrede, + tbl_person.titelpost, + tbl_person.titelpre, + tbl_person.nachname, + tbl_person.vorname, + tbl_person.vornamen, + tbl_person.gebdatum, + tbl_person.gebort, + tbl_person.gebzeit, + tbl_person.homepage, + tbl_person.svnr, + tbl_person.ersatzkennzeichen, + tbl_person.familienstand, + tbl_person.geschlecht, + tbl_person.anzahlkinder, + tbl_person.bundesland_code, + tbl_person.kompetenzen, + tbl_person.kurzbeschreibung, + tbl_person.zugangscode, + tbl_person.foto_sperre, + tbl_person.matr_nr, + tbl_mobilitaetsprogramm.kurzbz, + tbl_mobilitaetsprogramm.beschreibung, + tbl_mobilitaetsprogramm.sichtbar, + tbl_mobilitaetsprogramm.sichtbar_outgoing + FROM tbl_preoutgoing + JOIN tbl_preoutgoing_firma USING (preoutgoing_id) + LEFT JOIN tbl_firma USING (firma_id) + JOIN tbl_prestudent USING (prestudent_id) + JOIN tbl_benutzer USING (uid) + JOIN tbl_person ON (tbl_benutzer.person_id = tbl_person.person_id) + LEFT JOIN bis.tbl_mobilitaetsprogramm USING (mobilitaetsprogramm_code) + WHERE tbl_firma.firmentyp_kurzbz::text = 'Partneruniversität'::text OR tbl_firma.firmentyp_kurzbz IS NULL; + "; + if(!$db->db_query($create_view_qry)) + { + echo "

Could not CREATE view reports.vw_outgoing: " . $db->db_last_error() . "

"; + return false; + } + else + { + echo "

Created: reports.vw_outgoing

"; + } + } + + + + return true; }