diff --git a/cis/private/bildupload.php b/cis/private/bildupload.php index 98fe075e5..8ee90674f 100644 --- a/cis/private/bildupload.php +++ b/cis/private/bildupload.php @@ -79,7 +79,7 @@ $user = get_uid(); if(isset($_GET['person_id'])) { - $benutzer = new benutzer($conn); + $benutzer = new benutzer(); $benutzer->load($user); if($benutzer->person_id!=$_GET['person_id']) diff --git a/cis/private/freifaecher/menu.php b/cis/private/freifaecher/menu.php index 4405a5aea..e24c2302c 100644 --- a/cis/private/freifaecher/menu.php +++ b/cis/private/freifaecher/menu.php @@ -1,188 +1,188 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > - * - */ - require_once('../../config.inc.php'); - require_once('../../../include/functions.inc.php'); - require_once('../../../include/benutzerberechtigung.class.php'); - require_once('../../../include/lehrveranstaltung.class.php'); - - //Connection Herstellen - if(!$sql_conn = pg_pconnect(CONN_STRING)) - die("Fehler beim oeffnen der Datenbankverbindung"); - - $user = get_uid(); - - $rechte= new benutzerberechtigung($sql_conn); - $rechte->getBerechtigungen($user); - - if(check_lektor($user,$sql_conn)) - $is_lector=true; - else - $is_lector=false; - - function CutString($strVal, $limit) - { - if(strlen($strVal) > $limit) - { - return substr($strVal, 0, $limit) . "..."; - } - else - { - return $strVal; - } - } -?> - - - - - - - - -'; - echo ' parent.content.location.href="pinboard.php"'; - echo ''; -?> - - - - - - -
- - - - - - - - load_lva('0',null, null, true,null,'bezeichnung')) - echo ""; - - foreach($lv_obj->lehrveranstaltungen AS $row) - { - echo ''; - echo ' '; - echo ''; - } - - ?> - - - - - - - - - - - - - - - - - isBerechtigt('admin')) - { - echo ''; - echo ' '; - echo ''; - echo ''; - echo ' '; - echo ''; - } - ?> -
<< HOME
 
$lv_obj->errormsg
'; - echo "
  • bezeichnung."\" href=\"../lehre/lesson.php?lvid=$row->lehrveranstaltung_id\" target=\"content\">".CutString($row->bezeichnung, 21)."
  • "; - echo '
     
     Pinboard
     Anmeldung
    - - - - - - -
     Info & Kommunikation
    - - - - - - - - - - - - - - -
     Lektorenbereich
    '; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo '
    -
    - +, + * Andreas Oesterreicher and + * Rudolf Hangl < rudolf.hangl@technikum-wien.at > + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + * + */ + require_once('../../config.inc.php'); + require_once('../../../include/functions.inc.php'); + require_once('../../../include/benutzerberechtigung.class.php'); + require_once('../../../include/lehrveranstaltung.class.php'); + + //Connection Herstellen + if(!$sql_conn = pg_pconnect(CONN_STRING)) + die("Fehler beim oeffnen der Datenbankverbindung"); + + $user = get_uid(); + + $rechte= new benutzerberechtigung(); + $rechte->getBerechtigungen($user); + + if(check_lektor($user,$sql_conn)) + $is_lector=true; + else + $is_lector=false; + + function CutString($strVal, $limit) + { + if(strlen($strVal) > $limit) + { + return substr($strVal, 0, $limit) . "..."; + } + else + { + return $strVal; + } + } +?> + + + + + + + + +'; + echo ' parent.content.location.href="pinboard.php"'; + echo ''; +?> + + + + + + +
    + + + + + + + + load_lva('0',null, null, true,null,'bezeichnung')) + echo ""; + + foreach($lv_obj->lehrveranstaltungen AS $row) + { + echo ''; + echo ' '; + echo ''; + } + + ?> + + + + + + + + + + + + + + + + + isBerechtigt('admin')) + { + echo ''; + echo ' '; + echo ''; + echo ''; + echo ' '; + echo ''; + } + ?> +
    << HOME
     
    $lv_obj->errormsg
    '; + echo "
  • bezeichnung."\" href=\"../lehre/lesson.php?lvid=$row->lehrveranstaltung_id\" target=\"content\">".CutString($row->bezeichnung, 21)."
  • "; + echo '
     
     Pinboard
     Anmeldung
    + + + + + + +
     Info & Kommunikation
    + + + + + + + + + + + + + + +
     Lektorenbereich
    '; + echo ' '; + echo ' '; + echo ' '; + echo ' '; + echo ' '; + echo ' '; + echo '
    +
    + \ No newline at end of file diff --git a/cis/private/lehre/abgabe_lektor_details.php b/cis/private/lehre/abgabe_lektor_details.php index e463e13c5..a17ede781 100644 --- a/cis/private/lehre/abgabe_lektor_details.php +++ b/cis/private/lehre/abgabe_lektor_details.php @@ -67,7 +67,7 @@ $user = get_uid(); $datum_obj = new datum(); $stg_arr = array(); $error = false; -$rechte = new benutzerberechtigung($conn); +$rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); $htmlstr=''; diff --git a/cis/private/lehre/abgabe_lektor_multitermin.php b/cis/private/lehre/abgabe_lektor_multitermin.php index f06f6ea7d..c51693e6d 100644 --- a/cis/private/lehre/abgabe_lektor_multitermin.php +++ b/cis/private/lehre/abgabe_lektor_multitermin.php @@ -1,173 +1,173 @@ - - * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > - */ -/******************************************************************************************************* - * abgabe_lektor - * abgabe_lektor ist die Lektorenseite des Abgabesystems - * für Diplom- und Bachelorarbeiten - *******************************************************************************************************/ - - require_once('../../config.inc.php'); - require_once('../../../include/functions.inc.php'); - require_once('../../../include/studiengang.class.php'); - require_once('../../../include/datum.class.php'); - require_once('../../../include/benutzerberechtigung.class.php'); - require_once('../../../include/mail.class.php'); - - - if (!$conn = pg_pconnect(CONN_STRING)) - die('Es konnte keine Verbindung zum Server aufgebaut werden.'); - -$i=0; -$irgendwas=''; -foreach($_POST as $key=>$value) -{ - if(stristr($key, "mc_")) - { - $irgendwas.=substr($key, 3).";"; - //echo $irgendwas."
    "; - $i++; - } -} -$irgendwas = (isset($_POST['irgendwas'])?$_POST['irgendwas']:$irgendwas); -$projektarbeit_id = (isset($_POST['projektarbeit_id'])?$_POST['projektarbeit_id']:'-1'); -$titel = (isset($_POST['titel'])?$_POST['titel']:''); -$command = (isset($_POST['command'])?$_POST['command']:'-1'); -$paabgabe_id = (isset($_POST['paabgabe_id'])?$_POST['paabgabe_id']:'-1'); -$fixtermin = (isset($_POST['fixtermin'])?1:0); -$datum = (isset($_POST['datum'])?$_POST['datum']:''); -$kurzbz = (isset($_POST['kurzbz'])?$_POST['kurzbz']:''); - - -$user = get_uid(); -$datum_obj = new datum(); -$error=''; -$neu = (isset($_GET['neu'])?true:false); -$stg_arr = array(); -$error = false; -$rechte = new benutzerberechtigung($conn); -$rechte->getBerechtigungen($user); - -//echo $irgendwas."
    "; - -if(isset($_POST["schick"])) -{ - $termine=explode(";",$irgendwas); - //var_dump($termine); - for($j=0;$j0) - { - echo "Datensatz bereits vorhanden"; - } - else - { - //echo "neuer Termin"; - $qry="INSERT INTO campus.tbl_paabgabe (projektarbeit_id, paabgabetyp_kurzbz, fixtermin, datum, kurzbz, abgabedatum, insertvon, insertamum, updatevon, updateamum) - VALUES ('".$termine[$j]."', '$paabgabetyp_kurzbz', ".($fixtermin==1?'true':'false').", '$datum', '$kurzbz', NULL, '$user', now(), NULL, NULL)"; - //echo $qry; - if(!$result=pg_query($conn, $qry)) - { - echo "Termin konnte nicht eingetragen werden!
     "; - } - else - { - $row=@pg_fetch_object($result); - $qry_typ="SELECT bezeichnung FROM campus.tbl_paabgabetyp WHERE paabgabetyp_kurzbz='".$paabgabetyp_kurzbz."'"; - if($result_typ=pg_query($conn, $qry_typ)) - { - $row_typ=@pg_fetch_object($result_typ); - } - else - { - $row_typ->bezeichnung=''; - } - //Student zu projektarbeit_id suchen - $qry_std="SELECT * FROM campus.vw_student WHERE uid IN(SELECT student_uid FROM lehre.tbl_projektarbeit WHERE projektarbeit_id=$termine[$j])"; - if($result_std=pg_query($conn, $qry_std)) - { - $row_std=@pg_fetch_object($result_std); - $mail = new mail($row_std->uid."@".DOMAIN, "vilesci@".DOMAIN, "Neuer Termin Bachelor-/Diplomarbeitsbetreuung", - "Sehr geehrte".($row_std->anrede=="Herr"?"r":"")." ".$row_std->anrede." ".trim($row_std->titelpre." ".$row_std->vorname." ".$row_std->nachname." ".$row_std->titelpost)."!\n\nIhr(e) Betreuer(in) hat einen neuen Termin angelegt:\n".$datum_obj->formatDatum($datum,'d.m.Y').", ".$row_typ->bezeichnung.", ".$kurzbz."\n\nMfG\nIhr(e) Betreuer(in)\n\n--------------------------------------------------------------------------\nDies ist ein vom Bachelor-/Diplomarbeitsabgabesystem generiertes Info-Mail\ncis->Mein CIS->Bachelor- und Diplomarbeitsabgabe\n--------------------------------------------------------------------------"); - } - } - $command=''; - } - } - else - { - echo "Datenbank-Zugriffsfehler!"; - } - } -} - -$htmlstr=''; - - echo ' - - - - Mehrfachtermin PA-Abgabe - - - - - - -

    Eingabe eines Termins für mehrere Personen

    '; - //Eingabezeile für neuen Termin - $htmlstr .= "
    Abgabetermin:\n"; - $htmlstr .= "\n"; - $htmlstr .= "\n"; - $htmlstr .= "\n"; - $htmlstr .= "\n"; - $htmlstr .= "\n"; - $htmlstr .= "\n"; - $htmlstr .= ""; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " "; - - $htmlstr .= "\n"; - $htmlstr .= "\n"; - $htmlstr .= "
    fixDatumAbgabetypKurzbeschreibung der Abgabe
     
    \n"; - $htmlstr .= "\n"; - - echo $htmlstr; - echo ''; - + + * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > + * Rudolf Hangl < rudolf.hangl@technikum-wien.at > + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + */ +/******************************************************************************************************* + * abgabe_lektor + * abgabe_lektor ist die Lektorenseite des Abgabesystems + * für Diplom- und Bachelorarbeiten + *******************************************************************************************************/ + + require_once('../../config.inc.php'); + require_once('../../../include/functions.inc.php'); + require_once('../../../include/studiengang.class.php'); + require_once('../../../include/datum.class.php'); + require_once('../../../include/benutzerberechtigung.class.php'); + require_once('../../../include/mail.class.php'); + + + if (!$conn = pg_pconnect(CONN_STRING)) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + +$i=0; +$irgendwas=''; +foreach($_POST as $key=>$value) +{ + if(stristr($key, "mc_")) + { + $irgendwas.=substr($key, 3).";"; + //echo $irgendwas."
    "; + $i++; + } +} +$irgendwas = (isset($_POST['irgendwas'])?$_POST['irgendwas']:$irgendwas); +$projektarbeit_id = (isset($_POST['projektarbeit_id'])?$_POST['projektarbeit_id']:'-1'); +$titel = (isset($_POST['titel'])?$_POST['titel']:''); +$command = (isset($_POST['command'])?$_POST['command']:'-1'); +$paabgabe_id = (isset($_POST['paabgabe_id'])?$_POST['paabgabe_id']:'-1'); +$fixtermin = (isset($_POST['fixtermin'])?1:0); +$datum = (isset($_POST['datum'])?$_POST['datum']:''); +$kurzbz = (isset($_POST['kurzbz'])?$_POST['kurzbz']:''); + + +$user = get_uid(); +$datum_obj = new datum(); +$error=''; +$neu = (isset($_GET['neu'])?true:false); +$stg_arr = array(); +$error = false; +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + +//echo $irgendwas."
    "; + +if(isset($_POST["schick"])) +{ + $termine=explode(";",$irgendwas); + //var_dump($termine); + for($j=0;$j0) + { + echo "Datensatz bereits vorhanden"; + } + else + { + //echo "neuer Termin"; + $qry="INSERT INTO campus.tbl_paabgabe (projektarbeit_id, paabgabetyp_kurzbz, fixtermin, datum, kurzbz, abgabedatum, insertvon, insertamum, updatevon, updateamum) + VALUES ('".$termine[$j]."', '$paabgabetyp_kurzbz', ".($fixtermin==1?'true':'false').", '$datum', '$kurzbz', NULL, '$user', now(), NULL, NULL)"; + //echo $qry; + if(!$result=pg_query($conn, $qry)) + { + echo "Termin konnte nicht eingetragen werden!
     "; + } + else + { + $row=@pg_fetch_object($result); + $qry_typ="SELECT bezeichnung FROM campus.tbl_paabgabetyp WHERE paabgabetyp_kurzbz='".$paabgabetyp_kurzbz."'"; + if($result_typ=pg_query($conn, $qry_typ)) + { + $row_typ=@pg_fetch_object($result_typ); + } + else + { + $row_typ->bezeichnung=''; + } + //Student zu projektarbeit_id suchen + $qry_std="SELECT * FROM campus.vw_student WHERE uid IN(SELECT student_uid FROM lehre.tbl_projektarbeit WHERE projektarbeit_id=$termine[$j])"; + if($result_std=pg_query($conn, $qry_std)) + { + $row_std=@pg_fetch_object($result_std); + $mail = new mail($row_std->uid."@".DOMAIN, "vilesci@".DOMAIN, "Neuer Termin Bachelor-/Diplomarbeitsbetreuung", + "Sehr geehrte".($row_std->anrede=="Herr"?"r":"")." ".$row_std->anrede." ".trim($row_std->titelpre." ".$row_std->vorname." ".$row_std->nachname." ".$row_std->titelpost)."!\n\nIhr(e) Betreuer(in) hat einen neuen Termin angelegt:\n".$datum_obj->formatDatum($datum,'d.m.Y').", ".$row_typ->bezeichnung.", ".$kurzbz."\n\nMfG\nIhr(e) Betreuer(in)\n\n--------------------------------------------------------------------------\nDies ist ein vom Bachelor-/Diplomarbeitsabgabesystem generiertes Info-Mail\ncis->Mein CIS->Bachelor- und Diplomarbeitsabgabe\n--------------------------------------------------------------------------"); + } + } + $command=''; + } + } + else + { + echo "Datenbank-Zugriffsfehler!"; + } + } +} + +$htmlstr=''; + + echo ' + + + + Mehrfachtermin PA-Abgabe + + + + + + +

    Eingabe eines Termins für mehrere Personen

    '; + //Eingabezeile für neuen Termin + $htmlstr .= "
    Abgabetermin:\n"; + $htmlstr .= "\n"; + $htmlstr .= "\n"; + $htmlstr .= "\n"; + $htmlstr .= "\n"; + $htmlstr .= "\n"; + $htmlstr .= "\n"; + $htmlstr .= ""; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " "; + + $htmlstr .= "\n"; + $htmlstr .= "\n"; + $htmlstr .= "
    fixDatumAbgabetypKurzbeschreibung der Abgabe
     
    \n"; + $htmlstr .= "\n"; + + echo $htmlstr; + echo ''; + ?> \ No newline at end of file diff --git a/cis/private/lehre/abgabe_lektor_zusatz.php b/cis/private/lehre/abgabe_lektor_zusatz.php index 3198bd5b6..4340ae8c1 100644 --- a/cis/private/lehre/abgabe_lektor_zusatz.php +++ b/cis/private/lehre/abgabe_lektor_zusatz.php @@ -87,7 +87,7 @@ $error=''; $neu = (isset($_GET['neu'])?true:false); $stg_arr = array(); $error = false; -$rechte = new benutzerberechtigung($conn); +$rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); $htmlstr=''; diff --git a/cis/private/lehre/abgabe_student_details.php b/cis/private/lehre/abgabe_student_details.php index 65ed3f305..dc7b4952c 100644 --- a/cis/private/lehre/abgabe_student_details.php +++ b/cis/private/lehre/abgabe_student_details.php @@ -88,7 +88,7 @@ $error=''; $neu = (isset($_GET['neu'])?true:false); $stg_arr = array(); $error = false; -$rechte = new benutzerberechtigung($conn); +$rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); $htmlstr=''; diff --git a/cis/private/lehre/benotungstool/anwesenheitsliste.php b/cis/private/lehre/benotungstool/anwesenheitsliste.php index 01785cb7f..d87b0b2fe 100644 --- a/cis/private/lehre/benotungstool/anwesenheitsliste.php +++ b/cis/private/lehre/benotungstool/anwesenheitsliste.php @@ -100,7 +100,7 @@ $qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeite if(!$result = pg_query($conn, $qry)) die('Fehler beim laden der Berechtigung'); -$rechte = new benutzerberechtigung($conn); +$rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); if(!(pg_num_rows($result)>0 || $rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lehreinheit_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lehreinheit_obj->studiengang_kz))) diff --git a/cis/private/lehre/benotungstool/anwesenheitstabelle.php b/cis/private/lehre/benotungstool/anwesenheitstabelle.php index f4e8df935..46c45c09a 100644 --- a/cis/private/lehre/benotungstool/anwesenheitstabelle.php +++ b/cis/private/lehre/benotungstool/anwesenheitstabelle.php @@ -67,7 +67,7 @@ $user = get_uid(); if(!check_lektor($user, $conn)) die('Sie haben keine Berechtigung fuer diesen Bereich'); -$rechte = new benutzerberechtigung($conn); +$rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id diff --git a/cis/private/lehre/benotungstool/copy_uebung.php b/cis/private/lehre/benotungstool/copy_uebung.php index e157bdf55..7105c605d 100644 --- a/cis/private/lehre/benotungstool/copy_uebung.php +++ b/cis/private/lehre/benotungstool/copy_uebung.php @@ -39,7 +39,7 @@ if(!$conn = pg_pconnect(CONN_STRING)) die('Fehler beim Connecten zur DB'); $user = get_uid(); -$rechte = new benutzerberechtigung($conn); +$rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); if(!$rechte->isBerechtigt('admin')) diff --git a/cis/private/lehre/benotungstool/legesamtnoteeintragen.php b/cis/private/lehre/benotungstool/legesamtnoteeintragen.php index 960ca65b6..d355de5f6 100755 --- a/cis/private/lehre/benotungstool/legesamtnoteeintragen.php +++ b/cis/private/lehre/benotungstool/legesamtnoteeintragen.php @@ -43,7 +43,7 @@ $user = get_uid(); if(!check_lektor($user, $conn)) die('Sie haben keine Berechtigung fuer diesen Bereich'); -$rechte = new benutzerberechtigung($conn); +$rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php b/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php index ce17a2ec0..65a79615b 100755 --- a/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php +++ b/cis/private/lehre/benotungstool/lvgesamtnoteeintragen.php @@ -46,7 +46,7 @@ $user = get_uid(); if(!check_lektor($user, $conn)) die('Sie haben keine Berechtigung fuer diesen Bereich'); -$rechte = new benutzerberechtigung($conn); +$rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php index 7bba09215..ca783052d 100644 --- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php +++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php @@ -480,7 +480,7 @@ $user = get_uid(); if(!check_lektor($user, $conn)) die('Sie haben keine Berechtigung fuer diesen Bereich'); -$rechte = new benutzerberechtigung($conn); +$rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id diff --git a/cis/private/lehre/benotungstool/statistik.php b/cis/private/lehre/benotungstool/statistik.php index f843bc9e1..a9bf4500f 100644 --- a/cis/private/lehre/benotungstool/statistik.php +++ b/cis/private/lehre/benotungstool/statistik.php @@ -67,7 +67,7 @@ $user = get_uid(); if(!check_lektor($user, $conn)) die('Sie haben keine Berechtigung fuer diesen Bereich'); -$rechte = new benutzerberechtigung($conn); +$rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id diff --git a/cis/private/lehre/benotungstool/studentenansicht.php b/cis/private/lehre/benotungstool/studentenansicht.php index 6699df853..a6ea8ffae 100644 --- a/cis/private/lehre/benotungstool/studentenansicht.php +++ b/cis/private/lehre/benotungstool/studentenansicht.php @@ -1,1167 +1,1164 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -// ******************** -// * Studentenansicht fuers Kreuzerltool -// ******************** - -require_once('../../../config.inc.php'); -require_once('../../../../include/functions.inc.php'); -require_once('../../../../include/lehrveranstaltung.class.php'); -require_once('../../../../include/studiengang.class.php'); -require_once('../../../../include/studiensemester.class.php'); -require_once('../../../../include/lehreinheit.class.php'); -require_once('../../../../include/benutzerberechtigung.class.php'); -require_once('../../../../include/uebung.class.php'); -require_once('../../../../include/beispiel.class.php'); -require_once('../../../../include/datum.class.php'); -require_once('../../../../include/studentnote.class.php'); -require_once('../../../../include/legesamtnote.class.php'); -require_once('../../../../include/lvgesamtnote.class.php'); -require_once('../../../../include/zeugnisnote.class.php'); -include('functions.inc.php'); - -if(!$conn = pg_pconnect(CONN_STRING)) - die('Fehler beim oeffnen der Datenbankverbindung'); - -$user = get_uid(); -//$user = 'if06b172'; -//$user = 'if06b144'; -$lektorenansicht = 0; - -#$rechte = new benutzerberechtigung($conn); -#$rechte->getBerechtigungen($user); - -if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id - $lvid = $_GET['lvid']; -else - die('Fehlerhafte Parameteruebergabe'); - -if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id - $lehreinheit_id = $_GET['lehreinheit_id']; -else - $lehreinheit_id = ''; -$uid = (isset($_GET['uid'])?$_GET['uid']:''); //Uid - - - -if(check_lektor($user, $conn) && (isset($_GET['uid']) && $_GET["uid"] != "")) -{ - $rights = new benutzerberechtigung($conn); - $rights->getBerechtigungen($user); - //if(!check_lektor_lehreinheit($conn, $user, $_GET["lehreinheit_id"]) && !$rights->isBerechtigt('admin',0)) - $lehreinheit=new lehreinheit($conn, $_GET["lehreinheit_id"]); - if(!check_lektor_lehrveranstaltung($conn, $user, $lehreinheit->lehrveranstaltung_id, $lehreinheit->studiensemester_kurzbz) && !$rights->isBerechtigt('admin',0)) - die("Sie haben keine Berechtigung für diese Lehreinheit"); - $lektorenansicht = 1; - $user = $_GET["uid"]; -} - -//Laden der Lehrveranstaltung -$lv_obj = new lehrveranstaltung($conn); -if(!$lv_obj->load($lvid)) - die($lv_obj->errormsg); - -//Studiengang laden -$stg_obj = new studiengang($conn,$lv_obj->studiengang_kz); - -if(isset($_GET['stsem'])) - $stsem = $_GET['stsem']; -else - $stsem = ''; - -//Vars -$datum_obj = new datum(); - -$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); - -//Abgabedatei ausliefern -if (isset($_GET["download_abgabe"])){ - $file=$_GET["download_abgabe"]; - $uebung_id = $_GET["uebung_id"]; - $ueb = new uebung($conn); - $ueb->load_studentuebung($user, $uebung_id); - $ueb->load_abgabe($ueb->abgabe_id); - $filename = BENOTUNGSTOOL_PATH."abgabe/".$ueb->abgabedatei; - header('Content-Type: application/octet-stream'); - header('Content-disposition: attachment; filename="'.$file.'"'); - readfile($filename); - exit; -} - -//Angabedatei ausliefern -if (isset($_GET["download"])){ - $file=$_GET["download"]; - $uebung_id = $_GET["uebung_id"]; - $ueb = new uebung($conn); - $ueb->load($uebung_id); - $filename = "/documents/benotungstool/angabe/".$ueb->angabedatei; - header('Content-Type: application/octet-stream'); - header('Content-disposition: attachment; filename="'.$file.'"'); - readfile($filename); - exit; -} - -?> - - - - - - -Kreuzerltool - - - - - - -load_studentuebung($user, $uebung_id); - if (!$ueb->delete_abgabe($ueb->abgabe_id)) - echo $ueb->errormsg; - -} -//echo $_FILES["abgabedatei"]; -//if (isset($_FILES["abgabedatei"])) -if (isset($_POST["abgabe"])) -{ - $abgabedatei_up = $_FILES["abgabedatei"]["tmp_name"]; - $abgabe_anmerkung = (isset($_POST["abgabe_anmerkung"])?$_POST["abgabe_anmerkung"]:''); - - if ($abgabedatei_up) - { - //echo $abgabedatei_up; - $datum = date('Y-m-d H:i:s'); - $datumstr = ereg_replace(" ","_",$datum); - $name_up = pathinfo($_FILES["abgabedatei"]["name"]); - $name_neu = makeUploadName($conn, $which='abgabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem,$uid=$user, $date=$datumstr); - $abgabedatei = $name_neu.".".$name_up["extension"]; - $abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei; - - $uebung_obj = new uebung($conn); - $uebung_obj->load_studentuebung($user, $uebung_id); - - if ($uebung_obj->errormsg != "") - { - $uebung_obj->student_uid = $user; - $uebung_obj->mitarbeiter_uid = null; - $uebung_obj->abgabe_id = null; - $uebung_obj->uebung_id = $uebung_id; - $uebung_obj->note = null; - $uebung_obj->mitarbeitspunkte = null; - $uebung_obj->punkte = null; - $uebung_obj->anmerkung = null; - $uebung_obj->benotungsdatum = null; - $uebung_obj->updateamum = null; - $uebung_obj->updatevon = null; - $uebung_obj->insertamum = $datum; - $uebung_obj->insertvon = $user; - $uebung_obj->new = true; - $uebung_obj->studentuebung_save($new=true); - //echo $uebung_obj->errormsg; - - } - if ($uebung_obj->abgabe_id != null) - { - $uebung_obj->load_abgabe($uebung_obj->abgabe_id); - unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei); - $uebung_obj->abgabedatei = $abgabedatei; - $uebung_obj->abgabezeit = $datum; - $uebung_obj->abgabe_anmerkung = $abgabe_anmerkung; - $uebung_obj->abgabe_save(false); - } - else - { - $uebung_obj->abgabedatei = $abgabedatei; - $uebung_obj->abgabezeit = $datum; - $uebung_obj->abgabe_anmerkung = $abgabe_anmerkung; - $uebung_obj->abgabe_save(true); - } - $uebung_obj->studentuebung_save(false); - //Abgabedatei ablegen - move_uploaded_file($_FILES['abgabedatei']['tmp_name'], $abgabepfad); - } - - else - { - $abgabe_anmerkung = $_POST["abgabe_anmerkung"]; - $uebung_obj2 = new uebung($conn); - $uebung_obj2->load_studentuebung($user, $uebung_id); - if ($uebung_obj2->errormsg == "") - { - if ($uebung_obj2->abgabe_id != null) - { - $uebung_obj2->load_abgabe($uebung_obj2->abgabe_id); - $uebung_obj2->abgabe_anmerkung = $abgabe_anmerkung; - $uebung_obj2->abgabe_save(false); - } - } - } -} -else - $abgabedatei_up = null; - - - - -//Kopfzeile -echo ''; -echo ' '; -echo ''; -echo '
      Benotungstool'; -echo ''."\n"; - -//Studiensemester laden -$stsem_obj = new studiensemester($conn); -if($stsem=='') - $stsem = $stsem_obj->getaktorNext(); - -//Lehreinheiten laden zu denen der eingeloggte Student zugeteilt ist -//Bei Lehrverbaenden werden auch die uebergeordneten geladen -$qry = "SELECT distinct lehreinheit_id, kurzbz FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehrfach USING(lehrfach_id) WHERE lehreinheit_id IN( - SELECT lehreinheit_id FROM public.tbl_benutzergruppe JOIN lehre.tbl_lehreinheitgruppe USING (gruppe_kurzbz) - WHERE tbl_benutzergruppe.uid='$user' AND - tbl_lehreinheitgruppe.lehreinheit_id IN( - SELECT lehreinheit_id FROM lehre.tbl_lehreinheit JOIN campus.tbl_uebung USING(lehreinheit_id) - WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND tbl_lehreinheit.studiensemester_kurzbz='$stsem') - UNION - SELECT - lehreinheit_id - FROM - public.tbl_student, lehre.tbl_lehreinheitgruppe, public.tbl_studentlehrverband - WHERE - tbl_student.student_uid='$user' AND - tbl_studentlehrverband.student_uid=tbl_student.student_uid AND - tbl_studentlehrverband.studiensemester_kurzbz='$stsem' AND - tbl_student.studiengang_kz=tbl_lehreinheitgruppe.studiengang_kz AND - tbl_lehreinheitgruppe.gruppe_kurzbz is null AND - trim(tbl_studentlehrverband.semester)=trim(tbl_lehreinheitgruppe.semester) AND - ( - ( - ( - tbl_lehreinheitgruppe.verband<>'' AND - tbl_lehreinheitgruppe.gruppe<>'' AND - trim(tbl_lehreinheitgruppe.verband) = trim(tbl_studentlehrverband.verband) AND - trim(tbl_lehreinheitgruppe.gruppe) = trim(tbl_studentlehrverband.gruppe) - ) - OR - ( - tbl_lehreinheitgruppe.verband<>'' AND - ( - trim(tbl_lehreinheitgruppe.gruppe)='' OR - tbl_lehreinheitgruppe.gruppe is null - ) - AND - trim(tbl_lehreinheitgruppe.verband) = trim(tbl_studentlehrverband.verband) - ) - OR - ( - (trim(tbl_lehreinheitgruppe.verband)='' OR tbl_lehreinheitgruppe.verband is null) - AND - (trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) - ) - ) - ) - AND - tbl_lehreinheitgruppe.lehreinheit_id IN(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit JOIN campus.tbl_uebung USING(lehreinheit_id) - WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND tbl_lehreinheit.studiensemester_kurzbz='$stsem'))"; -//echo $qry; -if($result = pg_query($conn, $qry)) -{ - if(pg_num_rows($result)>1) - { - //Lehreinheiten DropDown - echo " Lehreinheit: '; - } - else - { - if($row = pg_fetch_object($result)) - $lehreinheit_id = $row->lehreinheit_id; - else - $lehreinheit_id =''; - } -} -else -{ - echo 'Fehler beim Auslesen der Lehreinheiten'; -} - -echo '
    '; -echo ''; -echo ''; -echo "'; +echo ''; +echo '
     \n"; -echo "
    $lv_obj->bezeichnungDownloadverzeichnis anzeigen

    "; - -if($lehreinheit_id=='') - die('Derzeit gibt es keine Kreuzerllisten für diese Lehrveranstaltung'); - -$qry = "SELECT vorname, nachname FROM campus.vw_student WHERE uid='$user'"; -$name=''; -if($result = pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $name = $row->vorname.' '.$row->nachname; - - - -if (!isset($_GET["notenuebersicht"])) -{ - $l = 0; - $ueb_check = new uebung($conn); - $ueb_check->load_uebung($lehreinheit_id,1); - if (count($ueb_check->uebungen > 0)) - { - foreach ($ueb_check->uebungen as $row) - { - $sub_check = new uebung($conn); - $sub_check->load_uebung($lehreinheit_id,2,$row->uebung_id); - if (count($sub_check->uebungen) > 0) - $l = 1; - } - } - - if ($l > 0) - { - echo "
    Leistungsuebersicht / Notenübersicht für $name

    "; - $uebung_obj = new uebung($conn); - $uebung_obj->load_uebung($lehreinheit_id,1); - if(count($uebung_obj->uebungen)>0) - { - echo "'; - - echo " -
    "; - echo "
    Wählen Sie bitte eine Aufgabe aus (Kreuzerllisten, Abgaben): '; - echo '
    - - - - - - - - - -
    +...freigeschaltet.
    -...nicht freigeschaltet.
    -
    "; - } - else - die("Derzeit gibt es keine Uebungen"); - } - else - { - $callURL="studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id¬enuebersicht=1&uid=$user"; - #header("Location:$callURL"); - echo ""; - exit; - //echo "Derzeit sind keine Kreuzerllisten oder Abgaben angelegt"; - } - - - - //******SPEICHERN DER DATEN************* - if(isset($_POST['submit'])) - { - $error=false; - - $ueb_hlp_obj = new uebung($conn); - $ueb_hlp_obj->load($uebung_id); - //Wenn Kreuzerlliste Freigegeben ist - if($datum_obj->mktime_fromtimestamp($ueb_hlp_obj->freigabevon)mktime_fromtimestamp($ueb_hlp_obj->freigabebis)>time()) - { - $bsp_obj = new beispiel($conn); - - if($bsp_obj->load_beispiel($uebung_id)) - { - $anzahl_solved = 0; - foreach ($bsp_obj->beispiele as $row) - { - if (isset($_POST['solved_'.$row->beispiel_id]) && ($_POST['solved_'.$row->beispiel_id]==1)) - $anzahl_solved++; - } - if (($anzahl_solved <= $ueb_hlp_obj->maxbsp) || ($ueb_hlp_obj->maxbsp == 0)) - { - foreach ($bsp_obj->beispiele as $row) - { - $stud_bsp_obj = new beispiel($conn); - - if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id)) - { - $stud_bsp_obj->new=false; - } - else - { - $stud_bsp_obj->new=true; - $stud_bsp_obj->insertamum = date('Y-m-d H:i:s'); - $stud_bsp_obj->insertvon = $user; - $stud_bsp_obj->vorbereitet = false; - } - if (isset($_POST['solved_'.$row->beispiel_id])) - $stud_bsp_obj->vorbereitet = ($_POST['solved_'.$row->beispiel_id]==1?true:false); - - $stud_bsp_obj->probleme = (isset($_POST['problem_'.$row->beispiel_id])?true:false); - $stud_bsp_obj->updateamum = date('Y-m-d H:i:s'); - $stud_bsp_obj->updatevon = $user; - $stud_bsp_obj->student_uid = $user; - $stud_bsp_obj->beispiel_id = $row->beispiel_id; - - if(!$row->check_anzahl_studentbeispiel($row->beispiel_id)) - die('Fehler beim Ermitteln der Beispiele'); - if (($row->anzahl_studentbeispiel >= $ueb_hlp_obj->maxstd) && ($stud_bsp_obj->vorbereitet==true) && ($ueb_hlp_obj->maxstd != null)) //isset($_POST['problem_'.$row->beispiel_id]) && $stud_bsp_obj->new || - { - $hlp = new beispiel($conn); - if($hlp->load_studentbeispiel($user, $row->beispiel_id)) - { - if($hlp->vorbereitet!=$stud_bsp_obj->vorbereitet) - { - echo "Das Beispiel $row->bezeichnung kann nicht mehr angekreuzt werden
    "; - $error = true; - } - } - } - else - { - if(!$stud_bsp_obj->studentbeispiel_save()) - { - echo $stud_bsp_obj->errormsg; - $error=true; - } - } - } - } - else - { - $error=true; - echo "Zu viele Beispiele angekreuzt!
    "; - } - } - - if($error) - echo "Es konnten nicht alle Daten gespeichert werden
    "; - else - echo "Die Daten wurden erfolgreich gespeichert
    "; - } - else - echo "Die Änderungen können nicht gespeichert werden, da diese Kreuzerlliste nicht freigegeben ist!"; - } - - //********ANZEIGE DER EINGETRAGENEN KREUZERL*********** - if ($l > 0) - { - $uebung_obj = new uebung($conn); - $uebung_obj->load($uebung_id); - $downloadname = mb_ereg_replace($uebung_id,mb_ereg_replace(' ','_',$uebung_obj->bezeichnung), $uebung_obj->angabedatei); - echo "Freigegeben von ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon))." bis ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)); - echo "

    $uebung_obj->bezeichnung

    "; - if ($uebung_obj->angabedatei) - echo "Angabe: ".$downloadname."

    "; - - - $ueb_obj = new uebung($conn); - if($ueb_obj->load_studentuebung($user, $uebung_id)) - { - $anmerkung = $ueb_obj->anmerkung; - $mitarbeit = $ueb_obj->mitarbeitspunkte; - $note = $ueb_obj->note; - } - else - { - $anmerkung = ''; - $mitarbeit = 0; - $note = null; - } - $anmerkung = ereg_replace("\n","
    ",$anmerkung); - - if ($uebung_obj->beispiele) - { - - $qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id IN (SELECT beispiel_id from campus.tbl_beispiel where uebung_id = $uebung_id) AND vorbereitet=true and student_uid = '$user'"; - if($result_cnt = pg_query($conn,$qry_cnt)) - if($row_cnt = pg_fetch_object($result_cnt)) - $anzahl = $row_cnt->anzahl; - - echo ""; - - $bsp_obj = new beispiel($conn); - $bsp_obj->load_beispiel($uebung_id); - if ($bsp_obj->beispiele) - { - echo " "; - if ($uebung_obj->maxbsp > 0) - echo ""; - if ($uebung_obj->maxstd > 0) - echo ""; - echo "
    Maximale Anzahl der Beispiele/Student:".$uebung_obj->maxbsp."
    Maximale Anzahl Studenten/Beispiel:".$uebung_obj->maxstd."
    "; - echo " -
    - - - "; - echo "
    - ".($anmerkung!=''?'Anmerkungen:
    '.$anmerkung.'

    ':'')." -
    - - - - - - - - "; - - - - foreach ($bsp_obj->beispiele as $row) - { - $bsp_voll = false; - $stud_bsp_obj = new beispiel($conn); - - if ($uebung_obj->maxstd > 0) - { - $stud_bsp_obj->check_anzahl_studentbeispiel($row->beispiel_id); - if ($stud_bsp_obj->anzahl_studentbeispiel >= $uebung_obj->maxstd) - $bsp_voll = true; - } - if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id)) - { - $vorbereitet = $stud_bsp_obj->vorbereitet; - $probleme = $stud_bsp_obj->probleme; - } - else - { - $vorbereitet = false; - $probleme = false; - } - if ($bsp_voll) - { - $ro = " disabled"; - $markiert = " style='background-color:#dddddd;'"; - } - else - { - $ro = ""; - $markiert = ""; - } - echo " - - - - - - "; - - - } - - //Speichern button nur Anzeigen wenn die Uebung Freigegeben ist - if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) - echo ""; - - echo "
    BeispielVorbereitetNicht vorbereitetProblemePunkte
    $row->bezeichnung$row->punkte
    "; - } - else - echo "
    Keine Beispiele angelegt
    - -
     
    "; - - if ($uebung_obj->abgabe) - { - - echo "
    \n"; - $uebung_obj->load_studentuebung($user, $uebung_id); - if ($uebung_obj->abgabe_id) - { - $uebung_obj->load_abgabe($uebung_obj->abgabe_id); - echo " "; - echo" "; - echo ""; - } - - if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) - { - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "\n"; - - } - echo "
    Abgabedatei:
    ".$uebung_obj->abgabedatei.""; - if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) - echo " [del]
    \n"; - echo " "; - echo "
    "; - } - - echo "
    "; - - //Gesamtpunkte diese Kreuzerlliste - $qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id'"; - $punkte_gesamt=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_gesamt = $row->punktegesamt; - - //Eingetragen diese Kreuzerlliste - $qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' AND student_uid='$user' AND vorbereitet=true"; - $punkte_eingetragen=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0); - - //Gesamtpunkte alle Kreuzerllisten in dieser Übung - $ueb_help = new uebung($conn, $uebung_id); - $liste_id = $ueb_help->liste_id; - $qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung - WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND - tbl_uebung.lehreinheit_id='$lehreinheit_id' and tbl_uebung.liste_id = '$liste_id'"; - $punkte_gesamt_alle=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_gesamt_alle = $row->punktegesamt_alle; - - //Eingetragen alle Kreuzerllisten - $qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung - WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND - tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND - tbl_uebung.lehreinheit_id='$lehreinheit_id' AND - tbl_uebung.liste_id = '$liste_id' AND - tbl_studentbeispiel.student_uid='$user' AND vorbereitet=true"; - $punkte_eingetragen_alle=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0); - - //Mitarbeitspunkte - $qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) - WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$user' AND liste_id = '$liste_id'"; - $mitarbeit_alle=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0); - - //Mitarbeitspunkte - $qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung - WHERE uebung_id='$uebung_id' AND student_uid='$user'"; - $mitarbeit=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $mitarbeit = $row->mitarbeitspunkte; - echo " - - - - - - - - - - - - - -
    Diese Kreuzerlliste:
    Punkte insgesamt möglich:$punkte_gesamt
    Punkte eingetragen:$punkte_eingetragen
    -

    - - - - - - - - - - - - -
    Alle Kreuzerllisten dieser Übung:
    Punkte insgesamt möglich:$punkte_gesamt_alle
    Punkte eingetragen:$punkte_eingetragen_alle
    -

    - - - - - - - - - - - - -
    Mitarbeitspunkte:
    Bisher insgesamt:$mitarbeit_alle
    Diese Kreuzerlliste:$mitarbeit
    - "; - - - echo " -
    - - - "; - - //**********STATISTIK*************** - if($uebung_obj->statistik) - { - echo "

    Statistik

    "; - $beispiel_obj = new beispiel($conn); - if($beispiel_obj->load_beispiel($uebung_id)) - { - if(count($beispiel_obj->beispiele)>0) - { - echo ' - - - - '; - $i=0; - $qry_cnt = "SELECT distinct student_uid FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' GROUP BY student_uid"; - if($result_cnt = pg_query($conn,$qry_cnt)) - $gesamt=pg_num_rows($result_cnt); - - foreach ($beispiel_obj->beispiele as $row) - { - $i++; - $solved = 0; - $psolved = 0; - $qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id=$row->beispiel_id AND vorbereitet=true"; - if($result_cnt = pg_query($conn,$qry_cnt)) - if($row_cnt = pg_fetch_object($result_cnt)) - $solved = $row_cnt->anzahl; - - - - if($solved>0) - $psolved = $solved/$gesamt*100; - - echo ' - - - '; - } - echo "
      - - - - -
     
    -
    - '.$row->bezeichnung.' - - - - - -
    - - - - -
    - -  '.$solved.' ['.number_format($psolved,1,'.','').'%] -
    -
    -
    "; - echo "

    Es haben insgesamt $gesamt Studenten eingetragen."; - } - } - else - echo "$beispiel_obj->errormsg"; - echo "
    "; - } - } - else if ($uebung_obj->abgabe) - { - - echo "\n"; - echo "\n"; - echo" - - "; - echo "\n"; - - echo "\n"; - $uebung_obj->load_studentuebung($user, $uebung_id); - if ($uebung_obj->abgabe_id) - { - $uebung_obj->load_abgabe($uebung_obj->abgabe_id); - echo " "; - echo" "; - echo ""; - } - if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) - { - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "\n"; - } - echo "
    ".($note!=''?'Note: '.$note.'

    ':'')."
    - ".($anmerkung!=''?'Anmerkungen:
    '.$anmerkung.'

    ':'')." -

    Abgabedatei: ".$uebung_obj->abgabedatei.""; - if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) - echo " [del]
    \n"; - echo "
    Anmerkung:

    "; - echo "
    Datei:
    "; - echo "
    \n"; - - } - } - -} -//notenübersicht -else -{ - if ($lektorenansicht == 1) - { - $uid_arr = Array(); - $vorname_arr = Array(); - $nachname_arr = Array(); - - $qry_stud_dd = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = '".$stsem."' and lehreinheit_id = '".$lehreinheit_id."' ORDER BY nachname, vorname"; - if($result_stud_dd = pg_query($conn, $qry_stud_dd)) - { - $i=1; - while($row_stud_dd = pg_fetch_object($result_stud_dd)) - { - $uid_arr[] = $row_stud_dd->uid; - $vorname_arr[] = $row_stud_dd->vorname; - $nachname_arr[] = $row_stud_dd->nachname; - - } - } - - echo "


    "; - echo "Bitte Wählen Sie eine/n Studierende/n aus: "; - $key = array_search($uid,$uid_arr); - $prev = $key-1; - $next = $key+1; - if ($key > 0) - echo " << "; - echo ""; - if ($key < count($uid_arr)-1) - echo " >> "; - - echo "


    "; - } - - echo "
    Leistungsuebersicht / Notenübersicht für $name

    "; - echo "
    "; - - $uebung_obj = new uebung($conn); - $uebung_obj->load_uebung($lehreinheit_id,1); - if(count($uebung_obj->uebungen)>0) - { - - echo ""; - echo " \n"; - echo " \n"; - echo " \n"; - echo " "; - echo " \n"; - echo " "; - echo " \n"; - foreach ($uebung_obj->uebungen as $row) - { - - $subuebung_obj = new uebung($conn); - $subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id); - $l1note = new studentnote($conn); - if(count($subuebung_obj->uebungen) >= 0) - { - - - $l1note->calc_l1_note($row->uebung_id, $user, $lehreinheit_id); - if ($l1note->negativ) - $l1_note = 5; - else - $l1_note = $l1note->l1_note; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo ""; - echo "\n"; - echo " \n"; - - } - - if(count($subuebung_obj->uebungen) > 0) - { - - foreach ($subuebung_obj->uebungen as $subrow) - { - - echo " \n"; - echo " "; - echo " \n"; - echo " \n"; - if ($subrow->beispiele) - { - $l1note->calc_punkte($subrow->uebung_id, $user); - echo " "; - echo " \n"; - echo " \n"; - } - else if ($subrow->abgabe) - { - $l1note->calc_note($subrow->uebung_id, $user); - echo " \n"; - echo " "; - echo " \n"; - } - echo " \n"; /* - if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)mktime_fromtimestamp($subrow->freigabebis)>time()) - echo ' + '; - else - echo ' - '; - */ - - } - - } - } - $l1note->calc_gesamtnote($lehreinheit_id, $stsem, $user); - if ($l1note->negativ) - $gesamtnote = 5; - else - $gesamtnote = $l1note->studentgesamtnote; - echo ""; - - - echo "
    AufgabeGewichtPunkteTeilnoteNote
    "; - echo $row->bezeichnung; - if ($row->positiv) - echo "*"; - echo " ".$row->gewicht.""; - if ($l1note->punkte_gesamt_l1 >0) - echo $l1note->punkte_gesamt_l1; - echo "".$l1_note."
    - \n"; - echo $subrow->bezeichnung; - if ($subrow->positiv) - echo "*"; - echo " \n"; - if ($subrow->abgabe) - echo $subrow->gewicht; - echo " ".$l1note->punkte_gesamt."".$l1note->note."
    Errechnete Gesamtnote: ".$gesamtnote."
    "; - echo "* muss positiv sein"; - } - - echo "
    "; - - $legesamtnote = new legesamtnote($conn, $lehreinheit_id); - - if (!$legesamtnote->load($user, $lehreinheit_id)) - { - $lenote = null; - } - else - { - $lenote = $legesamtnote->note; - } - if ($lvgesamtnote = new lvgesamtnote($conn, $lvid,$user,$stsem)) - { - $lvnote = $lvgesamtnote->note; - } - else - $lvnote = null; - if ($zeugnisnote = new zeugnisnote($conn, $lvid,$user,$stsem)) - { - $znote = $zeugnisnote->note; - } - else - $znote = null; - - echo "\n"; - echo " "; - echo "\n"; - echo ""; - echo ""; - echo "\n"; - echo "\n"; - echo ""; - echo ""; - echo "\n"; - echo "\n"; - echo ""; - echo ""; - echo "\n"; - echo "
    Eingetragene Noten
    Lehreinheit".$lenote."
    Lehrveranstaltung".$lvnote."
    Zeugnis".$znote."
    "; - - echo "
    "; -} -?> - - +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +// ******************** +// * Studentenansicht fuers Kreuzerltool +// ******************** + +require_once('../../../config.inc.php'); +require_once('../../../../include/functions.inc.php'); +require_once('../../../../include/lehrveranstaltung.class.php'); +require_once('../../../../include/studiengang.class.php'); +require_once('../../../../include/studiensemester.class.php'); +require_once('../../../../include/lehreinheit.class.php'); +require_once('../../../../include/benutzerberechtigung.class.php'); +require_once('../../../../include/uebung.class.php'); +require_once('../../../../include/beispiel.class.php'); +require_once('../../../../include/datum.class.php'); +require_once('../../../../include/studentnote.class.php'); +require_once('../../../../include/legesamtnote.class.php'); +require_once('../../../../include/lvgesamtnote.class.php'); +require_once('../../../../include/zeugnisnote.class.php'); +include('functions.inc.php'); + +if(!$conn = pg_pconnect(CONN_STRING)) + die('Fehler beim oeffnen der Datenbankverbindung'); + +$user = get_uid(); +//$user = 'if06b172'; +//$user = 'if06b144'; +$lektorenansicht = 0; + +if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id + $lvid = $_GET['lvid']; +else + die('Fehlerhafte Parameteruebergabe'); + +if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id + $lehreinheit_id = $_GET['lehreinheit_id']; +else + $lehreinheit_id = ''; +$uid = (isset($_GET['uid'])?$_GET['uid']:''); //Uid + + + +if(check_lektor($user, $conn) && (isset($_GET['uid']) && $_GET["uid"] != "")) +{ + $rights = new benutzerberechtigung(); + $rights->getBerechtigungen($user); + //if(!check_lektor_lehreinheit($conn, $user, $_GET["lehreinheit_id"]) && !$rights->isBerechtigt('admin',0)) + $lehreinheit=new lehreinheit($conn, $_GET["lehreinheit_id"]); + if(!check_lektor_lehrveranstaltung($conn, $user, $lehreinheit->lehrveranstaltung_id, $lehreinheit->studiensemester_kurzbz) && !$rights->isBerechtigt('admin',0)) + die("Sie haben keine Berechtigung für diese Lehreinheit"); + $lektorenansicht = 1; + $user = $_GET["uid"]; +} + +//Laden der Lehrveranstaltung +$lv_obj = new lehrveranstaltung($conn); +if(!$lv_obj->load($lvid)) + die($lv_obj->errormsg); + +//Studiengang laden +$stg_obj = new studiengang($conn,$lv_obj->studiengang_kz); + +if(isset($_GET['stsem'])) + $stsem = $_GET['stsem']; +else + $stsem = ''; + +//Vars +$datum_obj = new datum(); + +$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); + +//Abgabedatei ausliefern +if (isset($_GET["download_abgabe"])){ + $file=$_GET["download_abgabe"]; + $uebung_id = $_GET["uebung_id"]; + $ueb = new uebung($conn); + $ueb->load_studentuebung($user, $uebung_id); + $ueb->load_abgabe($ueb->abgabe_id); + $filename = BENOTUNGSTOOL_PATH."abgabe/".$ueb->abgabedatei; + header('Content-Type: application/octet-stream'); + header('Content-disposition: attachment; filename="'.$file.'"'); + readfile($filename); + exit; +} + +//Angabedatei ausliefern +if (isset($_GET["download"])){ + $file=$_GET["download"]; + $uebung_id = $_GET["uebung_id"]; + $ueb = new uebung($conn); + $ueb->load($uebung_id); + $filename = "/documents/benotungstool/angabe/".$ueb->angabedatei; + header('Content-Type: application/octet-stream'); + header('Content-disposition: attachment; filename="'.$file.'"'); + readfile($filename); + exit; +} + +?> + + + + + + +Kreuzerltool + + + + + + +load_studentuebung($user, $uebung_id); + if (!$ueb->delete_abgabe($ueb->abgabe_id)) + echo $ueb->errormsg; + +} +//echo $_FILES["abgabedatei"]; +//if (isset($_FILES["abgabedatei"])) +if (isset($_POST["abgabe"])) +{ + $abgabedatei_up = $_FILES["abgabedatei"]["tmp_name"]; + $abgabe_anmerkung = (isset($_POST["abgabe_anmerkung"])?$_POST["abgabe_anmerkung"]:''); + + if ($abgabedatei_up) + { + //echo $abgabedatei_up; + $datum = date('Y-m-d H:i:s'); + $datumstr = ereg_replace(" ","_",$datum); + $name_up = pathinfo($_FILES["abgabedatei"]["name"]); + $name_neu = makeUploadName($conn, $which='abgabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem,$uid=$user, $date=$datumstr); + $abgabedatei = $name_neu.".".$name_up["extension"]; + $abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei; + + $uebung_obj = new uebung($conn); + $uebung_obj->load_studentuebung($user, $uebung_id); + + if ($uebung_obj->errormsg != "") + { + $uebung_obj->student_uid = $user; + $uebung_obj->mitarbeiter_uid = null; + $uebung_obj->abgabe_id = null; + $uebung_obj->uebung_id = $uebung_id; + $uebung_obj->note = null; + $uebung_obj->mitarbeitspunkte = null; + $uebung_obj->punkte = null; + $uebung_obj->anmerkung = null; + $uebung_obj->benotungsdatum = null; + $uebung_obj->updateamum = null; + $uebung_obj->updatevon = null; + $uebung_obj->insertamum = $datum; + $uebung_obj->insertvon = $user; + $uebung_obj->new = true; + $uebung_obj->studentuebung_save($new=true); + //echo $uebung_obj->errormsg; + + } + if ($uebung_obj->abgabe_id != null) + { + $uebung_obj->load_abgabe($uebung_obj->abgabe_id); + unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei); + $uebung_obj->abgabedatei = $abgabedatei; + $uebung_obj->abgabezeit = $datum; + $uebung_obj->abgabe_anmerkung = $abgabe_anmerkung; + $uebung_obj->abgabe_save(false); + } + else + { + $uebung_obj->abgabedatei = $abgabedatei; + $uebung_obj->abgabezeit = $datum; + $uebung_obj->abgabe_anmerkung = $abgabe_anmerkung; + $uebung_obj->abgabe_save(true); + } + $uebung_obj->studentuebung_save(false); + //Abgabedatei ablegen + move_uploaded_file($_FILES['abgabedatei']['tmp_name'], $abgabepfad); + } + + else + { + $abgabe_anmerkung = $_POST["abgabe_anmerkung"]; + $uebung_obj2 = new uebung($conn); + $uebung_obj2->load_studentuebung($user, $uebung_id); + if ($uebung_obj2->errormsg == "") + { + if ($uebung_obj2->abgabe_id != null) + { + $uebung_obj2->load_abgabe($uebung_obj2->abgabe_id); + $uebung_obj2->abgabe_anmerkung = $abgabe_anmerkung; + $uebung_obj2->abgabe_save(false); + } + } + } +} +else + $abgabedatei_up = null; + + + + +//Kopfzeile +echo ''; +echo ' '; +echo ''; +echo '
      Benotungstool'; +echo ''."\n"; + +//Studiensemester laden +$stsem_obj = new studiensemester($conn); +if($stsem=='') + $stsem = $stsem_obj->getaktorNext(); + +//Lehreinheiten laden zu denen der eingeloggte Student zugeteilt ist +//Bei Lehrverbaenden werden auch die uebergeordneten geladen +$qry = "SELECT distinct lehreinheit_id, kurzbz FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehrfach USING(lehrfach_id) WHERE lehreinheit_id IN( + SELECT lehreinheit_id FROM public.tbl_benutzergruppe JOIN lehre.tbl_lehreinheitgruppe USING (gruppe_kurzbz) + WHERE tbl_benutzergruppe.uid='$user' AND + tbl_lehreinheitgruppe.lehreinheit_id IN( + SELECT lehreinheit_id FROM lehre.tbl_lehreinheit JOIN campus.tbl_uebung USING(lehreinheit_id) + WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND tbl_lehreinheit.studiensemester_kurzbz='$stsem') + UNION + SELECT + lehreinheit_id + FROM + public.tbl_student, lehre.tbl_lehreinheitgruppe, public.tbl_studentlehrverband + WHERE + tbl_student.student_uid='$user' AND + tbl_studentlehrverband.student_uid=tbl_student.student_uid AND + tbl_studentlehrverband.studiensemester_kurzbz='$stsem' AND + tbl_student.studiengang_kz=tbl_lehreinheitgruppe.studiengang_kz AND + tbl_lehreinheitgruppe.gruppe_kurzbz is null AND + trim(tbl_studentlehrverband.semester)=trim(tbl_lehreinheitgruppe.semester) AND + ( + ( + ( + tbl_lehreinheitgruppe.verband<>'' AND + tbl_lehreinheitgruppe.gruppe<>'' AND + trim(tbl_lehreinheitgruppe.verband) = trim(tbl_studentlehrverband.verband) AND + trim(tbl_lehreinheitgruppe.gruppe) = trim(tbl_studentlehrverband.gruppe) + ) + OR + ( + tbl_lehreinheitgruppe.verband<>'' AND + ( + trim(tbl_lehreinheitgruppe.gruppe)='' OR + tbl_lehreinheitgruppe.gruppe is null + ) + AND + trim(tbl_lehreinheitgruppe.verband) = trim(tbl_studentlehrverband.verband) + ) + OR + ( + (trim(tbl_lehreinheitgruppe.verband)='' OR tbl_lehreinheitgruppe.verband is null) + AND + (trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) + ) + ) + ) + AND + tbl_lehreinheitgruppe.lehreinheit_id IN(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit JOIN campus.tbl_uebung USING(lehreinheit_id) + WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND tbl_lehreinheit.studiensemester_kurzbz='$stsem'))"; +//echo $qry; +if($result = pg_query($conn, $qry)) +{ + if(pg_num_rows($result)>1) + { + //Lehreinheiten DropDown + echo " Lehreinheit: '; + } + else + { + if($row = pg_fetch_object($result)) + $lehreinheit_id = $row->lehreinheit_id; + else + $lehreinheit_id =''; + } +} +else +{ + echo 'Fehler beim Auslesen der Lehreinheiten'; +} + +echo '
    '; +echo ''; +echo ''; +echo "'; -echo ''; -echo '
     \n"; +echo "
    $lv_obj->bezeichnungDownloadverzeichnis anzeigen

    "; + +if($lehreinheit_id=='') + die('Derzeit gibt es keine Kreuzerllisten für diese Lehrveranstaltung'); + +$qry = "SELECT vorname, nachname FROM campus.vw_student WHERE uid='$user'"; +$name=''; +if($result = pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $name = $row->vorname.' '.$row->nachname; + + + +if (!isset($_GET["notenuebersicht"])) +{ + $l = 0; + $ueb_check = new uebung($conn); + $ueb_check->load_uebung($lehreinheit_id,1); + if (count($ueb_check->uebungen > 0)) + { + foreach ($ueb_check->uebungen as $row) + { + $sub_check = new uebung($conn); + $sub_check->load_uebung($lehreinheit_id,2,$row->uebung_id); + if (count($sub_check->uebungen) > 0) + $l = 1; + } + } + + if ($l > 0) + { + echo "
    Leistungsuebersicht / Notenübersicht für $name

    "; + $uebung_obj = new uebung($conn); + $uebung_obj->load_uebung($lehreinheit_id,1); + if(count($uebung_obj->uebungen)>0) + { + echo "'; + + echo " +
    "; + echo "
    Wählen Sie bitte eine Aufgabe aus (Kreuzerllisten, Abgaben): '; + echo '
    + + + + + + + + + +
    +...freigeschaltet.
    -...nicht freigeschaltet.
    +
    "; + } + else + die("Derzeit gibt es keine Uebungen"); + } + else + { + $callURL="studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id¬enuebersicht=1&uid=$user"; + #header("Location:$callURL"); + echo ""; + exit; + //echo "Derzeit sind keine Kreuzerllisten oder Abgaben angelegt"; + } + + + + //******SPEICHERN DER DATEN************* + if(isset($_POST['submit'])) + { + $error=false; + + $ueb_hlp_obj = new uebung($conn); + $ueb_hlp_obj->load($uebung_id); + //Wenn Kreuzerlliste Freigegeben ist + if($datum_obj->mktime_fromtimestamp($ueb_hlp_obj->freigabevon)mktime_fromtimestamp($ueb_hlp_obj->freigabebis)>time()) + { + $bsp_obj = new beispiel($conn); + + if($bsp_obj->load_beispiel($uebung_id)) + { + $anzahl_solved = 0; + foreach ($bsp_obj->beispiele as $row) + { + if (isset($_POST['solved_'.$row->beispiel_id]) && ($_POST['solved_'.$row->beispiel_id]==1)) + $anzahl_solved++; + } + if (($anzahl_solved <= $ueb_hlp_obj->maxbsp) || ($ueb_hlp_obj->maxbsp == 0)) + { + foreach ($bsp_obj->beispiele as $row) + { + $stud_bsp_obj = new beispiel($conn); + + if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id)) + { + $stud_bsp_obj->new=false; + } + else + { + $stud_bsp_obj->new=true; + $stud_bsp_obj->insertamum = date('Y-m-d H:i:s'); + $stud_bsp_obj->insertvon = $user; + $stud_bsp_obj->vorbereitet = false; + } + if (isset($_POST['solved_'.$row->beispiel_id])) + $stud_bsp_obj->vorbereitet = ($_POST['solved_'.$row->beispiel_id]==1?true:false); + + $stud_bsp_obj->probleme = (isset($_POST['problem_'.$row->beispiel_id])?true:false); + $stud_bsp_obj->updateamum = date('Y-m-d H:i:s'); + $stud_bsp_obj->updatevon = $user; + $stud_bsp_obj->student_uid = $user; + $stud_bsp_obj->beispiel_id = $row->beispiel_id; + + if(!$row->check_anzahl_studentbeispiel($row->beispiel_id)) + die('Fehler beim Ermitteln der Beispiele'); + if (($row->anzahl_studentbeispiel >= $ueb_hlp_obj->maxstd) && ($stud_bsp_obj->vorbereitet==true) && ($ueb_hlp_obj->maxstd != null)) //isset($_POST['problem_'.$row->beispiel_id]) && $stud_bsp_obj->new || + { + $hlp = new beispiel($conn); + if($hlp->load_studentbeispiel($user, $row->beispiel_id)) + { + if($hlp->vorbereitet!=$stud_bsp_obj->vorbereitet) + { + echo "Das Beispiel $row->bezeichnung kann nicht mehr angekreuzt werden
    "; + $error = true; + } + } + } + else + { + if(!$stud_bsp_obj->studentbeispiel_save()) + { + echo $stud_bsp_obj->errormsg; + $error=true; + } + } + } + } + else + { + $error=true; + echo "Zu viele Beispiele angekreuzt!
    "; + } + } + + if($error) + echo "Es konnten nicht alle Daten gespeichert werden
    "; + else + echo "Die Daten wurden erfolgreich gespeichert
    "; + } + else + echo "Die Änderungen können nicht gespeichert werden, da diese Kreuzerlliste nicht freigegeben ist!"; + } + + //********ANZEIGE DER EINGETRAGENEN KREUZERL*********** + if ($l > 0) + { + $uebung_obj = new uebung($conn); + $uebung_obj->load($uebung_id); + $downloadname = mb_ereg_replace($uebung_id,mb_ereg_replace(' ','_',$uebung_obj->bezeichnung), $uebung_obj->angabedatei); + echo "Freigegeben von ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon))." bis ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)); + echo "

    $uebung_obj->bezeichnung

    "; + if ($uebung_obj->angabedatei) + echo "Angabe: ".$downloadname."

    "; + + + $ueb_obj = new uebung($conn); + if($ueb_obj->load_studentuebung($user, $uebung_id)) + { + $anmerkung = $ueb_obj->anmerkung; + $mitarbeit = $ueb_obj->mitarbeitspunkte; + $note = $ueb_obj->note; + } + else + { + $anmerkung = ''; + $mitarbeit = 0; + $note = null; + } + $anmerkung = ereg_replace("\n","
    ",$anmerkung); + + if ($uebung_obj->beispiele) + { + + $qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id IN (SELECT beispiel_id from campus.tbl_beispiel where uebung_id = $uebung_id) AND vorbereitet=true and student_uid = '$user'"; + if($result_cnt = pg_query($conn,$qry_cnt)) + if($row_cnt = pg_fetch_object($result_cnt)) + $anzahl = $row_cnt->anzahl; + + echo ""; + + $bsp_obj = new beispiel($conn); + $bsp_obj->load_beispiel($uebung_id); + if ($bsp_obj->beispiele) + { + echo " "; + if ($uebung_obj->maxbsp > 0) + echo ""; + if ($uebung_obj->maxstd > 0) + echo ""; + echo "
    Maximale Anzahl der Beispiele/Student:".$uebung_obj->maxbsp."
    Maximale Anzahl Studenten/Beispiel:".$uebung_obj->maxstd."
    "; + echo " +
    + + + "; + echo "
    + ".($anmerkung!=''?'Anmerkungen:
    '.$anmerkung.'

    ':'')." +
    + + + + + + + + "; + + + + foreach ($bsp_obj->beispiele as $row) + { + $bsp_voll = false; + $stud_bsp_obj = new beispiel($conn); + + if ($uebung_obj->maxstd > 0) + { + $stud_bsp_obj->check_anzahl_studentbeispiel($row->beispiel_id); + if ($stud_bsp_obj->anzahl_studentbeispiel >= $uebung_obj->maxstd) + $bsp_voll = true; + } + if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id)) + { + $vorbereitet = $stud_bsp_obj->vorbereitet; + $probleme = $stud_bsp_obj->probleme; + } + else + { + $vorbereitet = false; + $probleme = false; + } + if ($bsp_voll) + { + $ro = " disabled"; + $markiert = " style='background-color:#dddddd;'"; + } + else + { + $ro = ""; + $markiert = ""; + } + echo " + + + + + + "; + + + } + + //Speichern button nur Anzeigen wenn die Uebung Freigegeben ist + if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) + echo ""; + + echo "
    BeispielVorbereitetNicht vorbereitetProblemePunkte
    $row->bezeichnung$row->punkte
    "; + } + else + echo "
    Keine Beispiele angelegt
    + +
     
    "; + + if ($uebung_obj->abgabe) + { + + echo "
    \n"; + $uebung_obj->load_studentuebung($user, $uebung_id); + if ($uebung_obj->abgabe_id) + { + $uebung_obj->load_abgabe($uebung_obj->abgabe_id); + echo " "; + echo" "; + echo ""; + } + + if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) + { + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo "\n"; + + } + echo "
    Abgabedatei:
    ".$uebung_obj->abgabedatei.""; + if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) + echo " [del]
    \n"; + echo " "; + echo "
    "; + } + + echo "
    "; + + //Gesamtpunkte diese Kreuzerlliste + $qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id'"; + $punkte_gesamt=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_gesamt = $row->punktegesamt; + + //Eingetragen diese Kreuzerlliste + $qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' AND student_uid='$user' AND vorbereitet=true"; + $punkte_eingetragen=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0); + + //Gesamtpunkte alle Kreuzerllisten in dieser Übung + $ueb_help = new uebung($conn, $uebung_id); + $liste_id = $ueb_help->liste_id; + $qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung + WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND + tbl_uebung.lehreinheit_id='$lehreinheit_id' and tbl_uebung.liste_id = '$liste_id'"; + $punkte_gesamt_alle=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_gesamt_alle = $row->punktegesamt_alle; + + //Eingetragen alle Kreuzerllisten + $qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung + WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND + tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND + tbl_uebung.lehreinheit_id='$lehreinheit_id' AND + tbl_uebung.liste_id = '$liste_id' AND + tbl_studentbeispiel.student_uid='$user' AND vorbereitet=true"; + $punkte_eingetragen_alle=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0); + + //Mitarbeitspunkte + $qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) + WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$user' AND liste_id = '$liste_id'"; + $mitarbeit_alle=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0); + + //Mitarbeitspunkte + $qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung + WHERE uebung_id='$uebung_id' AND student_uid='$user'"; + $mitarbeit=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $mitarbeit = $row->mitarbeitspunkte; + echo " + + + + + + + + + + + + + +
    Diese Kreuzerlliste:
    Punkte insgesamt möglich:$punkte_gesamt
    Punkte eingetragen:$punkte_eingetragen
    +

    + + + + + + + + + + + + +
    Alle Kreuzerllisten dieser Übung:
    Punkte insgesamt möglich:$punkte_gesamt_alle
    Punkte eingetragen:$punkte_eingetragen_alle
    +

    + + + + + + + + + + + + +
    Mitarbeitspunkte:
    Bisher insgesamt:$mitarbeit_alle
    Diese Kreuzerlliste:$mitarbeit
    + "; + + + echo " +
    + + + "; + + //**********STATISTIK*************** + if($uebung_obj->statistik) + { + echo "

    Statistik

    "; + $beispiel_obj = new beispiel($conn); + if($beispiel_obj->load_beispiel($uebung_id)) + { + if(count($beispiel_obj->beispiele)>0) + { + echo ' + + + + '; + $i=0; + $qry_cnt = "SELECT distinct student_uid FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' GROUP BY student_uid"; + if($result_cnt = pg_query($conn,$qry_cnt)) + $gesamt=pg_num_rows($result_cnt); + + foreach ($beispiel_obj->beispiele as $row) + { + $i++; + $solved = 0; + $psolved = 0; + $qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id=$row->beispiel_id AND vorbereitet=true"; + if($result_cnt = pg_query($conn,$qry_cnt)) + if($row_cnt = pg_fetch_object($result_cnt)) + $solved = $row_cnt->anzahl; + + + + if($solved>0) + $psolved = $solved/$gesamt*100; + + echo ' + + + '; + } + echo "
      + + + + +
     
    +
    + '.$row->bezeichnung.' + + + + + +
    + + + + +
    + +  '.$solved.' ['.number_format($psolved,1,'.','').'%] +
    +
    +
    "; + echo "

    Es haben insgesamt $gesamt Studenten eingetragen."; + } + } + else + echo "$beispiel_obj->errormsg"; + echo "
    "; + } + } + else if ($uebung_obj->abgabe) + { + + echo "\n"; + echo "\n"; + echo" + + "; + echo "\n"; + + echo "\n"; + $uebung_obj->load_studentuebung($user, $uebung_id); + if ($uebung_obj->abgabe_id) + { + $uebung_obj->load_abgabe($uebung_obj->abgabe_id); + echo " "; + echo" "; + echo ""; + } + if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) + { + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo "\n"; + } + echo "
    ".($note!=''?'Note: '.$note.'

    ':'')."
    + ".($anmerkung!=''?'Anmerkungen:
    '.$anmerkung.'

    ':'')." +

    Abgabedatei: ".$uebung_obj->abgabedatei.""; + if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) + echo " [del]
    \n"; + echo "
    Anmerkung:

    "; + echo "
    Datei:
    "; + echo "
    \n"; + + } + } + +} +//notenübersicht +else +{ + if ($lektorenansicht == 1) + { + $uid_arr = Array(); + $vorname_arr = Array(); + $nachname_arr = Array(); + + $qry_stud_dd = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = '".$stsem."' and lehreinheit_id = '".$lehreinheit_id."' ORDER BY nachname, vorname"; + if($result_stud_dd = pg_query($conn, $qry_stud_dd)) + { + $i=1; + while($row_stud_dd = pg_fetch_object($result_stud_dd)) + { + $uid_arr[] = $row_stud_dd->uid; + $vorname_arr[] = $row_stud_dd->vorname; + $nachname_arr[] = $row_stud_dd->nachname; + + } + } + + echo "


    "; + echo "Bitte Wählen Sie eine/n Studierende/n aus: "; + $key = array_search($uid,$uid_arr); + $prev = $key-1; + $next = $key+1; + if ($key > 0) + echo " << "; + echo ""; + if ($key < count($uid_arr)-1) + echo " >> "; + + echo "


    "; + } + + echo "
    Leistungsuebersicht / Notenübersicht für $name

    "; + echo "
    "; + + $uebung_obj = new uebung($conn); + $uebung_obj->load_uebung($lehreinheit_id,1); + if(count($uebung_obj->uebungen)>0) + { + + echo ""; + echo " \n"; + echo " \n"; + echo " \n"; + echo " "; + echo " \n"; + echo " "; + echo " \n"; + foreach ($uebung_obj->uebungen as $row) + { + + $subuebung_obj = new uebung($conn); + $subuebung_obj->load_uebung($lehreinheit_id,2,$row->uebung_id); + $l1note = new studentnote($conn); + if(count($subuebung_obj->uebungen) >= 0) + { + + + $l1note->calc_l1_note($row->uebung_id, $user, $lehreinheit_id); + if ($l1note->negativ) + $l1_note = 5; + else + $l1_note = $l1note->l1_note; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo ""; + echo "\n"; + echo " \n"; + + } + + if(count($subuebung_obj->uebungen) > 0) + { + + foreach ($subuebung_obj->uebungen as $subrow) + { + + echo " \n"; + echo " "; + echo " \n"; + echo " \n"; + if ($subrow->beispiele) + { + $l1note->calc_punkte($subrow->uebung_id, $user); + echo " "; + echo " \n"; + echo " \n"; + } + else if ($subrow->abgabe) + { + $l1note->calc_note($subrow->uebung_id, $user); + echo " \n"; + echo " "; + echo " \n"; + } + echo " \n"; /* + if($datum_obj->mktime_fromtimestamp($subrow->freigabevon)mktime_fromtimestamp($subrow->freigabebis)>time()) + echo ' + '; + else + echo ' - '; + */ + + } + + } + } + $l1note->calc_gesamtnote($lehreinheit_id, $stsem, $user); + if ($l1note->negativ) + $gesamtnote = 5; + else + $gesamtnote = $l1note->studentgesamtnote; + echo ""; + + + echo "
    AufgabeGewichtPunkteTeilnoteNote
    "; + echo $row->bezeichnung; + if ($row->positiv) + echo "*"; + echo " ".$row->gewicht.""; + if ($l1note->punkte_gesamt_l1 >0) + echo $l1note->punkte_gesamt_l1; + echo "".$l1_note."
    - \n"; + echo $subrow->bezeichnung; + if ($subrow->positiv) + echo "*"; + echo " \n"; + if ($subrow->abgabe) + echo $subrow->gewicht; + echo " ".$l1note->punkte_gesamt."".$l1note->note."
    Errechnete Gesamtnote: ".$gesamtnote."
    "; + echo "* muss positiv sein"; + } + + echo "
    "; + + $legesamtnote = new legesamtnote($conn, $lehreinheit_id); + + if (!$legesamtnote->load($user, $lehreinheit_id)) + { + $lenote = null; + } + else + { + $lenote = $legesamtnote->note; + } + if ($lvgesamtnote = new lvgesamtnote($conn, $lvid,$user,$stsem)) + { + $lvnote = $lvgesamtnote->note; + } + else + $lvnote = null; + if ($zeugnisnote = new zeugnisnote($conn, $lvid,$user,$stsem)) + { + $znote = $zeugnisnote->note; + } + else + $znote = null; + + echo "\n"; + echo " "; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo "\n"; + echo ""; + echo ""; + echo "\n"; + echo "
    Eingetragene Noten
    Lehreinheit".$lenote."
    Lehrveranstaltung".$lvnote."
    Zeugnis".$znote."
    "; + + echo "
    "; +} +?> + + diff --git a/cis/private/lehre/benotungstool/studentenpunkteverwalten.php b/cis/private/lehre/benotungstool/studentenpunkteverwalten.php index 61e5a1000..488fd53ca 100644 --- a/cis/private/lehre/benotungstool/studentenpunkteverwalten.php +++ b/cis/private/lehre/benotungstool/studentenpunkteverwalten.php @@ -1,998 +1,998 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ - -require_once('../../../config.inc.php'); -require_once('../../../../include/functions.inc.php'); -require_once('../../../../include/lehrveranstaltung.class.php'); -require_once('../../../../include/studiengang.class.php'); -require_once('../../../../include/studiensemester.class.php'); -require_once('../../../../include/lehreinheit.class.php'); -require_once('../../../../include/benutzerberechtigung.class.php'); -require_once('../../../../include/uebung.class.php'); -require_once('../../../../include/beispiel.class.php'); -require_once('../../../../include/studentnote.class.php'); -require_once('../../../../include/datum.class.php'); -require_once('functions.inc.php'); - -if(!$conn = pg_pconnect(CONN_STRING)) - die('Fehler beim oeffnen der Datenbankverbindung'); - -$user = get_uid(); - -if(!check_lektor($user, $conn)) - die('Sie haben keine Berechtigung fuer diesen Bereich'); - -$rechte = new benutzerberechtigung($conn); -$rechte->getBerechtigungen($user); - -if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id - $lvid = $_GET['lvid']; -else - die('Fehlerhafte Parameteruebergabe'); - -if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id - $lehreinheit_id = $_GET['lehreinheit_id']; -else - $lehreinheit_id = ''; - -//Laden der Lehrveranstaltung -$lv_obj = new lehrveranstaltung($conn); -if(!$lv_obj->load($lvid)) - die($lv_obj->errormsg); - -//Studiengang laden -$stg_obj = new studiengang($conn,$lv_obj->studiengang_kz); - -if(isset($_GET['stsem'])) - $stsem = $_GET['stsem']; -else - $stsem = ''; - -//Vars -$datum_obj = new datum(); - -$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); -$uid = (isset($_GET['uid'])?$_GET['uid']:''); - -//Abgabedatei ausliefern -if (isset($_GET["download_abgabe"])){ - $file=$_GET["download_abgabe"]; - $uebung_id = $_GET["uebung_id"]; - $ueb = new uebung($conn); - $ueb->load_studentuebung($uid, $uebung_id); - $ueb->load_abgabe($ueb->abgabe_id); - $filename = BENOTUNGSTOOL_PATH."abgabe/".$ueb->abgabedatei; - header('Content-Type: application/octet-stream'); - header('Content-disposition: attachment; filename="'.$file.'"'); - readfile($filename); - exit; -} - -//Handbuch ausliefern -if (isset($_GET["handbuch"])){ - $filename = BENOTUNGSTOOL_PATH."handbuch_benotungstool.pdf"; - header('Content-Type: application/octet-stream'); - header('Content-disposition: attachment; filename="handbuch_benotungstool.pdf"'); - readfile($filename); - exit; -} - - -if (isset($_FILES["abgabedatei"])) -{ - //echo $_FILES["abgabedatei"]; - $abgabedatei_up = $_FILES["abgabedatei"]["tmp_name"]; - - if ($abgabedatei_up) - { - $student_uid = $uid; - $datum = date('Y-m-d H:i:s'); - $datumstr = ereg_replace(" ","_",$datum); - $name_up = pathinfo($_FILES["abgabedatei"]["name"]); - $name_neu = makeUploadName($conn, $which='abgabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem,$uid=$student_uid, $date=$datumstr); - $abgabedatei = $name_neu.".".$name_up["extension"]; - $abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei; - - $uebung_obj = new uebung($conn); - $uebung_obj->load_studentuebung($student_uid, $uebung_id); - - - if ($uebung_obj->errormsg != "") - { - $uebung_obj->student_uid = $student_uid; - $uebung_obj->mitarbeiter_uid = null; - $uebung_obj->abgabe_id = null; - $uebung_obj->uebung_id = $uebung_id; - $uebung_obj->note = null; - $uebung_obj->mitarbeitspunkte = null; - $uebung_obj->punkte = null; - $uebung_obj->anmerkung = null; - $uebung_obj->benotungsdatum = null; - $uebung_obj->updateamum = null; - $uebung_obj->updatevon = null; - $uebung_obj->insertamum = $datum; - $uebung_obj->insertvon = $user; - $uebung_obj->new = true; - $uebung_obj->studentuebung_save($new=true); - echo $uebung_obj->errormsg; - - } - if ($uebung_obj->abgabe_id != null) - { - $uebung_obj->load_abgabe($uebung_obj->abgabe_id); - unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei); - $uebung_obj->abgabedatei = $abgabedatei; - $uebung_obj->abgabezeit = $datum; - $uebung_obj->abgabe_anmerkung = ""; - $uebung_obj->abgabe_save(false); - } - else - { - $uebung_obj->abgabedatei = $abgabedatei; - $uebung_obj->abgabezeit = $datum; - $uebung_obj->abgabe_anmerkung = ""; - $uebung_obj->abgabe_save(true); - } - $uebung_obj->studentuebung_save(false); - //Abgabedatei ablegen - move_uploaded_file($_FILES['abgabedatei']['tmp_name'], $abgabepfad); - } -} -else - $abgabedatei_up = null; - -?> - - - - - -Benotungstool - - - - -'; -echo '
      Benotungstool'; -echo ''."\n"; - -//Studiensemester laden -$stsem_obj = new studiensemester($conn); -if($stsem=='') - $stsem = $stsem_obj->getaktorNext(); - -$stsem_obj->getAll(); - -//Studiensemester DropDown -$stsem_content = "Studiensemester: \n"; - -//Lehreinheiten laden -if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz)) -{ - $qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND - tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; -} -else -{ - $qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND - tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid='$user') AND - tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; - -} - -if($result = pg_query($conn, $qry)) -{ - if(pg_num_rows($result)>1) - { - //Lehreinheiten DropDown - echo " Lehreinheit: '; - } - else - { - if($row = pg_fetch_object($result)) - $lehreinheit_id = $row->lehreinheit_id; - } -} -else -{ - echo 'Fehler beim Auslesen der Lehreinheiten'; -} -echo $stsem_content; -echo '
    '; -echo ''; -echo ''; -echo " -
     \n"; -echo "$lv_obj->bezeichnung
    "; - -if($lehreinheit_id=='') - die('Es wurde keine passende Lehreinheit in diesem Studiensemester gefunden'); - -//Menue -include("menue.inc.php"); -/* -echo "\n\n"; -echo "
     Verwaltung     - Anwesenheits- und Übersichtstabelle     - Studentenpunkte verwalten     - Statistik -

    -\n"; -*/ - -echo "

    Studentenaufgaben verwalten

    "; -if(isset($_POST['submit'])) -{ - $error=false; - $punkte = (isset($_POST['punkte'])?mb_ereg_replace(',','.',$_POST['punkte']):''); - if(isset($punkte) && is_numeric($punkte) && !isset($_POST['abgabe'])) - { - $ueb_obj = new uebung($conn); - if($ueb_obj->load_studentuebung($uid, $uebung_id)) - $ueb_obj->new = false; - else - { - $ueb_obj->new = true; - $ueb_obj->insertamum = date('Y-m-d H:i:s'); - $ueb_obj->insertvon = $user; - } - - $ueb_obj->mitarbeitspunkte = $punkte; - $ueb_obj->anmerkung = $_POST['anmerkung']; - $ueb_obj->updateamum = date('Y-m-d H:i:s'); - $ueb_obj->updatevon = $user; - $ueb_obj->mitarbeiter_uid = $user; - $ueb_obj->uebung_id = $uebung_id; - $ueb_obj->student_uid = $uid; - - if(!$ueb_obj->studentuebung_save()) - $error = true; - - $bsp_obj = new beispiel($conn); - - if($bsp_obj->load_beispiel($uebung_id)) - { - foreach ($bsp_obj->beispiele as $row) - { - $stud_bsp_obj = new beispiel($conn); - - if($stud_bsp_obj->load_studentbeispiel($uid, $row->beispiel_id)) - { - $stud_bsp_obj->new=false; - } - else - { - $stud_bsp_obj->new=true; - $stud_bsp_obj->insertamum = date('Y-m-d H:i:s'); - $stud_bsp_obj->insertvon = $user; - } - $stud_bsp_obj->vorbereitet = ($_POST['solved_'.$row->beispiel_id]==1?true:false); - $stud_bsp_obj->probleme = (isset($_POST['problem_'.$row->beispiel_id])?true:false); - $stud_bsp_obj->updateamum = date('Y-m-d H:i:s'); - $stud_bsp_obj->updatevon = $user; - $stud_bsp_obj->student_uid = $uid; - $stud_bsp_obj->beispiel_id = $row->beispiel_id; - - if(!$stud_bsp_obj->studentbeispiel_save()) - { - echo $stud_bsp_obj->errormsg; - $error=true; - } - } - } - - if($error) - echo "Es konnten nicht alle Daten gespeichert werden"; - else - echo "Die Daten wurden erfolgreich gespeichert
    "; - - } - else if (!isset($_POST['abgabe'])) - { - echo "Punkte sind ungueltig"; - } - if(isset($_POST['abgabe']) && is_numeric($_POST['note'])) - { - $note = $_POST['note']; - $ueb_obj = new uebung($conn); - if($ueb_obj->load_studentuebung($uid, $uebung_id)) - $ueb_obj->new = false; - else - { - $ueb_obj->new = true; - $ueb_obj->insertamum = date('Y-m-d H:i:s'); - $ueb_obj->insertvon = $user; - } - - $ueb_obj->note = $note; - $ueb_obj->anmerkung = $_POST['anmerkung']; - $ueb_obj->updateamum = date('Y-m-d H:i:s'); - $ueb_obj->updatevon = $user; - $ueb_obj->mitarbeiter_uid = $user; - $ueb_obj->uebung_id = $uebung_id; - $ueb_obj->student_uid = $uid; - - if(!$ueb_obj->studentuebung_save()) - $error = true; - if($error) - echo "Es konnten nicht alle Daten gespeichert werden"; - else - echo "Die Daten wurden erfolgreich gespeichert
    "; - } - else if (isset($_POST['abgabe'])) - echo "Note ist ungueltig
    "; -} - -if(isset($_GET['uid']) && $_GET['uid']!='') -{ - //Punkte eintragen - $uid = addslashes($_GET['uid']); - - $qry_stud = "SELECT vorname, nachname, uid FROM campus.vw_student WHERE uid='$uid'"; - - if(!$result_stud = pg_query($conn, $qry_stud)) - die('Fehler beim laden des Studenten'); - - if(!$row_stud = pg_fetch_object($result_stud)) - die('Student wurde nicht gefunden'); - - //echo "$row_stud->vorname $row_stud->nachname
    \n"; - - - - $uid_arr = Array(); - $vorname_arr = Array(); - $nachname_arr = Array(); - -// $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id' ORDER BY semester, verband, gruppe, gruppe_kurzbz"; - -// if($result_grp = pg_query($conn, $qry)) -// { -// while($row_grp = pg_fetch_object($result_grp)) -// { -/* - if($row_grp->gruppe_kurzbz!='') - { - $qry_stud_dd = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' AND studiensemester_kurzbz = '".$stsem."' ORDER BY nachname, vorname"; - } - else - { - $qry_stud_dd = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student - WHERE studiengang_kz='$row_grp->studiengang_kz' AND - semester='$row_grp->semester' ". - ($row_grp->verband!=''?" AND trim(verband)=trim('$row_grp->verband')":''). - ($row_grp->gruppe!=''?" AND trim(gruppe)=trim('$row_grp->gruppe')":''). - " ORDER BY nachname, vorname"; - } -*/ - - // studentenquery - $qry_stud_dd = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = '".$stsem."' and lehreinheit_id = '".$lehreinheit_id."' ORDER BY nachname, vorname"; - if($result_stud_dd = pg_query($conn, $qry_stud_dd)) - { - $i=1; - while($row_stud_dd = pg_fetch_object($result_stud_dd)) - { - $uid_arr[] = $row_stud_dd->uid; - $vorname_arr[] = $row_stud_dd->vorname; - $nachname_arr[] = $row_stud_dd->nachname; - - } - } -// } -// } - echo "Bitte Wählen Sie eine/n Studierende/n aus: "; - $key = array_search($uid,$uid_arr); - $prev = $key-1; - $next = $key+1; - if ($key > 0) - echo " << "; - echo ""; - if ($key < count($uid_arr)-1) - echo " >> "; - - - $uebung_obj = new uebung($conn); - $uebung_obj->load_uebung($lehreinheit_id,1); - if(count($uebung_obj->uebungen)>0) - { - echo "'; - - echo " -
    "; - echo "
    Wählen Sie bitte eine Aufgabe aus (Kreuzerllisten, Abgaben): '; - - echo '
    - - - - - - - - - -
    +...freigeschaltet.
    -...nicht freigeschaltet.
    -
    "; - } - else - die("Derzeit gibt es keine Uebungen"); - - $ueb_obj = new uebung($conn); - $ueb_obj->load($uebung_id); - if($ueb_obj->load_studentuebung($uid, $uebung_id)) - { - $anmerkung = $ueb_obj->anmerkung; - $mitarbeit = $ueb_obj->mitarbeitspunkte; - $note = $ueb_obj->note; - } - else - { - $anmerkung = ''; - $mitarbeit = 0; - $note = ''; - } - - if ($ueb_obj->beispiele && is_numeric($_GET['uebung_id'])) - { - //$studentnote = new studentnote($conn,$lehreinheit_id,$stsem,$uid,$uebung_id); - //echo "Note: ".$studentnote->note." (Gewicht: ".$ueb_obj->gewicht.")

    "; - echo " -
    - - - - - - -
    - Anmerkungen:
    - -

    - - - - - - - - "; - - $bsp_obj = new beispiel($conn); - $bsp_obj->load_beispiel($uebung_id); - - foreach ($bsp_obj->beispiele as $row) - { - $stud_bsp_obj = new beispiel($conn); - if($stud_bsp_obj->load_studentbeispiel($uid, $row->beispiel_id)) - { - $vorbereitet = $stud_bsp_obj->vorbereitet; - $probleme = $stud_bsp_obj->probleme; - } - else - { - $vorbereitet = false; - $probleme = false; - } - echo " - - - - - - "; - } - - echo "
    BeispielVorbereitetNicht vorbereitetProblemePunkte
    $row->bezeichnung$row->punkte
    "; - - - - $ueb_obj->load_studentuebung($uid, $uebung_id); - if ($ueb_obj->abgabe_id) - { - $ueb_obj->load_abgabe($ueb_obj->abgabe_id); - $filename = $ueb_obj->abgabedatei; - } - else - $filename=''; - - if ($filename != '') - echo "
    Abgabedatei: ".$filename."

    "; - - - - echo " -
    "; - - //Gesamtpunkte diese Kreuzerlliste - $qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id'"; - $punkte_gesamt=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_gesamt = $row->punktegesamt; - - //Eingetragen diese Kreuzerlliste - $qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' AND student_uid='$uid' AND vorbereitet=true"; - $punkte_eingetragen=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0); - - - //Gesamtpunkte alle Kreuzerllisten in dieser Übung - $ueb_help = new uebung($conn, $uebung_id); - $liste_id = $ueb_help->liste_id; - $qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung - WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND - tbl_uebung.lehreinheit_id='$lehreinheit_id' and tbl_uebung.liste_id = '$liste_id'"; - $punkte_gesamt_alle=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_gesamt_alle = $row->punktegesamt_alle; - - //Eingetragen alle Kreuzerllisten - $qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung - WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND - tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND - tbl_uebung.lehreinheit_id='$lehreinheit_id' AND - tbl_uebung.liste_id = '$liste_id' AND - tbl_studentbeispiel.student_uid='$uid' AND vorbereitet=true"; - $punkte_eingetragen_alle=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0); - - //Mitarbeitspunkte - $qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) - WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$uid' and liste_id='$liste_id'"; - $mitarbeit_alle=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0); - - //Mitarbeitspunkte - $qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung - WHERE uebung_id='$uebung_id' AND student_uid='$uid'"; - $mitarbeit=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $mitarbeit = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0); - echo " -
    - - - - - - - - - - - - -
    Diese Kreuzerlliste:
    Punkte insgesamt möglich:$punkte_gesamt
    Punkte eingetragen:$punkte_eingetragen
    -

    - - - - - - - - - - - - -
    Alle Kreuzerllisten dieser Übung:
    Punkte insgesamt möglich:$punkte_gesamt_alle
    Punkte eingetragen:$punkte_eingetragen_alle
    -

    - - - - - - - - - - - - -
    Mitarbeitspunkte:
    Bisher insgesamt:$mitarbeit_alle
    Diese Kreuzerlliste:
    - "; - - - echo " -
      - - -
    - -
    - "; - } - else if (is_numeric($_GET['uebung_id'])) - { - $ueb_obj->load_studentuebung($uid, $uebung_id); - if ($ueb_obj->abgabe_id) - { - $ueb_obj->load_abgabe($ueb_obj->abgabe_id); - $filename = $ueb_obj->abgabedatei; - } - else - $filename=''; - //Abgaben benoten - $studentnote = new studentnote($conn,$lehreinheit_id,$stsem,$uid,$uebung_id); - $studentnote->calc_note($uebung_id, $uid); - echo "Note: ".$studentnote->note." (Gewicht: ".$ueb_obj->gewicht.")

    "; - if ($filename != '') - echo "Abgabedatei: ".$filename."

    "; - echo " -
    -
    - Anmerkungen:
    - -
    - - - - - "; - echo " - - - - -
    Note
    - - -
    - "; - - } - echo "
    "; - echo "\n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo "\n"; - echo "
    \n"; - echo " Studentenabgabedatei:
    "; - echo "
    "; -} -else -{ - - //Übungen benoten - $uebung_obj = new uebung($conn); - $uebung_obj->load_uebung($lehreinheit_id,1); - if(count($uebung_obj->uebungen)>0) - { - echo "
    "; - echo "
    Aufgabe (Kreuzerllisten, Abgaben): '; - echo " [benoten]"; - $abgabe_obj = new uebung($conn, $uebung_id); - if ($abgabe_obj->abgabe && glob(BENOTUNGSTOOL_PATH."abgabe/*_[WS]S[0-9][0-9][0-9][0-9]_".$uebung_id."_*")) - { - $date = date('Y-m-d_H:i:s'); - $downloadname = makeUploadName($conn, $which="zip", $lehreinheit_id, $uebung_id, $stsem, $uid=null, $date); - $downloadname = mb_ereg_replace($uebung_id, ereg_replace(" ","_",$abgabe_obj->bezeichnung), $downloadname); - echo " [Abgaben downloaden]"; - } - else - echo "[Keine Abgaben verfügbar]"; - - echo '
    '; - } - - - - - echo "


    "; - //Studentenliste - echo "Bitte wählen Sie den Studenten aus um in die Detailansicht bzw. Studentenansicht zu gelangen.
    (Administration von Noten, Mitarbeitspunkte, Kreuzerl, Anmerkungen, Studentenabgaben)
    "; - echo " - - "; - -// $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id' ORDER BY semester, verband, gruppe, gruppe_kurzbz"; - -// if($result_grp = pg_query($conn, $qry)) -// { -// while($row_grp = pg_fetch_object($result_grp)) -// { - echo " - - - - - - - - - - - - - - - - - - - "; - /* - if($row_grp->gruppe_kurzbz!='') - { - echo " - - - "; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' AND studiensemester_kurzbz = '".$stsem."' ORDER BY nachname, vorname"; - } - else - { - echo " - - - "; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student - WHERE studiengang_kz='$row_grp->studiengang_kz' AND - semester='$row_grp->semester' ". - ($row_grp->verband!=''?" AND trim(verband)=trim('$row_grp->verband')":''). - ($row_grp->gruppe!=''?" AND trim(gruppe)=trim('$row_grp->gruppe')":''). - " ORDER BY nachname, vorname"; - } - */ - // studentenquery - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = '".$stsem."' and lehreinheit_id = '".$lehreinheit_id."' ORDER BY nachname, vorname"; - if($result_stud = pg_query($conn, $qry_stud)) - { - $i=1; - while($row_stud = pg_fetch_object($result_stud)) - { - - - - echo " - - - - - - "; - $i++; - } - } -// } -// } - echo "
        
    UIDNachnameVornameStudentenansicht
        
    $row_grp->gruppe_kurzbz
    Verband $row_grp->verband ".($row_grp->gruppe!=''?"Gruppe $row_grp->gruppe":'')."
    $row_stud->uid$row_stud->nachname$row_stud->vornameStudentenansicht
    "; -} -?> -
    - - +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +require_once('../../../config.inc.php'); +require_once('../../../../include/functions.inc.php'); +require_once('../../../../include/lehrveranstaltung.class.php'); +require_once('../../../../include/studiengang.class.php'); +require_once('../../../../include/studiensemester.class.php'); +require_once('../../../../include/lehreinheit.class.php'); +require_once('../../../../include/benutzerberechtigung.class.php'); +require_once('../../../../include/uebung.class.php'); +require_once('../../../../include/beispiel.class.php'); +require_once('../../../../include/studentnote.class.php'); +require_once('../../../../include/datum.class.php'); +require_once('functions.inc.php'); + +if(!$conn = pg_pconnect(CONN_STRING)) + die('Fehler beim oeffnen der Datenbankverbindung'); + +$user = get_uid(); + +if(!check_lektor($user, $conn)) + die('Sie haben keine Berechtigung fuer diesen Bereich'); + +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + +if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id + $lvid = $_GET['lvid']; +else + die('Fehlerhafte Parameteruebergabe'); + +if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id + $lehreinheit_id = $_GET['lehreinheit_id']; +else + $lehreinheit_id = ''; + +//Laden der Lehrveranstaltung +$lv_obj = new lehrveranstaltung($conn); +if(!$lv_obj->load($lvid)) + die($lv_obj->errormsg); + +//Studiengang laden +$stg_obj = new studiengang($conn,$lv_obj->studiengang_kz); + +if(isset($_GET['stsem'])) + $stsem = $_GET['stsem']; +else + $stsem = ''; + +//Vars +$datum_obj = new datum(); + +$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); +$uid = (isset($_GET['uid'])?$_GET['uid']:''); + +//Abgabedatei ausliefern +if (isset($_GET["download_abgabe"])){ + $file=$_GET["download_abgabe"]; + $uebung_id = $_GET["uebung_id"]; + $ueb = new uebung($conn); + $ueb->load_studentuebung($uid, $uebung_id); + $ueb->load_abgabe($ueb->abgabe_id); + $filename = BENOTUNGSTOOL_PATH."abgabe/".$ueb->abgabedatei; + header('Content-Type: application/octet-stream'); + header('Content-disposition: attachment; filename="'.$file.'"'); + readfile($filename); + exit; +} + +//Handbuch ausliefern +if (isset($_GET["handbuch"])){ + $filename = BENOTUNGSTOOL_PATH."handbuch_benotungstool.pdf"; + header('Content-Type: application/octet-stream'); + header('Content-disposition: attachment; filename="handbuch_benotungstool.pdf"'); + readfile($filename); + exit; +} + + +if (isset($_FILES["abgabedatei"])) +{ + //echo $_FILES["abgabedatei"]; + $abgabedatei_up = $_FILES["abgabedatei"]["tmp_name"]; + + if ($abgabedatei_up) + { + $student_uid = $uid; + $datum = date('Y-m-d H:i:s'); + $datumstr = ereg_replace(" ","_",$datum); + $name_up = pathinfo($_FILES["abgabedatei"]["name"]); + $name_neu = makeUploadName($conn, $which='abgabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem,$uid=$student_uid, $date=$datumstr); + $abgabedatei = $name_neu.".".$name_up["extension"]; + $abgabepfad = BENOTUNGSTOOL_PATH."abgabe/".$abgabedatei; + + $uebung_obj = new uebung($conn); + $uebung_obj->load_studentuebung($student_uid, $uebung_id); + + + if ($uebung_obj->errormsg != "") + { + $uebung_obj->student_uid = $student_uid; + $uebung_obj->mitarbeiter_uid = null; + $uebung_obj->abgabe_id = null; + $uebung_obj->uebung_id = $uebung_id; + $uebung_obj->note = null; + $uebung_obj->mitarbeitspunkte = null; + $uebung_obj->punkte = null; + $uebung_obj->anmerkung = null; + $uebung_obj->benotungsdatum = null; + $uebung_obj->updateamum = null; + $uebung_obj->updatevon = null; + $uebung_obj->insertamum = $datum; + $uebung_obj->insertvon = $user; + $uebung_obj->new = true; + $uebung_obj->studentuebung_save($new=true); + echo $uebung_obj->errormsg; + + } + if ($uebung_obj->abgabe_id != null) + { + $uebung_obj->load_abgabe($uebung_obj->abgabe_id); + unlink(BENOTUNGSTOOL_PATH."abgabe/".$uebung_obj->abgabedatei); + $uebung_obj->abgabedatei = $abgabedatei; + $uebung_obj->abgabezeit = $datum; + $uebung_obj->abgabe_anmerkung = ""; + $uebung_obj->abgabe_save(false); + } + else + { + $uebung_obj->abgabedatei = $abgabedatei; + $uebung_obj->abgabezeit = $datum; + $uebung_obj->abgabe_anmerkung = ""; + $uebung_obj->abgabe_save(true); + } + $uebung_obj->studentuebung_save(false); + //Abgabedatei ablegen + move_uploaded_file($_FILES['abgabedatei']['tmp_name'], $abgabepfad); + } +} +else + $abgabedatei_up = null; + +?> + + + + + +Benotungstool + + + + +'; +echo '
      Benotungstool'; +echo ''."\n"; + +//Studiensemester laden +$stsem_obj = new studiensemester($conn); +if($stsem=='') + $stsem = $stsem_obj->getaktorNext(); + +$stsem_obj->getAll(); + +//Studiensemester DropDown +$stsem_content = "Studiensemester: \n"; + +//Lehreinheiten laden +if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz)) +{ + $qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter + WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND + tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND + tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND + tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; +} +else +{ + $qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter + WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND + tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND + tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND + tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid='$user') AND + tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; + +} + +if($result = pg_query($conn, $qry)) +{ + if(pg_num_rows($result)>1) + { + //Lehreinheiten DropDown + echo " Lehreinheit: '; + } + else + { + if($row = pg_fetch_object($result)) + $lehreinheit_id = $row->lehreinheit_id; + } +} +else +{ + echo 'Fehler beim Auslesen der Lehreinheiten'; +} +echo $stsem_content; +echo '
    '; +echo ''; +echo ''; +echo " +
     \n"; +echo "$lv_obj->bezeichnung
    "; + +if($lehreinheit_id=='') + die('Es wurde keine passende Lehreinheit in diesem Studiensemester gefunden'); + +//Menue +include("menue.inc.php"); +/* +echo "\n\n"; +echo "
     Verwaltung     + Anwesenheits- und Übersichtstabelle     + Studentenpunkte verwalten     + Statistik +

    +\n"; +*/ + +echo "

    Studentenaufgaben verwalten

    "; +if(isset($_POST['submit'])) +{ + $error=false; + $punkte = (isset($_POST['punkte'])?mb_ereg_replace(',','.',$_POST['punkte']):''); + if(isset($punkte) && is_numeric($punkte) && !isset($_POST['abgabe'])) + { + $ueb_obj = new uebung($conn); + if($ueb_obj->load_studentuebung($uid, $uebung_id)) + $ueb_obj->new = false; + else + { + $ueb_obj->new = true; + $ueb_obj->insertamum = date('Y-m-d H:i:s'); + $ueb_obj->insertvon = $user; + } + + $ueb_obj->mitarbeitspunkte = $punkte; + $ueb_obj->anmerkung = $_POST['anmerkung']; + $ueb_obj->updateamum = date('Y-m-d H:i:s'); + $ueb_obj->updatevon = $user; + $ueb_obj->mitarbeiter_uid = $user; + $ueb_obj->uebung_id = $uebung_id; + $ueb_obj->student_uid = $uid; + + if(!$ueb_obj->studentuebung_save()) + $error = true; + + $bsp_obj = new beispiel($conn); + + if($bsp_obj->load_beispiel($uebung_id)) + { + foreach ($bsp_obj->beispiele as $row) + { + $stud_bsp_obj = new beispiel($conn); + + if($stud_bsp_obj->load_studentbeispiel($uid, $row->beispiel_id)) + { + $stud_bsp_obj->new=false; + } + else + { + $stud_bsp_obj->new=true; + $stud_bsp_obj->insertamum = date('Y-m-d H:i:s'); + $stud_bsp_obj->insertvon = $user; + } + $stud_bsp_obj->vorbereitet = ($_POST['solved_'.$row->beispiel_id]==1?true:false); + $stud_bsp_obj->probleme = (isset($_POST['problem_'.$row->beispiel_id])?true:false); + $stud_bsp_obj->updateamum = date('Y-m-d H:i:s'); + $stud_bsp_obj->updatevon = $user; + $stud_bsp_obj->student_uid = $uid; + $stud_bsp_obj->beispiel_id = $row->beispiel_id; + + if(!$stud_bsp_obj->studentbeispiel_save()) + { + echo $stud_bsp_obj->errormsg; + $error=true; + } + } + } + + if($error) + echo "Es konnten nicht alle Daten gespeichert werden"; + else + echo "Die Daten wurden erfolgreich gespeichert
    "; + + } + else if (!isset($_POST['abgabe'])) + { + echo "Punkte sind ungueltig"; + } + if(isset($_POST['abgabe']) && is_numeric($_POST['note'])) + { + $note = $_POST['note']; + $ueb_obj = new uebung($conn); + if($ueb_obj->load_studentuebung($uid, $uebung_id)) + $ueb_obj->new = false; + else + { + $ueb_obj->new = true; + $ueb_obj->insertamum = date('Y-m-d H:i:s'); + $ueb_obj->insertvon = $user; + } + + $ueb_obj->note = $note; + $ueb_obj->anmerkung = $_POST['anmerkung']; + $ueb_obj->updateamum = date('Y-m-d H:i:s'); + $ueb_obj->updatevon = $user; + $ueb_obj->mitarbeiter_uid = $user; + $ueb_obj->uebung_id = $uebung_id; + $ueb_obj->student_uid = $uid; + + if(!$ueb_obj->studentuebung_save()) + $error = true; + if($error) + echo "Es konnten nicht alle Daten gespeichert werden"; + else + echo "Die Daten wurden erfolgreich gespeichert
    "; + } + else if (isset($_POST['abgabe'])) + echo "Note ist ungueltig
    "; +} + +if(isset($_GET['uid']) && $_GET['uid']!='') +{ + //Punkte eintragen + $uid = addslashes($_GET['uid']); + + $qry_stud = "SELECT vorname, nachname, uid FROM campus.vw_student WHERE uid='$uid'"; + + if(!$result_stud = pg_query($conn, $qry_stud)) + die('Fehler beim laden des Studenten'); + + if(!$row_stud = pg_fetch_object($result_stud)) + die('Student wurde nicht gefunden'); + + //echo "$row_stud->vorname $row_stud->nachname
    \n"; + + + + $uid_arr = Array(); + $vorname_arr = Array(); + $nachname_arr = Array(); + +// $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id' ORDER BY semester, verband, gruppe, gruppe_kurzbz"; + +// if($result_grp = pg_query($conn, $qry)) +// { +// while($row_grp = pg_fetch_object($result_grp)) +// { +/* + if($row_grp->gruppe_kurzbz!='') + { + $qry_stud_dd = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' AND studiensemester_kurzbz = '".$stsem."' ORDER BY nachname, vorname"; + } + else + { + $qry_stud_dd = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student + WHERE studiengang_kz='$row_grp->studiengang_kz' AND + semester='$row_grp->semester' ". + ($row_grp->verband!=''?" AND trim(verband)=trim('$row_grp->verband')":''). + ($row_grp->gruppe!=''?" AND trim(gruppe)=trim('$row_grp->gruppe')":''). + " ORDER BY nachname, vorname"; + } +*/ + + // studentenquery + $qry_stud_dd = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = '".$stsem."' and lehreinheit_id = '".$lehreinheit_id."' ORDER BY nachname, vorname"; + if($result_stud_dd = pg_query($conn, $qry_stud_dd)) + { + $i=1; + while($row_stud_dd = pg_fetch_object($result_stud_dd)) + { + $uid_arr[] = $row_stud_dd->uid; + $vorname_arr[] = $row_stud_dd->vorname; + $nachname_arr[] = $row_stud_dd->nachname; + + } + } +// } +// } + echo "Bitte Wählen Sie eine/n Studierende/n aus: "; + $key = array_search($uid,$uid_arr); + $prev = $key-1; + $next = $key+1; + if ($key > 0) + echo " << "; + echo ""; + if ($key < count($uid_arr)-1) + echo " >> "; + + + $uebung_obj = new uebung($conn); + $uebung_obj->load_uebung($lehreinheit_id,1); + if(count($uebung_obj->uebungen)>0) + { + echo "'; + + echo " +
    "; + echo "
    Wählen Sie bitte eine Aufgabe aus (Kreuzerllisten, Abgaben): '; + + echo '
    + + + + + + + + + +
    +...freigeschaltet.
    -...nicht freigeschaltet.
    +
    "; + } + else + die("Derzeit gibt es keine Uebungen"); + + $ueb_obj = new uebung($conn); + $ueb_obj->load($uebung_id); + if($ueb_obj->load_studentuebung($uid, $uebung_id)) + { + $anmerkung = $ueb_obj->anmerkung; + $mitarbeit = $ueb_obj->mitarbeitspunkte; + $note = $ueb_obj->note; + } + else + { + $anmerkung = ''; + $mitarbeit = 0; + $note = ''; + } + + if ($ueb_obj->beispiele && is_numeric($_GET['uebung_id'])) + { + //$studentnote = new studentnote($conn,$lehreinheit_id,$stsem,$uid,$uebung_id); + //echo "Note: ".$studentnote->note." (Gewicht: ".$ueb_obj->gewicht.")

    "; + echo " +
    + + + + + + +
    + Anmerkungen:
    + +

    + + + + + + + + "; + + $bsp_obj = new beispiel($conn); + $bsp_obj->load_beispiel($uebung_id); + + foreach ($bsp_obj->beispiele as $row) + { + $stud_bsp_obj = new beispiel($conn); + if($stud_bsp_obj->load_studentbeispiel($uid, $row->beispiel_id)) + { + $vorbereitet = $stud_bsp_obj->vorbereitet; + $probleme = $stud_bsp_obj->probleme; + } + else + { + $vorbereitet = false; + $probleme = false; + } + echo " + + + + + + "; + } + + echo "
    BeispielVorbereitetNicht vorbereitetProblemePunkte
    $row->bezeichnung$row->punkte
    "; + + + + $ueb_obj->load_studentuebung($uid, $uebung_id); + if ($ueb_obj->abgabe_id) + { + $ueb_obj->load_abgabe($ueb_obj->abgabe_id); + $filename = $ueb_obj->abgabedatei; + } + else + $filename=''; + + if ($filename != '') + echo "
    Abgabedatei: ".$filename."

    "; + + + + echo " +
    "; + + //Gesamtpunkte diese Kreuzerlliste + $qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id'"; + $punkte_gesamt=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_gesamt = $row->punktegesamt; + + //Eingetragen diese Kreuzerlliste + $qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' AND student_uid='$uid' AND vorbereitet=true"; + $punkte_eingetragen=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0); + + + //Gesamtpunkte alle Kreuzerllisten in dieser Übung + $ueb_help = new uebung($conn, $uebung_id); + $liste_id = $ueb_help->liste_id; + $qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung + WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND + tbl_uebung.lehreinheit_id='$lehreinheit_id' and tbl_uebung.liste_id = '$liste_id'"; + $punkte_gesamt_alle=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_gesamt_alle = $row->punktegesamt_alle; + + //Eingetragen alle Kreuzerllisten + $qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung + WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND + tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND + tbl_uebung.lehreinheit_id='$lehreinheit_id' AND + tbl_uebung.liste_id = '$liste_id' AND + tbl_studentbeispiel.student_uid='$uid' AND vorbereitet=true"; + $punkte_eingetragen_alle=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0); + + //Mitarbeitspunkte + $qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) + WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$uid' and liste_id='$liste_id'"; + $mitarbeit_alle=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0); + + //Mitarbeitspunkte + $qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung + WHERE uebung_id='$uebung_id' AND student_uid='$uid'"; + $mitarbeit=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $mitarbeit = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0); + echo " +
    + + + + + + + + + + + + +
    Diese Kreuzerlliste:
    Punkte insgesamt möglich:$punkte_gesamt
    Punkte eingetragen:$punkte_eingetragen
    +

    + + + + + + + + + + + + +
    Alle Kreuzerllisten dieser Übung:
    Punkte insgesamt möglich:$punkte_gesamt_alle
    Punkte eingetragen:$punkte_eingetragen_alle
    +

    + + + + + + + + + + + + +
    Mitarbeitspunkte:
    Bisher insgesamt:$mitarbeit_alle
    Diese Kreuzerlliste:
    + "; + + + echo " +
      + + +
    + +
    + "; + } + else if (is_numeric($_GET['uebung_id'])) + { + $ueb_obj->load_studentuebung($uid, $uebung_id); + if ($ueb_obj->abgabe_id) + { + $ueb_obj->load_abgabe($ueb_obj->abgabe_id); + $filename = $ueb_obj->abgabedatei; + } + else + $filename=''; + //Abgaben benoten + $studentnote = new studentnote($conn,$lehreinheit_id,$stsem,$uid,$uebung_id); + $studentnote->calc_note($uebung_id, $uid); + echo "Note: ".$studentnote->note." (Gewicht: ".$ueb_obj->gewicht.")

    "; + if ($filename != '') + echo "Abgabedatei: ".$filename."

    "; + echo " +
    +
    + Anmerkungen:
    + +
    + + + + + "; + echo " + + + + +
    Note
    + + +
    + "; + + } + echo "
    "; + echo "\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo "\n"; + echo "
    \n"; + echo " Studentenabgabedatei:
    "; + echo "
    "; +} +else +{ + + //Übungen benoten + $uebung_obj = new uebung($conn); + $uebung_obj->load_uebung($lehreinheit_id,1); + if(count($uebung_obj->uebungen)>0) + { + echo "
    "; + echo "
    Aufgabe (Kreuzerllisten, Abgaben): '; + echo " [benoten]"; + $abgabe_obj = new uebung($conn, $uebung_id); + if ($abgabe_obj->abgabe && glob(BENOTUNGSTOOL_PATH."abgabe/*_[WS]S[0-9][0-9][0-9][0-9]_".$uebung_id."_*")) + { + $date = date('Y-m-d_H:i:s'); + $downloadname = makeUploadName($conn, $which="zip", $lehreinheit_id, $uebung_id, $stsem, $uid=null, $date); + $downloadname = mb_ereg_replace($uebung_id, ereg_replace(" ","_",$abgabe_obj->bezeichnung), $downloadname); + echo " [Abgaben downloaden]"; + } + else + echo "[Keine Abgaben verfügbar]"; + + echo '
    '; + } + + + + + echo "


    "; + //Studentenliste + echo "Bitte wählen Sie den Studenten aus um in die Detailansicht bzw. Studentenansicht zu gelangen.
    (Administration von Noten, Mitarbeitspunkte, Kreuzerl, Anmerkungen, Studentenabgaben)
    "; + echo " + + "; + +// $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id' ORDER BY semester, verband, gruppe, gruppe_kurzbz"; + +// if($result_grp = pg_query($conn, $qry)) +// { +// while($row_grp = pg_fetch_object($result_grp)) +// { + echo " + + + + + + + + + + + + + + + + + + + "; + /* + if($row_grp->gruppe_kurzbz!='') + { + echo " + + + "; + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' AND studiensemester_kurzbz = '".$stsem."' ORDER BY nachname, vorname"; + } + else + { + echo " + + + "; + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student + WHERE studiengang_kz='$row_grp->studiengang_kz' AND + semester='$row_grp->semester' ". + ($row_grp->verband!=''?" AND trim(verband)=trim('$row_grp->verband')":''). + ($row_grp->gruppe!=''?" AND trim(gruppe)=trim('$row_grp->gruppe')":''). + " ORDER BY nachname, vorname"; + } + */ + // studentenquery + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student_lehrveranstaltung JOIN campus.vw_student using(uid) WHERE studiensemester_kurzbz = '".$stsem."' and lehreinheit_id = '".$lehreinheit_id."' ORDER BY nachname, vorname"; + if($result_stud = pg_query($conn, $qry_stud)) + { + $i=1; + while($row_stud = pg_fetch_object($result_stud)) + { + + + + echo " + + + + + + "; + $i++; + } + } +// } +// } + echo "
        
    UIDNachnameVornameStudentenansicht
        
    $row_grp->gruppe_kurzbz
    Verband $row_grp->verband ".($row_grp->gruppe!=''?"Gruppe $row_grp->gruppe":'')."
    $row_stud->uid$row_stud->nachname$row_stud->vornameStudentenansicht
    "; +} +?> +
    + + diff --git a/cis/private/lehre/benotungstool/verwaltung.php b/cis/private/lehre/benotungstool/verwaltung.php index 7ae76cf8d..67c2aec49 100644 --- a/cis/private/lehre/benotungstool/verwaltung.php +++ b/cis/private/lehre/benotungstool/verwaltung.php @@ -1,931 +1,931 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ - -require_once('../../../config.inc.php'); -require_once('../../../../include/functions.inc.php'); -require_once('../../../../include/lehrveranstaltung.class.php'); -require_once('../../../../include/studiengang.class.php'); -require_once('../../../../include/studiensemester.class.php'); -require_once('../../../../include/lehreinheit.class.php'); -require_once('../../../../include/benutzerberechtigung.class.php'); -require_once('../../../../include/uebung.class.php'); -require_once('../../../../include/beispiel.class.php'); -require_once('../../../../include/datum.class.php'); -require_once('functions.inc.php'); -function microtime_float() -{ - list($usec, $sec) = explode(" ", microtime()); - return ((float)$usec + (float)$sec); -} -$time = microtime_float(); -?> - - - - - -Kreuzerltool - - - - -getBerechtigungen($user); - -if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id - $lvid = $_GET['lvid']; -else - die('Fehlerhafte Parameteruebergabe'); - -if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id - $lehreinheit_id = $_GET['lehreinheit_id']; -else - $lehreinheit_id = ''; - -//Laden der Lehrveranstaltung -$lv_obj = new lehrveranstaltung($conn); -if(!$lv_obj->load($lvid)) - die($lv_obj->errormsg); - -//Studiengang laden -$stg_obj = new studiengang($conn,$lv_obj->studiengang_kz); - -if(isset($_GET['stsem'])) - $stsem = $_GET['stsem']; -else - $stsem = ''; - -//Vars -$datum_obj = new datum(); -$global_msg =''; -$error_thema=''; -$error_anzahlderbeispiele=''; -$error_punkteprobeispiel=''; -$error_freigabebis=''; -$error_freigabevon=''; -$error_gewicht=''; - -$thema = (isset($_POST['thema'])?$_POST['thema']:''); -$anzahlderbeispiele = (isset($_POST['anzahlderbeispiele'])?$_POST['anzahlderbeispiele']:''); -$punkteprobeispiel = (isset($_POST['punkteprobeispiel'])?$_POST['punkteprobeispiel']:''); -$punkteprobeispiel = mb_ereg_replace(',','.',$punkteprobeispiel); -$freigabebis = (isset($_POST['freigabebis'])?$_POST['freigabebis']:''); -$freigabevon = (isset($_POST['freigabevon'])?$_POST['freigabevon']:''); -$gewicht = (isset($_POST['gewicht'])?$_POST['gewicht']:''); -$positiv = (isset($_POST['positiv'])?$_POST['positiv']:''); - -$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); -$copy_content = ''; -$copy_dropdown = ''; - -//Kopfzeile -echo ''; -echo ' '; -echo ''; -echo '
      Benotungstool'; -echo ''."\n"; - -//Studiensemester laden -$stsem_obj = new studiensemester($conn); -if($stsem=='') - $stsem = $stsem_obj->getaktorNext(); - -$stsem_obj->getAll(); - - -//Studiensemester DropDown -$stsem_content = "Studiensemester: \n"; - -//Lehreinheiten laden -if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz)) -{ - $qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND - tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; -} -else -{ - $qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND - tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid='$user') AND - tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; -} - -if($result = pg_query($conn, $qry)) -{ - $result_alle_lehreinheiten = $result; - if(pg_num_rows($result)>1) - { - //Lehreinheiten DropDown - echo " Lehreinheit: "; - while($row = pg_fetch_object($result)) - { - if($lehreinheit_id=='') - $lehreinheit_id=$row->lehreinheit_id; - $selected = ($row->lehreinheit_id == $lehreinheit_id?'selected':''); - //Zugeteilte Lektoren - $qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter using(mitarbeiter_uid) WHERE lehreinheit_id='$row->lehreinheit_id'"; - if($result_lektoren = pg_query($conn, $qry_lektoren)) - { - $lektoren = '( '; - $i=0; - while($row_lektoren = pg_fetch_object($result_lektoren)) - { - $lektoren .= $row_lektoren->kurzbz; - $i++; - if($igruppe_kurzbz=='') - $gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe; - else - $gruppen.=$row_gruppen->gruppe_kurzbz; - $i++; - if($i$row->lfbez-$row->lehrform_kurzbz - $gruppen $lektoren\n"; - if ($lehreinheit_id != $row->lehreinheit_id) - $copy_dropdown .= ""; - } - echo ' '; - $copy_dropdown .=""; - } - else - { - if($row = pg_fetch_object($result)) - $lehreinheit_id = $row->lehreinheit_id; - } -} -else -{ - echo 'Fehler beim Auslesen der Lehreinheiten'; -} -echo $stsem_content; -echo '
    '; - -echo ''; -echo ''; -echo "
     \n"; - -echo "$lv_obj->bezeichnung
    "; - -if($lehreinheit_id=='') - die('Es gibt keine Lehreinheiten in diesem Studiensemester für die Sie eine Berechtigung besitzen'); - -//Menue -include("menue.inc.php"); -/* -echo "\n\n"; -echo "
    - Verwaltung     - Anwesenheits- und Übersichtstabelle     - Studentenpunkte verwalten     - Statistik -

    -\n"; -*/ - -//echo "studiensemester: $stsem
    "; -//echo "lehrveranstaltung: $lvid
    "; -//echo "lehreinheit: $lehreinheit_id
    "; -//Übung in andere LE kopieren - -if (isset($_REQUEST["copy_uebung"])) -{ - $copy_insert = 0; - $copy_update = 0; - $copy_insert_bsp = 0; - $copy_update_bsp = 0; - $uebung_id_source = $_REQUEST["uebung_id_source"]; - $lehreinheit_id_target = $_REQUEST["lehreinheit_id_target"]; - if (!is_numeric($uebung_id_source) or !is_numeric($lehreinheit_id_target)) - echo "Übung und Lehreinheit muss ausgewählt sein!"; - else - { - $ueb_1 = new uebung($conn, $uebung_id_source); - $nummer_source = $ueb_1->nummer; - $qry = "SELECT * from campus.tbl_uebung where nummer = '".$nummer_source."' and lehreinheit_id = '".$lehreinheit_id_target."'"; - //echo $qry; - if($result1 = pg_query($conn, $qry)) - { - if (pg_num_rows($result1) >0) - { - $row1 = pg_fetch_object($result1); - $ueb_1_target =new uebung($conn, $row1->uebung_id); - $ueb_1_target->new = false; - $new = null; - $ueb_1_target->insertamum = null; - $ueb_1_target->insertvon = null; - $ueb_1_target->updateamum = date('Y-m-d H:i:s'); - $ueb_1_target->updatevon = $user; - $copy_update++; - } - else - { - $ueb_1_target =new uebung($conn); - $ueb_1_target->new = true; - $new = true; - $ueb_1_target->insertamum = date('Y-m-d H:i:s'); - $ueb_1_target->insertvon = $user; - $ueb_1_target->updateamum = null; - $ueb_1_target->updatevon = null; - $copy_insert++; - } - $ueb_1_target->gewicht = $ueb_1->gewicht; - $ueb_1_target->punkte = null; - $ueb_1_target->angabedatei=null; - $ueb_1_target->freigabevon = null; - $ueb_1_target->freigabebis = null; - $ueb_1_target->abgabe = false; - $ueb_1_target->beispiele = false; - $ueb_1_target->statistik = false; - $ueb_1_target->maxstd = null; - $ueb_1_target->maxbsp=null; - $ueb_1_target->liste_id=null; - $ueb_1_target->bezeichnung = $ueb_1->bezeichnung; - $ueb_1_target->positiv = $ueb_1->positiv; - $ueb_1_target->defaultbemerkung = $ueb_1->defaultbemerkung; - $ueb_1_target->lehreinheit_id = $lehreinheit_id_target; - $ueb_1_target->nummer = $nummer_source; - - if (!$ueb_1_target->save($new)) - { - $error = 1; - echo "Hauptübung konnte nicht kopiert werden!"; - } - - else - { - // Subübungen durchlaufen - $error = 0; - $ueb_2 = new uebung($conn); - $ueb_2->load_uebung($lehreinheit_id,2,$uebung_id_source); - - $ueb_2anzahl = count($ueb_2->uebungen); - if ($ueb_2anzahl >0) - { - foreach ($ueb_2->uebungen as $subrow) - { - - $nummer_source2 = $subrow->nummer; - $qry2 = "SELECT * from campus.tbl_uebung where nummer = '".$nummer_source2."' and lehreinheit_id = '".$lehreinheit_id_target."'"; - $result2 = pg_query($conn, $qry2); - - if (pg_num_rows($result2) >0) - { - $row2 = pg_fetch_object($result2); - $ueb_2_target =new uebung($conn, $row2->uebung_id); - $ueb_2_target->new = false; - $new = null; - $ueb_2_target->insertamum = null; - $ueb_2_target->insertvon = null; - $ueb_2_target->updateamum = date('Y-m-d H:i:s'); - $ueb_2_target->updatevon = $user; - $copy_update++; - } - else - { - $ueb_2_target =new uebung($conn); - $ueb_2_target->new = true; - $new = true; - $ueb_2_target->insertamum = date('Y-m-d H:i:s'); - $ueb_2_target->insertvon = $user; - $ueb_2_target->updateamum = null; - $ueb_2_target->updatevon = null; - $copy_insert++; - } - $ueb_2_target->gewicht = $subrow->gewicht; - $ueb_2_target->punkte = $subrow->punkte; - $ueb_2_target->angabedatei=null; - $ueb_2_target->freigabevon = $subrow->freigabevon; - $ueb_2_target->freigabebis = $subrow->freigabebis; - $ueb_2_target->abgabe = $subrow->abgabe; - $ueb_2_target->beispiele = $subrow->beispiele; - $ueb_2_target->statistik = $subrow->statistik; - $ueb_2_target->maxstd = $subrow->maxstd; - $ueb_2_target->maxbsp=$subrow->maxbsp; - $ueb_2_target->liste_id=$ueb_1_target->uebung_id; - $ueb_2_target->bezeichnung = $subrow->bezeichnung; - $ueb_2_target->positiv = $subrow->positiv; - $ueb_2_target->defaultbemerkung = $subrow->defaultbemerkung; - $ueb_2_target->lehreinheit_id = $lehreinheit_id_target; - $ueb_2_target->nummer = $nummer_source2; - - if (!$ueb_2_target->save($new)) - { - $error = 1; - echo "Übung konnte nicht kopiert werden!"; - } - - //angabedatei syncen - if ($subrow->angabedatei != "") - { - $angabedatei_source = $subrow->angabedatei; - $angabedatei_target = makeUploadName($conn, 'angabe', $lehreinheit_id, $ueb_2_target->uebung_id, $stsem); - $angabedatei_target .= ".".mb_substr($angabedatei_source, mb_strrpos($angabedatei_source, '.') + 1); - echo $angabedatei_source."->".$angabedatei_target."
    "; - exec("cp ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_source." ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_target); - $angabeupdate = "update campus.tbl_uebung set angabedatei = '".$angabedatei_target."' where uebung_id = '".$ueb_2_target->uebung_id."'"; - pg_query($conn, $angabeupdate); - } - - if (($error == 0) and $ueb_2_target->beispiele) - { - // beispiele synchronisieren - $bsp_obj = new beispiel($conn); - $bsp_obj->load_beispiel($subrow->uebung_id); - foreach ($bsp_obj->beispiele as $bsp) - { - $nummer_source_bsp = $bsp->nummer; - $qrybsp = "SELECT * from campus.tbl_beispiel where nummer = '".$nummer_source_bsp."' and uebung_id = '".$ueb_2_target->uebung_id."'"; - $resultbsp = pg_query($conn, $qrybsp); - - if (pg_num_rows($resultbsp) >0) - { - $rowbsp = pg_fetch_object($resultbsp); - $bsp_target =new beispiel($conn, $rowbsp->beispiel_id); - $bsp_target->new = false; - $new = null; - $bsp_target->insertamum = null; - $bsp_target->insertvon = null; - $bsp_target->updateamum = date('Y-m-d H:i:s'); - $bsp_target->updatevon = $user; - $copy_update_bsp++; - } - else - { - $bsp_target =new beispiel($conn); - $bsp_target->new = true; - $new = true; - $bsp_target->insertamum = date('Y-m-d H:i:s'); - $bsp_target->insertvon = $user; - $bsp_target->updateamum = null; - $bsp_target->updatevon = null; - $copy_insert_bsp++; - } - $bsp_target->uebung_id = $ueb_2_target->uebung_id; - $bsp_target->nummer = $nummer_source_bsp; - $bsp_target->bezeichnung = $bsp->bezeichnung; - $bsp_target->punkte = $bsp->punkte; - - if (!$bsp_target->save($new)) - { - $error = 1; - echo "Beispiele konnten nicht angelegt werden"; - } - - //Notenschlüssel synchronisieren - $clear = "delete from campus.tbl_notenschluesseluebung where uebung_id = '".$ueb_1_target->uebung_id."'"; - pg_query($conn, $clear); - - $qry_ns_source = "SELECT * from campus.tbl_notenschluesseluebung where uebung_id = '".$uebung_id_source."'"; - $result_ns_source = pg_query($conn, $qry_ns_source); - while($row_ns = pg_fetch_object($result_ns_source)) - { - $ns_insert = "INSERT INTO campus.tbl_notenschluesseluebung values ('".$ueb_1_target->uebung_id."','".$row_ns->note."', '".$row_ns->punkte."')"; - pg_query($conn, $ns_insert); - } - - } - } - - } - } - } - - } - else - echo "Fehler beim Datenbankzugriff!"; - - if ($error == 0) - echo "Übung erfolgreich kopiert! (Ü: ".$copy_insert."/".$copy_update."; B: ".$copy_insert_bsp."/".$copy_update_bsp.")"; - } -} - - - -echo "

    Übungen anlegen und verwalten

    "; -echo "
    "; - -//Anlegen einer neuen Uebung -if(isset($_POST['uebung_neu'])) -{ - if(isset($thema)) - { - //pruefen ob alle Daten eingegeben wurden - $error=false; - $error_msg = ''; - if($thema=='') - { - //$error_thema .= "Thema muss eingegeben werden"; - echo "Thema muss eingegeben werden"; - $error=true; - } - if(!is_numeric($gewicht)) - { - echo "Gewicht muss eine Zahl sein"; - $error = true; - } - - if(!$error) - { - //Uebung anlegen - $datum_obj = new datum(); - $uebung_obj = new uebung($conn); - $uebung_obj->gewicht=$gewicht; - $uebung_obj->punkte=''; - $uebung_obj->angabedatei=''; - $uebung_obj->freigabevon = null; - $uebung_obj->freigabebis = null; - $uebung_obj->abgabe=false; - $uebung_obj->beispiele=false; - $uebung_obj->bezeichnung=$thema; - $uebung_obj->positiv=isset($_POST['positiv']); - $uebung_obj->defaultbemerkung=''; - $uebung_obj->lehreinheit_id=$lehreinheit_id; - $uebung_obj->updateamum = date('Y-m-d H:i:s'); - $uebung_obj->updatevon = $user; - $uebung_obj->insertamum = date('Y-m-d H:i:s'); - $uebung_obj->insertvon = $user; - $uebung_obj->statistik = false; - $uebung_obj->liste_id = null; - $uebung_obj->get_next_nummer(); - $uebung_obj->nummer = $uebung_obj->next_nummer; - - if($uebung_obj->save(true)) - { - if($error_msg!='') - echo "$error_msg"; - //else - // header("Location: verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$uebung_obj->uebung_id"); - } - else - echo "$uebung_obj->errormsg"; - } - - } - else - echo "Übung konnte nicht angelegt werden!
    "; -} - - -//Loeschen einer Uebung -if(isset($_POST['delete_uebung'])) -{ - if(isset($_POST['uebung'])) - { - $ueb_obj = new uebung($conn); - $error_msg=''; - //Ausgewaehlte Beispiele holen - $delete_ids = $_POST['uebung']; - foreach($delete_ids as $id) - { - //Beispiel loeschen - if(!$ueb_obj->delete($id)) - $error_msg=$ueb_obj->errormsg; - } - if($error_msg!='') - echo "$error_msg"; - } -} - -//Editieren einer Uebung -if(isset($_POST['uebung_edit'])) -{ - $error = false; - if($thema=='') - { - echo "Thema muss eingegeben werden'"; - $error = true; - } - - - if(!$error) - { - $uebung_obj = new uebung($conn, $uebung_id); - $uebung_obj->gewicht=''; - $uebung_obj->punkte=''; - $uebung_obj->angabedatei=''; - $uebung_obj->freigabevon = null; - $uebung_obj->freigabebis = null; - $uebung_obj->abgabe=false; - $uebung_obj->beispiele=false; - $uebung_obj->bezeichnung=$thema; - $uebung_obj->positiv=true; - $uebung_obj->defaultbemerkung=''; - $uebung_obj->lehreinheit_id=$lehreinheit_id; - $uebung_obj->updateamum = date('Y-m-d H:i:s'); - $uebung_obj->updatevon = $user; - $uebung_obj->uebung_id = $uebung_id; - $uebung_obj->statistik = false; - - if($uebung_obj->save(false)) - header("Location: verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id"); - //echo "Die Änderung wurde gespeichert!"; - else - echo "$uebung_obj->errormsg"; - } - -} - - -//Eine Uebung in eine andere Lehreinheit kopieren -if(isset($_GET['kopieren']) && $_GET['kopieren']=='true') -{ - //echo "Kopiere Uebung ".$_GET['uebung_copy_id']." to ".$_POST['lehreinheit_copy_id']; - //Laden der zu kopierenden Uebung - if(is_numeric($_GET['uebung_copy_id']) && is_numeric($_POST['lehreinheit_copy_id'])) - { - //Source Uebung Laden - $qry = "SELECT * FROM campus.tbl_uebung WHERE uebung_id='".$_GET['uebung_copy_id']."'"; - if($result_source = pg_query($conn, $qry)) - { - if($row_source = pg_fetch_object($result_source)) - { - //Berechtigung Checken - $qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='".$_POST['lehreinheit_copy_id']."' AND mitarbeiter_uid='$user'"; - if($row_berechtigt = pg_query($conn, $qry)) - { - if(pg_num_rows($row_berechtigt)>0 || - $rechte->isBerechtigt('admin',0) || - $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) - || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz)) - { - //Schauen ob bereits eine uebung mit diesem Namen vorhanden ist - $qry = "SELECT * FROM campus.tbl_uebung WHERE lehreinheit_id='".$_POST['lehreinheit_copy_id']."' AND bezeichnung='".addslashes($row_source->bezeichnung)."'"; - $result_bezeichnung_exists = pg_query($conn, $qry); - if(pg_num_rows($result_bezeichnung_exists)==0) - { - //Uebung einfuegen - $uebung_dest = new uebung($conn); - $uebung_dest->gewicht = $row_source->punkte; - $uebung_dest->punkte = $row_source->punkte; - $uebung_dest->angabedatei = $row_source->angabedatei; - $uebung_dest->freigabevon = $row_source->freigabevon; - $uebung_dest->freigabebis = $row_source->freigabebis; - $uebung_dest->abgabe = ($row_source->abgabe=='t'?true:false); - $uebung_dest->beispiele = ($row_source->beispiele=='t'?true:false); - $uebung_dest->bezeichnung = $row_source->bezeichnung; - $uebung_dest->positiv = ($row_source->positiv=='t'?true:false); - $uebung_dest->statistik = ($row_source->statistik=='t'?true:false); - $uebung_dest->defaultbemerkung = $row_source->defaultbemerkung; - $uebung_dest->lehreinheit_id = $_POST['lehreinheit_copy_id']; - $ubeung_dest->updateamum = date('Y-m-d H:i:s'); - $uebung_dest->updatevon = $user; - $uebung_dest->insertamum = date('Y-m-d H:i:s'); - $uebung_dest->insertvon = $user; - - if($uebung_dest->save(true)) - { - //Beispiel laden - $qry = "SELECT * FROM campus.tbl_beispiel WHERE uebung_id='".$_GET['uebung_copy_id']."'"; - if($result_bsp_source = pg_query($conn, $qry)) - { - $error_bsp_save=false; - while($row_bsp_source = pg_fetch_object($result_bsp_source)) - { - //Beispiel speichern - $beispiel_dest = new beispiel($conn); - $beispiel_dest->uebung_id = $uebung_dest->uebung_id; - $beispiel_dest->bezeichnung = $row_bsp_source->bezeichnung; - $beispiel_dest->punkte = $row_bsp_source->punkte; - $beispiel_dest->updateamum = date('Y-m-d H:i:s'); - $beispiel_dest->updatevon = $user; - $beispiel_dest->insertamum = date('Y-m-d H:i:s'); - $beispiel_dest->insertvon = $user; - - if(!$beispiel_dest->save(true)) - $error_bsp_save=true; - } - - if($error_bsp_save) - echo "Fehler: Es konnten nicht alle Beispiel kopiert werden"; - else - echo "Daten wurden erfolgreich kopiert"; - } - } - else - { - - echo "Fehler beim kopieren der Daten: $uebung_dest->errormsg"; - } - } - else - echo "Fehler beim Kopieren: In der Ziel-Lehreinheit existiert bereits eine Kreuzerlliste mit diesem Namen!"; - } - else - echo "Sie haben keine Berechtigung für diese Aktion"; - } - } - else - echo "Uebung ".$_GET['uebung_copy_id']." wurde nicht gefunden"; - } - else - echo "Uebung ".$_GET['uebung_copy_id']." wurde nicht gefunden"; - } - else - echo "Fehler bei der Parameteruebergabe"; -} - -//Uebersichtstabelle -if(isset($uebung_id) && $uebung_id!='') -{ - echo "
    "; - //Bearbeiten der ausgewaehlten Uebung - echo "
    \n"; - echo "\n"; - echo ""; - - $uebung_obj = new uebung($conn); - $uebung_obj->load($uebung_id); - - echo " - - - -
    Ausgewählte Übung bearbeiten 
     
    Thema$error_thema
    -
    "; - - $beispiel_obj = new beispiel($conn); - $beispiel_obj->load_beispiel($uebung_id); - $anzahl = count($beispiel_obj->beispiele); - echo "
    "; - - echo "
    "; - - echo ""; -} -else -{ - //Gesamtuebersicht ueber alle Uebungen - - echo "
    "; - echo "
    "; - echo ""; - - $uebung_obj = new uebung($conn); - $uebung_obj->load_uebung($lehreinheit_id,$level=1,$uebung_id=null); - $anzahl = count($uebung_obj->uebungen); - //$copy_content="
    Vorhandene Übungen bearbeiten
    "; - $has_copy_content=false; - if($anzahl>0) - { - echo ""; - - //Alle Lehreinheiten holen die zu dieser lehrveranstaltung gehoeren - //und der angemeldete User berechtigt ist - $copy_option_content = array(); - for($i=0;$ilehreinheit_id) - { - //zugeteilte Lektoren holen - $qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter using(mitarbeiter_uid) WHERE lehreinheit_id='$row_alle_lehreinheiten->lehreinheit_id'"; - if($result_lektoren = pg_query($conn, $qry_lektoren)) - { - $lektoren = '( '; - $j=0; - while($row_lektoren = pg_fetch_object($result_lektoren)) - { - $lektoren .= $row_lektoren->kurzbz; - $j++; - if($jgruppe_kurzbz=='') - $gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe; - else - $gruppen.=$row_gruppen->gruppe_kurzbz; - $j++; - if($jlehreinheit_id] = "$row_alle_lehreinheiten->lfbez-$row_alle_lehreinheiten->lehrform_kurzbz - $gruppen $lektoren"; - } - - } - $uebung_id_source_dropdown = ""; - echo ""; - echo ""; - - $subuebung_obj = new uebung($conn); - $subuebung_obj->load_uebung($lehreinheit_id,$level=2,$uebung_id=$row->uebung_id); - $subanzahl = count($subuebung_obj->uebungen); - echo ""; - } - echo ""; - echo ""; - if ($copy_dropdown != '') - { - echo ""; - echo ""; - - $uebung_id_source_dropdown .= ""; - echo ""; - } - } - else - echo ""; - - echo "
    Übung in andere LE kopieren
     
     
     
    ThemaFreigeschaltenAuswahl
    "; - echo " ".$row->bezeichnung.""; - echo ""; - - //if((strtotime(strftime($row->freigabevon))<=time()) && (strtotime(strftime($row->freigabebis))>=time())) - // echo 'Ja'; - //else - // echo 'Nein'; - echo "
    "; - echo ""; - //echo "
      "; - foreach ($subuebung_obj->uebungen as $subrow) - { - echo "
    "; - } - //echo ""; - echo ""; - echo "
     
    Vorhandene Übungen kopieren
    "; - echo "
    ÜbungLehreinheit
    ".$uebung_id_source_dropdown."->".$copy_dropdown."
    "; - echo "
    Derzeit sind keine Übungen angelegt
    -

    "; - - - - - //Kopier-Buttons anzeigen - //$copy_content.='
    '; - //echo "
    "; - //if($has_copy_content) - // echo $copy_content; - //echo "
    "; - - //Uebung neu anlegen - if(!isset($_POST['uebung_neu'])) - { - $thema = "Uebung ".($anzahl<9?'0'.($anzahl+1):($anzahl+1)); - $anzahlderbeispiele = 10; - $punkteprobeispiel = 1; - $freigabevon = date('d.m.Y H:i'); - $freigabebis = date('d.m.Y H:i'); - } - - echo ""; - echo " -
    - - - - - - - -
    Neue Übung anlegen
    Thema$error_thema
    Gewicht$error_gewicht
    Positiv
    -
    - "; -} -?> - - - +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +require_once('../../../config.inc.php'); +require_once('../../../../include/functions.inc.php'); +require_once('../../../../include/lehrveranstaltung.class.php'); +require_once('../../../../include/studiengang.class.php'); +require_once('../../../../include/studiensemester.class.php'); +require_once('../../../../include/lehreinheit.class.php'); +require_once('../../../../include/benutzerberechtigung.class.php'); +require_once('../../../../include/uebung.class.php'); +require_once('../../../../include/beispiel.class.php'); +require_once('../../../../include/datum.class.php'); +require_once('functions.inc.php'); +function microtime_float() +{ + list($usec, $sec) = explode(" ", microtime()); + return ((float)$usec + (float)$sec); +} +$time = microtime_float(); +?> + + + + + +Kreuzerltool + + + + +getBerechtigungen($user); + +if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id + $lvid = $_GET['lvid']; +else + die('Fehlerhafte Parameteruebergabe'); + +if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id + $lehreinheit_id = $_GET['lehreinheit_id']; +else + $lehreinheit_id = ''; + +//Laden der Lehrveranstaltung +$lv_obj = new lehrveranstaltung($conn); +if(!$lv_obj->load($lvid)) + die($lv_obj->errormsg); + +//Studiengang laden +$stg_obj = new studiengang($conn,$lv_obj->studiengang_kz); + +if(isset($_GET['stsem'])) + $stsem = $_GET['stsem']; +else + $stsem = ''; + +//Vars +$datum_obj = new datum(); +$global_msg =''; +$error_thema=''; +$error_anzahlderbeispiele=''; +$error_punkteprobeispiel=''; +$error_freigabebis=''; +$error_freigabevon=''; +$error_gewicht=''; + +$thema = (isset($_POST['thema'])?$_POST['thema']:''); +$anzahlderbeispiele = (isset($_POST['anzahlderbeispiele'])?$_POST['anzahlderbeispiele']:''); +$punkteprobeispiel = (isset($_POST['punkteprobeispiel'])?$_POST['punkteprobeispiel']:''); +$punkteprobeispiel = mb_ereg_replace(',','.',$punkteprobeispiel); +$freigabebis = (isset($_POST['freigabebis'])?$_POST['freigabebis']:''); +$freigabevon = (isset($_POST['freigabevon'])?$_POST['freigabevon']:''); +$gewicht = (isset($_POST['gewicht'])?$_POST['gewicht']:''); +$positiv = (isset($_POST['positiv'])?$_POST['positiv']:''); + +$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); +$copy_content = ''; +$copy_dropdown = ''; + +//Kopfzeile +echo ''; +echo ' '; +echo ''; +echo '
      Benotungstool'; +echo ''."\n"; + +//Studiensemester laden +$stsem_obj = new studiensemester($conn); +if($stsem=='') + $stsem = $stsem_obj->getaktorNext(); + +$stsem_obj->getAll(); + + +//Studiensemester DropDown +$stsem_content = "Studiensemester: \n"; + +//Lehreinheiten laden +if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz)) +{ + $qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter + WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND + tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND + tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND + tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; +} +else +{ + $qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter + WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND + tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND + tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND + tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid='$user') AND + tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; +} + +if($result = pg_query($conn, $qry)) +{ + $result_alle_lehreinheiten = $result; + if(pg_num_rows($result)>1) + { + //Lehreinheiten DropDown + echo " Lehreinheit: "; + while($row = pg_fetch_object($result)) + { + if($lehreinheit_id=='') + $lehreinheit_id=$row->lehreinheit_id; + $selected = ($row->lehreinheit_id == $lehreinheit_id?'selected':''); + //Zugeteilte Lektoren + $qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter using(mitarbeiter_uid) WHERE lehreinheit_id='$row->lehreinheit_id'"; + if($result_lektoren = pg_query($conn, $qry_lektoren)) + { + $lektoren = '( '; + $i=0; + while($row_lektoren = pg_fetch_object($result_lektoren)) + { + $lektoren .= $row_lektoren->kurzbz; + $i++; + if($igruppe_kurzbz=='') + $gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe; + else + $gruppen.=$row_gruppen->gruppe_kurzbz; + $i++; + if($i$row->lfbez-$row->lehrform_kurzbz - $gruppen $lektoren\n"; + if ($lehreinheit_id != $row->lehreinheit_id) + $copy_dropdown .= ""; + } + echo ' '; + $copy_dropdown .=""; + } + else + { + if($row = pg_fetch_object($result)) + $lehreinheit_id = $row->lehreinheit_id; + } +} +else +{ + echo 'Fehler beim Auslesen der Lehreinheiten'; +} +echo $stsem_content; +echo '
    '; + +echo ''; +echo ''; +echo "
     \n"; + +echo "$lv_obj->bezeichnung
    "; + +if($lehreinheit_id=='') + die('Es gibt keine Lehreinheiten in diesem Studiensemester für die Sie eine Berechtigung besitzen'); + +//Menue +include("menue.inc.php"); +/* +echo "\n\n"; +echo "
    + Verwaltung     + Anwesenheits- und Übersichtstabelle     + Studentenpunkte verwalten     + Statistik +

    +\n"; +*/ + +//echo "studiensemester: $stsem
    "; +//echo "lehrveranstaltung: $lvid
    "; +//echo "lehreinheit: $lehreinheit_id
    "; +//Übung in andere LE kopieren + +if (isset($_REQUEST["copy_uebung"])) +{ + $copy_insert = 0; + $copy_update = 0; + $copy_insert_bsp = 0; + $copy_update_bsp = 0; + $uebung_id_source = $_REQUEST["uebung_id_source"]; + $lehreinheit_id_target = $_REQUEST["lehreinheit_id_target"]; + if (!is_numeric($uebung_id_source) or !is_numeric($lehreinheit_id_target)) + echo "Übung und Lehreinheit muss ausgewählt sein!"; + else + { + $ueb_1 = new uebung($conn, $uebung_id_source); + $nummer_source = $ueb_1->nummer; + $qry = "SELECT * from campus.tbl_uebung where nummer = '".$nummer_source."' and lehreinheit_id = '".$lehreinheit_id_target."'"; + //echo $qry; + if($result1 = pg_query($conn, $qry)) + { + if (pg_num_rows($result1) >0) + { + $row1 = pg_fetch_object($result1); + $ueb_1_target =new uebung($conn, $row1->uebung_id); + $ueb_1_target->new = false; + $new = null; + $ueb_1_target->insertamum = null; + $ueb_1_target->insertvon = null; + $ueb_1_target->updateamum = date('Y-m-d H:i:s'); + $ueb_1_target->updatevon = $user; + $copy_update++; + } + else + { + $ueb_1_target =new uebung($conn); + $ueb_1_target->new = true; + $new = true; + $ueb_1_target->insertamum = date('Y-m-d H:i:s'); + $ueb_1_target->insertvon = $user; + $ueb_1_target->updateamum = null; + $ueb_1_target->updatevon = null; + $copy_insert++; + } + $ueb_1_target->gewicht = $ueb_1->gewicht; + $ueb_1_target->punkte = null; + $ueb_1_target->angabedatei=null; + $ueb_1_target->freigabevon = null; + $ueb_1_target->freigabebis = null; + $ueb_1_target->abgabe = false; + $ueb_1_target->beispiele = false; + $ueb_1_target->statistik = false; + $ueb_1_target->maxstd = null; + $ueb_1_target->maxbsp=null; + $ueb_1_target->liste_id=null; + $ueb_1_target->bezeichnung = $ueb_1->bezeichnung; + $ueb_1_target->positiv = $ueb_1->positiv; + $ueb_1_target->defaultbemerkung = $ueb_1->defaultbemerkung; + $ueb_1_target->lehreinheit_id = $lehreinheit_id_target; + $ueb_1_target->nummer = $nummer_source; + + if (!$ueb_1_target->save($new)) + { + $error = 1; + echo "Hauptübung konnte nicht kopiert werden!"; + } + + else + { + // Subübungen durchlaufen + $error = 0; + $ueb_2 = new uebung($conn); + $ueb_2->load_uebung($lehreinheit_id,2,$uebung_id_source); + + $ueb_2anzahl = count($ueb_2->uebungen); + if ($ueb_2anzahl >0) + { + foreach ($ueb_2->uebungen as $subrow) + { + + $nummer_source2 = $subrow->nummer; + $qry2 = "SELECT * from campus.tbl_uebung where nummer = '".$nummer_source2."' and lehreinheit_id = '".$lehreinheit_id_target."'"; + $result2 = pg_query($conn, $qry2); + + if (pg_num_rows($result2) >0) + { + $row2 = pg_fetch_object($result2); + $ueb_2_target =new uebung($conn, $row2->uebung_id); + $ueb_2_target->new = false; + $new = null; + $ueb_2_target->insertamum = null; + $ueb_2_target->insertvon = null; + $ueb_2_target->updateamum = date('Y-m-d H:i:s'); + $ueb_2_target->updatevon = $user; + $copy_update++; + } + else + { + $ueb_2_target =new uebung($conn); + $ueb_2_target->new = true; + $new = true; + $ueb_2_target->insertamum = date('Y-m-d H:i:s'); + $ueb_2_target->insertvon = $user; + $ueb_2_target->updateamum = null; + $ueb_2_target->updatevon = null; + $copy_insert++; + } + $ueb_2_target->gewicht = $subrow->gewicht; + $ueb_2_target->punkte = $subrow->punkte; + $ueb_2_target->angabedatei=null; + $ueb_2_target->freigabevon = $subrow->freigabevon; + $ueb_2_target->freigabebis = $subrow->freigabebis; + $ueb_2_target->abgabe = $subrow->abgabe; + $ueb_2_target->beispiele = $subrow->beispiele; + $ueb_2_target->statistik = $subrow->statistik; + $ueb_2_target->maxstd = $subrow->maxstd; + $ueb_2_target->maxbsp=$subrow->maxbsp; + $ueb_2_target->liste_id=$ueb_1_target->uebung_id; + $ueb_2_target->bezeichnung = $subrow->bezeichnung; + $ueb_2_target->positiv = $subrow->positiv; + $ueb_2_target->defaultbemerkung = $subrow->defaultbemerkung; + $ueb_2_target->lehreinheit_id = $lehreinheit_id_target; + $ueb_2_target->nummer = $nummer_source2; + + if (!$ueb_2_target->save($new)) + { + $error = 1; + echo "Übung konnte nicht kopiert werden!"; + } + + //angabedatei syncen + if ($subrow->angabedatei != "") + { + $angabedatei_source = $subrow->angabedatei; + $angabedatei_target = makeUploadName($conn, 'angabe', $lehreinheit_id, $ueb_2_target->uebung_id, $stsem); + $angabedatei_target .= ".".mb_substr($angabedatei_source, mb_strrpos($angabedatei_source, '.') + 1); + echo $angabedatei_source."->".$angabedatei_target."
    "; + exec("cp ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_source." ".BENOTUNGSTOOL_PATH."angabe/".$angabedatei_target); + $angabeupdate = "update campus.tbl_uebung set angabedatei = '".$angabedatei_target."' where uebung_id = '".$ueb_2_target->uebung_id."'"; + pg_query($conn, $angabeupdate); + } + + if (($error == 0) and $ueb_2_target->beispiele) + { + // beispiele synchronisieren + $bsp_obj = new beispiel($conn); + $bsp_obj->load_beispiel($subrow->uebung_id); + foreach ($bsp_obj->beispiele as $bsp) + { + $nummer_source_bsp = $bsp->nummer; + $qrybsp = "SELECT * from campus.tbl_beispiel where nummer = '".$nummer_source_bsp."' and uebung_id = '".$ueb_2_target->uebung_id."'"; + $resultbsp = pg_query($conn, $qrybsp); + + if (pg_num_rows($resultbsp) >0) + { + $rowbsp = pg_fetch_object($resultbsp); + $bsp_target =new beispiel($conn, $rowbsp->beispiel_id); + $bsp_target->new = false; + $new = null; + $bsp_target->insertamum = null; + $bsp_target->insertvon = null; + $bsp_target->updateamum = date('Y-m-d H:i:s'); + $bsp_target->updatevon = $user; + $copy_update_bsp++; + } + else + { + $bsp_target =new beispiel($conn); + $bsp_target->new = true; + $new = true; + $bsp_target->insertamum = date('Y-m-d H:i:s'); + $bsp_target->insertvon = $user; + $bsp_target->updateamum = null; + $bsp_target->updatevon = null; + $copy_insert_bsp++; + } + $bsp_target->uebung_id = $ueb_2_target->uebung_id; + $bsp_target->nummer = $nummer_source_bsp; + $bsp_target->bezeichnung = $bsp->bezeichnung; + $bsp_target->punkte = $bsp->punkte; + + if (!$bsp_target->save($new)) + { + $error = 1; + echo "Beispiele konnten nicht angelegt werden"; + } + + //Notenschlüssel synchronisieren + $clear = "delete from campus.tbl_notenschluesseluebung where uebung_id = '".$ueb_1_target->uebung_id."'"; + pg_query($conn, $clear); + + $qry_ns_source = "SELECT * from campus.tbl_notenschluesseluebung where uebung_id = '".$uebung_id_source."'"; + $result_ns_source = pg_query($conn, $qry_ns_source); + while($row_ns = pg_fetch_object($result_ns_source)) + { + $ns_insert = "INSERT INTO campus.tbl_notenschluesseluebung values ('".$ueb_1_target->uebung_id."','".$row_ns->note."', '".$row_ns->punkte."')"; + pg_query($conn, $ns_insert); + } + + } + } + + } + } + } + + } + else + echo "Fehler beim Datenbankzugriff!"; + + if ($error == 0) + echo "Übung erfolgreich kopiert! (Ü: ".$copy_insert."/".$copy_update."; B: ".$copy_insert_bsp."/".$copy_update_bsp.")"; + } +} + + + +echo "

    Übungen anlegen und verwalten

    "; +echo "
    "; + +//Anlegen einer neuen Uebung +if(isset($_POST['uebung_neu'])) +{ + if(isset($thema)) + { + //pruefen ob alle Daten eingegeben wurden + $error=false; + $error_msg = ''; + if($thema=='') + { + //$error_thema .= "Thema muss eingegeben werden"; + echo "Thema muss eingegeben werden"; + $error=true; + } + if(!is_numeric($gewicht)) + { + echo "Gewicht muss eine Zahl sein"; + $error = true; + } + + if(!$error) + { + //Uebung anlegen + $datum_obj = new datum(); + $uebung_obj = new uebung($conn); + $uebung_obj->gewicht=$gewicht; + $uebung_obj->punkte=''; + $uebung_obj->angabedatei=''; + $uebung_obj->freigabevon = null; + $uebung_obj->freigabebis = null; + $uebung_obj->abgabe=false; + $uebung_obj->beispiele=false; + $uebung_obj->bezeichnung=$thema; + $uebung_obj->positiv=isset($_POST['positiv']); + $uebung_obj->defaultbemerkung=''; + $uebung_obj->lehreinheit_id=$lehreinheit_id; + $uebung_obj->updateamum = date('Y-m-d H:i:s'); + $uebung_obj->updatevon = $user; + $uebung_obj->insertamum = date('Y-m-d H:i:s'); + $uebung_obj->insertvon = $user; + $uebung_obj->statistik = false; + $uebung_obj->liste_id = null; + $uebung_obj->get_next_nummer(); + $uebung_obj->nummer = $uebung_obj->next_nummer; + + if($uebung_obj->save(true)) + { + if($error_msg!='') + echo "$error_msg"; + //else + // header("Location: verwaltung_listen.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&liste_id=$uebung_obj->uebung_id"); + } + else + echo "$uebung_obj->errormsg"; + } + + } + else + echo "Übung konnte nicht angelegt werden!
    "; +} + + +//Loeschen einer Uebung +if(isset($_POST['delete_uebung'])) +{ + if(isset($_POST['uebung'])) + { + $ueb_obj = new uebung($conn); + $error_msg=''; + //Ausgewaehlte Beispiele holen + $delete_ids = $_POST['uebung']; + foreach($delete_ids as $id) + { + //Beispiel loeschen + if(!$ueb_obj->delete($id)) + $error_msg=$ueb_obj->errormsg; + } + if($error_msg!='') + echo "$error_msg"; + } +} + +//Editieren einer Uebung +if(isset($_POST['uebung_edit'])) +{ + $error = false; + if($thema=='') + { + echo "Thema muss eingegeben werden'"; + $error = true; + } + + + if(!$error) + { + $uebung_obj = new uebung($conn, $uebung_id); + $uebung_obj->gewicht=''; + $uebung_obj->punkte=''; + $uebung_obj->angabedatei=''; + $uebung_obj->freigabevon = null; + $uebung_obj->freigabebis = null; + $uebung_obj->abgabe=false; + $uebung_obj->beispiele=false; + $uebung_obj->bezeichnung=$thema; + $uebung_obj->positiv=true; + $uebung_obj->defaultbemerkung=''; + $uebung_obj->lehreinheit_id=$lehreinheit_id; + $uebung_obj->updateamum = date('Y-m-d H:i:s'); + $uebung_obj->updatevon = $user; + $uebung_obj->uebung_id = $uebung_id; + $uebung_obj->statistik = false; + + if($uebung_obj->save(false)) + header("Location: verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id"); + //echo "Die Änderung wurde gespeichert!"; + else + echo "$uebung_obj->errormsg"; + } + +} + + +//Eine Uebung in eine andere Lehreinheit kopieren +if(isset($_GET['kopieren']) && $_GET['kopieren']=='true') +{ + //echo "Kopiere Uebung ".$_GET['uebung_copy_id']." to ".$_POST['lehreinheit_copy_id']; + //Laden der zu kopierenden Uebung + if(is_numeric($_GET['uebung_copy_id']) && is_numeric($_POST['lehreinheit_copy_id'])) + { + //Source Uebung Laden + $qry = "SELECT * FROM campus.tbl_uebung WHERE uebung_id='".$_GET['uebung_copy_id']."'"; + if($result_source = pg_query($conn, $qry)) + { + if($row_source = pg_fetch_object($result_source)) + { + //Berechtigung Checken + $qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='".$_POST['lehreinheit_copy_id']."' AND mitarbeiter_uid='$user'"; + if($row_berechtigt = pg_query($conn, $qry)) + { + if(pg_num_rows($row_berechtigt)>0 || + $rechte->isBerechtigt('admin',0) || + $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) + || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz)) + { + //Schauen ob bereits eine uebung mit diesem Namen vorhanden ist + $qry = "SELECT * FROM campus.tbl_uebung WHERE lehreinheit_id='".$_POST['lehreinheit_copy_id']."' AND bezeichnung='".addslashes($row_source->bezeichnung)."'"; + $result_bezeichnung_exists = pg_query($conn, $qry); + if(pg_num_rows($result_bezeichnung_exists)==0) + { + //Uebung einfuegen + $uebung_dest = new uebung($conn); + $uebung_dest->gewicht = $row_source->punkte; + $uebung_dest->punkte = $row_source->punkte; + $uebung_dest->angabedatei = $row_source->angabedatei; + $uebung_dest->freigabevon = $row_source->freigabevon; + $uebung_dest->freigabebis = $row_source->freigabebis; + $uebung_dest->abgabe = ($row_source->abgabe=='t'?true:false); + $uebung_dest->beispiele = ($row_source->beispiele=='t'?true:false); + $uebung_dest->bezeichnung = $row_source->bezeichnung; + $uebung_dest->positiv = ($row_source->positiv=='t'?true:false); + $uebung_dest->statistik = ($row_source->statistik=='t'?true:false); + $uebung_dest->defaultbemerkung = $row_source->defaultbemerkung; + $uebung_dest->lehreinheit_id = $_POST['lehreinheit_copy_id']; + $ubeung_dest->updateamum = date('Y-m-d H:i:s'); + $uebung_dest->updatevon = $user; + $uebung_dest->insertamum = date('Y-m-d H:i:s'); + $uebung_dest->insertvon = $user; + + if($uebung_dest->save(true)) + { + //Beispiel laden + $qry = "SELECT * FROM campus.tbl_beispiel WHERE uebung_id='".$_GET['uebung_copy_id']."'"; + if($result_bsp_source = pg_query($conn, $qry)) + { + $error_bsp_save=false; + while($row_bsp_source = pg_fetch_object($result_bsp_source)) + { + //Beispiel speichern + $beispiel_dest = new beispiel($conn); + $beispiel_dest->uebung_id = $uebung_dest->uebung_id; + $beispiel_dest->bezeichnung = $row_bsp_source->bezeichnung; + $beispiel_dest->punkte = $row_bsp_source->punkte; + $beispiel_dest->updateamum = date('Y-m-d H:i:s'); + $beispiel_dest->updatevon = $user; + $beispiel_dest->insertamum = date('Y-m-d H:i:s'); + $beispiel_dest->insertvon = $user; + + if(!$beispiel_dest->save(true)) + $error_bsp_save=true; + } + + if($error_bsp_save) + echo "Fehler: Es konnten nicht alle Beispiel kopiert werden"; + else + echo "Daten wurden erfolgreich kopiert"; + } + } + else + { + + echo "Fehler beim kopieren der Daten: $uebung_dest->errormsg"; + } + } + else + echo "Fehler beim Kopieren: In der Ziel-Lehreinheit existiert bereits eine Kreuzerlliste mit diesem Namen!"; + } + else + echo "Sie haben keine Berechtigung für diese Aktion"; + } + } + else + echo "Uebung ".$_GET['uebung_copy_id']." wurde nicht gefunden"; + } + else + echo "Uebung ".$_GET['uebung_copy_id']." wurde nicht gefunden"; + } + else + echo "Fehler bei der Parameteruebergabe"; +} + +//Uebersichtstabelle +if(isset($uebung_id) && $uebung_id!='') +{ + echo "
    "; + //Bearbeiten der ausgewaehlten Uebung + echo "
    \n"; + echo "\n"; + echo ""; + + $uebung_obj = new uebung($conn); + $uebung_obj->load($uebung_id); + + echo " + + + +
    Ausgewählte Übung bearbeiten 
     
    Thema$error_thema
    +
    "; + + $beispiel_obj = new beispiel($conn); + $beispiel_obj->load_beispiel($uebung_id); + $anzahl = count($beispiel_obj->beispiele); + echo "
    "; + + echo "
    "; + + echo ""; +} +else +{ + //Gesamtuebersicht ueber alle Uebungen + + echo "
    "; + echo "
    "; + echo ""; + + $uebung_obj = new uebung($conn); + $uebung_obj->load_uebung($lehreinheit_id,$level=1,$uebung_id=null); + $anzahl = count($uebung_obj->uebungen); + //$copy_content="
    Vorhandene Übungen bearbeiten
    "; + $has_copy_content=false; + if($anzahl>0) + { + echo ""; + + //Alle Lehreinheiten holen die zu dieser lehrveranstaltung gehoeren + //und der angemeldete User berechtigt ist + $copy_option_content = array(); + for($i=0;$ilehreinheit_id) + { + //zugeteilte Lektoren holen + $qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter using(mitarbeiter_uid) WHERE lehreinheit_id='$row_alle_lehreinheiten->lehreinheit_id'"; + if($result_lektoren = pg_query($conn, $qry_lektoren)) + { + $lektoren = '( '; + $j=0; + while($row_lektoren = pg_fetch_object($result_lektoren)) + { + $lektoren .= $row_lektoren->kurzbz; + $j++; + if($jgruppe_kurzbz=='') + $gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe; + else + $gruppen.=$row_gruppen->gruppe_kurzbz; + $j++; + if($jlehreinheit_id] = "$row_alle_lehreinheiten->lfbez-$row_alle_lehreinheiten->lehrform_kurzbz - $gruppen $lektoren"; + } + + } + $uebung_id_source_dropdown = ""; + echo ""; + echo ""; + + $subuebung_obj = new uebung($conn); + $subuebung_obj->load_uebung($lehreinheit_id,$level=2,$uebung_id=$row->uebung_id); + $subanzahl = count($subuebung_obj->uebungen); + echo ""; + } + echo ""; + echo ""; + if ($copy_dropdown != '') + { + echo ""; + echo ""; + + $uebung_id_source_dropdown .= ""; + echo ""; + } + } + else + echo ""; + + echo "
    Übung in andere LE kopieren
     
     
     
    ThemaFreigeschaltenAuswahl
    "; + echo " ".$row->bezeichnung.""; + echo ""; + + //if((strtotime(strftime($row->freigabevon))<=time()) && (strtotime(strftime($row->freigabebis))>=time())) + // echo 'Ja'; + //else + // echo 'Nein'; + echo "
    "; + echo ""; + //echo "
      "; + foreach ($subuebung_obj->uebungen as $subrow) + { + echo "
    "; + } + //echo ""; + echo ""; + echo "
     
    Vorhandene Übungen kopieren
    "; + echo "
    ÜbungLehreinheit
    ".$uebung_id_source_dropdown."->".$copy_dropdown."
    "; + echo "
    Derzeit sind keine Übungen angelegt
    +

    "; + + + + + //Kopier-Buttons anzeigen + //$copy_content.='
    '; + //echo "
    "; + //if($has_copy_content) + // echo $copy_content; + //echo "
    "; + + //Uebung neu anlegen + if(!isset($_POST['uebung_neu'])) + { + $thema = "Uebung ".($anzahl<9?'0'.($anzahl+1):($anzahl+1)); + $anzahlderbeispiele = 10; + $punkteprobeispiel = 1; + $freigabevon = date('d.m.Y H:i'); + $freigabebis = date('d.m.Y H:i'); + } + + echo ""; + echo " +
    + + + + + + + +
    Neue Übung anlegen
    Thema$error_thema
    Gewicht$error_gewicht
    Positiv
    +
    + "; +} +?> + + + \ No newline at end of file diff --git a/cis/private/lehre/benotungstool/verwaltung_listen.php b/cis/private/lehre/benotungstool/verwaltung_listen.php index f18163849..1c5b0c7da 100644 --- a/cis/private/lehre/benotungstool/verwaltung_listen.php +++ b/cis/private/lehre/benotungstool/verwaltung_listen.php @@ -1,1278 +1,1278 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ - -require_once('../../../config.inc.php'); -require_once('../../../../include/functions.inc.php'); -require_once('../../../../include/lehrveranstaltung.class.php'); -require_once('../../../../include/studiengang.class.php'); -require_once('../../../../include/studiensemester.class.php'); -require_once('../../../../include/lehreinheit.class.php'); -require_once('../../../../include/benutzerberechtigung.class.php'); -require_once('../../../../include/uebung.class.php'); -require_once('../../../../include/beispiel.class.php'); -require_once('../../../../include/datum.class.php'); -require_once('functions.inc.php'); -function microtime_float() -{ - list($usec, $sec) = explode(" ", microtime()); - return ((float)$usec + (float)$sec); -} -$time = microtime_float(); - -if(!$conn = pg_pconnect(CONN_STRING)) - die('Fehler beim oeffnen der Datenbankverbindung'); - -$user = get_uid(); - -if(!check_lektor($user, $conn)) - die('Sie haben keine Berechtigung fuer diesen Bereich'); - -$rechte = new benutzerberechtigung($conn); -$rechte->getBerechtigungen($user); - -if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id - $lvid = $_GET['lvid']; -else - die('Fehlerhafte Parameteruebergabe'); - -if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id - $lehreinheit_id = $_GET['lehreinheit_id']; -else - $lehreinheit_id = ''; - -//Angabedatei ausliefern -if (isset($_GET["download"])){ - $file=$_GET["download"]; - $uebung_id = $_GET["uebung_id"]; - $ueb = new uebung($conn); - $ueb->load($uebung_id); - $filename = "/documents/benotungstool/angabe/".$ueb->angabedatei; - header('Content-Type: application/octet-stream'); - header('Content-disposition: attachment; filename="'.$file.'"'); - readfile($filename); - exit; -} - -?> - - - - - -Kreuzerltool - - - - -load($lvid)) - die($lv_obj->errormsg); - -//Studiengang laden -$stg_obj = new studiengang($conn,$lv_obj->studiengang_kz); - -if(isset($_GET['stsem'])) - $stsem = $_GET['stsem']; -else - $stsem = ''; - -//Vars -$datum_obj = new datum(); -$global_msg =''; -$error_thema=''; -$error_anzahlderbeispiele=''; -$error_punkteprobeispiel=''; -$error_freigabebis=''; -$error_freigabevon=''; -$error_maxstd = ''; -$error_maxbsp = ''; -$error_gewicht = ''; - -$thema = (isset($_POST['thema'])?$_POST['thema']:''); -$liste_id = (isset($_REQUEST['liste_id'])?$_REQUEST['liste_id']:''); -$anzahlderbeispiele = (isset($_POST['anzahlderbeispiele'])?$_POST['anzahlderbeispiele']:''); -$punkteprobeispiel = (isset($_POST['punkteprobeispiel'])?$_POST['punkteprobeispiel']:''); -$punkteprobeispiel = mb_ereg_replace(',','.',$punkteprobeispiel); -$freigabebis = (isset($_POST['freigabebis'])?$_POST['freigabebis']:''); -$freigabevon = (isset($_POST['freigabevon'])?$_POST['freigabevon']:''); -$maxstd = (isset($_POST['maxstd'])?$_POST['maxstd']:''); -$maxbsp = (isset($_POST['maxbsp'])?$_POST['maxbsp']:''); -$gewicht = (isset($_POST['gewicht'])?$_POST['gewicht']:''); -if (isset($_FILES["angabedatei"])) - $angabedatei_up = $_FILES["angabedatei"]["tmp_name"]; -else - $angabedatei_up = null; - -$beispiel_id = (isset($_GET['beispiel_id'])?$_GET['beispiel_id']:''); -$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); - -/* -//Filenamen für up-/downloads bauen -// which kann sein angabe, abgabe oder zip -function makeUploadName($conn, $which, $lehreinheit_id=null, $uebung_id=null, $ss=null) -{ - $query = "SELECT tbl_studiengang.kurzbzlang, tbl_lehrfach.semester, tbl_lehrfach.kurzbz from public.tbl_studiengang, lehre.tbl_lehrfach, lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit where tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id and tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id and tbl_lehrveranstaltung.studiengang_kz = tbl_studiengang.studiengang_kz and tbl_lehreinheit.lehreinheit_id = '".$lehreinheit_id."'"; - $result = pg_query($conn, $query); - $row = pg_fetch_object($result); - $name = $row->kurzbzlang."_".$row->semester."_".$row->kurzbz."_".$ss; - -if ($which == "angabe") - { - $name .= "_".$uebung_id; - } - - return $name; -} -*/ - - -//Angabedatei löschen -if (isset($_GET["deletefile"])){ - $file=$_GET["deletefile"]; - $ueb = new uebung($conn); - $ueb->load($uebung_id); - $filename = "/documents/benotungstool/angabe/".$ueb->angabedatei; - $ueb->angabedatei = ''; - $ueb->save(false); - unlink($filename); -} - -//notenschlüssel anlegen -if (isset($_POST["schluessel"]) && $_POST["schluessel"]=='Speichern') -{ - $punkte_arr = array(); - $punkte_arr[1] = $_POST["schluessel_punkte_1"]; - $punkte_arr[2] = $_POST["schluessel_punkte_2"]; - $punkte_arr[3] = $_POST["schluessel_punkte_3"]; - $punkte_arr[4] = $_POST["schluessel_punkte_4"]; - $punkte_arr[5] = $_POST["schluessel_punkte_5"]; - for ($i=1;$i<=5;$i++) - { - if (is_numeric($punkte_arr[$i])) - { - $qry = "select * from campus.tbl_notenschluesseluebung where uebung_id = '".$liste_id."' and note = '".$i."'"; - $result = pg_query($conn, $qry); - if(pg_num_rows($result)>0) - $str = "update campus.tbl_notenschluesseluebung set punkte = '".$punkte_arr[$i]."' where uebung_id = '".$liste_id."' and note = '".$i."'"; - else - $str = "insert into campus.tbl_notenschluesseluebung (uebung_id, note, punkte) values ('".$liste_id."','".$i."','".$punkte_arr[$i]."')"; - if (!pg_query($conn, $str)) - echo "Daten konnten nicht gespeichert werden"; - } - } -} -//Kopfzeile -echo ''; -echo ' '; -echo ''; -echo '
      Benotungstool'; -echo ''."\n"; - -//Studiensemester laden -$stsem_obj = new studiensemester($conn); -if($stsem=='') - $stsem = $stsem_obj->getaktorNext(); - -$stsem_obj->getAll(); - - -//Studiensemester DropDown -$stsem_content = "Studiensemester: \n"; - -//Lehreinheiten laden -if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz)) -{ - $qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND - tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; -} -else -{ - $qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND - tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid='$user') AND - tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; -} - -if($result = pg_query($conn, $qry)) -{ - $result_alle_lehreinheiten = $result; - if(pg_num_rows($result)>1) - { - //Lehreinheiten DropDown - echo " Lehreinheit: '; - } - else - { - if($row = pg_fetch_object($result)) - $lehreinheit_id = $row->lehreinheit_id; - } -} -else -{ - echo 'Fehler beim Auslesen der Lehreinheiten'; -} -echo $stsem_content; -echo '
    '; -echo ''; -echo ''; -echo " -
     \n"; -echo "$lv_obj->bezeichnung
    "; - -if($lehreinheit_id=='') - die('Es gibt keine Lehreinheiten in diesem Studiensemester für die Sie eine Berechtigung besitzen'); - -//Menue -include("menue.inc.php"); -/* -echo "\n\n"; -echo "
    - Verwaltung     - Anwesenheits- und Übersichtstabelle     - Studentenpunkte verwalten     - Statistik -

    -\n"; -*/ - -//echo "studiensemester: $stsem
    "; -//echo "lehrveranstaltung: $lvid
    "; -//echo "lehreinheit: $lehreinheit_id
    "; - -echo "

    Übung verwalten

    "; - -//Anlegen einer neuen Uebung -if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu'])) -{ - if(isset($thema)) - { - //pruefen ob alle Daten eingegeben wurden - $error=false; - if($thema=='') - { - $error_thema.= "Thema muss eingegeben werden"; - $error=true; - } - if(!is_numeric($gewicht)) - { - echo "Gewicht muss eine Zahl sein"; - $error = true; - } - if (isset($_POST['uebung_neu'])) - { - if(!is_numeric($punkteprobeispiel)) - { - $error_punkteprobeispiel= "Punkte pro Beispiel muss eine gültige Zahl sein"; - $error=true; - } - elseif($punkteprobeispiel<0) - { - $error_punkteprobeispiel = "Punkte pro Beispiel darf nicht negativ sein"; - $error=true; - } - if(!is_numeric($anzahlderbeispiele)) - { - $error_anzahlderbeispiele = "Anzahl der Beispiele muss eine gültige Zahl sein"; - $error=true; - } - elseif($anzahlderbeispiele<0) - { - $error_anzahlderbeispiele = "Anzahl der Beispiele darf nicht negativ sein"; - $error=true; - } - elseif($anzahlderbeispiele>99) - { - $error_anzahlderbeispiele = "Anzahl der Beispiele muss kleiner 100 sein"; - $error=true; - } - - if ($maxstd != '') - { - if(!is_numeric($maxstd)) - { - $error_maxstd = "Anzahl der Studenten/Beispiel muss eine gültige Zahl sein"; - $error=true; - } - elseif($maxstd<0) - { - $error_maxstd = "Anzahl der Studenten/Beispiel darf nicht negativ sein"; - $error=true; - } - elseif($maxstd>99) - { - $error_maxd = "Anzahl der Studenten/Beispiel muss kleiner 100 sein"; - $error=true; - } - } - else - $maxstd = null; - - if ($maxbsp != '') - { - if(!is_numeric($maxbsp)) - { - $error_maxbsp = "Anzahl der Beispiele/Student muss eine gültige Zahl sein"; - $error=true; - } - elseif($maxbsp<0) - { - $error_maxbsp = "Anzahl der Beispiele/Student darf nicht negativ sein"; - $error=true; - } - elseif($maxbsp>99) - { - $error_maxbsp = "Anzahl der Beispiele/Student muss kleiner 100 sein"; - $error=true; - } - } - else - $maxbsp = null; - } - - $freigabevon_sav = $datum_obj->mktime_datumundzeit($freigabevon); - $freigabebis_sav = $datum_obj->mktime_datumundzeit($freigabebis); - - if(!$freigabebis_sav) - { - $error_freigabebis = "Bis-Datum hat ein ungültiges Format"; - $error=true; - } - - if(!$freigabevon_sav) - { - $error_freigabevon = "Von-Datum hat ein ungültiges Format"; - $error=true; - } - - if($freigabevon_sav && $freigabebis_sav && $freigabevon_sav>$freigabebis_sav) - { - $error_freigabevon = "Von Datum darf nicht grösser als Bis Datum sein"; - $error=true; - } - - if(!$error) - { - - //Uebung anlegen (KL oder Abgabe) - $datum_obj = new datum(); - $uebung_obj = new uebung($conn); - //$uebung_obj->gewicht=''; - $uebung_obj->punkte=''; - $uebung_obj->angabedatei=''; - $uebung_obj->freigabevon = date('Y-m-d H:i',$freigabevon_sav); - $uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav); - if (isset($_POST["uebung_neu"])) - { - if (isset($_POST["kl_abgabe"])) - $uebung_obj->abgabe=true; - else - $uebung_obj->abgabe=false; - $uebung_obj->beispiele=true; - } - else - { - $uebung_obj->abgabe=true; - $uebung_obj->beispiele=false; - } - $uebung_obj->bezeichnung=$thema; - $uebung_obj->positiv=isset($_POST['positiv']); - $uebung_obj->defaultbemerkung=''; - $uebung_obj->lehreinheit_id=$lehreinheit_id; - $uebung_obj->updateamum = date('Y-m-d H:i:s'); - $uebung_obj->updatevon = $user; - $uebung_obj->insertamum = date('Y-m-d H:i:s'); - $uebung_obj->insertvon = $user; - $uebung_obj->statistik = isset($_POST['statistik']); - $uebung_obj->liste_id = $liste_id; - $uebung_obj->maxstd = $maxstd; - $uebung_obj->maxbsp = $maxbsp; - $uebung_obj->gewicht = $gewicht; - $uebung_obj->get_next_nummer(); - $uebung_obj->nummer = $uebung_obj->next_nummer; - - if($uebung_obj->save(true)) - { - $uebung_id = $uebung_obj->uebung_id; - - //Angabedatei ablegen - if ($angabedatei_up) - { - $name_up = pathinfo($_FILES["angabedatei"]["name"]); - $name_neu = makeUploadName($conn, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem); - $angabedatei = $name_neu.".".$name_up["extension"]; - - $angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei; - //$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei; - //unlink($angabepfad); - //echo $angabepfad; - move_uploaded_file($_FILES['angabedatei']['tmp_name'], $angabepfad); - $uebung_obj->angabedatei = $angabedatei; - $uebung_obj->save(false); - } - //Beispiele anlegen - - $error_msg=''; - for($i=0;$i<$anzahlderbeispiele;$i++) - { - $beispiel_obj = new beispiel($conn); - $beispiel_obj->uebung_id = $uebung_id; - $beispiel_obj->bezeichnung = "Beispiel ".($i<9?'0'.($i+1):($i+1)); - $beispiel_obj->punkte = $punkteprobeispiel; - $beispiel_obj->updateamum = date('Y-m-d H:i:s'); - $beispiel_obj->updatevon = $user; - $beispiel_obj->insertamum = date('Y-m-d H:i:s'); - $beispiel_obj->insertvon = $user; - $beispiel_obj->get_next_nummer(); - $beispiel_obj->nummer = $beispiel_obj->next_nummer; - - if(!$beispiel_obj->save(true)) - $error_msg = $beispiel_obj->errormsg; - } - if($error_msg!='') - echo "$error_msg"; - } - else - echo "$uebung_obj->errormsg"; - } - - } - else - echo "Kreuzerlliste konnte nicht angelegt werden!
    "; -} - - - - -//Loeschen eines Beispiels -if(isset($_POST['beispiel_delete'])) -{ - if(isset($_POST['beispiel'])) - { - $beispiel_obj = new beispiel($conn); - $error_msg=''; - //Ausgewaehlte Beispiele holen - $delete_ids = $_POST['beispiel']; - foreach($delete_ids as $id) - { - //Beispiel loeschen - if(!$beispiel_obj->delete($id)) - $error_msg=$beispiel_obj->errormsg; - } - if($error_msg!='') - echo "$error_msg"; - } -} - -//Loeschen einer Uebung -if(isset($_POST['delete_uebung'])) -{ - if(isset($_POST['uebung'])) - { - $ueb_obj = new uebung($conn); - $error_msg=''; - //Ausgewaehlte Beispiele holen - $delete_ids = $_POST['uebung']; - foreach($delete_ids as $id) - { - //Beispiel loeschen - if(!$ueb_obj->delete($id)) - $error_msg=$ueb_obj->errormsg; - } - if($error_msg!='') - echo "$error_msg"; - } -} - -//Editieren einer Uebung -if(isset($_POST['uebung_edit'])) -{ - $error = false; - if($thema=='') - { - echo "Thema muss eingegeben werden"; - $error = true; - } - if(!is_numeric($gewicht)) - { - echo "Gewicht muss eine Zahl sein"; - $error = true; - } - $freigabevon_sav = $datum_obj->mktime_datumundzeit($freigabevon); - $freigabebis_sav = $datum_obj->mktime_datumundzeit($freigabebis); - - if ($maxstd != '') - { - if(!is_numeric($maxstd)) - { - echo "Anzahl der Studenten/Beispiel muss eine gültige Zahl sein"; - $error=true; - } - elseif($maxstd<0) - { - echo "Anzahl der Studenten/Beispiel darf nicht negativ sein"; - $error=true; - } - elseif($maxstd>99) - { - echo "Anzahl der Studenten/Beispiel muss kleiner 100 sein"; - $error=true; - } - } - else - $maxstd = null; - - if ($maxbsp != '') - { - if(!is_numeric($maxbsp)) - { - echo "Anzahl der Beispiele/Student muss eine gültige Zahl sein"; - $error=true; - } - elseif($maxbsp<0) - { - echo "Anzahl der Beispiele/Student darf nicht negativ sein"; - $error=true; - } - elseif($maxbsp>99) - { - echo "Anzahl der Beispiele/Student muss kleiner 100 sein"; - $error=true; - } - } - else - $maxbsp = null; - - if($freigabevon_sav>$freigabebis_sav) - { - echo "Von Datum darf nicht grösser als Bis Datum sein"; - $error=true; - } - if(!$freigabebis_sav) - { - echo "Bis-Datum hat ein ungültiges Format"; - $error=true; - } - - if(!$freigabevon_sav) - { - echo "Von-Datum hat ein ungültiges Format"; - $error=true; - } - - if(!$error) - { - //Angabedatei ablegen - if ($angabedatei_up) - { - $name_up = pathinfo($_FILES["angabedatei"]["name"]); - $name_neu = makeUploadName($conn, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem); - $angabedatei_neu = $name_neu.".".$name_up["extension"]; - - $angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei_neu; - //$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei; - //unlink($angabepfad); - //echo $angabepfad; - foreach (glob(BENOTUNGSTOOL_PATH."angabe/*".$uebung_id.".*") as $old) - unlink($old); - move_uploaded_file($_FILES['angabedatei']['tmp_name'], $angabepfad); - } - else - { - $uebung_akt = new uebung($conn); - $uebung_akt->load($uebung_id); - $angabedatei_neu = $uebung_akt->angabedatei; - } - $uebung_obj = new uebung($conn); - $uebung_obj->load($uebung_id); - $uebung_obj->gewicht=$gewicht; - $uebung_obj->punkte=''; - $uebung_obj->angabedatei=$angabedatei_neu; - $uebung_obj->freigabevon = date('Y-m-d H:i',$freigabevon_sav); - $uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav); - if ($uebung_obj->beispiele) - $uebung_obj->abgabe = (isset($_POST['kl_abgabe'])?true:false); - //$uebung_obj->beispiele=true; - $uebung_obj->bezeichnung=$thema; - $uebung_obj->positiv=(isset($_POST['positiv'])?true:false); - $uebung_obj->defaultbemerkung=''; - $uebung_obj->lehreinheit_id=$lehreinheit_id; - $uebung_obj->updateamum = date('Y-m-d H:i:s'); - $uebung_obj->updatevon = $user; - $uebung_obj->uebung_id = $uebung_id; - $uebung_obj->statistik = (isset($_POST['statistik'])?true:false); - $uebung_obj->liste_id = $_POST["liste_id"]; - $uebung_obj->maxstd = $maxstd; - $uebung_obj->maxbsp = $maxbsp; - - if($uebung_obj->save(false)) - echo "Die Änderung wurde gespeichert!"; - else - echo "$uebung_obj->errormsg"; - } - -} - -// Notenschluessel toggle - -if (isset($_GET['liste_id']) && isset($_GET['notenschluessel'])) -{ - $ueb_ns = new uebung($conn); - $ueb_ns->toggle_prozent_punkte($_GET['liste_id']); - echo $ueb_ns->errormsg; -} - - -//Editieren einer Liste -if(isset($_POST['liste_edit'])) -{ - $error = false; - if($thema=='') - { - echo "Thema muss eingegeben werden"; - $error = true; - } - if(!is_numeric($gewicht)) - { - echo "Gewicht muss eine Zahl sein"; - $error = true; - } - - - if(!$error) - { - - $uebung_obj = new uebung($conn); - $uebung_obj->load($_GET['liste_id']); - $uebung_obj->gewicht=$gewicht; - $uebung_obj->punkte=''; - $uebung_obj->angabedatei=''; - $uebung_obj->freigabevon = null; - $uebung_obj->freigabebis = null; - //$uebung_obj->abgabe=false; - //$uebung_obj->beispiele=true; - $uebung_obj->bezeichnung=$thema; - $uebung_obj->positiv=(isset($_POST['positiv'])?true:false); - $uebung_obj->defaultbemerkung=''; - $uebung_obj->lehreinheit_id=$lehreinheit_id; - $uebung_obj->updateamum = date('Y-m-d H:i:s'); - $uebung_obj->updatevon = $user; - $uebung_obj->uebung_id = $_REQUEST["liste_id"]; - //$uebung_obj->statistik = (isset($_POST['statistik'])?true:false); - $uebung_obj->liste_id = ''; - //$uebung_obj->maxstd = $maxstd; - //$uebung_obj->maxbsp = $maxbsp; - - if($uebung_obj->save(false)) - echo "Die Änderung wurde gespeichert!"; - else - echo "$uebung_obj->errormsg"; - } - -} - -//Neues Beispiel anlegen -if(isset($_POST['beispiel_neu']) || isset($_POST['beispiel_edit'])) -{ - if(isset($_POST['beispiel_edit']) && (!isset($beispiel_id) || !is_numeric($beispiel_id))) - { - echo "Beispiel_id ist ungueltig"; - } - else - { - if(isset($uebung_id) && $uebung_id!='' && is_numeric($uebung_id)) - { - $punkte = (isset($_POST['punkte'])?$_POST['punkte']:''); - $punkte = mb_ereg_replace(',','.',$punkte); - $bezeichnung = $_REQUEST["bezeichnung"]; - if(is_numeric($punkte) && $punkte!='') - { - if($bezeichnung!='') - { - $beispiel_obj = new beispiel($conn); - if(isset($_POST['beispiel_edit'])) - { - $beispiel_obj->load($beispiel_id); - $beispiel_obj->beispiel_id= $beispiel_id; - $beispiel_obj->new=false; - } - else - { - $beispiel_obj->new=true; - $beispiel_obj->insertamum = date('Y-m-d H:i:s'); - $beispiel_obj->insertvon = $user; - $beispiel_obj->get_next_nummer(); - $beispiel_obj->nummer = $beispiel_obj->next_nummer; - } - - $beispiel_obj->uebung_id = $uebung_id; - $beispiel_obj->bezeichnung = $bezeichnung; - $beispiel_obj->punkte = $punkte; - $beispiel_obj->updateamum = date('Y-m-d H:i:s'); - $beispiel_obj->updatevon = $user; - if($beispiel_obj->save()) - { - $beispiel_id=''; - } - else - echo "$beispiel_obj->errormsg"; - } - else - echo "Bezeichnung muss eingegeben werden"; - } - else - echo "Punkte muss eine gültige Zahl sein"; - } - else - echo "Zugehoerige Uebung ist fehlerhaft"; - } -} - - - -//Uebersichtstabelle -if(isset($_GET["uebung_id"]) && $_GET["uebung_id"]!='') -{ - - echo "
    "; - //Bearbeiten der ausgewaehlten Uebung - echo "
    \n"; - echo "\n"; - echo ""; - - $uebung_obj = new uebung($conn); - $uebung_obj->load($uebung_id); - $downloadname = mb_ereg_replace($uebung_id,ereg_replace(' ','_',$uebung_obj->bezeichnung), $uebung_obj->angabedatei); - - echo " - - - "; - - if ($uebung_obj->beispiele){ - echo " - "; - echo""; - echo ""; - } - else if ($uebung_obj->abgabe) - { - echo ""; - echo ""; - } - if ($uebung_obj->beispiele) - echo""; - echo ""; - echo ""; - if ($uebung_obj->angabedatei != '') - echo ""; - else - echo ""; - echo ""; - echo " - - -
    Ausgewählte Aufgabe bearbeiten 
     
    Thema$error_thema
    Freigabevon mktime_fromtimestamp($uebung_obj->freigabevon))."'>
    (Format: 31.12.2007 14:30)bis mktime_fromtimestamp($uebung_obj->freigabebis))."'>
    Max. Studenten/Beispiel$error_maxstd
    Max. Beispiele/Student$error_maxbsp
    Abgabe abgabe?'checked':'').">
    Gewicht$error_gewicht
    Positiv positiv?'checked':'').">
    Statistik für Studenten anzeigen statistik?'checked':'').">
    Angabedatei".$downloadname." [del]
    - -
    "; - - $beispiel_obj = new beispiel($conn); - $beispiel_obj->load_beispiel($uebung_id); - $anzahl = count($beispiel_obj->beispiele); - echo "
    "; - - //Beispiel neu Anlegen - if ($uebung_obj->beispiele) - { - echo "
    \n"; - echo "\n"; - echo "\n\n"; - - echo ""; - echo ""; - - echo "
    Neues Beispiel anlegen
     
    Bezeichnung "; - echo " Punkte
    -
    "; - - /* - // notenschlüssel - $qry = "select * from campus.tbl_notenschluesseluebung where uebung_id = '$uebung_id' order by note"; - if($result = pg_query($conn, $qry)) - { - $notenschluessel = array(); - $notenschluessel[1] = ''; - $notenschluessel[2] = ''; - $notenschluessel[3] = ''; - $notenschluessel[4] = ''; - $notenschluessel[5] = ''; - if(pg_num_rows($result)>=1) - { - while($schluesselrow = pg_fetch_object($result)) - { - $notenschluessel[$schluesselrow->note] = $schluesselrow->punkte; - } - } - } - - echo "
    \n"; - echo "\n"; - echo "\n\n"; - - echo ""; - echo ""; -echo ""; -echo ""; -echo ""; -echo ""; - echo ""; - - echo "
    Notenschlüssel definieren
     
    NoteMindestpunkte
    -
    "; - */ - } - - echo "
    "; - - - //Uebersicht der Beispiele - if ($uebung_obj->beispiele) - { - echo "
    \n"; - echo "\n"; - echo "\n\n"; - - if($anzahl>0) - { - echo "\n"; - foreach ($beispiel_obj->beispiele as $row) - { - echo " - - "; - } - echo ""; - } - else - echo ""; - - echo "
    Vorhandene Beispiele
     
    BeispielPunkteAuswahl
    ".$row->bezeichnung."$row->punkte
    Derzeit sind keine Beispiele angelegt
    "; - } - echo "
    "; - - //Beispiel Aendern - $error_msg = ''; - if(isset($beispiel_id) && $beispiel_id!='') - { - //Bearbeiten eines Beispiels - if($beispiel_obj->load($beispiel_id)) - { - echo "
    \n"; - echo "\n"; - echo "\n\n"; - - echo ""; - echo ""; - - echo "
    Beispiel bearbeiten
     
    Bezeichnung "; - echo " Punkte
    -


    "; - } - else - $error_msg = $beispiel_obj->errormsg; - } - echo "
    "; -} -else -{ - if(isset($liste_id) && $liste_id!='') - { - echo "
    "; - //Bearbeiten der ausgewaehlten Liste - echo "
    \n"; - echo "\n"; - echo ""; - - $liste_obj = new uebung($conn); - $liste_obj->load($liste_id); - - echo " - - - -
    Übung bearbeiten 
     
    Thema$error_thema
    Gewicht$error_gewicht
    Positiv positiv?'checked':'').">
    -
    "; - } - - //Gesamtuebersicht ueber alle Listen innerhalb der Uebung - echo "
    "; - echo "
    "; - echo ""; - $studentuebung = new uebung($conn); - if (!$studentuebung->check_studentuebung($liste_id)) - echo ""; - - $uebung_obj = new uebung($conn); - $uebung_obj->load_uebung($lehreinheit_id,$level=2,$uebung_id=$liste_id); - $anzahl = count($uebung_obj->uebungen); - $copy_content="
    Vorhandene Aufgaben bearbeiten
    "; - $has_copy_content=false; - if($anzahl>0) - { - echo ""; - - //Alle Lehreinheiten holen die zu dieser lehrveranstaltung gehoeren - //und der angemeldete User berechtigt ist - $copy_option_content = array(); - for($i=0;$ilehreinheit_id) - { - //zugeteilte Lektoren holen - $qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter using(mitarbeiter_uid) WHERE lehreinheit_id='$row_alle_lehreinheiten->lehreinheit_id'"; - if($result_lektoren = pg_query($conn, $qry_lektoren)) - { - $lektoren = '( '; - $j=0; - while($row_lektoren = pg_fetch_object($result_lektoren)) - { - $lektoren .= $row_lektoren->kurzbz; - $j++; - if($jgruppe_kurzbz=='') - $gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe; - else - $gruppen.=$row_gruppen->gruppe_kurzbz; - $j++; - if($jlehreinheit_id] = "$row_alle_lehreinheiten->lfbez-$row_alle_lehreinheiten->lehrform_kurzbz - $gruppen $lektoren"; - } - } - - //Uebungen durchlaufen - foreach ($uebung_obj->uebungen as $row) - { - $has_option_content=false; - echo ""; - //Wenn andere Lehreinheiten vorhanden sind dann wird die moeglichkeit zum kopieren von - //Uebungen in diese Lehreinheiten angeboten. - if(isset($result_alle_lehreinheiten) && pg_num_rows($result_alle_lehreinheiten)>1) - { - $copy_content.= ''; - $copy_content.= '"; - } - } - echo ""; - if ($row->beispiele) - $anzeigen = 'beispiele'; - else - $anzeigen = 'abgabe'; - } - else - { - $studentuebung = new uebung($conn); - if (!$studentuebung->check_studentuebung($liste_id)) - { - echo ""; - $anzeigen = 'beide'; - } - else - $anzeigen = "nada"; - } - - echo "
    Übung in andere LE kopieren
     
     
     
    ThemaFreigeschaltenAuswahl 
    ".$row->bezeichnung.""; - - if((strtotime(strftime($row->freigabevon))<=time()) && (strtotime(strftime($row->freigabebis))>=time())) - echo 'Ja'; - else - echo 'Nein'; - echo "
    '; - $copy_option_content = ''; - //Lehreinheiten fuer Combo durchgehen und schauen ob - //fuer diese Lehreinheit bereits eine Uebung mit gleichem Namen existiert - //Falls ja wird diese nicht in der Combo angezeigt - foreach ($copy_le_content as $id=>$bezeichnung) - { - $qry = "SELECT uebung_id FROM campus.tbl_uebung WHERE lehreinheit_id='$id' AND bezeichnung='$row->bezeichnung'"; - //echo $qry; - if($result_vorhanden = pg_query($conn, $qry)) - { - if(pg_num_rows($result_vorhanden)==0) - { - $copy_option_content.= "\n"; - $has_option_content=true; - $has_copy_content=true; - } - } - } - //Wenn eintraege fuer Combo vorhanden sind dann wirds angezeigt - if($has_option_content) - { - $copy_content.= "\n"; - $copy_content.= "\n '; - $copy_content.= "   "; - $copy_content.= "\n"; - } - else - { - $copy_content.=" "; - } - $copy_content.= "
    Derzeit sind keine Aufgaben angelegt
    -

    "; - - //Kopier-Buttons anzeigen - $copy_content.='
    '; - echo "
    "; - //if($has_copy_content) - // echo $copy_content; - echo "
    "; - - //Uebung neu anlegen - if(!isset($_POST['uebung_neu'])) - { - $thema = "Liste ".($anzahl<9?'0'.($anzahl+1):($anzahl+1)); - $anzahlderbeispiele = 10; - $punkteprobeispiel = 1; - $freigabevon = date('d.m.Y H:i'); - $freigabebis = date('d.m.Y H:i'); - $maxstudentenprobeispiel = ''; - $maxbeispieleprostudent = ''; - $gewicht = 1; - - } - echo "
    "; - - if ($anzeigen != 'abgabe' && $anzeigen != 'nada') - { - echo " -
    - - - - - - - - - - - - - - -
    Neue Kreuzerlliste anlegen
    Thema$error_thema
    Anzahl der Beispiele$error_anzahlderbeispiele
    Anzahl Punkte pro Beispiel$error_punkteprobeispiel
    Max. Studenten/Beispiel$error_maxstd
    Max. Beispiele/Student$error_maxbsp
    Freigabevon $error_freigabevon
    (Format: 31.12.2007 14:30)bis $error_freigabebis
    Abgabe
    Statistik für Studenten anzeigen
    Angabedatei
    -
    - "; - // notenschlüssel - $qry = "select * from campus.tbl_notenschluesseluebung where uebung_id = '$liste_id' order by note"; - if($result = pg_query($conn, $qry)) - { - $notenschluessel = array(); - $notenschluessel[1] = ''; - $notenschluessel[2] = ''; - $notenschluessel[3] = ''; - $notenschluessel[4] = ''; - $notenschluessel[5] = ''; - if(pg_num_rows($result)>=1) - { - while($schluesselrow = pg_fetch_object($result)) - { - $notenschluessel[$schluesselrow->note] = $schluesselrow->punkte; - } - } - } - - if ($anzeigen != "beide") - { - if ($liste_obj->prozent == 't') - { - $einheit = " %"; - $einheit_link = "Notenschlüssel in Prozent / Punkten"; - } - else - { - $einheit=" Punkte"; - $einheit_link = "Notenschlüssel in Prozent / Punkten"; - } - - echo "
    \n"; - echo "\n"; - echo ""; - echo ""; - echo ""; - echo "\n"; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - - echo "
    Notenschlüssel definieren
    "; - echo $einheit_link; - echo "
     
    NoteMinimum
    $einheit
    $einheit
    $einheit
    $einheit
    $einheit
    "; - if ($liste_obj->prozent == 't') - echo "
    "; - echo "
    -
    "; - } - - - } - if(!isset($_POST['uebung_neu'])) - $thema = "Abgabe ".($anzahl<9?'0'.($anzahl+1):($anzahl+1)); - - if ($anzeigen != 'beispiele' && $anzeigen != 'nada') - { - echo " -
    - - - - - - - - - - -
    Neue Abgabe anlegen
    Thema$error_thema
    Freigabevon $error_freigabevon
    (Format: 31.12.2007 14:30)bis $error_freigabebis
    Gewicht$error_gewicht
    Positiv
    Angabedatei
    -
    - "; - } -} -?> -
    - +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +require_once('../../../config.inc.php'); +require_once('../../../../include/functions.inc.php'); +require_once('../../../../include/lehrveranstaltung.class.php'); +require_once('../../../../include/studiengang.class.php'); +require_once('../../../../include/studiensemester.class.php'); +require_once('../../../../include/lehreinheit.class.php'); +require_once('../../../../include/benutzerberechtigung.class.php'); +require_once('../../../../include/uebung.class.php'); +require_once('../../../../include/beispiel.class.php'); +require_once('../../../../include/datum.class.php'); +require_once('functions.inc.php'); +function microtime_float() +{ + list($usec, $sec) = explode(" ", microtime()); + return ((float)$usec + (float)$sec); +} +$time = microtime_float(); + +if(!$conn = pg_pconnect(CONN_STRING)) + die('Fehler beim oeffnen der Datenbankverbindung'); + +$user = get_uid(); + +if(!check_lektor($user, $conn)) + die('Sie haben keine Berechtigung fuer diesen Bereich'); + +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + +if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id + $lvid = $_GET['lvid']; +else + die('Fehlerhafte Parameteruebergabe'); + +if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id + $lehreinheit_id = $_GET['lehreinheit_id']; +else + $lehreinheit_id = ''; + +//Angabedatei ausliefern +if (isset($_GET["download"])){ + $file=$_GET["download"]; + $uebung_id = $_GET["uebung_id"]; + $ueb = new uebung($conn); + $ueb->load($uebung_id); + $filename = "/documents/benotungstool/angabe/".$ueb->angabedatei; + header('Content-Type: application/octet-stream'); + header('Content-disposition: attachment; filename="'.$file.'"'); + readfile($filename); + exit; +} + +?> + + + + + +Kreuzerltool + + + + +load($lvid)) + die($lv_obj->errormsg); + +//Studiengang laden +$stg_obj = new studiengang($conn,$lv_obj->studiengang_kz); + +if(isset($_GET['stsem'])) + $stsem = $_GET['stsem']; +else + $stsem = ''; + +//Vars +$datum_obj = new datum(); +$global_msg =''; +$error_thema=''; +$error_anzahlderbeispiele=''; +$error_punkteprobeispiel=''; +$error_freigabebis=''; +$error_freigabevon=''; +$error_maxstd = ''; +$error_maxbsp = ''; +$error_gewicht = ''; + +$thema = (isset($_POST['thema'])?$_POST['thema']:''); +$liste_id = (isset($_REQUEST['liste_id'])?$_REQUEST['liste_id']:''); +$anzahlderbeispiele = (isset($_POST['anzahlderbeispiele'])?$_POST['anzahlderbeispiele']:''); +$punkteprobeispiel = (isset($_POST['punkteprobeispiel'])?$_POST['punkteprobeispiel']:''); +$punkteprobeispiel = mb_ereg_replace(',','.',$punkteprobeispiel); +$freigabebis = (isset($_POST['freigabebis'])?$_POST['freigabebis']:''); +$freigabevon = (isset($_POST['freigabevon'])?$_POST['freigabevon']:''); +$maxstd = (isset($_POST['maxstd'])?$_POST['maxstd']:''); +$maxbsp = (isset($_POST['maxbsp'])?$_POST['maxbsp']:''); +$gewicht = (isset($_POST['gewicht'])?$_POST['gewicht']:''); +if (isset($_FILES["angabedatei"])) + $angabedatei_up = $_FILES["angabedatei"]["tmp_name"]; +else + $angabedatei_up = null; + +$beispiel_id = (isset($_GET['beispiel_id'])?$_GET['beispiel_id']:''); +$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); + +/* +//Filenamen für up-/downloads bauen +// which kann sein angabe, abgabe oder zip +function makeUploadName($conn, $which, $lehreinheit_id=null, $uebung_id=null, $ss=null) +{ + $query = "SELECT tbl_studiengang.kurzbzlang, tbl_lehrfach.semester, tbl_lehrfach.kurzbz from public.tbl_studiengang, lehre.tbl_lehrfach, lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit where tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id and tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id and tbl_lehrveranstaltung.studiengang_kz = tbl_studiengang.studiengang_kz and tbl_lehreinheit.lehreinheit_id = '".$lehreinheit_id."'"; + $result = pg_query($conn, $query); + $row = pg_fetch_object($result); + $name = $row->kurzbzlang."_".$row->semester."_".$row->kurzbz."_".$ss; + +if ($which == "angabe") + { + $name .= "_".$uebung_id; + } + + return $name; +} +*/ + + +//Angabedatei löschen +if (isset($_GET["deletefile"])){ + $file=$_GET["deletefile"]; + $ueb = new uebung($conn); + $ueb->load($uebung_id); + $filename = "/documents/benotungstool/angabe/".$ueb->angabedatei; + $ueb->angabedatei = ''; + $ueb->save(false); + unlink($filename); +} + +//notenschlüssel anlegen +if (isset($_POST["schluessel"]) && $_POST["schluessel"]=='Speichern') +{ + $punkte_arr = array(); + $punkte_arr[1] = $_POST["schluessel_punkte_1"]; + $punkte_arr[2] = $_POST["schluessel_punkte_2"]; + $punkte_arr[3] = $_POST["schluessel_punkte_3"]; + $punkte_arr[4] = $_POST["schluessel_punkte_4"]; + $punkte_arr[5] = $_POST["schluessel_punkte_5"]; + for ($i=1;$i<=5;$i++) + { + if (is_numeric($punkte_arr[$i])) + { + $qry = "select * from campus.tbl_notenschluesseluebung where uebung_id = '".$liste_id."' and note = '".$i."'"; + $result = pg_query($conn, $qry); + if(pg_num_rows($result)>0) + $str = "update campus.tbl_notenschluesseluebung set punkte = '".$punkte_arr[$i]."' where uebung_id = '".$liste_id."' and note = '".$i."'"; + else + $str = "insert into campus.tbl_notenschluesseluebung (uebung_id, note, punkte) values ('".$liste_id."','".$i."','".$punkte_arr[$i]."')"; + if (!pg_query($conn, $str)) + echo "Daten konnten nicht gespeichert werden"; + } + } +} +//Kopfzeile +echo ''; +echo ' '; +echo ''; +echo '
      Benotungstool'; +echo ''."\n"; + +//Studiensemester laden +$stsem_obj = new studiensemester($conn); +if($stsem=='') + $stsem = $stsem_obj->getaktorNext(); + +$stsem_obj->getAll(); + + +//Studiensemester DropDown +$stsem_content = "Studiensemester: \n"; + +//Lehreinheiten laden +if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz) || $rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz)) +{ + $qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter + WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND + tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND + tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND + tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; +} +else +{ + $qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter + WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND + tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND + tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND + tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid='$user') AND + tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; +} + +if($result = pg_query($conn, $qry)) +{ + $result_alle_lehreinheiten = $result; + if(pg_num_rows($result)>1) + { + //Lehreinheiten DropDown + echo " Lehreinheit: '; + } + else + { + if($row = pg_fetch_object($result)) + $lehreinheit_id = $row->lehreinheit_id; + } +} +else +{ + echo 'Fehler beim Auslesen der Lehreinheiten'; +} +echo $stsem_content; +echo '
    '; +echo ''; +echo ''; +echo " +
     \n"; +echo "$lv_obj->bezeichnung
    "; + +if($lehreinheit_id=='') + die('Es gibt keine Lehreinheiten in diesem Studiensemester für die Sie eine Berechtigung besitzen'); + +//Menue +include("menue.inc.php"); +/* +echo "\n\n"; +echo "
    + Verwaltung     + Anwesenheits- und Übersichtstabelle     + Studentenpunkte verwalten     + Statistik +

    +\n"; +*/ + +//echo "studiensemester: $stsem
    "; +//echo "lehrveranstaltung: $lvid
    "; +//echo "lehreinheit: $lehreinheit_id
    "; + +echo "

    Übung verwalten

    "; + +//Anlegen einer neuen Uebung +if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu'])) +{ + if(isset($thema)) + { + //pruefen ob alle Daten eingegeben wurden + $error=false; + if($thema=='') + { + $error_thema.= "Thema muss eingegeben werden"; + $error=true; + } + if(!is_numeric($gewicht)) + { + echo "Gewicht muss eine Zahl sein"; + $error = true; + } + if (isset($_POST['uebung_neu'])) + { + if(!is_numeric($punkteprobeispiel)) + { + $error_punkteprobeispiel= "Punkte pro Beispiel muss eine gültige Zahl sein"; + $error=true; + } + elseif($punkteprobeispiel<0) + { + $error_punkteprobeispiel = "Punkte pro Beispiel darf nicht negativ sein"; + $error=true; + } + if(!is_numeric($anzahlderbeispiele)) + { + $error_anzahlderbeispiele = "Anzahl der Beispiele muss eine gültige Zahl sein"; + $error=true; + } + elseif($anzahlderbeispiele<0) + { + $error_anzahlderbeispiele = "Anzahl der Beispiele darf nicht negativ sein"; + $error=true; + } + elseif($anzahlderbeispiele>99) + { + $error_anzahlderbeispiele = "Anzahl der Beispiele muss kleiner 100 sein"; + $error=true; + } + + if ($maxstd != '') + { + if(!is_numeric($maxstd)) + { + $error_maxstd = "Anzahl der Studenten/Beispiel muss eine gültige Zahl sein"; + $error=true; + } + elseif($maxstd<0) + { + $error_maxstd = "Anzahl der Studenten/Beispiel darf nicht negativ sein"; + $error=true; + } + elseif($maxstd>99) + { + $error_maxd = "Anzahl der Studenten/Beispiel muss kleiner 100 sein"; + $error=true; + } + } + else + $maxstd = null; + + if ($maxbsp != '') + { + if(!is_numeric($maxbsp)) + { + $error_maxbsp = "Anzahl der Beispiele/Student muss eine gültige Zahl sein"; + $error=true; + } + elseif($maxbsp<0) + { + $error_maxbsp = "Anzahl der Beispiele/Student darf nicht negativ sein"; + $error=true; + } + elseif($maxbsp>99) + { + $error_maxbsp = "Anzahl der Beispiele/Student muss kleiner 100 sein"; + $error=true; + } + } + else + $maxbsp = null; + } + + $freigabevon_sav = $datum_obj->mktime_datumundzeit($freigabevon); + $freigabebis_sav = $datum_obj->mktime_datumundzeit($freigabebis); + + if(!$freigabebis_sav) + { + $error_freigabebis = "Bis-Datum hat ein ungültiges Format"; + $error=true; + } + + if(!$freigabevon_sav) + { + $error_freigabevon = "Von-Datum hat ein ungültiges Format"; + $error=true; + } + + if($freigabevon_sav && $freigabebis_sav && $freigabevon_sav>$freigabebis_sav) + { + $error_freigabevon = "Von Datum darf nicht grösser als Bis Datum sein"; + $error=true; + } + + if(!$error) + { + + //Uebung anlegen (KL oder Abgabe) + $datum_obj = new datum(); + $uebung_obj = new uebung($conn); + //$uebung_obj->gewicht=''; + $uebung_obj->punkte=''; + $uebung_obj->angabedatei=''; + $uebung_obj->freigabevon = date('Y-m-d H:i',$freigabevon_sav); + $uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav); + if (isset($_POST["uebung_neu"])) + { + if (isset($_POST["kl_abgabe"])) + $uebung_obj->abgabe=true; + else + $uebung_obj->abgabe=false; + $uebung_obj->beispiele=true; + } + else + { + $uebung_obj->abgabe=true; + $uebung_obj->beispiele=false; + } + $uebung_obj->bezeichnung=$thema; + $uebung_obj->positiv=isset($_POST['positiv']); + $uebung_obj->defaultbemerkung=''; + $uebung_obj->lehreinheit_id=$lehreinheit_id; + $uebung_obj->updateamum = date('Y-m-d H:i:s'); + $uebung_obj->updatevon = $user; + $uebung_obj->insertamum = date('Y-m-d H:i:s'); + $uebung_obj->insertvon = $user; + $uebung_obj->statistik = isset($_POST['statistik']); + $uebung_obj->liste_id = $liste_id; + $uebung_obj->maxstd = $maxstd; + $uebung_obj->maxbsp = $maxbsp; + $uebung_obj->gewicht = $gewicht; + $uebung_obj->get_next_nummer(); + $uebung_obj->nummer = $uebung_obj->next_nummer; + + if($uebung_obj->save(true)) + { + $uebung_id = $uebung_obj->uebung_id; + + //Angabedatei ablegen + if ($angabedatei_up) + { + $name_up = pathinfo($_FILES["angabedatei"]["name"]); + $name_neu = makeUploadName($conn, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem); + $angabedatei = $name_neu.".".$name_up["extension"]; + + $angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei; + //$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei; + //unlink($angabepfad); + //echo $angabepfad; + move_uploaded_file($_FILES['angabedatei']['tmp_name'], $angabepfad); + $uebung_obj->angabedatei = $angabedatei; + $uebung_obj->save(false); + } + //Beispiele anlegen + + $error_msg=''; + for($i=0;$i<$anzahlderbeispiele;$i++) + { + $beispiel_obj = new beispiel($conn); + $beispiel_obj->uebung_id = $uebung_id; + $beispiel_obj->bezeichnung = "Beispiel ".($i<9?'0'.($i+1):($i+1)); + $beispiel_obj->punkte = $punkteprobeispiel; + $beispiel_obj->updateamum = date('Y-m-d H:i:s'); + $beispiel_obj->updatevon = $user; + $beispiel_obj->insertamum = date('Y-m-d H:i:s'); + $beispiel_obj->insertvon = $user; + $beispiel_obj->get_next_nummer(); + $beispiel_obj->nummer = $beispiel_obj->next_nummer; + + if(!$beispiel_obj->save(true)) + $error_msg = $beispiel_obj->errormsg; + } + if($error_msg!='') + echo "$error_msg"; + } + else + echo "$uebung_obj->errormsg"; + } + + } + else + echo "Kreuzerlliste konnte nicht angelegt werden!
    "; +} + + + + +//Loeschen eines Beispiels +if(isset($_POST['beispiel_delete'])) +{ + if(isset($_POST['beispiel'])) + { + $beispiel_obj = new beispiel($conn); + $error_msg=''; + //Ausgewaehlte Beispiele holen + $delete_ids = $_POST['beispiel']; + foreach($delete_ids as $id) + { + //Beispiel loeschen + if(!$beispiel_obj->delete($id)) + $error_msg=$beispiel_obj->errormsg; + } + if($error_msg!='') + echo "$error_msg"; + } +} + +//Loeschen einer Uebung +if(isset($_POST['delete_uebung'])) +{ + if(isset($_POST['uebung'])) + { + $ueb_obj = new uebung($conn); + $error_msg=''; + //Ausgewaehlte Beispiele holen + $delete_ids = $_POST['uebung']; + foreach($delete_ids as $id) + { + //Beispiel loeschen + if(!$ueb_obj->delete($id)) + $error_msg=$ueb_obj->errormsg; + } + if($error_msg!='') + echo "$error_msg"; + } +} + +//Editieren einer Uebung +if(isset($_POST['uebung_edit'])) +{ + $error = false; + if($thema=='') + { + echo "Thema muss eingegeben werden"; + $error = true; + } + if(!is_numeric($gewicht)) + { + echo "Gewicht muss eine Zahl sein"; + $error = true; + } + $freigabevon_sav = $datum_obj->mktime_datumundzeit($freigabevon); + $freigabebis_sav = $datum_obj->mktime_datumundzeit($freigabebis); + + if ($maxstd != '') + { + if(!is_numeric($maxstd)) + { + echo "Anzahl der Studenten/Beispiel muss eine gültige Zahl sein"; + $error=true; + } + elseif($maxstd<0) + { + echo "Anzahl der Studenten/Beispiel darf nicht negativ sein"; + $error=true; + } + elseif($maxstd>99) + { + echo "Anzahl der Studenten/Beispiel muss kleiner 100 sein"; + $error=true; + } + } + else + $maxstd = null; + + if ($maxbsp != '') + { + if(!is_numeric($maxbsp)) + { + echo "Anzahl der Beispiele/Student muss eine gültige Zahl sein"; + $error=true; + } + elseif($maxbsp<0) + { + echo "Anzahl der Beispiele/Student darf nicht negativ sein"; + $error=true; + } + elseif($maxbsp>99) + { + echo "Anzahl der Beispiele/Student muss kleiner 100 sein"; + $error=true; + } + } + else + $maxbsp = null; + + if($freigabevon_sav>$freigabebis_sav) + { + echo "Von Datum darf nicht grösser als Bis Datum sein"; + $error=true; + } + if(!$freigabebis_sav) + { + echo "Bis-Datum hat ein ungültiges Format"; + $error=true; + } + + if(!$freigabevon_sav) + { + echo "Von-Datum hat ein ungültiges Format"; + $error=true; + } + + if(!$error) + { + //Angabedatei ablegen + if ($angabedatei_up) + { + $name_up = pathinfo($_FILES["angabedatei"]["name"]); + $name_neu = makeUploadName($conn, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem); + $angabedatei_neu = $name_neu.".".$name_up["extension"]; + + $angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei_neu; + //$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei; + //unlink($angabepfad); + //echo $angabepfad; + foreach (glob(BENOTUNGSTOOL_PATH."angabe/*".$uebung_id.".*") as $old) + unlink($old); + move_uploaded_file($_FILES['angabedatei']['tmp_name'], $angabepfad); + } + else + { + $uebung_akt = new uebung($conn); + $uebung_akt->load($uebung_id); + $angabedatei_neu = $uebung_akt->angabedatei; + } + $uebung_obj = new uebung($conn); + $uebung_obj->load($uebung_id); + $uebung_obj->gewicht=$gewicht; + $uebung_obj->punkte=''; + $uebung_obj->angabedatei=$angabedatei_neu; + $uebung_obj->freigabevon = date('Y-m-d H:i',$freigabevon_sav); + $uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav); + if ($uebung_obj->beispiele) + $uebung_obj->abgabe = (isset($_POST['kl_abgabe'])?true:false); + //$uebung_obj->beispiele=true; + $uebung_obj->bezeichnung=$thema; + $uebung_obj->positiv=(isset($_POST['positiv'])?true:false); + $uebung_obj->defaultbemerkung=''; + $uebung_obj->lehreinheit_id=$lehreinheit_id; + $uebung_obj->updateamum = date('Y-m-d H:i:s'); + $uebung_obj->updatevon = $user; + $uebung_obj->uebung_id = $uebung_id; + $uebung_obj->statistik = (isset($_POST['statistik'])?true:false); + $uebung_obj->liste_id = $_POST["liste_id"]; + $uebung_obj->maxstd = $maxstd; + $uebung_obj->maxbsp = $maxbsp; + + if($uebung_obj->save(false)) + echo "Die Änderung wurde gespeichert!"; + else + echo "$uebung_obj->errormsg"; + } + +} + +// Notenschluessel toggle + +if (isset($_GET['liste_id']) && isset($_GET['notenschluessel'])) +{ + $ueb_ns = new uebung($conn); + $ueb_ns->toggle_prozent_punkte($_GET['liste_id']); + echo $ueb_ns->errormsg; +} + + +//Editieren einer Liste +if(isset($_POST['liste_edit'])) +{ + $error = false; + if($thema=='') + { + echo "Thema muss eingegeben werden"; + $error = true; + } + if(!is_numeric($gewicht)) + { + echo "Gewicht muss eine Zahl sein"; + $error = true; + } + + + if(!$error) + { + + $uebung_obj = new uebung($conn); + $uebung_obj->load($_GET['liste_id']); + $uebung_obj->gewicht=$gewicht; + $uebung_obj->punkte=''; + $uebung_obj->angabedatei=''; + $uebung_obj->freigabevon = null; + $uebung_obj->freigabebis = null; + //$uebung_obj->abgabe=false; + //$uebung_obj->beispiele=true; + $uebung_obj->bezeichnung=$thema; + $uebung_obj->positiv=(isset($_POST['positiv'])?true:false); + $uebung_obj->defaultbemerkung=''; + $uebung_obj->lehreinheit_id=$lehreinheit_id; + $uebung_obj->updateamum = date('Y-m-d H:i:s'); + $uebung_obj->updatevon = $user; + $uebung_obj->uebung_id = $_REQUEST["liste_id"]; + //$uebung_obj->statistik = (isset($_POST['statistik'])?true:false); + $uebung_obj->liste_id = ''; + //$uebung_obj->maxstd = $maxstd; + //$uebung_obj->maxbsp = $maxbsp; + + if($uebung_obj->save(false)) + echo "Die Änderung wurde gespeichert!"; + else + echo "$uebung_obj->errormsg"; + } + +} + +//Neues Beispiel anlegen +if(isset($_POST['beispiel_neu']) || isset($_POST['beispiel_edit'])) +{ + if(isset($_POST['beispiel_edit']) && (!isset($beispiel_id) || !is_numeric($beispiel_id))) + { + echo "Beispiel_id ist ungueltig"; + } + else + { + if(isset($uebung_id) && $uebung_id!='' && is_numeric($uebung_id)) + { + $punkte = (isset($_POST['punkte'])?$_POST['punkte']:''); + $punkte = mb_ereg_replace(',','.',$punkte); + $bezeichnung = $_REQUEST["bezeichnung"]; + if(is_numeric($punkte) && $punkte!='') + { + if($bezeichnung!='') + { + $beispiel_obj = new beispiel($conn); + if(isset($_POST['beispiel_edit'])) + { + $beispiel_obj->load($beispiel_id); + $beispiel_obj->beispiel_id= $beispiel_id; + $beispiel_obj->new=false; + } + else + { + $beispiel_obj->new=true; + $beispiel_obj->insertamum = date('Y-m-d H:i:s'); + $beispiel_obj->insertvon = $user; + $beispiel_obj->get_next_nummer(); + $beispiel_obj->nummer = $beispiel_obj->next_nummer; + } + + $beispiel_obj->uebung_id = $uebung_id; + $beispiel_obj->bezeichnung = $bezeichnung; + $beispiel_obj->punkte = $punkte; + $beispiel_obj->updateamum = date('Y-m-d H:i:s'); + $beispiel_obj->updatevon = $user; + if($beispiel_obj->save()) + { + $beispiel_id=''; + } + else + echo "$beispiel_obj->errormsg"; + } + else + echo "Bezeichnung muss eingegeben werden"; + } + else + echo "Punkte muss eine gültige Zahl sein"; + } + else + echo "Zugehoerige Uebung ist fehlerhaft"; + } +} + + + +//Uebersichtstabelle +if(isset($_GET["uebung_id"]) && $_GET["uebung_id"]!='') +{ + + echo "
    "; + //Bearbeiten der ausgewaehlten Uebung + echo "
    \n"; + echo "\n"; + echo ""; + + $uebung_obj = new uebung($conn); + $uebung_obj->load($uebung_id); + $downloadname = mb_ereg_replace($uebung_id,ereg_replace(' ','_',$uebung_obj->bezeichnung), $uebung_obj->angabedatei); + + echo " + + + "; + + if ($uebung_obj->beispiele){ + echo " + "; + echo""; + echo ""; + } + else if ($uebung_obj->abgabe) + { + echo ""; + echo ""; + } + if ($uebung_obj->beispiele) + echo""; + echo ""; + echo ""; + if ($uebung_obj->angabedatei != '') + echo ""; + else + echo ""; + echo ""; + echo " + + +
    Ausgewählte Aufgabe bearbeiten 
     
    Thema$error_thema
    Freigabevon mktime_fromtimestamp($uebung_obj->freigabevon))."'>
    (Format: 31.12.2007 14:30)bis mktime_fromtimestamp($uebung_obj->freigabebis))."'>
    Max. Studenten/Beispiel$error_maxstd
    Max. Beispiele/Student$error_maxbsp
    Abgabe abgabe?'checked':'').">
    Gewicht$error_gewicht
    Positiv positiv?'checked':'').">
    Statistik für Studenten anzeigen statistik?'checked':'').">
    Angabedatei".$downloadname." [del]
    + +
    "; + + $beispiel_obj = new beispiel($conn); + $beispiel_obj->load_beispiel($uebung_id); + $anzahl = count($beispiel_obj->beispiele); + echo "
    "; + + //Beispiel neu Anlegen + if ($uebung_obj->beispiele) + { + echo "
    \n"; + echo "\n"; + echo "\n\n"; + + echo ""; + echo ""; + + echo "
    Neues Beispiel anlegen
     
    Bezeichnung "; + echo " Punkte
    +
    "; + + /* + // notenschlüssel + $qry = "select * from campus.tbl_notenschluesseluebung where uebung_id = '$uebung_id' order by note"; + if($result = pg_query($conn, $qry)) + { + $notenschluessel = array(); + $notenschluessel[1] = ''; + $notenschluessel[2] = ''; + $notenschluessel[3] = ''; + $notenschluessel[4] = ''; + $notenschluessel[5] = ''; + if(pg_num_rows($result)>=1) + { + while($schluesselrow = pg_fetch_object($result)) + { + $notenschluessel[$schluesselrow->note] = $schluesselrow->punkte; + } + } + } + + echo "
    \n"; + echo "\n"; + echo "\n\n"; + + echo ""; + echo ""; +echo ""; +echo ""; +echo ""; +echo ""; + echo ""; + + echo "
    Notenschlüssel definieren
     
    NoteMindestpunkte
    +
    "; + */ + } + + echo "
    "; + + + //Uebersicht der Beispiele + if ($uebung_obj->beispiele) + { + echo "
    \n"; + echo "\n"; + echo "\n\n"; + + if($anzahl>0) + { + echo "\n"; + foreach ($beispiel_obj->beispiele as $row) + { + echo " + + "; + } + echo ""; + } + else + echo ""; + + echo "
    Vorhandene Beispiele
     
    BeispielPunkteAuswahl
    ".$row->bezeichnung."$row->punkte
    Derzeit sind keine Beispiele angelegt
    "; + } + echo "
    "; + + //Beispiel Aendern + $error_msg = ''; + if(isset($beispiel_id) && $beispiel_id!='') + { + //Bearbeiten eines Beispiels + if($beispiel_obj->load($beispiel_id)) + { + echo "
    \n"; + echo "\n"; + echo "\n\n"; + + echo ""; + echo ""; + + echo "
    Beispiel bearbeiten
     
    Bezeichnung "; + echo " Punkte
    +


    "; + } + else + $error_msg = $beispiel_obj->errormsg; + } + echo "
    "; +} +else +{ + if(isset($liste_id) && $liste_id!='') + { + echo "
    "; + //Bearbeiten der ausgewaehlten Liste + echo "
    \n"; + echo "\n"; + echo ""; + + $liste_obj = new uebung($conn); + $liste_obj->load($liste_id); + + echo " + + + +
    Übung bearbeiten 
     
    Thema$error_thema
    Gewicht$error_gewicht
    Positiv positiv?'checked':'').">
    +
    "; + } + + //Gesamtuebersicht ueber alle Listen innerhalb der Uebung + echo "
    "; + echo "
    "; + echo ""; + $studentuebung = new uebung($conn); + if (!$studentuebung->check_studentuebung($liste_id)) + echo ""; + + $uebung_obj = new uebung($conn); + $uebung_obj->load_uebung($lehreinheit_id,$level=2,$uebung_id=$liste_id); + $anzahl = count($uebung_obj->uebungen); + $copy_content="
    Vorhandene Aufgaben bearbeiten
    "; + $has_copy_content=false; + if($anzahl>0) + { + echo ""; + + //Alle Lehreinheiten holen die zu dieser lehrveranstaltung gehoeren + //und der angemeldete User berechtigt ist + $copy_option_content = array(); + for($i=0;$ilehreinheit_id) + { + //zugeteilte Lektoren holen + $qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter using(mitarbeiter_uid) WHERE lehreinheit_id='$row_alle_lehreinheiten->lehreinheit_id'"; + if($result_lektoren = pg_query($conn, $qry_lektoren)) + { + $lektoren = '( '; + $j=0; + while($row_lektoren = pg_fetch_object($result_lektoren)) + { + $lektoren .= $row_lektoren->kurzbz; + $j++; + if($jgruppe_kurzbz=='') + $gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe; + else + $gruppen.=$row_gruppen->gruppe_kurzbz; + $j++; + if($jlehreinheit_id] = "$row_alle_lehreinheiten->lfbez-$row_alle_lehreinheiten->lehrform_kurzbz - $gruppen $lektoren"; + } + } + + //Uebungen durchlaufen + foreach ($uebung_obj->uebungen as $row) + { + $has_option_content=false; + echo ""; + //Wenn andere Lehreinheiten vorhanden sind dann wird die moeglichkeit zum kopieren von + //Uebungen in diese Lehreinheiten angeboten. + if(isset($result_alle_lehreinheiten) && pg_num_rows($result_alle_lehreinheiten)>1) + { + $copy_content.= ''; + $copy_content.= '"; + } + } + echo ""; + if ($row->beispiele) + $anzeigen = 'beispiele'; + else + $anzeigen = 'abgabe'; + } + else + { + $studentuebung = new uebung($conn); + if (!$studentuebung->check_studentuebung($liste_id)) + { + echo ""; + $anzeigen = 'beide'; + } + else + $anzeigen = "nada"; + } + + echo "
    Übung in andere LE kopieren
     
     
     
    ThemaFreigeschaltenAuswahl 
    ".$row->bezeichnung.""; + + if((strtotime(strftime($row->freigabevon))<=time()) && (strtotime(strftime($row->freigabebis))>=time())) + echo 'Ja'; + else + echo 'Nein'; + echo "
    '; + $copy_option_content = ''; + //Lehreinheiten fuer Combo durchgehen und schauen ob + //fuer diese Lehreinheit bereits eine Uebung mit gleichem Namen existiert + //Falls ja wird diese nicht in der Combo angezeigt + foreach ($copy_le_content as $id=>$bezeichnung) + { + $qry = "SELECT uebung_id FROM campus.tbl_uebung WHERE lehreinheit_id='$id' AND bezeichnung='$row->bezeichnung'"; + //echo $qry; + if($result_vorhanden = pg_query($conn, $qry)) + { + if(pg_num_rows($result_vorhanden)==0) + { + $copy_option_content.= "\n"; + $has_option_content=true; + $has_copy_content=true; + } + } + } + //Wenn eintraege fuer Combo vorhanden sind dann wirds angezeigt + if($has_option_content) + { + $copy_content.= "\n"; + $copy_content.= "\n '; + $copy_content.= "   "; + $copy_content.= "\n"; + } + else + { + $copy_content.=" "; + } + $copy_content.= "
    Derzeit sind keine Aufgaben angelegt
    +

    "; + + //Kopier-Buttons anzeigen + $copy_content.='
    '; + echo "
    "; + //if($has_copy_content) + // echo $copy_content; + echo "
    "; + + //Uebung neu anlegen + if(!isset($_POST['uebung_neu'])) + { + $thema = "Liste ".($anzahl<9?'0'.($anzahl+1):($anzahl+1)); + $anzahlderbeispiele = 10; + $punkteprobeispiel = 1; + $freigabevon = date('d.m.Y H:i'); + $freigabebis = date('d.m.Y H:i'); + $maxstudentenprobeispiel = ''; + $maxbeispieleprostudent = ''; + $gewicht = 1; + + } + echo "
    "; + + if ($anzeigen != 'abgabe' && $anzeigen != 'nada') + { + echo " +
    + + + + + + + + + + + + + + +
    Neue Kreuzerlliste anlegen
    Thema$error_thema
    Anzahl der Beispiele$error_anzahlderbeispiele
    Anzahl Punkte pro Beispiel$error_punkteprobeispiel
    Max. Studenten/Beispiel$error_maxstd
    Max. Beispiele/Student$error_maxbsp
    Freigabevon $error_freigabevon
    (Format: 31.12.2007 14:30)bis $error_freigabebis
    Abgabe
    Statistik für Studenten anzeigen
    Angabedatei
    +
    + "; + // notenschlüssel + $qry = "select * from campus.tbl_notenschluesseluebung where uebung_id = '$liste_id' order by note"; + if($result = pg_query($conn, $qry)) + { + $notenschluessel = array(); + $notenschluessel[1] = ''; + $notenschluessel[2] = ''; + $notenschluessel[3] = ''; + $notenschluessel[4] = ''; + $notenschluessel[5] = ''; + if(pg_num_rows($result)>=1) + { + while($schluesselrow = pg_fetch_object($result)) + { + $notenschluessel[$schluesselrow->note] = $schluesselrow->punkte; + } + } + } + + if ($anzeigen != "beide") + { + if ($liste_obj->prozent == 't') + { + $einheit = " %"; + $einheit_link = "Notenschlüssel in Prozent / Punkten"; + } + else + { + $einheit=" Punkte"; + $einheit_link = "Notenschlüssel in Prozent / Punkten"; + } + + echo "
    \n"; + echo "\n"; + echo ""; + echo ""; + echo ""; + echo "\n"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + echo "
    Notenschlüssel definieren
    "; + echo $einheit_link; + echo "
     
    NoteMinimum
    $einheit
    $einheit
    $einheit
    $einheit
    $einheit
    "; + if ($liste_obj->prozent == 't') + echo "
    "; + echo "
    +
    "; + } + + + } + if(!isset($_POST['uebung_neu'])) + $thema = "Abgabe ".($anzahl<9?'0'.($anzahl+1):($anzahl+1)); + + if ($anzeigen != 'beispiele' && $anzeigen != 'nada') + { + echo " +
    + + + + + + + + + + +
    Neue Abgabe anlegen
    Thema$error_thema
    Freigabevon $error_freigabevon
    (Format: 31.12.2007 14:30)bis $error_freigabebis
    Gewicht$error_gewicht
    Positiv
    Angabedatei
    +
    + "; + } +} +?> +
    + \ No newline at end of file diff --git a/cis/private/lehre/kreuzerltool/anwesenheitsliste.php b/cis/private/lehre/kreuzerltool/anwesenheitsliste.php index 28f86c5c4..5bd3b71c8 100644 --- a/cis/private/lehre/kreuzerltool/anwesenheitsliste.php +++ b/cis/private/lehre/kreuzerltool/anwesenheitsliste.php @@ -81,7 +81,7 @@ $qry = "SELECT * FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeite if(!$result = pg_query($conn, $qry)) die('Fehler beim laden der Berechtigung'); -$rechte = new benutzerberechtigung($conn); +$rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); if(!(pg_num_rows($result)>0 || $rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lehreinheit_obj->studiengang_kz))) diff --git a/cis/private/lehre/kreuzerltool/anwesenheitstabelle.php b/cis/private/lehre/kreuzerltool/anwesenheitstabelle.php index 1886a7fcc..f0ef2bf9a 100644 --- a/cis/private/lehre/kreuzerltool/anwesenheitstabelle.php +++ b/cis/private/lehre/kreuzerltool/anwesenheitstabelle.php @@ -67,7 +67,7 @@ $user = get_uid(); if(!check_lektor($user, $conn)) die('Sie haben keine Berechtigung fuer diesen Bereich'); -$rechte = new benutzerberechtigung($conn); +$rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id diff --git a/cis/private/lehre/kreuzerltool/statistik.php b/cis/private/lehre/kreuzerltool/statistik.php index 71a554357..0501ddcd3 100644 --- a/cis/private/lehre/kreuzerltool/statistik.php +++ b/cis/private/lehre/kreuzerltool/statistik.php @@ -67,7 +67,7 @@ $user = get_uid(); if(!check_lektor($user, $conn)) die('Sie haben keine Berechtigung fuer diesen Bereich'); -$rechte = new benutzerberechtigung($conn); +$rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id diff --git a/cis/private/lehre/kreuzerltool/studentenansicht.php b/cis/private/lehre/kreuzerltool/studentenansicht.php index 7c40ee568..e2ebbab77 100644 --- a/cis/private/lehre/kreuzerltool/studentenansicht.php +++ b/cis/private/lehre/kreuzerltool/studentenansicht.php @@ -1,573 +1,570 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -// ******************** -// * Studentenansicht fuers Kreuzerltool -// ******************** - -require_once('../../../config.inc.php'); -require_once('../../../../include/functions.inc.php'); -require_once('../../../../include/lehrveranstaltung.class.php'); -require_once('../../../../include/studiengang.class.php'); -require_once('../../../../include/studiensemester.class.php'); -require_once('../../../../include/lehreinheit.class.php'); -#require_once('../../../../include/benutzerberechtigung.class.php'); -require_once('../../../../include/uebung.class.php'); -require_once('../../../../include/beispiel.class.php'); -require_once('../../../../include/datum.class.php'); - -?> - - - - - -Kreuzerltool - - - - -getBerechtigungen($user); - -if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id - $lvid = $_GET['lvid']; -else - die('Fehlerhafte Parameteruebergabe'); - -if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id - $lehreinheit_id = $_GET['lehreinheit_id']; -else - $lehreinheit_id = ''; - -//Laden der Lehrveranstaltung -$lv_obj = new lehrveranstaltung($conn); -if(!$lv_obj->load($lvid)) - die($lv_obj->errormsg); - -//Studiengang laden -$stg_obj = new studiengang($conn,$lv_obj->studiengang_kz); - -if(isset($_GET['stsem'])) - $stsem = $_GET['stsem']; -else - $stsem = ''; - -//Vars -$datum_obj = new datum(); - -$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); - -//Kopfzeile -echo ''; -echo ' '; -echo ''; -echo '
      "Kreuzerl"-Tool'; -echo ''."\n"; - -//Studiensemester laden -$stsem_obj = new studiensemester($conn); -if($stsem=='') - $stsem = $stsem_obj->getaktorNext(); - -//Lehreinheiten laden zu denen der eingeloggte Student zugeteilt ist -//Bei Lehrverbaenden werden auch die uebergeordneten geladen -$qry = "SELECT distinct lehreinheit_id, kurzbz FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehrfach USING(lehrfach_id) WHERE lehreinheit_id IN( - SELECT lehreinheit_id FROM public.tbl_benutzergruppe JOIN lehre.tbl_lehreinheitgruppe USING (gruppe_kurzbz) - WHERE tbl_benutzergruppe.uid='$user' AND - tbl_lehreinheitgruppe.lehreinheit_id IN( - SELECT lehreinheit_id FROM lehre.tbl_lehreinheit JOIN campus.tbl_uebung USING(lehreinheit_id) - WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND tbl_lehreinheit.studiensemester_kurzbz='$stsem') - UNION - SELECT lehreinheit_id FROM public.tbl_student, lehre.tbl_lehreinheitgruppe - WHERE tbl_student.student_uid='$user' AND - tbl_student.studiengang_kz=tbl_lehreinheitgruppe.studiengang_kz AND - trim(tbl_student.semester)=trim(tbl_lehreinheitgruppe.semester) AND - ( - ( - ( - tbl_lehreinheitgruppe.verband<>'' AND - tbl_lehreinheitgruppe.gruppe<>'' AND - trim(tbl_lehreinheitgruppe.verband) = trim(tbl_student.verband) AND - trim(tbl_lehreinheitgruppe.gruppe) = trim(tbl_student.gruppe) - ) - OR - ( - tbl_lehreinheitgruppe.verband<>'' AND - ( - trim(tbl_lehreinheitgruppe.gruppe)='' OR - tbl_lehreinheitgruppe.gruppe is null - ) - AND - trim(tbl_lehreinheitgruppe.verband) = trim(tbl_student.verband) - ) - OR - ( - (trim(tbl_lehreinheitgruppe.verband)='' OR tbl_lehreinheitgruppe.verband is null) - AND - (trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) - ) - ) - ) - AND - tbl_lehreinheitgruppe.lehreinheit_id IN(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit JOIN campus.tbl_uebung USING(lehreinheit_id) - WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND tbl_lehreinheit.studiensemester_kurzbz='$stsem'))"; -//echo $qry; -if($result = pg_query($conn, $qry)) -{ - if(pg_num_rows($result)>1) - { - //Lehreinheiten DropDown - echo " Lehreinheit: '; - } - else - { - if($row = pg_fetch_object($result)) - $lehreinheit_id = $row->lehreinheit_id; - else - $lehreinheit_id =''; - } -} -else -{ - echo 'Fehler beim Auslesen der Lehreinheiten'; -} - -echo '
    '; -echo ''; -echo ''; -echo " -
     \n"; -echo "
    $lv_obj->bezeichnungDownloadverzeichnis anzeigen

    "; - -if($lehreinheit_id=='') - die('Derzeit gibt es keine Kreuzerllisten für diese Lehrveranstaltung'); -$qry = "SELECT vorname, nachname FROM campus.vw_student WHERE uid='$user'"; -$name=''; -if($result = pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $name = $row->vorname.' '.$row->nachname; - -echo "
    Leistungsuebersicht für $name

    "; - -$uebung_obj = new uebung($conn); -$uebung_obj->load_uebung($lehreinheit_id); -if(count($uebung_obj->uebungen)>0) -{ - echo " - -
    "; - echo "Wählen Sie bitte eine Kreuzerlliste aus: '; - echo " - - - - - - - - - -
    +...Kreuzerlliste ist freigeschalten.
    -...Kreuzerlliste ist nicht freigeschalten.
    -
    "; - -} -else - die("Derzeit gibt es keine Uebungen"); - -//******SPEICHERN DER DATEN************* -if(isset($_POST['submit'])) -{ - $error=false; - - $ueb_hlp_obj = new uebung($conn); - $ueb_hlp_obj->load($uebung_id); - //Wenn Kreuzerlliste Freigegeben ist - if($datum_obj->mktime_fromtimestamp($ueb_hlp_obj->freigabevon)mktime_fromtimestamp($ueb_hlp_obj->freigabebis)>time()) - { - $bsp_obj = new beispiel($conn); - - if($bsp_obj->load_beispiel($uebung_id)) - { - foreach ($bsp_obj->beispiele as $row) - { - $stud_bsp_obj = new beispiel($conn); - - if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id)) - { - $stud_bsp_obj->new=false; - } - else - { - $stud_bsp_obj->new=true; - $stud_bsp_obj->insertamum = date('Y-m-d H:i:s'); - $stud_bsp_obj->insertvon = $user; - } - $stud_bsp_obj->vorbereitet = ($_POST['solved_'.$row->beispiel_id]==1?true:false); - $stud_bsp_obj->probleme = (isset($_POST['problem_'.$row->beispiel_id])?true:false); - $stud_bsp_obj->updateamum = date('Y-m-d H:i:s'); - $stud_bsp_obj->updatevon = $user; - $stud_bsp_obj->student_uid = $user; - $stud_bsp_obj->beispiel_id = $row->beispiel_id; - - if(!$stud_bsp_obj->studentbeispiel_save()) - { - echo $stud_bsp_obj->errormsg; - $error=true; - } - } - } - - if($error) - echo "Es konnten nicht alle Daten gespeichert werden"; - else - echo "Die Daten wurden erfolgreich gespeichert
    "; - } - else - echo "Die Änderungen können nicht gespeichert werden, da diese Kreuzerlliste nicht freigegeben ist!"; -} - -//********ANZEIGE DER EINGETRAGENEN KREUZERL*********** -$uebung_obj = new uebung($conn); -$uebung_obj->load($uebung_id); -echo "Freigegeben von ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon))." bis ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)); -echo "

    $uebung_obj->bezeichnung

    "; - -$ueb_obj = new uebung($conn); -if($ueb_obj->load_studentuebung($user, $uebung_id)) -{ - $anmerkung = $ueb_obj->anmerkung; - $mitarbeit = $ueb_obj->mitarbeitspunkte; -} -else -{ - $anmerkung = ''; - $mitarbeit = 0; -} - -echo " -
    - - - - -
    - ".($anmerkung!=''?'Anmerkungen: '.$anmerkung.'

    ':'')." -
    - - - - - - - - "; - -$bsp_obj = new beispiel($conn); -$bsp_obj->load_beispiel($uebung_id); - -foreach ($bsp_obj->beispiele as $row) -{ - $stud_bsp_obj = new beispiel($conn); - if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id)) - { - $vorbereitet = $stud_bsp_obj->vorbereitet; - $probleme = $stud_bsp_obj->probleme; - } - else - { - $vorbereitet = false; - $probleme = false; - } - echo " - - - - - - "; -} - -//Speichern button nur Anzeigen wenn die Uebung Freigegeben ist -if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) - echo ""; - -echo "
    BeispielVorbereitetNicht vorbereitetProblemePunkte
    $row->bezeichnung$row->punkte
    "; -echo " -
    "; - -//Gesamtpunkte diese Kreuzerlliste -$qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id'"; -$punkte_gesamt=0; -if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_gesamt = $row->punktegesamt; - -//Eingetragen diese Kreuzerlliste -$qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' AND student_uid='$user' AND vorbereitet=true"; -$punkte_eingetragen=0; -if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0); - -//Gesamtpunkte alle Kreuzerllisten -$qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung - WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND - tbl_uebung.lehreinheit_id='$lehreinheit_id'"; -$punkte_gesamt_alle=0; -if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_gesamt_alle = $row->punktegesamt_alle; - -//Eingetragen alle Kreuzerllisten -$qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung - WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND - tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND - tbl_uebung.lehreinheit_id='$lehreinheit_id' AND - tbl_studentbeispiel.student_uid='$user' AND vorbereitet=true"; -$punkte_eingetragen_alle=0; -if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0); - -//Mitarbeitspunkte -$qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) - WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$user'"; -$mitarbeit_alle=0; -if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0); - -//Mitarbeitspunkte -$qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung - WHERE uebung_id='$uebung_id' AND student_uid='$user'"; -$mitarbeit=0; -if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $mitarbeit = $row->mitarbeitspunkte; -echo " - - - - - - - - - - - - - -
    Diese Kreuzerlliste:
    Punkte insgesamt möglich:$punkte_gesamt
    Punkte eingetragen:$punkte_eingetragen
    -

    - - - - - - - - - - - - -
    Alle Kreuzerllisten bisher:
    Punkte insgesamt möglich:$punkte_gesamt_alle
    Punkte eingetragen:$punkte_eingetragen_alle
    -

    - - - - - - - - - - - - -
    Mitarbeitspunkte:
    Bisher insgesamt:$mitarbeit_alle
    Diese Kreuzerlliste:$mitarbeit
    - "; - - -echo " -
    - -
    -"; - -//**********STATISTIK*************** -if($uebung_obj->statistik) -{ - echo "

    Statistik

    "; - $beispiel_obj = new beispiel($conn); - if($beispiel_obj->load_beispiel($uebung_id)) - { - if(count($beispiel_obj->beispiele)>0) - { - echo ' - - - - '; - $i=0; - $qry_cnt = "SELECT distinct student_uid FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' GROUP BY student_uid"; - if($result_cnt = pg_query($conn,$qry_cnt)) - $gesamt=pg_num_rows($result_cnt); - - foreach ($beispiel_obj->beispiele as $row) - { - $i++; - $solved = 0; - $psolved = 0; - $qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id=$row->beispiel_id AND vorbereitet=true"; - if($result_cnt = pg_query($conn,$qry_cnt)) - if($row_cnt = pg_fetch_object($result_cnt)) - $solved = $row_cnt->anzahl; - - - - if($solved>0) - $psolved = $solved/$gesamt*100; - - echo ' - - - '; - } - echo "
      - - - - -
     
    -
    - '.$row->bezeichnung.' - - - - - -
    - - - - -
    - -  '.$solved.' ['.number_format($psolved,1,'.','').'%] -
    -
    -
    "; - echo "

    Es haben insgesamt $gesamt Studenten eingetragen."; - } - } - else - echo "$beispiel_obj->errormsg"; -} -?> -
    - +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +// ******************** +// * Studentenansicht fuers Kreuzerltool +// ******************** + +require_once('../../../config.inc.php'); +require_once('../../../../include/functions.inc.php'); +require_once('../../../../include/lehrveranstaltung.class.php'); +require_once('../../../../include/studiengang.class.php'); +require_once('../../../../include/studiensemester.class.php'); +require_once('../../../../include/lehreinheit.class.php'); +#require_once('../../../../include/benutzerberechtigung.class.php'); +require_once('../../../../include/uebung.class.php'); +require_once('../../../../include/beispiel.class.php'); +require_once('../../../../include/datum.class.php'); + +?> + + + + + +Kreuzerltool + + + + +load($lvid)) + die($lv_obj->errormsg); + +//Studiengang laden +$stg_obj = new studiengang($conn,$lv_obj->studiengang_kz); + +if(isset($_GET['stsem'])) + $stsem = $_GET['stsem']; +else + $stsem = ''; + +//Vars +$datum_obj = new datum(); + +$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); + +//Kopfzeile +echo ''; +echo ' '; +echo ''; +echo '
      "Kreuzerl"-Tool'; +echo ''."\n"; + +//Studiensemester laden +$stsem_obj = new studiensemester($conn); +if($stsem=='') + $stsem = $stsem_obj->getaktorNext(); + +//Lehreinheiten laden zu denen der eingeloggte Student zugeteilt ist +//Bei Lehrverbaenden werden auch die uebergeordneten geladen +$qry = "SELECT distinct lehreinheit_id, kurzbz FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehrfach USING(lehrfach_id) WHERE lehreinheit_id IN( + SELECT lehreinheit_id FROM public.tbl_benutzergruppe JOIN lehre.tbl_lehreinheitgruppe USING (gruppe_kurzbz) + WHERE tbl_benutzergruppe.uid='$user' AND + tbl_lehreinheitgruppe.lehreinheit_id IN( + SELECT lehreinheit_id FROM lehre.tbl_lehreinheit JOIN campus.tbl_uebung USING(lehreinheit_id) + WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND tbl_lehreinheit.studiensemester_kurzbz='$stsem') + UNION + SELECT lehreinheit_id FROM public.tbl_student, lehre.tbl_lehreinheitgruppe + WHERE tbl_student.student_uid='$user' AND + tbl_student.studiengang_kz=tbl_lehreinheitgruppe.studiengang_kz AND + trim(tbl_student.semester)=trim(tbl_lehreinheitgruppe.semester) AND + ( + ( + ( + tbl_lehreinheitgruppe.verband<>'' AND + tbl_lehreinheitgruppe.gruppe<>'' AND + trim(tbl_lehreinheitgruppe.verband) = trim(tbl_student.verband) AND + trim(tbl_lehreinheitgruppe.gruppe) = trim(tbl_student.gruppe) + ) + OR + ( + tbl_lehreinheitgruppe.verband<>'' AND + ( + trim(tbl_lehreinheitgruppe.gruppe)='' OR + tbl_lehreinheitgruppe.gruppe is null + ) + AND + trim(tbl_lehreinheitgruppe.verband) = trim(tbl_student.verband) + ) + OR + ( + (trim(tbl_lehreinheitgruppe.verband)='' OR tbl_lehreinheitgruppe.verband is null) + AND + (trim(tbl_lehreinheitgruppe.gruppe)='' OR tbl_lehreinheitgruppe.gruppe is null) + ) + ) + ) + AND + tbl_lehreinheitgruppe.lehreinheit_id IN(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit JOIN campus.tbl_uebung USING(lehreinheit_id) + WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND tbl_lehreinheit.studiensemester_kurzbz='$stsem'))"; +//echo $qry; +if($result = pg_query($conn, $qry)) +{ + if(pg_num_rows($result)>1) + { + //Lehreinheiten DropDown + echo " Lehreinheit: '; + } + else + { + if($row = pg_fetch_object($result)) + $lehreinheit_id = $row->lehreinheit_id; + else + $lehreinheit_id =''; + } +} +else +{ + echo 'Fehler beim Auslesen der Lehreinheiten'; +} + +echo '
    '; +echo ''; +echo ''; +echo " +
     \n"; +echo "
    $lv_obj->bezeichnungDownloadverzeichnis anzeigen

    "; + +if($lehreinheit_id=='') + die('Derzeit gibt es keine Kreuzerllisten für diese Lehrveranstaltung'); +$qry = "SELECT vorname, nachname FROM campus.vw_student WHERE uid='$user'"; +$name=''; +if($result = pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $name = $row->vorname.' '.$row->nachname; + +echo "
    Leistungsuebersicht für $name

    "; + +$uebung_obj = new uebung($conn); +$uebung_obj->load_uebung($lehreinheit_id); +if(count($uebung_obj->uebungen)>0) +{ + echo " + +
    "; + echo "Wählen Sie bitte eine Kreuzerlliste aus: '; + echo " + + + + + + + + + +
    +...Kreuzerlliste ist freigeschalten.
    -...Kreuzerlliste ist nicht freigeschalten.
    +
    "; + +} +else + die("Derzeit gibt es keine Uebungen"); + +//******SPEICHERN DER DATEN************* +if(isset($_POST['submit'])) +{ + $error=false; + + $ueb_hlp_obj = new uebung($conn); + $ueb_hlp_obj->load($uebung_id); + //Wenn Kreuzerlliste Freigegeben ist + if($datum_obj->mktime_fromtimestamp($ueb_hlp_obj->freigabevon)mktime_fromtimestamp($ueb_hlp_obj->freigabebis)>time()) + { + $bsp_obj = new beispiel($conn); + + if($bsp_obj->load_beispiel($uebung_id)) + { + foreach ($bsp_obj->beispiele as $row) + { + $stud_bsp_obj = new beispiel($conn); + + if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id)) + { + $stud_bsp_obj->new=false; + } + else + { + $stud_bsp_obj->new=true; + $stud_bsp_obj->insertamum = date('Y-m-d H:i:s'); + $stud_bsp_obj->insertvon = $user; + } + $stud_bsp_obj->vorbereitet = ($_POST['solved_'.$row->beispiel_id]==1?true:false); + $stud_bsp_obj->probleme = (isset($_POST['problem_'.$row->beispiel_id])?true:false); + $stud_bsp_obj->updateamum = date('Y-m-d H:i:s'); + $stud_bsp_obj->updatevon = $user; + $stud_bsp_obj->student_uid = $user; + $stud_bsp_obj->beispiel_id = $row->beispiel_id; + + if(!$stud_bsp_obj->studentbeispiel_save()) + { + echo $stud_bsp_obj->errormsg; + $error=true; + } + } + } + + if($error) + echo "Es konnten nicht alle Daten gespeichert werden"; + else + echo "Die Daten wurden erfolgreich gespeichert
    "; + } + else + echo "Die Änderungen können nicht gespeichert werden, da diese Kreuzerlliste nicht freigegeben ist!"; +} + +//********ANZEIGE DER EINGETRAGENEN KREUZERL*********** +$uebung_obj = new uebung($conn); +$uebung_obj->load($uebung_id); +echo "Freigegeben von ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon))." bis ".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis)); +echo "

    $uebung_obj->bezeichnung

    "; + +$ueb_obj = new uebung($conn); +if($ueb_obj->load_studentuebung($user, $uebung_id)) +{ + $anmerkung = $ueb_obj->anmerkung; + $mitarbeit = $ueb_obj->mitarbeitspunkte; +} +else +{ + $anmerkung = ''; + $mitarbeit = 0; +} + +echo " +
    + + + + +
    + ".($anmerkung!=''?'Anmerkungen: '.$anmerkung.'

    ':'')." +
    + + + + + + + + "; + +$bsp_obj = new beispiel($conn); +$bsp_obj->load_beispiel($uebung_id); + +foreach ($bsp_obj->beispiele as $row) +{ + $stud_bsp_obj = new beispiel($conn); + if($stud_bsp_obj->load_studentbeispiel($user, $row->beispiel_id)) + { + $vorbereitet = $stud_bsp_obj->vorbereitet; + $probleme = $stud_bsp_obj->probleme; + } + else + { + $vorbereitet = false; + $probleme = false; + } + echo " + + + + + + "; +} + +//Speichern button nur Anzeigen wenn die Uebung Freigegeben ist +if($datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon)mktime_fromtimestamp($uebung_obj->freigabebis)>time()) + echo ""; + +echo "
    BeispielVorbereitetNicht vorbereitetProblemePunkte
    $row->bezeichnung$row->punkte
    "; +echo " +
    "; + +//Gesamtpunkte diese Kreuzerlliste +$qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id'"; +$punkte_gesamt=0; +if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_gesamt = $row->punktegesamt; + +//Eingetragen diese Kreuzerlliste +$qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' AND student_uid='$user' AND vorbereitet=true"; +$punkte_eingetragen=0; +if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0); + +//Gesamtpunkte alle Kreuzerllisten +$qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung + WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND + tbl_uebung.lehreinheit_id='$lehreinheit_id'"; +$punkte_gesamt_alle=0; +if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_gesamt_alle = $row->punktegesamt_alle; + +//Eingetragen alle Kreuzerllisten +$qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung + WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND + tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND + tbl_uebung.lehreinheit_id='$lehreinheit_id' AND + tbl_studentbeispiel.student_uid='$user' AND vorbereitet=true"; +$punkte_eingetragen_alle=0; +if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0); + +//Mitarbeitspunkte +$qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) + WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$user'"; +$mitarbeit_alle=0; +if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0); + +//Mitarbeitspunkte +$qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung + WHERE uebung_id='$uebung_id' AND student_uid='$user'"; +$mitarbeit=0; +if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $mitarbeit = $row->mitarbeitspunkte; +echo " + + + + + + + + + + + + + +
    Diese Kreuzerlliste:
    Punkte insgesamt möglich:$punkte_gesamt
    Punkte eingetragen:$punkte_eingetragen
    +

    + + + + + + + + + + + + +
    Alle Kreuzerllisten bisher:
    Punkte insgesamt möglich:$punkte_gesamt_alle
    Punkte eingetragen:$punkte_eingetragen_alle
    +

    + + + + + + + + + + + + +
    Mitarbeitspunkte:
    Bisher insgesamt:$mitarbeit_alle
    Diese Kreuzerlliste:$mitarbeit
    + "; + + +echo " +
    + +
    +"; + +//**********STATISTIK*************** +if($uebung_obj->statistik) +{ + echo "

    Statistik

    "; + $beispiel_obj = new beispiel($conn); + if($beispiel_obj->load_beispiel($uebung_id)) + { + if(count($beispiel_obj->beispiele)>0) + { + echo ' + + + + '; + $i=0; + $qry_cnt = "SELECT distinct student_uid FROM campus.tbl_studentbeispiel JOIN campus.tbl_beispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' GROUP BY student_uid"; + if($result_cnt = pg_query($conn,$qry_cnt)) + $gesamt=pg_num_rows($result_cnt); + + foreach ($beispiel_obj->beispiele as $row) + { + $i++; + $solved = 0; + $psolved = 0; + $qry_cnt = "SELECT count(*) as anzahl FROM campus.tbl_studentbeispiel WHERE beispiel_id=$row->beispiel_id AND vorbereitet=true"; + if($result_cnt = pg_query($conn,$qry_cnt)) + if($row_cnt = pg_fetch_object($result_cnt)) + $solved = $row_cnt->anzahl; + + + + if($solved>0) + $psolved = $solved/$gesamt*100; + + echo ' + + + '; + } + echo "
      + + + + +
     
    +
    + '.$row->bezeichnung.' + + + + + +
    + + + + +
    + +  '.$solved.' ['.number_format($psolved,1,'.','').'%] +
    +
    +
    "; + echo "

    Es haben insgesamt $gesamt Studenten eingetragen."; + } + } + else + echo "$beispiel_obj->errormsg"; +} +?> +
    + \ No newline at end of file diff --git a/cis/private/lehre/kreuzerltool/studentenpunkteverwalten.php b/cis/private/lehre/kreuzerltool/studentenpunkteverwalten.php index 1f5b5ba87..aae736fa4 100644 --- a/cis/private/lehre/kreuzerltool/studentenpunkteverwalten.php +++ b/cis/private/lehre/kreuzerltool/studentenpunkteverwalten.php @@ -1,598 +1,598 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ - -require_once('../../../config.inc.php'); -require_once('../../../../include/functions.inc.php'); -require_once('../../../../include/lehrveranstaltung.class.php'); -require_once('../../../../include/studiengang.class.php'); -require_once('../../../../include/studiensemester.class.php'); -require_once('../../../../include/lehreinheit.class.php'); -require_once('../../../../include/benutzerberechtigung.class.php'); -require_once('../../../../include/uebung.class.php'); -require_once('../../../../include/beispiel.class.php'); -require_once('../../../../include/datum.class.php'); - -?> - - - - - -Kreuzerltool - - - - -getBerechtigungen($user); - -if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id - $lvid = $_GET['lvid']; -else - die('Fehlerhafte Parameteruebergabe'); - -if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id - $lehreinheit_id = $_GET['lehreinheit_id']; -else - $lehreinheit_id = ''; - -//Laden der Lehrveranstaltung -$lv_obj = new lehrveranstaltung($conn); -if(!$lv_obj->load($lvid)) - die($lv_obj->errormsg); - -//Studiengang laden -$stg_obj = new studiengang($conn,$lv_obj->studiengang_kz); - -if(isset($_GET['stsem'])) - $stsem = $_GET['stsem']; -else - $stsem = ''; - -//Vars -$datum_obj = new datum(); - -$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); - -//Kopfzeile -echo ''; -echo ' '; -echo ''; -echo '
      "Kreuzerl"-Tool'; -echo ''."\n"; - -//Studiensemester laden -$stsem_obj = new studiensemester($conn); -if($stsem=='') - $stsem = $stsem_obj->getaktorNext(); - -$stsem_obj->getAll(); - -//Studiensemester DropDown -$stsem_content = "Studiensemester: \n"; - -//Lehreinheiten laden -if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz)) -{ - $qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND - tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; -} -else -{ - $qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND - tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid='$user') AND - tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; - -} - -if($result = pg_query($conn, $qry)) -{ - if(pg_num_rows($result)>1) - { - //Lehreinheiten DropDown - echo " Lehreinheit: '; - } - else - { - if($row = pg_fetch_object($result)) - $lehreinheit_id = $row->lehreinheit_id; - } -} -else -{ - echo 'Fehler beim Auslesen der Lehreinheiten'; -} -echo $stsem_content; -echo '
    '; -echo ''; -echo ''; -echo " -
     \n"; -echo "$lv_obj->bezeichnung
    "; - -if($lehreinheit_id=='') - die('Es wurde keine passende Lehreinheit in diesem Studiensemester gefunden'); - -//Menue -echo "\n\n"; -echo "
    - Verwaltung     - Anwesenheits- und Übersichtstabelle     - Studentenpunkte verwalten     - Statistik -

    -\n"; - - -echo "

    Studentenpunkte verwalten

    "; -if(isset($_POST['submit'])) -{ - $error=false; - $punkte = (isset($_POST['punkte'])?mb_ereg_replace(',','.',$_POST['punkte']):''); - if(isset($punkte) && is_numeric($punkte)) - { - $ueb_obj = new uebung($conn); - if($ueb_obj->load_studentuebung($uid, $uebung_id)) - $ueb_obj->new = false; - else - { - $ueb_obj->new = true; - $ueb_obj->insertamum = date('Y-m-d H:i:s'); - $ueb_obj->insertvon = $user; - } - - $ueb_obj->mitarbeitspunkte = $punkte; - $ueb_obj->anmerkung = $_POST['anmerkung']; - $ueb_obj->updateamum = date('Y-m-d H:i:s'); - $ueb_obj->updatevon = $user; - $ueb_obj->mitarbeiter_uid = $user; - $ueb_obj->uebung_id = $uebung_id; - $ueb_obj->student_uid = $uid; - - if(!$ueb_obj->studentuebung_save()) - $error = true; - - $bsp_obj = new beispiel($conn); - - if($bsp_obj->load_beispiel($uebung_id)) - { - foreach ($bsp_obj->beispiele as $row) - { - $stud_bsp_obj = new beispiel($conn); - - if($stud_bsp_obj->load_studentbeispiel($uid, $row->beispiel_id)) - { - $stud_bsp_obj->new=false; - } - else - { - $stud_bsp_obj->new=true; - $stud_bsp_obj->insertamum = date('Y-m-d H:i:s'); - $stud_bsp_obj->insertvon = $user; - } - $stud_bsp_obj->vorbereitet = ($_POST['solved_'.$row->beispiel_id]==1?true:false); - $stud_bsp_obj->probleme = (isset($_POST['problem_'.$row->beispiel_id])?true:false); - $stud_bsp_obj->updateamum = date('Y-m-d H:i:s'); - $stud_bsp_obj->updatevon = $user; - $stud_bsp_obj->student_uid = $uid; - $stud_bsp_obj->beispiel_id = $row->beispiel_id; - - if(!$stud_bsp_obj->studentbeispiel_save()) - { - echo $stud_bsp_obj->errormsg; - $error=true; - } - } - } - - if($error) - echo "Es konnten nicht alle Daten gespeichert werden"; - else - echo "Die Daten wurden erfolgreich gespeichert
    "; - - } - else - { - echo "Punkte sind ungueltig"; - } -} - -if(isset($_GET['uid']) && $_GET['uid']!='') -{ - //Punkte eintragen - $uid = addslashes($_GET['uid']); - - $qry_stud = "SELECT vorname, nachname, uid FROM campus.vw_student WHERE uid='$uid'"; - - if(!$result_stud = pg_query($conn, $qry_stud)) - die('Fehler beim laden des Studenten'); - - if(!$row_stud = pg_fetch_object($result_stud)) - die('Student wurde nicht gefunden'); - - echo "$row_stud->vorname $row_stud->nachname
    \n"; - - $uebung_obj = new uebung($conn); - $uebung_obj->load_uebung($lehreinheit_id); - if(count($uebung_obj->uebungen)>0) - { - echo " - -
    "; - echo "
    Wählen Sie bitte eine Kreuzerlliste aus: '; - echo "
    - - - - - - - - - -
    +...Kreuzerlliste ist freigeschalten.
    -...Kreuzerlliste ist nicht freigeschalten.
    -
    "; - } - else - die("Derzeit gibt es keine Uebungen"); - - $ueb_obj = new uebung($conn); - if($ueb_obj->load_studentuebung($uid, $uebung_id)) - { - $anmerkung = $ueb_obj->anmerkung; - $mitarbeit = $ueb_obj->mitarbeitspunkte; - } - else - { - $anmerkung = ''; - $mitarbeit = 0; - } - - echo " -
    - - - - - - -
    - Anmerkungen:
    - -

    - - - - - - - - "; - - $bsp_obj = new beispiel($conn); - $bsp_obj->load_beispiel($uebung_id); - - foreach ($bsp_obj->beispiele as $row) - { - $stud_bsp_obj = new beispiel($conn); - if($stud_bsp_obj->load_studentbeispiel($uid, $row->beispiel_id)) - { - $vorbereitet = $stud_bsp_obj->vorbereitet; - $probleme = $stud_bsp_obj->probleme; - } - else - { - $vorbereitet = false; - $probleme = false; - } - echo " - - - - - - "; - } - - echo "
    BeispielVorbereitetNicht vorbereitetProblemePunkte
    $row->bezeichnung$row->punkte
    "; - - echo " -
    "; - - //Gesamtpunkte diese Kreuzerlliste - $qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id'"; - $punkte_gesamt=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_gesamt = $row->punktegesamt; - - //Eingetragen diese Kreuzerlliste - $qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' AND student_uid='$uid' AND vorbereitet=true"; - $punkte_eingetragen=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0); - - //Gesamtpunkte alle Kreuzerllisten - $qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung - WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND - tbl_uebung.lehreinheit_id='$lehreinheit_id'"; - $punkte_gesamt_alle=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_gesamt_alle = $row->punktegesamt_alle; - - //Eingetragen alle Kreuzerllisten - $qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung - WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND - tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND - tbl_uebung.lehreinheit_id='$lehreinheit_id' AND - tbl_studentbeispiel.student_uid='$uid' AND vorbereitet=true"; - $punkte_eingetragen_alle=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0); - - //Mitarbeitspunkte - $qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) - WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$uid'"; - $mitarbeit_alle=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0); - - //Mitarbeitspunkte - $qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung - WHERE uebung_id='$uebung_id' AND student_uid='$uid'"; - $mitarbeit=0; - if($result=pg_query($conn, $qry)) - if($row = pg_fetch_object($result)) - $mitarbeit = $row->mitarbeitspunkte; - echo " -
    - - - - - - - - - - - - -
    Diese Kreuzerlliste:
    Punkte insgesamt möglich:$punkte_gesamt
    Punkte eingetragen:$punkte_eingetragen
    -

    - - - - - - - - - - - - -
    Alle Kreuzerllisten bisher:
    Punkte insgesamt möglich:$punkte_gesamt_alle
    Punkte eingetragen:$punkte_eingetragen_alle
    -

    - - - - - - - - - - - - -
    Mitarbeitspunkte:
    Bisher insgesamt:$mitarbeit_alle
    Diese Kreuzerlliste:
    - "; - - - echo " -
      - - -
    - -
    - "; - -} -else -{ - //Studentenliste - echo "Bitte wählen Sie den Studenten aus.

    "; - echo " - - "; - - $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id' ORDER BY semester, verband, gruppe, gruppe_kurzbz"; - - if($result_grp = pg_query($conn, $qry)) - { - while($row_grp = pg_fetch_object($result_grp)) - { - echo " - - - - - - - - - - - - - - "; - if($row_grp->gruppe_kurzbz!='') - { - echo " - - - "; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' ORDER BY nachname, vorname"; - } - else - { - echo " - - - "; - $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student - WHERE studiengang_kz='$row_grp->studiengang_kz' AND - semester='$row_grp->semester' ". - ($row_grp->verband!=''?" AND trim(verband)=trim('$row_grp->verband')":''). - ($row_grp->gruppe!=''?" AND trim(gruppe)=trim('$row_grp->gruppe')":''). - " ORDER BY nachname, vorname"; - } - - if($result_stud = pg_query($conn, $qry_stud)) - { - $i=1; - while($row_stud = pg_fetch_object($result_stud)) - { - echo " - - - - - "; - $i++; - } - } - } - } - echo "
       
    UIDNachnameVorname
       
    $row_grp->gruppe_kurzbz
    Verband $row_grp->verband ".($row_grp->gruppe!=''?"Gruppe $row_grp->gruppe":'')."
    $row_stud->uid$row_stud->nachname$row_stud->vorname
    "; -} -?> -
    - +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +require_once('../../../config.inc.php'); +require_once('../../../../include/functions.inc.php'); +require_once('../../../../include/lehrveranstaltung.class.php'); +require_once('../../../../include/studiengang.class.php'); +require_once('../../../../include/studiensemester.class.php'); +require_once('../../../../include/lehreinheit.class.php'); +require_once('../../../../include/benutzerberechtigung.class.php'); +require_once('../../../../include/uebung.class.php'); +require_once('../../../../include/beispiel.class.php'); +require_once('../../../../include/datum.class.php'); + +?> + + + + + +Kreuzerltool + + + + +getBerechtigungen($user); + +if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id + $lvid = $_GET['lvid']; +else + die('Fehlerhafte Parameteruebergabe'); + +if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id + $lehreinheit_id = $_GET['lehreinheit_id']; +else + $lehreinheit_id = ''; + +//Laden der Lehrveranstaltung +$lv_obj = new lehrveranstaltung($conn); +if(!$lv_obj->load($lvid)) + die($lv_obj->errormsg); + +//Studiengang laden +$stg_obj = new studiengang($conn,$lv_obj->studiengang_kz); + +if(isset($_GET['stsem'])) + $stsem = $_GET['stsem']; +else + $stsem = ''; + +//Vars +$datum_obj = new datum(); + +$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); + +//Kopfzeile +echo ''; +echo ' '; +echo ''; +echo '
      "Kreuzerl"-Tool'; +echo ''."\n"; + +//Studiensemester laden +$stsem_obj = new studiensemester($conn); +if($stsem=='') + $stsem = $stsem_obj->getaktorNext(); + +$stsem_obj->getAll(); + +//Studiensemester DropDown +$stsem_content = "Studiensemester: \n"; + +//Lehreinheiten laden +if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz)) +{ + $qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter + WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND + tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND + tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND + tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; +} +else +{ + $qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter + WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND + tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND + tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND + tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid='$user') AND + tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; + +} + +if($result = pg_query($conn, $qry)) +{ + if(pg_num_rows($result)>1) + { + //Lehreinheiten DropDown + echo " Lehreinheit: '; + } + else + { + if($row = pg_fetch_object($result)) + $lehreinheit_id = $row->lehreinheit_id; + } +} +else +{ + echo 'Fehler beim Auslesen der Lehreinheiten'; +} +echo $stsem_content; +echo '
    '; +echo ''; +echo ''; +echo " +
     \n"; +echo "$lv_obj->bezeichnung
    "; + +if($lehreinheit_id=='') + die('Es wurde keine passende Lehreinheit in diesem Studiensemester gefunden'); + +//Menue +echo "\n\n"; +echo "
    + Verwaltung     + Anwesenheits- und Übersichtstabelle     + Studentenpunkte verwalten     + Statistik +

    +\n"; + + +echo "

    Studentenpunkte verwalten

    "; +if(isset($_POST['submit'])) +{ + $error=false; + $punkte = (isset($_POST['punkte'])?mb_ereg_replace(',','.',$_POST['punkte']):''); + if(isset($punkte) && is_numeric($punkte)) + { + $ueb_obj = new uebung($conn); + if($ueb_obj->load_studentuebung($uid, $uebung_id)) + $ueb_obj->new = false; + else + { + $ueb_obj->new = true; + $ueb_obj->insertamum = date('Y-m-d H:i:s'); + $ueb_obj->insertvon = $user; + } + + $ueb_obj->mitarbeitspunkte = $punkte; + $ueb_obj->anmerkung = $_POST['anmerkung']; + $ueb_obj->updateamum = date('Y-m-d H:i:s'); + $ueb_obj->updatevon = $user; + $ueb_obj->mitarbeiter_uid = $user; + $ueb_obj->uebung_id = $uebung_id; + $ueb_obj->student_uid = $uid; + + if(!$ueb_obj->studentuebung_save()) + $error = true; + + $bsp_obj = new beispiel($conn); + + if($bsp_obj->load_beispiel($uebung_id)) + { + foreach ($bsp_obj->beispiele as $row) + { + $stud_bsp_obj = new beispiel($conn); + + if($stud_bsp_obj->load_studentbeispiel($uid, $row->beispiel_id)) + { + $stud_bsp_obj->new=false; + } + else + { + $stud_bsp_obj->new=true; + $stud_bsp_obj->insertamum = date('Y-m-d H:i:s'); + $stud_bsp_obj->insertvon = $user; + } + $stud_bsp_obj->vorbereitet = ($_POST['solved_'.$row->beispiel_id]==1?true:false); + $stud_bsp_obj->probleme = (isset($_POST['problem_'.$row->beispiel_id])?true:false); + $stud_bsp_obj->updateamum = date('Y-m-d H:i:s'); + $stud_bsp_obj->updatevon = $user; + $stud_bsp_obj->student_uid = $uid; + $stud_bsp_obj->beispiel_id = $row->beispiel_id; + + if(!$stud_bsp_obj->studentbeispiel_save()) + { + echo $stud_bsp_obj->errormsg; + $error=true; + } + } + } + + if($error) + echo "Es konnten nicht alle Daten gespeichert werden"; + else + echo "Die Daten wurden erfolgreich gespeichert
    "; + + } + else + { + echo "Punkte sind ungueltig"; + } +} + +if(isset($_GET['uid']) && $_GET['uid']!='') +{ + //Punkte eintragen + $uid = addslashes($_GET['uid']); + + $qry_stud = "SELECT vorname, nachname, uid FROM campus.vw_student WHERE uid='$uid'"; + + if(!$result_stud = pg_query($conn, $qry_stud)) + die('Fehler beim laden des Studenten'); + + if(!$row_stud = pg_fetch_object($result_stud)) + die('Student wurde nicht gefunden'); + + echo "$row_stud->vorname $row_stud->nachname
    \n"; + + $uebung_obj = new uebung($conn); + $uebung_obj->load_uebung($lehreinheit_id); + if(count($uebung_obj->uebungen)>0) + { + echo " + +
    "; + echo "
    Wählen Sie bitte eine Kreuzerlliste aus: '; + echo "
    + + + + + + + + + +
    +...Kreuzerlliste ist freigeschalten.
    -...Kreuzerlliste ist nicht freigeschalten.
    +
    "; + } + else + die("Derzeit gibt es keine Uebungen"); + + $ueb_obj = new uebung($conn); + if($ueb_obj->load_studentuebung($uid, $uebung_id)) + { + $anmerkung = $ueb_obj->anmerkung; + $mitarbeit = $ueb_obj->mitarbeitspunkte; + } + else + { + $anmerkung = ''; + $mitarbeit = 0; + } + + echo " +
    + + + + + + +
    + Anmerkungen:
    + +

    + + + + + + + + "; + + $bsp_obj = new beispiel($conn); + $bsp_obj->load_beispiel($uebung_id); + + foreach ($bsp_obj->beispiele as $row) + { + $stud_bsp_obj = new beispiel($conn); + if($stud_bsp_obj->load_studentbeispiel($uid, $row->beispiel_id)) + { + $vorbereitet = $stud_bsp_obj->vorbereitet; + $probleme = $stud_bsp_obj->probleme; + } + else + { + $vorbereitet = false; + $probleme = false; + } + echo " + + + + + + "; + } + + echo "
    BeispielVorbereitetNicht vorbereitetProblemePunkte
    $row->bezeichnung$row->punkte
    "; + + echo " +
    "; + + //Gesamtpunkte diese Kreuzerlliste + $qry = "SELECT sum(punkte) as punktegesamt FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id'"; + $punkte_gesamt=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_gesamt = $row->punktegesamt; + + //Eingetragen diese Kreuzerlliste + $qry = "SELECT sum(punkte) as punkteeingetragen FROM campus.tbl_beispiel JOIN campus.tbl_studentbeispiel USING(beispiel_id) WHERE uebung_id='$uebung_id' AND student_uid='$uid' AND vorbereitet=true"; + $punkte_eingetragen=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_eingetragen = ($row->punkteeingetragen!=''?$row->punkteeingetragen:0); + + //Gesamtpunkte alle Kreuzerllisten + $qry = "SELECT sum(tbl_beispiel.punkte) as punktegesamt_alle FROM campus.tbl_beispiel, campus.tbl_uebung + WHERE tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND + tbl_uebung.lehreinheit_id='$lehreinheit_id'"; + $punkte_gesamt_alle=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_gesamt_alle = $row->punktegesamt_alle; + + //Eingetragen alle Kreuzerllisten + $qry = "SELECT sum(tbl_beispiel.punkte) as punkteeingetragen_alle FROM campus.tbl_beispiel, campus.tbl_studentbeispiel, campus.tbl_uebung + WHERE tbl_beispiel.beispiel_id = tbl_studentbeispiel.beispiel_id AND + tbl_uebung.uebung_id=tbl_beispiel.uebung_id AND + tbl_uebung.lehreinheit_id='$lehreinheit_id' AND + tbl_studentbeispiel.student_uid='$uid' AND vorbereitet=true"; + $punkte_eingetragen_alle=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $punkte_eingetragen_alle = ($row->punkteeingetragen_alle!=''?$row->punkteeingetragen_alle:0); + + //Mitarbeitspunkte + $qry = "SELECT sum(mitarbeitspunkte) as mitarbeitspunkte FROM campus.tbl_studentuebung JOIN campus.tbl_uebung USING(uebung_id) + WHERE lehreinheit_id='$lehreinheit_id' AND student_uid='$uid'"; + $mitarbeit_alle=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $mitarbeit_alle = ($row->mitarbeitspunkte!=''?$row->mitarbeitspunkte:0); + + //Mitarbeitspunkte + $qry = "SELECT mitarbeitspunkte FROM campus.tbl_studentuebung + WHERE uebung_id='$uebung_id' AND student_uid='$uid'"; + $mitarbeit=0; + if($result=pg_query($conn, $qry)) + if($row = pg_fetch_object($result)) + $mitarbeit = $row->mitarbeitspunkte; + echo " +
    + + + + + + + + + + + + +
    Diese Kreuzerlliste:
    Punkte insgesamt möglich:$punkte_gesamt
    Punkte eingetragen:$punkte_eingetragen
    +

    + + + + + + + + + + + + +
    Alle Kreuzerllisten bisher:
    Punkte insgesamt möglich:$punkte_gesamt_alle
    Punkte eingetragen:$punkte_eingetragen_alle
    +

    + + + + + + + + + + + + +
    Mitarbeitspunkte:
    Bisher insgesamt:$mitarbeit_alle
    Diese Kreuzerlliste:
    + "; + + + echo " +
      + + +
    + +
    + "; + +} +else +{ + //Studentenliste + echo "Bitte wählen Sie den Studenten aus.

    "; + echo " + + "; + + $qry = "SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='$lehreinheit_id' ORDER BY semester, verband, gruppe, gruppe_kurzbz"; + + if($result_grp = pg_query($conn, $qry)) + { + while($row_grp = pg_fetch_object($result_grp)) + { + echo " + + + + + + + + + + + + + + "; + if($row_grp->gruppe_kurzbz!='') + { + echo " + + + "; + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student JOIN public.tbl_benutzergruppe USING(uid) WHERE gruppe_kurzbz='".addslashes($row_grp->gruppe_kurzbz)."' ORDER BY nachname, vorname"; + } + else + { + echo " + + + "; + $qry_stud = "SELECT uid, vorname, nachname, matrikelnr FROM campus.vw_student + WHERE studiengang_kz='$row_grp->studiengang_kz' AND + semester='$row_grp->semester' ". + ($row_grp->verband!=''?" AND trim(verband)=trim('$row_grp->verband')":''). + ($row_grp->gruppe!=''?" AND trim(gruppe)=trim('$row_grp->gruppe')":''). + " ORDER BY nachname, vorname"; + } + + if($result_stud = pg_query($conn, $qry_stud)) + { + $i=1; + while($row_stud = pg_fetch_object($result_stud)) + { + echo " + + + + + "; + $i++; + } + } + } + } + echo "
       
    UIDNachnameVorname
       
    $row_grp->gruppe_kurzbz
    Verband $row_grp->verband ".($row_grp->gruppe!=''?"Gruppe $row_grp->gruppe":'')."
    $row_stud->uid$row_stud->nachname$row_stud->vorname
    "; +} +?> +
    + \ No newline at end of file diff --git a/cis/private/lehre/kreuzerltool/verwaltung.php b/cis/private/lehre/kreuzerltool/verwaltung.php index bdfa0733c..26ce24095 100644 --- a/cis/private/lehre/kreuzerltool/verwaltung.php +++ b/cis/private/lehre/kreuzerltool/verwaltung.php @@ -1,861 +1,861 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ - -require_once('../../../config.inc.php'); -require_once('../../../../include/functions.inc.php'); -require_once('../../../../include/lehrveranstaltung.class.php'); -require_once('../../../../include/studiengang.class.php'); -require_once('../../../../include/studiensemester.class.php'); -require_once('../../../../include/lehreinheit.class.php'); -require_once('../../../../include/benutzerberechtigung.class.php'); -require_once('../../../../include/uebung.class.php'); -require_once('../../../../include/beispiel.class.php'); -require_once('../../../../include/datum.class.php'); -function microtime_float() -{ - list($usec, $sec) = explode(" ", microtime()); - return ((float)$usec + (float)$sec); -} -$time = microtime_float(); -?> - - - - - -Kreuzerltool - - - - -getBerechtigungen($user); - -if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id - $lvid = $_GET['lvid']; -else - die('Fehlerhafte Parameteruebergabe'); - -if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id - $lehreinheit_id = $_GET['lehreinheit_id']; -else - $lehreinheit_id = ''; - -//Laden der Lehrveranstaltung -$lv_obj = new lehrveranstaltung($conn); -if(!$lv_obj->load($lvid)) - die($lv_obj->errormsg); - -//Studiengang laden -$stg_obj = new studiengang($conn,$lv_obj->studiengang_kz); - -if(isset($_GET['stsem'])) - $stsem = $_GET['stsem']; -else - $stsem = ''; - -//Vars -$datum_obj = new datum(); -$global_msg =''; -$error_thema=''; -$error_anzahlderbeispiele=''; -$error_punkteprobeispiel=''; -$error_freigabebis=''; -$error_freigabevon=''; - -$thema = (isset($_POST['thema'])?$_POST['thema']:''); -$anzahlderbeispiele = (isset($_POST['anzahlderbeispiele'])?$_POST['anzahlderbeispiele']:''); -$punkteprobeispiel = (isset($_POST['punkteprobeispiel'])?$_POST['punkteprobeispiel']:''); -$punkteprobeispiel = mb_ereg_replace(',','.',$punkteprobeispiel); -$freigabebis = (isset($_POST['freigabebis'])?$_POST['freigabebis']:''); -$freigabevon = (isset($_POST['freigabevon'])?$_POST['freigabevon']:''); - -$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); - -//Kopfzeile -echo ''; -echo ' '; -echo ''; -echo '
      "Kreuzerl"-Tool'; -echo ''."\n"; - -//Studiensemester laden -$stsem_obj = new studiensemester($conn); -if($stsem=='') - $stsem = $stsem_obj->getaktorNext(); - -$stsem_obj->getAll(); - - -//Studiensemester DropDown -$stsem_content = "Studiensemester: \n"; - -//Lehreinheiten laden -if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz)) -{ - $qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND - tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; -} -else -{ - $qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter - WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND - tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND - tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid='$user') AND - tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; -} - -if($result = pg_query($conn, $qry)) -{ - $result_alle_lehreinheiten = $result; - if(pg_num_rows($result)>1) - { - //Lehreinheiten DropDown - echo " Lehreinheit: '; - } - else - { - if($row = pg_fetch_object($result)) - $lehreinheit_id = $row->lehreinheit_id; - } -} -else -{ - echo 'Fehler beim Auslesen der Lehreinheiten'; -} -echo $stsem_content; -echo '
    '; -echo ''; -echo ''; -echo "
     \n"; -echo "$lv_obj->bezeichnung
    "; - -if($lehreinheit_id=='') - die('Es gibt keine Lehreinheiten in diesem Studiensemester für die Sie eine Berechtigung besitzen'); - -//Menue -echo "\n\n"; -echo "
    - Verwaltung     - Anwesenheits- und Übersichtstabelle     - Studentenpunkte verwalten     - Statistik -

    -\n"; - - -//echo "studiensemester: $stsem
    "; -//echo "lehrveranstaltung: $lvid
    "; -//echo "lehreinheit: $lehreinheit_id
    "; - -echo "

    Kreuzerllisten anlegen und verwalten

    "; - -//Anlegen einer neuen Uebung -if(isset($_POST['uebung_neu'])) -{ - if(isset($thema) && isset($anzahlderbeispiele) && isset($punkteprobeispiel)) - { - //pruefen ob alle Daten eingegeben wurden - $error=false; - if($thema=='') - { - $error_thema.= "Thema muss eingegeben werden"; - $error=true; - } - if(!is_numeric($punkteprobeispiel)) - { - $error_punkteprobeispiel= "Punkte pro Beispiel muss eine gültige Zahl sein"; - $error=true; - } - elseif($punkteprobeispiel<0) - { - $error_punkteprobeispiel = "Punkte pro Beispiel darf nicht negativ sein"; - $error=true; - } - if(!is_numeric($anzahlderbeispiele)) - { - $error_anzahlderbeispiele = "Anzahl der Beispiele muss eine gültige Zahl sein"; - $error=true; - } - elseif($anzahlderbeispiele<0) - { - $error_anzahlderbeispiele = "Anzahl der Beispiele darf nicht negativ sein"; - $error=true; - } - elseif($anzahlderbeispiele>99) - { - $error_anzahlderbeispiele = "Anzahl der Beispiele muss kleiner 100 sein"; - $error=true; - } - - $freigabevon_sav = $datum_obj->mktime_datumundzeit($freigabevon); - $freigabebis_sav = $datum_obj->mktime_datumundzeit($freigabebis); - - if(!$freigabebis_sav) - { - $error_freigabebis = "Bis-Datum hat ein ungültiges Format"; - $error=true; - } - - if(!$freigabevon_sav) - { - $error_freigabevon = "Von-Datum hat ein ungültiges Format"; - $error=true; - } - - if($freigabevon_sav && $freigabebis_sav && $freigabevon_sav>$freigabebis_sav) - { - $error_freigabevon = "Von Datum darf nicht grösser als Bis Datum sein"; - $error=true; - } - - if(!$error) - { - //Uebung anlegen - $datum_obj = new datum(); - $uebung_obj = new uebung($conn); - $uebung_obj->gewicht=''; - $uebung_obj->punkte=''; - $uebung_obj->angabedatei=''; - $uebung_obj->freigabevon = date('Y-m-d H:i',$freigabevon_sav); - $uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav); - $uebung_obj->abgabe=false; - $uebung_obj->beispiele=true; - $uebung_obj->bezeichnung=$thema; - $uebung_obj->positiv=true; - $uebung_obj->defaultbemerkung=''; - $uebung_obj->lehreinheit_id=$lehreinheit_id; - $uebung_obj->updateamum = date('Y-m-d H:i:s'); - $uebung_obj->updatevon = $user; - $uebung_obj->insertamum = date('Y-m-d H:i:s'); - $uebung_obj->insertvon = $user; - $uebung_obj->statistik = isset($_POST['statistik']); - - if($uebung_obj->save(true)) - { - //Beispiele anlegen - $uebung_id = $uebung_obj->uebung_id; - $error_msg=''; - for($i=0;$i<$anzahlderbeispiele;$i++) - { - $beispiel_obj = new beispiel($conn); - $beispiel_obj->uebung_id = $uebung_id; - $beispiel_obj->bezeichnung = "Beispiel ".($i<9?'0'.($i+1):($i+1)); - $beispiel_obj->punkte = $punkteprobeispiel; - $beispiel_obj->updateamum = date('Y-m-d H:i:s'); - $beispiel_obj->updatevon = $user; - $beispiel_obj->insertamum = date('Y-m-d H:i:s'); - $beispiel_obj->insertvon = $user; - - if(!$beispiel_obj->save(true)) - $error_msg = $beispiel_obj->errormsg; - } - if($error_msg!='') - echo "$error_msg"; - } - else - echo "$uebung_obj->errormsg"; - } - - } - else - echo "Kreuzerlliste konnte nicht angelegt werden!
    "; -} - -//Loeschen eines Beispiels -if(isset($_POST['beispiel_delete'])) -{ - if(isset($_POST['beispiel'])) - { - $beispiel_obj = new beispiel($conn); - $error_msg=''; - //Ausgewaehlte Beispiele holen - $delete_ids = $_POST['beispiel']; - foreach($delete_ids as $id) - { - //Beispiel loeschen - if(!$beispiel_obj->delete($id)) - $error_msg=$beispiel_obj->errormsg; - } - if($error_msg!='') - echo "$error_msg"; - } -} - -//Loeschen einer Uebung -if(isset($_POST['delete_uebung'])) -{ - if(isset($_POST['uebung'])) - { - $ueb_obj = new uebung($conn); - $error_msg=''; - //Ausgewaehlte Beispiele holen - $delete_ids = $_POST['uebung']; - foreach($delete_ids as $id) - { - //Beispiel loeschen - if(!$ueb_obj->delete($id)) - $error_msg=$ueb_obj->errormsg; - } - if($error_msg!='') - echo "$error_msg"; - } -} - -//Editieren einer Uebung -if(isset($_POST['uebung_edit'])) -{ - $error = false; - if($thema=='') - { - echo "Thema muss eingegeben werden'"; - $error = true; - } - - $freigabevon_sav = $datum_obj->mktime_datumundzeit($freigabevon); - $freigabebis_sav = $datum_obj->mktime_datumundzeit($freigabebis); - - if($freigabevon_sav>$freigabebis_sav) - { - echo "Von Datum darf nicht grösser als Bis Datum sein"; - $error=true; - } - if(!$freigabebis_sav) - { - echo "Bis-Datum hat ein ungültiges Format"; - $error=true; - } - - if(!$freigabevon_sav) - { - echo "Von-Datum hat ein ungültiges Format"; - $error=true; - } - - if(!$error) - { - $uebung_obj = new uebung($conn); - $uebung_obj->gewicht=''; - $uebung_obj->punkte=''; - $uebung_obj->angabedatei=''; - $uebung_obj->freigabevon = date('Y-m-d H:i',$freigabevon_sav); - $uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav); - $uebung_obj->abgabe=false; - $uebung_obj->beispiele=true; - $uebung_obj->bezeichnung=$thema; - $uebung_obj->positiv=true; - $uebung_obj->defaultbemerkung=''; - $uebung_obj->lehreinheit_id=$lehreinheit_id; - $uebung_obj->updateamum = date('Y-m-d H:i:s'); - $uebung_obj->updatevon = $user; - $uebung_obj->uebung_id = $uebung_id; - $uebung_obj->statistik = (isset($_POST['statistik'])?true:false); - - if($uebung_obj->save(false)) - echo "Die Änderung wurde gespeichert!"; - else - echo "$uebung_obj->errormsg"; - } - -} - -//Neues Beispiel anlegen -if(isset($_POST['beispiel_neu']) || isset($_POST['beispiel_edit'])) -{ - if(isset($_POST['beispiel_edit']) && (!isset($beispiel_id) || !is_numeric($beispiel_id))) - { - echo "Beispiel_id ist ungueltig"; - } - else - { - if(isset($uebung_id) && $uebung_id!='' && is_numeric($uebung_id)) - { - $punkte = (isset($_POST['punkte'])?$_POST['punkte']:''); - $punkte = mb_ereg_replace(',','.',$punkte); - if(is_numeric($punkte) && $punkte!='') - { - if($bezeichnung!='') - { - $beispiel_obj = new beispiel($conn); - if(isset($_POST['beispiel_edit'])) - { - $beispiel_obj->beispiel_id= $beispiel_id; - $beispiel_obj->new=false; - } - else - { - $beispiel_obj->new=true; - $beispiel_obj->insertamum = date('Y-m-d H:i:s'); - $beispiel_obj->insertvon = $user; - } - - $beispiel_obj->uebung_id = $uebung_id; - $beispiel_obj->bezeichnung = $bezeichnung; - $beispiel_obj->punkte = $punkte; - $beispiel_obj->updateamum = date('Y-m-d H:i:s'); - $beispiel_obj->updatevon = $user; - if($beispiel_obj->save()) - { - $beispiel_id=''; - } - else - echo "$beispiel_obj->errormsg"; - } - else - echo "Bezeichnung muss eingegeben werden"; - } - else - echo "Punkte muss eine gültige Zahl sein"; - } - else - echo "Zugehoerige Uebung ist fehlerhaft"; - } -} - -//Eine Uebung in eine andere Lehreinheit kopieren -if(isset($_GET['kopieren']) && $_GET['kopieren']=='true') -{ - //echo "Kopiere Uebung ".$_GET['uebung_copy_id']." to ".$_POST['lehreinheit_copy_id']; - //Laden der zu kopierenden Uebung - if(is_numeric($_GET['uebung_copy_id']) && is_numeric($_POST['lehreinheit_copy_id'])) - { - //Source Uebung Laden - $qry = "SELECT * FROM campus.tbl_uebung WHERE uebung_id='".$_GET['uebung_copy_id']."'"; - if($result_source = pg_query($conn, $qry)) - { - if($row_source = pg_fetch_object($result_source)) - { - //Berechtigung Checken - $qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='".$_POST['lehreinheit_copy_id']."' AND mitarbeiter_uid='$user'"; - if($row_berechtigt = pg_query($conn, $qry)) - { - if(pg_num_rows($row_berechtigt)>0 || - $rechte->isBerechtigt('admin',0) || - $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz)) - { - //Schauen ob bereits eine uebung mit diesem Namen vorhanden ist - $qry = "SELECT * FROM campus.tbl_uebung WHERE lehreinheit_id='".$_POST['lehreinheit_copy_id']."' AND bezeichnung='".addslashes($row_source->bezeichnung)."'"; - $result_bezeichnung_exists = pg_query($conn, $qry); - if(pg_num_rows($result_bezeichnung_exists)==0) - { - //Uebung einfuegen - $uebung_dest = new uebung($conn); - $uebung_dest->gewicht = $row_source->punkte; - $uebung_dest->punkte = $row_source->punkte; - $uebung_dest->angabedatei = $row_source->angabedatei; - $uebung_dest->freigabevon = $row_source->freigabevon; - $uebung_dest->freigabebis = $row_source->freigabebis; - $uebung_dest->abgabe = ($row_source->abgabe=='t'?true:false); - $uebung_dest->beispiele = ($row_source->beispiele=='t'?true:false); - $uebung_dest->bezeichnung = $row_source->bezeichnung; - $uebung_dest->positiv = ($row_source->positiv=='t'?true:false); - $uebung_dest->statistik = ($row_source->statistik=='t'?true:false); - $uebung_dest->defaultbemerkung = $row_source->defaultbemerkung; - $uebung_dest->lehreinheit_id = $_POST['lehreinheit_copy_id']; - $ubeung_dest->updateamum = date('Y-m-d H:i:s'); - $uebung_dest->updatevon = $user; - $uebung_dest->insertamum = date('Y-m-d H:i:s'); - $uebung_dest->insertvon = $user; - - if($uebung_dest->save(true)) - { - //Beispiel laden - $qry = "SELECT * FROM campus.tbl_beispiel WHERE uebung_id='".$_GET['uebung_copy_id']."'"; - if($result_bsp_source = pg_query($conn, $qry)) - { - $error_bsp_save=false; - while($row_bsp_source = pg_fetch_object($result_bsp_source)) - { - //Beispiel speichern - $beispiel_dest = new beispiel($conn); - $beispiel_dest->uebung_id = $uebung_dest->uebung_id; - $beispiel_dest->bezeichnung = $row_bsp_source->bezeichnung; - $beispiel_dest->punkte = $row_bsp_source->punkte; - $beispiel_dest->updateamum = date('Y-m-d H:i:s'); - $beispiel_dest->updatevon = $user; - $beispiel_dest->insertamum = date('Y-m-d H:i:s'); - $beispiel_dest->insertvon = $user; - - if(!$beispiel_dest->save(true)) - $error_bsp_save=true; - } - - if($error_bsp_save) - echo "Fehler: Es konnten nicht alle Beispiel kopiert werden"; - else - echo "Daten wurden erfolgreich kopiert"; - } - } - else - { - - echo "Fehler beim kopieren der Daten: $uebung_dest->errormsg"; - } - } - else - echo "Fehler beim Kopieren: In der Ziel-Lehreinheit existiert bereits eine Kreuzerlliste mit diesem Namen!"; - } - else - echo "Sie haben keine Berechtigung für diese Aktion"; - } - } - else - echo "Uebung ".$_GET['uebung_copy_id']." wurde nicht gefunden"; - } - else - echo "Uebung ".$_GET['uebung_copy_id']." wurde nicht gefunden"; - } - else - echo "Fehler bei der Parameteruebergabe"; -} - -//Uebersichtstabelle -if(isset($uebung_id) && $uebung_id!='') -{ - echo "
    "; - //Bearbeiten der ausgewaehlten Uebung - echo "
    \n"; - echo "\n"; - echo ""; - - $uebung_obj = new uebung($conn); - $uebung_obj->load($uebung_id); - - echo " - - - - - -
    Ausgewählte Kreuzerlliste bearbeiten 
     
    Thema$error_thema
    Freigabevon mktime_fromtimestamp($uebung_obj->freigabevon))."'>
    (Format: 31.12.2007 14:30)bis mktime_fromtimestamp($uebung_obj->freigabebis))."'>
    Statistik für Studenten anzeigen statistik?'checked':'').">
    -
    "; - - $beispiel_obj = new beispiel($conn); - $beispiel_obj->load_beispiel($uebung_id); - $anzahl = count($beispiel_obj->beispiele); - echo "
    "; - - //Beispiel neu Anlegen - echo "
    \n"; - echo "\n"; - echo "\n\n"; - - echo ""; - echo ""; - - echo "
    Neues Beispiel anlegen
     
    Bezeichnung "; - echo " Punkte
    -
    "; - - echo "
    "; - - //Uebersicht der Beispiele - echo "
    \n"; - echo "\n"; - echo "\n\n"; - - if($anzahl>0) - { - echo "\n"; - foreach ($beispiel_obj->beispiele as $row) - { - echo " - - "; - } - echo ""; - } - else - echo ""; - - echo "
    Vorhandene Beispiele
     
    BeispielPunkteAuswahl
    ".$row->bezeichnung."$row->punkte
    Derzeit sind keine Beispiele angelegt
    -
    "; - - echo "
    "; - - //Beispiel Aendern - $error_msg = ''; - if(isset($beispiel_id) && $beispiel_id!='') - { - //Bearbeiten eines Beispiels - if($beispiel_obj->load($beispiel_id)) - { - echo "
    \n"; - echo "\n"; - echo "\n\n"; - - echo ""; - echo ""; - - echo "
    Beispiel bearbeiten
     
    Bezeichnung "; - echo " Punkte
    -


    "; - } - else - $error_msg = $beispiel_obj->errormsg; - } - echo "
    "; -} -else -{ - //Gesamtuebersicht ueber alle Uebungen - echo "
    "; - echo "
    "; - echo ""; - - $uebung_obj = new uebung($conn); - $uebung_obj->load_uebung($lehreinheit_id); - $anzahl = count($uebung_obj->uebungen); - $copy_content="
    Vorhandene Kreuzerllisten bearbeiten
    "; - $has_copy_content=false; - if($anzahl>0) - { - echo ""; - - //Alle Lehreinheiten holen die zu dieser lehrveranstaltung gehoeren - //und der angemeldete User berechtigt ist - $copy_option_content = array(); - for($i=0;$ilehreinheit_id) - { - //zugeteilte Lektoren holen - $qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter using(mitarbeiter_uid) WHERE lehreinheit_id='$row_alle_lehreinheiten->lehreinheit_id'"; - if($result_lektoren = pg_query($conn, $qry_lektoren)) - { - $lektoren = '( '; - $j=0; - while($row_lektoren = pg_fetch_object($result_lektoren)) - { - $lektoren .= $row_lektoren->kurzbz; - $j++; - if($jgruppe_kurzbz=='') - $gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe; - else - $gruppen.=$row_gruppen->gruppe_kurzbz; - $j++; - if($jlehreinheit_id] = "$row_alle_lehreinheiten->lfbez-$row_alle_lehreinheiten->lehrform_kurzbz - $gruppen $lektoren"; - } - } - - //Uebungen durchlaufen - foreach ($uebung_obj->uebungen as $row) - { - $has_option_content=false; - echo ""; - //Wenn andere Lehreinheiten vorhanden sind dann wird die moeglichkeit zum kopieren von - //Uebungen in diese Lehreinheiten angeboten. - if(isset($result_alle_lehreinheiten) && pg_num_rows($result_alle_lehreinheiten)>1) - { - $copy_content.= ''; - $copy_content.= '"; - } - } - echo ""; - } - else - echo ""; - - echo "
    Übung in andere LE kopieren
     
     
     
    ThemaFreigeschaltenAuswahl 
    ".$row->bezeichnung.""; - - if((strtotime(strftime($row->freigabevon))<=time()) && (strtotime(strftime($row->freigabebis))>=time())) - echo 'Ja'; - else - echo 'Nein'; - echo "
    '; - $copy_option_content = ''; - //Lehreinheiten fuer Combo durchgehen und schauen ob - //fuer diese Lehreinheit bereits eine Uebung mit gleichem Namen existiert - //Falls ja wird diese nicht in der Combo angezeigt - foreach ($copy_le_content as $id=>$bezeichnung) - { - $qry = "SELECT uebung_id FROM campus.tbl_uebung WHERE lehreinheit_id='$id' AND bezeichnung='$row->bezeichnung'"; - //echo $qry; - if($result_vorhanden = pg_query($conn, $qry)) - { - if(pg_num_rows($result_vorhanden)==0) - { - $copy_option_content.= "\n"; - $has_option_content=true; - $has_copy_content=true; - } - } - } - //Wenn eintraege fuer Combo vorhanden sind dann wirds angezeigt - if($has_option_content) - { - $copy_content.= "\n"; - $copy_content.= "\n '; - $copy_content.= "   "; - $copy_content.= "\n"; - } - else - { - $copy_content.=" "; - } - $copy_content.= "
    Derzeit sind keine Kreuzerllisten angelegt
    -

    "; - - //Kopier-Buttons anzeigen - $copy_content.='
    '; - echo "
    "; - if($has_copy_content) - echo $copy_content; - echo "
    "; - - //Uebung neu anlegen - if(!isset($_POST['uebung_neu'])) - { - $thema = "Uebung ".($anzahl<9?'0'.($anzahl+1):($anzahl+1)); - $anzahlderbeispiele = 10; - $punkteprobeispiel = 1; - $freigabevon = date('d.m.Y H:i'); - $freigabebis = date('d.m.Y H:i'); - } - - echo " -
    - - - - - - - - - -
    Neue Kreuzerlliste anlegen
    Thema$error_thema
    Anzahl der Beispiele$error_anzahlderbeispiele
    Anzahl Punkte pro Beispiel$error_punkteprobeispiel
    Freigabevon $error_freigabevon
    (Format: 31.12.2007 14:30)bis $error_freigabebis
    Statistik für Studenten anzeigen
    -
    - "; -} -?> - - - +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +require_once('../../../config.inc.php'); +require_once('../../../../include/functions.inc.php'); +require_once('../../../../include/lehrveranstaltung.class.php'); +require_once('../../../../include/studiengang.class.php'); +require_once('../../../../include/studiensemester.class.php'); +require_once('../../../../include/lehreinheit.class.php'); +require_once('../../../../include/benutzerberechtigung.class.php'); +require_once('../../../../include/uebung.class.php'); +require_once('../../../../include/beispiel.class.php'); +require_once('../../../../include/datum.class.php'); +function microtime_float() +{ + list($usec, $sec) = explode(" ", microtime()); + return ((float)$usec + (float)$sec); +} +$time = microtime_float(); +?> + + + + + +Kreuzerltool + + + + +getBerechtigungen($user); + +if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) //Lehrveranstaltung_id + $lvid = $_GET['lvid']; +else + die('Fehlerhafte Parameteruebergabe'); + +if(isset($_GET['lehreinheit_id']) && is_numeric($_GET['lehreinheit_id'])) //Lehreinheit_id + $lehreinheit_id = $_GET['lehreinheit_id']; +else + $lehreinheit_id = ''; + +//Laden der Lehrveranstaltung +$lv_obj = new lehrveranstaltung($conn); +if(!$lv_obj->load($lvid)) + die($lv_obj->errormsg); + +//Studiengang laden +$stg_obj = new studiengang($conn,$lv_obj->studiengang_kz); + +if(isset($_GET['stsem'])) + $stsem = $_GET['stsem']; +else + $stsem = ''; + +//Vars +$datum_obj = new datum(); +$global_msg =''; +$error_thema=''; +$error_anzahlderbeispiele=''; +$error_punkteprobeispiel=''; +$error_freigabebis=''; +$error_freigabevon=''; + +$thema = (isset($_POST['thema'])?$_POST['thema']:''); +$anzahlderbeispiele = (isset($_POST['anzahlderbeispiele'])?$_POST['anzahlderbeispiele']:''); +$punkteprobeispiel = (isset($_POST['punkteprobeispiel'])?$_POST['punkteprobeispiel']:''); +$punkteprobeispiel = mb_ereg_replace(',','.',$punkteprobeispiel); +$freigabebis = (isset($_POST['freigabebis'])?$_POST['freigabebis']:''); +$freigabevon = (isset($_POST['freigabevon'])?$_POST['freigabevon']:''); + +$uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:''); + +//Kopfzeile +echo ''; +echo ' '; +echo ''; +echo '
      "Kreuzerl"-Tool'; +echo ''."\n"; + +//Studiensemester laden +$stsem_obj = new studiensemester($conn); +if($stsem=='') + $stsem = $stsem_obj->getaktorNext(); + +$stsem_obj->getAll(); + + +//Studiensemester DropDown +$stsem_content = "Studiensemester: \n"; + +//Lehreinheiten laden +if($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz)) +{ + $qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter + WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND + tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND + tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND + tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; +} +else +{ + $qry = "SELECT distinct tbl_lehrfach.kurzbz as lfbez, tbl_lehreinheit.lehreinheit_id, tbl_lehreinheit.lehrform_kurzbz as lehrform_kurzbz FROM lehre.tbl_lehreinheit, lehre.tbl_lehrfach, lehre.tbl_lehreinheitmitarbeiter + WHERE tbl_lehreinheit.lehrveranstaltung_id='$lvid' AND + tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND + tbl_lehreinheit.lehreinheit_id = tbl_lehreinheitmitarbeiter.lehreinheit_id AND + tbl_lehreinheit.lehrveranstaltung_id IN (SELECT lehrveranstaltung_id FROM lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) WHERE mitarbeiter_uid='$user') AND + tbl_lehreinheit.studiensemester_kurzbz = '$stsem'"; +} + +if($result = pg_query($conn, $qry)) +{ + $result_alle_lehreinheiten = $result; + if(pg_num_rows($result)>1) + { + //Lehreinheiten DropDown + echo " Lehreinheit: '; + } + else + { + if($row = pg_fetch_object($result)) + $lehreinheit_id = $row->lehreinheit_id; + } +} +else +{ + echo 'Fehler beim Auslesen der Lehreinheiten'; +} +echo $stsem_content; +echo '
    '; +echo ''; +echo ''; +echo "
     \n"; +echo "$lv_obj->bezeichnung
    "; + +if($lehreinheit_id=='') + die('Es gibt keine Lehreinheiten in diesem Studiensemester für die Sie eine Berechtigung besitzen'); + +//Menue +echo "\n\n"; +echo "
    + Verwaltung     + Anwesenheits- und Übersichtstabelle     + Studentenpunkte verwalten     + Statistik +

    +\n"; + + +//echo "studiensemester: $stsem
    "; +//echo "lehrveranstaltung: $lvid
    "; +//echo "lehreinheit: $lehreinheit_id
    "; + +echo "

    Kreuzerllisten anlegen und verwalten

    "; + +//Anlegen einer neuen Uebung +if(isset($_POST['uebung_neu'])) +{ + if(isset($thema) && isset($anzahlderbeispiele) && isset($punkteprobeispiel)) + { + //pruefen ob alle Daten eingegeben wurden + $error=false; + if($thema=='') + { + $error_thema.= "Thema muss eingegeben werden"; + $error=true; + } + if(!is_numeric($punkteprobeispiel)) + { + $error_punkteprobeispiel= "Punkte pro Beispiel muss eine gültige Zahl sein"; + $error=true; + } + elseif($punkteprobeispiel<0) + { + $error_punkteprobeispiel = "Punkte pro Beispiel darf nicht negativ sein"; + $error=true; + } + if(!is_numeric($anzahlderbeispiele)) + { + $error_anzahlderbeispiele = "Anzahl der Beispiele muss eine gültige Zahl sein"; + $error=true; + } + elseif($anzahlderbeispiele<0) + { + $error_anzahlderbeispiele = "Anzahl der Beispiele darf nicht negativ sein"; + $error=true; + } + elseif($anzahlderbeispiele>99) + { + $error_anzahlderbeispiele = "Anzahl der Beispiele muss kleiner 100 sein"; + $error=true; + } + + $freigabevon_sav = $datum_obj->mktime_datumundzeit($freigabevon); + $freigabebis_sav = $datum_obj->mktime_datumundzeit($freigabebis); + + if(!$freigabebis_sav) + { + $error_freigabebis = "Bis-Datum hat ein ungültiges Format"; + $error=true; + } + + if(!$freigabevon_sav) + { + $error_freigabevon = "Von-Datum hat ein ungültiges Format"; + $error=true; + } + + if($freigabevon_sav && $freigabebis_sav && $freigabevon_sav>$freigabebis_sav) + { + $error_freigabevon = "Von Datum darf nicht grösser als Bis Datum sein"; + $error=true; + } + + if(!$error) + { + //Uebung anlegen + $datum_obj = new datum(); + $uebung_obj = new uebung($conn); + $uebung_obj->gewicht=''; + $uebung_obj->punkte=''; + $uebung_obj->angabedatei=''; + $uebung_obj->freigabevon = date('Y-m-d H:i',$freigabevon_sav); + $uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav); + $uebung_obj->abgabe=false; + $uebung_obj->beispiele=true; + $uebung_obj->bezeichnung=$thema; + $uebung_obj->positiv=true; + $uebung_obj->defaultbemerkung=''; + $uebung_obj->lehreinheit_id=$lehreinheit_id; + $uebung_obj->updateamum = date('Y-m-d H:i:s'); + $uebung_obj->updatevon = $user; + $uebung_obj->insertamum = date('Y-m-d H:i:s'); + $uebung_obj->insertvon = $user; + $uebung_obj->statistik = isset($_POST['statistik']); + + if($uebung_obj->save(true)) + { + //Beispiele anlegen + $uebung_id = $uebung_obj->uebung_id; + $error_msg=''; + for($i=0;$i<$anzahlderbeispiele;$i++) + { + $beispiel_obj = new beispiel($conn); + $beispiel_obj->uebung_id = $uebung_id; + $beispiel_obj->bezeichnung = "Beispiel ".($i<9?'0'.($i+1):($i+1)); + $beispiel_obj->punkte = $punkteprobeispiel; + $beispiel_obj->updateamum = date('Y-m-d H:i:s'); + $beispiel_obj->updatevon = $user; + $beispiel_obj->insertamum = date('Y-m-d H:i:s'); + $beispiel_obj->insertvon = $user; + + if(!$beispiel_obj->save(true)) + $error_msg = $beispiel_obj->errormsg; + } + if($error_msg!='') + echo "$error_msg"; + } + else + echo "$uebung_obj->errormsg"; + } + + } + else + echo "Kreuzerlliste konnte nicht angelegt werden!
    "; +} + +//Loeschen eines Beispiels +if(isset($_POST['beispiel_delete'])) +{ + if(isset($_POST['beispiel'])) + { + $beispiel_obj = new beispiel($conn); + $error_msg=''; + //Ausgewaehlte Beispiele holen + $delete_ids = $_POST['beispiel']; + foreach($delete_ids as $id) + { + //Beispiel loeschen + if(!$beispiel_obj->delete($id)) + $error_msg=$beispiel_obj->errormsg; + } + if($error_msg!='') + echo "$error_msg"; + } +} + +//Loeschen einer Uebung +if(isset($_POST['delete_uebung'])) +{ + if(isset($_POST['uebung'])) + { + $ueb_obj = new uebung($conn); + $error_msg=''; + //Ausgewaehlte Beispiele holen + $delete_ids = $_POST['uebung']; + foreach($delete_ids as $id) + { + //Beispiel loeschen + if(!$ueb_obj->delete($id)) + $error_msg=$ueb_obj->errormsg; + } + if($error_msg!='') + echo "$error_msg"; + } +} + +//Editieren einer Uebung +if(isset($_POST['uebung_edit'])) +{ + $error = false; + if($thema=='') + { + echo "Thema muss eingegeben werden'"; + $error = true; + } + + $freigabevon_sav = $datum_obj->mktime_datumundzeit($freigabevon); + $freigabebis_sav = $datum_obj->mktime_datumundzeit($freigabebis); + + if($freigabevon_sav>$freigabebis_sav) + { + echo "Von Datum darf nicht grösser als Bis Datum sein"; + $error=true; + } + if(!$freigabebis_sav) + { + echo "Bis-Datum hat ein ungültiges Format"; + $error=true; + } + + if(!$freigabevon_sav) + { + echo "Von-Datum hat ein ungültiges Format"; + $error=true; + } + + if(!$error) + { + $uebung_obj = new uebung($conn); + $uebung_obj->gewicht=''; + $uebung_obj->punkte=''; + $uebung_obj->angabedatei=''; + $uebung_obj->freigabevon = date('Y-m-d H:i',$freigabevon_sav); + $uebung_obj->freigabebis = date('Y-m-d H:i',$freigabebis_sav); + $uebung_obj->abgabe=false; + $uebung_obj->beispiele=true; + $uebung_obj->bezeichnung=$thema; + $uebung_obj->positiv=true; + $uebung_obj->defaultbemerkung=''; + $uebung_obj->lehreinheit_id=$lehreinheit_id; + $uebung_obj->updateamum = date('Y-m-d H:i:s'); + $uebung_obj->updatevon = $user; + $uebung_obj->uebung_id = $uebung_id; + $uebung_obj->statistik = (isset($_POST['statistik'])?true:false); + + if($uebung_obj->save(false)) + echo "Die Änderung wurde gespeichert!"; + else + echo "$uebung_obj->errormsg"; + } + +} + +//Neues Beispiel anlegen +if(isset($_POST['beispiel_neu']) || isset($_POST['beispiel_edit'])) +{ + if(isset($_POST['beispiel_edit']) && (!isset($beispiel_id) || !is_numeric($beispiel_id))) + { + echo "Beispiel_id ist ungueltig"; + } + else + { + if(isset($uebung_id) && $uebung_id!='' && is_numeric($uebung_id)) + { + $punkte = (isset($_POST['punkte'])?$_POST['punkte']:''); + $punkte = mb_ereg_replace(',','.',$punkte); + if(is_numeric($punkte) && $punkte!='') + { + if($bezeichnung!='') + { + $beispiel_obj = new beispiel($conn); + if(isset($_POST['beispiel_edit'])) + { + $beispiel_obj->beispiel_id= $beispiel_id; + $beispiel_obj->new=false; + } + else + { + $beispiel_obj->new=true; + $beispiel_obj->insertamum = date('Y-m-d H:i:s'); + $beispiel_obj->insertvon = $user; + } + + $beispiel_obj->uebung_id = $uebung_id; + $beispiel_obj->bezeichnung = $bezeichnung; + $beispiel_obj->punkte = $punkte; + $beispiel_obj->updateamum = date('Y-m-d H:i:s'); + $beispiel_obj->updatevon = $user; + if($beispiel_obj->save()) + { + $beispiel_id=''; + } + else + echo "$beispiel_obj->errormsg"; + } + else + echo "Bezeichnung muss eingegeben werden"; + } + else + echo "Punkte muss eine gültige Zahl sein"; + } + else + echo "Zugehoerige Uebung ist fehlerhaft"; + } +} + +//Eine Uebung in eine andere Lehreinheit kopieren +if(isset($_GET['kopieren']) && $_GET['kopieren']=='true') +{ + //echo "Kopiere Uebung ".$_GET['uebung_copy_id']." to ".$_POST['lehreinheit_copy_id']; + //Laden der zu kopierenden Uebung + if(is_numeric($_GET['uebung_copy_id']) && is_numeric($_POST['lehreinheit_copy_id'])) + { + //Source Uebung Laden + $qry = "SELECT * FROM campus.tbl_uebung WHERE uebung_id='".$_GET['uebung_copy_id']."'"; + if($result_source = pg_query($conn, $qry)) + { + if($row_source = pg_fetch_object($result_source)) + { + //Berechtigung Checken + $qry = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter WHERE lehreinheit_id='".$_POST['lehreinheit_copy_id']."' AND mitarbeiter_uid='$user'"; + if($row_berechtigt = pg_query($conn, $qry)) + { + if(pg_num_rows($row_berechtigt)>0 || + $rechte->isBerechtigt('admin',0) || + $rechte->isBerechtigt('admin',$lv_obj->studiengang_kz)) + { + //Schauen ob bereits eine uebung mit diesem Namen vorhanden ist + $qry = "SELECT * FROM campus.tbl_uebung WHERE lehreinheit_id='".$_POST['lehreinheit_copy_id']."' AND bezeichnung='".addslashes($row_source->bezeichnung)."'"; + $result_bezeichnung_exists = pg_query($conn, $qry); + if(pg_num_rows($result_bezeichnung_exists)==0) + { + //Uebung einfuegen + $uebung_dest = new uebung($conn); + $uebung_dest->gewicht = $row_source->punkte; + $uebung_dest->punkte = $row_source->punkte; + $uebung_dest->angabedatei = $row_source->angabedatei; + $uebung_dest->freigabevon = $row_source->freigabevon; + $uebung_dest->freigabebis = $row_source->freigabebis; + $uebung_dest->abgabe = ($row_source->abgabe=='t'?true:false); + $uebung_dest->beispiele = ($row_source->beispiele=='t'?true:false); + $uebung_dest->bezeichnung = $row_source->bezeichnung; + $uebung_dest->positiv = ($row_source->positiv=='t'?true:false); + $uebung_dest->statistik = ($row_source->statistik=='t'?true:false); + $uebung_dest->defaultbemerkung = $row_source->defaultbemerkung; + $uebung_dest->lehreinheit_id = $_POST['lehreinheit_copy_id']; + $ubeung_dest->updateamum = date('Y-m-d H:i:s'); + $uebung_dest->updatevon = $user; + $uebung_dest->insertamum = date('Y-m-d H:i:s'); + $uebung_dest->insertvon = $user; + + if($uebung_dest->save(true)) + { + //Beispiel laden + $qry = "SELECT * FROM campus.tbl_beispiel WHERE uebung_id='".$_GET['uebung_copy_id']."'"; + if($result_bsp_source = pg_query($conn, $qry)) + { + $error_bsp_save=false; + while($row_bsp_source = pg_fetch_object($result_bsp_source)) + { + //Beispiel speichern + $beispiel_dest = new beispiel($conn); + $beispiel_dest->uebung_id = $uebung_dest->uebung_id; + $beispiel_dest->bezeichnung = $row_bsp_source->bezeichnung; + $beispiel_dest->punkte = $row_bsp_source->punkte; + $beispiel_dest->updateamum = date('Y-m-d H:i:s'); + $beispiel_dest->updatevon = $user; + $beispiel_dest->insertamum = date('Y-m-d H:i:s'); + $beispiel_dest->insertvon = $user; + + if(!$beispiel_dest->save(true)) + $error_bsp_save=true; + } + + if($error_bsp_save) + echo "Fehler: Es konnten nicht alle Beispiel kopiert werden"; + else + echo "Daten wurden erfolgreich kopiert"; + } + } + else + { + + echo "Fehler beim kopieren der Daten: $uebung_dest->errormsg"; + } + } + else + echo "Fehler beim Kopieren: In der Ziel-Lehreinheit existiert bereits eine Kreuzerlliste mit diesem Namen!"; + } + else + echo "Sie haben keine Berechtigung für diese Aktion"; + } + } + else + echo "Uebung ".$_GET['uebung_copy_id']." wurde nicht gefunden"; + } + else + echo "Uebung ".$_GET['uebung_copy_id']." wurde nicht gefunden"; + } + else + echo "Fehler bei der Parameteruebergabe"; +} + +//Uebersichtstabelle +if(isset($uebung_id) && $uebung_id!='') +{ + echo "
    "; + //Bearbeiten der ausgewaehlten Uebung + echo "
    \n"; + echo "\n"; + echo ""; + + $uebung_obj = new uebung($conn); + $uebung_obj->load($uebung_id); + + echo " + + + + + +
    Ausgewählte Kreuzerlliste bearbeiten 
     
    Thema$error_thema
    Freigabevon mktime_fromtimestamp($uebung_obj->freigabevon))."'>
    (Format: 31.12.2007 14:30)bis mktime_fromtimestamp($uebung_obj->freigabebis))."'>
    Statistik für Studenten anzeigen statistik?'checked':'').">
    +
    "; + + $beispiel_obj = new beispiel($conn); + $beispiel_obj->load_beispiel($uebung_id); + $anzahl = count($beispiel_obj->beispiele); + echo "
    "; + + //Beispiel neu Anlegen + echo "
    \n"; + echo "\n"; + echo "\n\n"; + + echo ""; + echo ""; + + echo "
    Neues Beispiel anlegen
     
    Bezeichnung "; + echo " Punkte
    +
    "; + + echo "
    "; + + //Uebersicht der Beispiele + echo "
    \n"; + echo "\n"; + echo "\n\n"; + + if($anzahl>0) + { + echo "\n"; + foreach ($beispiel_obj->beispiele as $row) + { + echo " + + "; + } + echo ""; + } + else + echo ""; + + echo "
    Vorhandene Beispiele
     
    BeispielPunkteAuswahl
    ".$row->bezeichnung."$row->punkte
    Derzeit sind keine Beispiele angelegt
    +
    "; + + echo "
    "; + + //Beispiel Aendern + $error_msg = ''; + if(isset($beispiel_id) && $beispiel_id!='') + { + //Bearbeiten eines Beispiels + if($beispiel_obj->load($beispiel_id)) + { + echo "
    \n"; + echo "\n"; + echo "\n\n"; + + echo ""; + echo ""; + + echo "
    Beispiel bearbeiten
     
    Bezeichnung "; + echo " Punkte
    +


    "; + } + else + $error_msg = $beispiel_obj->errormsg; + } + echo "
    "; +} +else +{ + //Gesamtuebersicht ueber alle Uebungen + echo "
    "; + echo "
    "; + echo ""; + + $uebung_obj = new uebung($conn); + $uebung_obj->load_uebung($lehreinheit_id); + $anzahl = count($uebung_obj->uebungen); + $copy_content="
    Vorhandene Kreuzerllisten bearbeiten
    "; + $has_copy_content=false; + if($anzahl>0) + { + echo ""; + + //Alle Lehreinheiten holen die zu dieser lehrveranstaltung gehoeren + //und der angemeldete User berechtigt ist + $copy_option_content = array(); + for($i=0;$ilehreinheit_id) + { + //zugeteilte Lektoren holen + $qry_lektoren = "SELECT * FROM lehre.tbl_lehreinheitmitarbeiter JOIN public.tbl_mitarbeiter using(mitarbeiter_uid) WHERE lehreinheit_id='$row_alle_lehreinheiten->lehreinheit_id'"; + if($result_lektoren = pg_query($conn, $qry_lektoren)) + { + $lektoren = '( '; + $j=0; + while($row_lektoren = pg_fetch_object($result_lektoren)) + { + $lektoren .= $row_lektoren->kurzbz; + $j++; + if($jgruppe_kurzbz=='') + $gruppen.=$row_gruppen->semester.$row_gruppen->verband.$row_gruppen->gruppe; + else + $gruppen.=$row_gruppen->gruppe_kurzbz; + $j++; + if($jlehreinheit_id] = "$row_alle_lehreinheiten->lfbez-$row_alle_lehreinheiten->lehrform_kurzbz - $gruppen $lektoren"; + } + } + + //Uebungen durchlaufen + foreach ($uebung_obj->uebungen as $row) + { + $has_option_content=false; + echo ""; + //Wenn andere Lehreinheiten vorhanden sind dann wird die moeglichkeit zum kopieren von + //Uebungen in diese Lehreinheiten angeboten. + if(isset($result_alle_lehreinheiten) && pg_num_rows($result_alle_lehreinheiten)>1) + { + $copy_content.= ''; + $copy_content.= '"; + } + } + echo ""; + } + else + echo ""; + + echo "
    Übung in andere LE kopieren
     
     
     
    ThemaFreigeschaltenAuswahl 
    ".$row->bezeichnung.""; + + if((strtotime(strftime($row->freigabevon))<=time()) && (strtotime(strftime($row->freigabebis))>=time())) + echo 'Ja'; + else + echo 'Nein'; + echo "
    '; + $copy_option_content = ''; + //Lehreinheiten fuer Combo durchgehen und schauen ob + //fuer diese Lehreinheit bereits eine Uebung mit gleichem Namen existiert + //Falls ja wird diese nicht in der Combo angezeigt + foreach ($copy_le_content as $id=>$bezeichnung) + { + $qry = "SELECT uebung_id FROM campus.tbl_uebung WHERE lehreinheit_id='$id' AND bezeichnung='$row->bezeichnung'"; + //echo $qry; + if($result_vorhanden = pg_query($conn, $qry)) + { + if(pg_num_rows($result_vorhanden)==0) + { + $copy_option_content.= "\n"; + $has_option_content=true; + $has_copy_content=true; + } + } + } + //Wenn eintraege fuer Combo vorhanden sind dann wirds angezeigt + if($has_option_content) + { + $copy_content.= "\n"; + $copy_content.= "\n '; + $copy_content.= "   "; + $copy_content.= "\n"; + } + else + { + $copy_content.=" "; + } + $copy_content.= "
    Derzeit sind keine Kreuzerllisten angelegt
    +

    "; + + //Kopier-Buttons anzeigen + $copy_content.='
    '; + echo "
    "; + if($has_copy_content) + echo $copy_content; + echo "
    "; + + //Uebung neu anlegen + if(!isset($_POST['uebung_neu'])) + { + $thema = "Uebung ".($anzahl<9?'0'.($anzahl+1):($anzahl+1)); + $anzahlderbeispiele = 10; + $punkteprobeispiel = 1; + $freigabevon = date('d.m.Y H:i'); + $freigabebis = date('d.m.Y H:i'); + } + + echo " +
    + + + + + + + + + +
    Neue Kreuzerlliste anlegen
    Thema$error_thema
    Anzahl der Beispiele$error_anzahlderbeispiele
    Anzahl Punkte pro Beispiel$error_punkteprobeispiel
    Freigabevon $error_freigabevon
    (Format: 31.12.2007 14:30)bis $error_freigabebis
    Statistik für Studenten anzeigen
    +
    + "; +} +?> + + + \ No newline at end of file diff --git a/cis/private/lehre/lector_choice.php b/cis/private/lehre/lector_choice.php index 08d525072..97132ca13 100644 --- a/cis/private/lehre/lector_choice.php +++ b/cis/private/lehre/lector_choice.php @@ -32,7 +32,7 @@ $user = get_uid(); - $rechte= new benutzerberechtigung($sql_conn); + $rechte= new benutzerberechtigung(); $rechte->getBerechtigungen($user); if(isset($_GET['lvid']) && is_numeric($_GET['lvid'])) diff --git a/cis/private/lehre/lesson.php b/cis/private/lehre/lesson.php index a37f47db5..50a32d9e0 100644 --- a/cis/private/lehre/lesson.php +++ b/cis/private/lehre/lesson.php @@ -63,7 +63,7 @@ //$fachbereich_id = $row->fachbereich_id; $short_short_name = $lv->lehreverzeichnis; - $rechte = new benutzerberechtigung($sql_conn); + $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); //Handbuch ausliefern diff --git a/cis/private/lehre/menu.php b/cis/private/lehre/menu.php index 908d89ef3..c6436d3af 100644 --- a/cis/private/lehre/menu.php +++ b/cis/private/lehre/menu.php @@ -39,7 +39,7 @@ if (isset($_GET['term_id'])) $term_id=$_GET['term_id']; - $rechte=new benutzerberechtigung($sql_conn); + $rechte=new benutzerberechtigung(); $rechte->getBerechtigungen($user); if(check_lektor($user,$sql_conn)) diff --git a/cis/private/lehre/moodle_wartung.php b/cis/private/lehre/moodle_wartung.php index c83ef8ea3..be6e7ca12 100644 --- a/cis/private/lehre/moodle_wartung.php +++ b/cis/private/lehre/moodle_wartung.php @@ -1,388 +1,388 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -require_once('../../config.inc.php'); -require_once('../../../include/functions.inc.php'); -require_once('../../../include/benutzerberechtigung.class.php'); -require_once('../../../include/moodle_course.class.php'); -require_once('../../../include/moodle_user.class.php'); -require_once('../../../include/lehrveranstaltung.class.php'); -require_once('../../../include/lehreinheit.class.php'); -require_once('../../../include/lehreinheitgruppe.class.php'); -require_once('../../../include/lehreinheitmitarbeiter.class.php'); -require_once('../../../include/studiengang.class.php'); - -if(!$conn = pg_pconnect(CONN_STRING)) - die('Fehler beim Connecten zur DB'); - -//$conn_moodle=''; -if(!$conn_moodle = pg_pconnect(CONN_STRING_MOODLE)) - die('Fehler beim Connecten zur DB'); - -$user = get_uid(); - -if(isset($_GET['lvid'])) - $lvid=$_GET['lvid']; -else - die('lvid muss uebergeben werden'); - -if(isset($_GET['stsem'])) - $stsem = $_GET['stsem']; -else - die('Es wurde kein Studiensemester uebergeben'); - -$art = (isset($_POST['art'])?$_POST['art']:'lv'); - -$berechtigt = false; - -//Pruefen ob Rechte fuer diese LV vorhanden sind -$qry = "SELECT distinct vorname, nachname, tbl_benutzer.uid as uid FROM lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, public.tbl_benutzer, public.tbl_person WHERE tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND tbl_person.person_id=tbl_benutzer.person_id AND lehrveranstaltung_id='$lvid' AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid NOT like '_Dummy%' AND tbl_person.aktiv=true AND studiensemester_kurzbz='$stsem' ORDER BY nachname, vorname"; - -if($result = pg_query($conn, $qry)) -{ - while($row_lector = pg_fetch_object($result)) - { - if($user==$row_lector->uid) - $berechtigt=true; - } -} - -$rechte = new benutzerberechtigung($conn); -$rechte->getBerechtigungen($user); - -if($rechte->isBerechtigt('admin')) - $berechtigt=true; - -$lv = new lehrveranstaltung($conn); -$lv->load($lvid); - -echo ' - - - - - - - - - - - - - - - - - - - - -
     '.$lv->bezeichnung.' ('.$stsem.')
     
      - - - - '; - -echo '
    '; -if(isset($_POST['neu'])) -{ - if($_POST['bezeichnung']=='') - { - echo 'Bezeichnung muss angegeben werden
    '; - } - else - { - $lehrveranstaltung = new lehrveranstaltung($conn); - $lehrveranstaltung->load($lvid); - $studiengang = new studiengang($conn); - $studiengang->load($lehrveranstaltung->studiengang_kz); - - //Kurzbezeichnung generieren Format: STSEM-STG-SEM-LV/LEID/LEID/LEID... - $shortname = $stsem.'-'.$studiengang->kuerzel.'-'.$lehrveranstaltung->semester.'-'.$lehrveranstaltung->kurzbz; - foreach ($_POST as $key=>$value) - { - if(mb_strstr($key, 'lehreinheit_')) - { - $shortname.='/'.$value; - } - } - //Gesamte LV zu einem Moodle Kurs zusammenlegen - if($art=='lv') - { - $mdl_course = new moodle_course($conn, $conn_moodle); - - $mdl_course->lehrveranstaltung_id = $lvid; - $mdl_course->studiensemester_kurzbz = $stsem; - $mdl_course->mdl_fullname = $_POST['bezeichnung']; - $mdl_course->mdl_shortname = $shortname; - $mdl_course->insertamum = date('Y-m-d H:i:s'); - $mdl_course->insertvon = $user; - $mdl_course->gruppen = isset($_POST['gruppen']); - - //Moodlekurs anlegen - if($mdl_course->create_moodle()) - { - //Eintrag in der Vilesci DB - $mdl_course->create_vilesci(); - - $mdl_user = new moodle_user($conn, $conn_moodle); - //Lektoren Synchronisieren - if(!$mdl_user->sync_lektoren($mdl_course->mdl_course_id)) - echo $mdl_user->errormsg; - - $mdl_user = new moodle_user($conn, $conn_moodle); - //Studenten Synchronisieren - if(!$mdl_user->sync_studenten($mdl_course->mdl_course_id)) - echo $mdl_user->errormsg; - } - } - elseif($art=='le') //Getrennte Kurse fuer die Lehreinheiten - { - $lehreinheiten=array(); - - foreach ($_POST as $key=>$value) - { - if(mb_strstr($key, 'lehreinheit_')) - { - $lehreinheiten[]=$value; - } - } - - if(count($lehreinheiten)>0) - { - $mdl_course = new moodle_course($conn, $conn_moodle); - - $mdl_course->mdl_fullname = $_POST['bezeichnung']; - $mdl_course->mdl_shortname = $shortname; - $mdl_course->studiensemester_kurzbz = $stsem; - $mdl_course->insertamum = date('Y-m-d H:i:s'); - $mdl_course->insertvon = $user; - $mdl_course->lehreinheit_id=$lehreinheiten[0]; - - //Kurs im Moodle anlegen - if($mdl_course->create_moodle()) - { - //fuer jede Lehreinheit einen Eintrag in VilesciDB anlegen - foreach ($lehreinheiten as $value) - { - $mdl_course->lehreinheit_id = $value; - if(!$mdl_course->create_vilesci()) - echo '
    Fehler beim Anlegen:'.$mdl_course->errormsg; - } - - $mdl_user = new moodle_user($conn, $conn_moodle); - //Lektoren Synchronisieren - if(!$mdl_user->sync_lektoren($mdl_course->mdl_course_id)) - echo $mdl_user->errormsg; - - $mdl_user = new moodle_user($conn, $conn_moodle); - //Studenten Synchronisieren - if(!$mdl_user->sync_studenten($mdl_course->mdl_course_id)) - echo $mdl_user->errormsg; - } - } - else - { - echo 'Es muss mindestens eine Lehreinheit markiert sein
    '; - } - } - else - die('art ist unbekannt'); - } -} -//Gruppen Syncro ein/aus schalten -if(isset($_POST['changegruppe'])) -{ - if(isset($_POST['moodle_id']) && is_numeric($_POST['moodle_id'])) - { - $mcourse = new moodle_course($conn, $conn_moodle); - if($mcourse->updateGruppenSync($_POST['moodle_id'], isset($_POST['gruppen']))) - echo 'Daten wurden aktualisiert
    '; - else - echo 'Fehler beim Aktualiseren der Daten'; - } - else - { - echo 'Es wurde keine oder eine ungueltige ID übergeben'; - } -} - -//Anlegen eines Testkurses -if(isset($_GET['action']) && $_GET['action']=='createtestkurs') -{ - $mdl_course = new moodle_course($conn, $conn_moodle); - if(!$mdl_course->loadTestkurs($lvid, $stsem)) - { - $lehrveranstaltung = new lehrveranstaltung($conn); - $lehrveranstaltung->load($lvid); - $studiengang = new studiengang($conn); - $studiengang->load($lehrveranstaltung->studiengang_kz); - - //Kurzbezeichnung generieren Format: STSEM-STG-SEM-LV/LEID/LEID/LEID... - $shortname = 'TK-'.$stsem.'-'.$studiengang->kuerzel.'-'.$lehrveranstaltung->semester.'-'.$lehrveranstaltung->kurzbz; - - $mdl_course->lehrveranstaltung_id = $lvid; - $mdl_course->studiensemester_kurzbz = $stsem; - $mdl_course->mdl_fullname = 'Testkurs - '.$lehrveranstaltung->bezeichnung; - $mdl_course->mdl_shortname = $shortname; - - //TestKurs erstellen - if($mdl_course->createTestkurs($lvid, $stsem)) - { - $id=$mdl_course->mdl_course_id; - $errormsg=''; - - $mdl_user = new moodle_user($conn, $conn_moodle); - //Lektoren zuweisen - if(!$mdl_user->sync_lektoren($id, $lvid, $stsem)) - $errormsg.='Fehler bei der Lektorenzuordnung:'.$mdl_user->errormsg.'
    '; - //Teststudenten zuweisen - if(!$mdl_user->createTestStudentenZuordnung($id)) - $errormsg.='Fehler bei der Studentenzuordnung:'.$mdl_user->errormsg.'
    '; - - if($errormsg!='') - echo $errormsg; - else - echo 'Der Testkurs wurde erfolgreich angelegt
    '; - } - } - else - { - echo 'Es existiert bereits ein Testkurs
    '; - } -} - -$mdl_course = new moodle_course($conn, $conn_moodle); -if($mdl_course->course_exists_for_lv($lvid, $stsem) || $mdl_course->course_exists_for_allLE($lvid, $stsem)) -{ - echo 'Es ist bereits ein Moodle Kurs für die Gesamt LV vorhanden'; -} -else -{ - //wenn bereits ein Moodle Kurs fuer eine Lehreinheit angelegt wurde, dann dass - //anlegen fuer die Lehrveranstaltung verhindern - $qry = "SELECT 1 FROM lehre.tbl_moodle - WHERE lehreinheit_id in(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit - WHERE lehrveranstaltung_id='".addslashes($lvid)."' - AND studiensemester_kurzbz='".addslashes($stsem)."')"; - $disable_lv=''; - if($result = pg_query($conn, $qry)) - if(pg_num_rows($result)>0) - { - $disable_lv='disabled="true"'; - //wenn schon ein Moodle Kurs zu einer Lehreinheit angelegt wurde, - //dann ist standardmaessig die Lehreinheit markiert - if($art=='lv') - $art='le'; - } - - echo 'Moodle Kurs anlegen:

    -
    - einen Moodle Kurs für die gesamte LV anlegen
    - einen Moodle Kurs für einzelne Lehreinheiten anlegen - '; - - $le = new lehreinheit($conn); - $le->load_lehreinheiten($lv->lehrveranstaltung_id, $stsem); - echo ''; - - echo '
    Kursbezeichnung: '; - echo '
    Gruppen übernehmen: '; - echo '

    -
    '; -} -echo '
    '; -echo 'Vorhandene Moodle Kurse für diese LV'; -if(!$mdl_course->getAll($lvid, $stsem)) - echo $mdl_course->errormsg; -echo ''; -foreach ($mdl_course->result as $course) -{ - echo ''; - echo ''; - echo ""; -} -echo '
    '.$course->mdl_fullname.'
    gruppen?'checked':'').">Gruppen übernehmen
    '; -echo '
    '; - -echo '


    '; -echo 'Testkurse

    '; -$mdlcourse = new moodle_course($conn, $conn_moodle); -if($mdlcourse->loadTestkurs($lvid, $stsem)) -{ - echo ''.$mdlcourse->mdl_fullname.''; -} -else -{ - echo "klicken Sie hier um einen Testkurs zu erstellen"; -} -echo '
    - -'; +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +require_once('../../config.inc.php'); +require_once('../../../include/functions.inc.php'); +require_once('../../../include/benutzerberechtigung.class.php'); +require_once('../../../include/moodle_course.class.php'); +require_once('../../../include/moodle_user.class.php'); +require_once('../../../include/lehrveranstaltung.class.php'); +require_once('../../../include/lehreinheit.class.php'); +require_once('../../../include/lehreinheitgruppe.class.php'); +require_once('../../../include/lehreinheitmitarbeiter.class.php'); +require_once('../../../include/studiengang.class.php'); + +if(!$conn = pg_pconnect(CONN_STRING)) + die('Fehler beim Connecten zur DB'); + +//$conn_moodle=''; +if(!$conn_moodle = pg_pconnect(CONN_STRING_MOODLE)) + die('Fehler beim Connecten zur DB'); + +$user = get_uid(); + +if(isset($_GET['lvid'])) + $lvid=$_GET['lvid']; +else + die('lvid muss uebergeben werden'); + +if(isset($_GET['stsem'])) + $stsem = $_GET['stsem']; +else + die('Es wurde kein Studiensemester uebergeben'); + +$art = (isset($_POST['art'])?$_POST['art']:'lv'); + +$berechtigt = false; + +//Pruefen ob Rechte fuer diese LV vorhanden sind +$qry = "SELECT distinct vorname, nachname, tbl_benutzer.uid as uid FROM lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, public.tbl_benutzer, public.tbl_person WHERE tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND tbl_person.person_id=tbl_benutzer.person_id AND lehrveranstaltung_id='$lvid' AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid NOT like '_Dummy%' AND tbl_person.aktiv=true AND studiensemester_kurzbz='$stsem' ORDER BY nachname, vorname"; + +if($result = pg_query($conn, $qry)) +{ + while($row_lector = pg_fetch_object($result)) + { + if($user==$row_lector->uid) + $berechtigt=true; + } +} + +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + +if($rechte->isBerechtigt('admin')) + $berechtigt=true; + +$lv = new lehrveranstaltung($conn); +$lv->load($lvid); + +echo ' + + + + + + + + + + + + + + + + + + + + +
     '.$lv->bezeichnung.' ('.$stsem.')
     
      + + + + '; + +echo '
    '; +if(isset($_POST['neu'])) +{ + if($_POST['bezeichnung']=='') + { + echo 'Bezeichnung muss angegeben werden
    '; + } + else + { + $lehrveranstaltung = new lehrveranstaltung($conn); + $lehrveranstaltung->load($lvid); + $studiengang = new studiengang($conn); + $studiengang->load($lehrveranstaltung->studiengang_kz); + + //Kurzbezeichnung generieren Format: STSEM-STG-SEM-LV/LEID/LEID/LEID... + $shortname = $stsem.'-'.$studiengang->kuerzel.'-'.$lehrveranstaltung->semester.'-'.$lehrveranstaltung->kurzbz; + foreach ($_POST as $key=>$value) + { + if(mb_strstr($key, 'lehreinheit_')) + { + $shortname.='/'.$value; + } + } + //Gesamte LV zu einem Moodle Kurs zusammenlegen + if($art=='lv') + { + $mdl_course = new moodle_course($conn, $conn_moodle); + + $mdl_course->lehrveranstaltung_id = $lvid; + $mdl_course->studiensemester_kurzbz = $stsem; + $mdl_course->mdl_fullname = $_POST['bezeichnung']; + $mdl_course->mdl_shortname = $shortname; + $mdl_course->insertamum = date('Y-m-d H:i:s'); + $mdl_course->insertvon = $user; + $mdl_course->gruppen = isset($_POST['gruppen']); + + //Moodlekurs anlegen + if($mdl_course->create_moodle()) + { + //Eintrag in der Vilesci DB + $mdl_course->create_vilesci(); + + $mdl_user = new moodle_user($conn, $conn_moodle); + //Lektoren Synchronisieren + if(!$mdl_user->sync_lektoren($mdl_course->mdl_course_id)) + echo $mdl_user->errormsg; + + $mdl_user = new moodle_user($conn, $conn_moodle); + //Studenten Synchronisieren + if(!$mdl_user->sync_studenten($mdl_course->mdl_course_id)) + echo $mdl_user->errormsg; + } + } + elseif($art=='le') //Getrennte Kurse fuer die Lehreinheiten + { + $lehreinheiten=array(); + + foreach ($_POST as $key=>$value) + { + if(mb_strstr($key, 'lehreinheit_')) + { + $lehreinheiten[]=$value; + } + } + + if(count($lehreinheiten)>0) + { + $mdl_course = new moodle_course($conn, $conn_moodle); + + $mdl_course->mdl_fullname = $_POST['bezeichnung']; + $mdl_course->mdl_shortname = $shortname; + $mdl_course->studiensemester_kurzbz = $stsem; + $mdl_course->insertamum = date('Y-m-d H:i:s'); + $mdl_course->insertvon = $user; + $mdl_course->lehreinheit_id=$lehreinheiten[0]; + + //Kurs im Moodle anlegen + if($mdl_course->create_moodle()) + { + //fuer jede Lehreinheit einen Eintrag in VilesciDB anlegen + foreach ($lehreinheiten as $value) + { + $mdl_course->lehreinheit_id = $value; + if(!$mdl_course->create_vilesci()) + echo '
    Fehler beim Anlegen:'.$mdl_course->errormsg; + } + + $mdl_user = new moodle_user($conn, $conn_moodle); + //Lektoren Synchronisieren + if(!$mdl_user->sync_lektoren($mdl_course->mdl_course_id)) + echo $mdl_user->errormsg; + + $mdl_user = new moodle_user($conn, $conn_moodle); + //Studenten Synchronisieren + if(!$mdl_user->sync_studenten($mdl_course->mdl_course_id)) + echo $mdl_user->errormsg; + } + } + else + { + echo 'Es muss mindestens eine Lehreinheit markiert sein
    '; + } + } + else + die('art ist unbekannt'); + } +} +//Gruppen Syncro ein/aus schalten +if(isset($_POST['changegruppe'])) +{ + if(isset($_POST['moodle_id']) && is_numeric($_POST['moodle_id'])) + { + $mcourse = new moodle_course($conn, $conn_moodle); + if($mcourse->updateGruppenSync($_POST['moodle_id'], isset($_POST['gruppen']))) + echo 'Daten wurden aktualisiert
    '; + else + echo 'Fehler beim Aktualiseren der Daten'; + } + else + { + echo 'Es wurde keine oder eine ungueltige ID übergeben'; + } +} + +//Anlegen eines Testkurses +if(isset($_GET['action']) && $_GET['action']=='createtestkurs') +{ + $mdl_course = new moodle_course($conn, $conn_moodle); + if(!$mdl_course->loadTestkurs($lvid, $stsem)) + { + $lehrveranstaltung = new lehrveranstaltung($conn); + $lehrveranstaltung->load($lvid); + $studiengang = new studiengang($conn); + $studiengang->load($lehrveranstaltung->studiengang_kz); + + //Kurzbezeichnung generieren Format: STSEM-STG-SEM-LV/LEID/LEID/LEID... + $shortname = 'TK-'.$stsem.'-'.$studiengang->kuerzel.'-'.$lehrveranstaltung->semester.'-'.$lehrveranstaltung->kurzbz; + + $mdl_course->lehrveranstaltung_id = $lvid; + $mdl_course->studiensemester_kurzbz = $stsem; + $mdl_course->mdl_fullname = 'Testkurs - '.$lehrveranstaltung->bezeichnung; + $mdl_course->mdl_shortname = $shortname; + + //TestKurs erstellen + if($mdl_course->createTestkurs($lvid, $stsem)) + { + $id=$mdl_course->mdl_course_id; + $errormsg=''; + + $mdl_user = new moodle_user($conn, $conn_moodle); + //Lektoren zuweisen + if(!$mdl_user->sync_lektoren($id, $lvid, $stsem)) + $errormsg.='Fehler bei der Lektorenzuordnung:'.$mdl_user->errormsg.'
    '; + //Teststudenten zuweisen + if(!$mdl_user->createTestStudentenZuordnung($id)) + $errormsg.='Fehler bei der Studentenzuordnung:'.$mdl_user->errormsg.'
    '; + + if($errormsg!='') + echo $errormsg; + else + echo 'Der Testkurs wurde erfolgreich angelegt
    '; + } + } + else + { + echo 'Es existiert bereits ein Testkurs
    '; + } +} + +$mdl_course = new moodle_course($conn, $conn_moodle); +if($mdl_course->course_exists_for_lv($lvid, $stsem) || $mdl_course->course_exists_for_allLE($lvid, $stsem)) +{ + echo 'Es ist bereits ein Moodle Kurs für die Gesamt LV vorhanden'; +} +else +{ + //wenn bereits ein Moodle Kurs fuer eine Lehreinheit angelegt wurde, dann dass + //anlegen fuer die Lehrveranstaltung verhindern + $qry = "SELECT 1 FROM lehre.tbl_moodle + WHERE lehreinheit_id in(SELECT lehreinheit_id FROM lehre.tbl_lehreinheit + WHERE lehrveranstaltung_id='".addslashes($lvid)."' + AND studiensemester_kurzbz='".addslashes($stsem)."')"; + $disable_lv=''; + if($result = pg_query($conn, $qry)) + if(pg_num_rows($result)>0) + { + $disable_lv='disabled="true"'; + //wenn schon ein Moodle Kurs zu einer Lehreinheit angelegt wurde, + //dann ist standardmaessig die Lehreinheit markiert + if($art=='lv') + $art='le'; + } + + echo 'Moodle Kurs anlegen:

    + + einen Moodle Kurs für die gesamte LV anlegen
    + einen Moodle Kurs für einzelne Lehreinheiten anlegen + '; + + $le = new lehreinheit($conn); + $le->load_lehreinheiten($lv->lehrveranstaltung_id, $stsem); + echo ''; + + echo '
    Kursbezeichnung: '; + echo '
    Gruppen übernehmen: '; + echo '

    + '; +} +echo '
    '; +echo 'Vorhandene Moodle Kurse für diese LV'; +if(!$mdl_course->getAll($lvid, $stsem)) + echo $mdl_course->errormsg; +echo ''; +foreach ($mdl_course->result as $course) +{ + echo ''; + echo ''; + echo ""; +} +echo '
    '.$course->mdl_fullname.'
    gruppen?'checked':'').">Gruppen übernehmen
    '; +echo '
    '; + +echo '


    '; +echo 'Testkurse

    '; +$mdlcourse = new moodle_course($conn, $conn_moodle); +if($mdlcourse->loadTestkurs($lvid, $stsem)) +{ + echo ''.$mdlcourse->mdl_fullname.''; +} +else +{ + echo "klicken Sie hier um einen Testkurs zu erstellen"; +} +echo '
    + +'; ?> \ No newline at end of file diff --git a/cis/private/lehre/upload.php b/cis/private/lehre/upload.php index d2095a968..f2c611361 100644 --- a/cis/private/lehre/upload.php +++ b/cis/private/lehre/upload.php @@ -1,1419 +1,1419 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ - - require_once('../../../include/functions.inc.php'); - require_once('../../config.inc.php'); - require_once('../../../include/benutzerberechtigung.class.php'); - - //Connection Herstellen - if(!$sql_conn = pg_pconnect(CONN_STRING)) - die('Fehler beim oeffnen der Datenbankverbindung'); - $user = get_uid(); - - - - - if(isset($_GET['course_id'])) - $course_id = $_GET['course_id']; - - if(isset($_GET['term_id'])) - $term_id = $_GET['term_id']; - - if(isset($_GET['short'])) - $short = $_GET['short']; - - - $rechte = new benutzerberechtigung(); -# $rechte->benutzerberechtigung($sql_conn); - $rechte->getBerechtigungen($user); - - if(check_lektor($user,$sql_conn)) - $is_lector=true; - else - $is_lector=false; - - $upload_root = "../../../documents"; - - if(isset($subdir)) - { - if(substr_count($subdir, '..') > 0 || substr_count($subdir, '.') > 0) - { - unset($subdir); - } - } - - if($is_lector) - { - $islector = true; - } - else - { - $sql_query = "SELECT student_uid FROM public.tbl_student WHERE student_uid='$user'"; - if($result_student = pg_query($sql_conn, $sql_query)) - { - $num_rows_student = pg_num_rows($result_student); - - if(!($num_rows_student > 0)) - { - die('

    Der Benutzer '.$user.' konnte nicht zugeordnet werden!

    '); - } - } - else - die('

    Der Benutzer '.$user.' konnte nicht zugeordnet werden!

    '); - - $islector = false; - } -?> - - - - - - - - - - - - - - - - - - - - - - - - - - "; - - echo ""; - ?> - - - - - - - - - - - - - kuerzel&subdir=$subdir\" enctype=\"multipart/form-data\" onSubmit=\"return ConfirmDir(this);\">"; - } - else - { - echo "kuerzel\" enctype=\"multipart/form-data\" onSubmit=\"return ConfirmDir(this);\">"; - } - } - else if(isset($short)) - { - if(isset($subdir) && $subdir != "") - { - echo ""; - } - else - { - echo ""; - } - } - else - { - if(isset($subdir) && $subdir != "") - { - echo ""; - } - else - { - echo ""; - } - } - - while($entry = $dest_dir->read()) - { - if($entry != "." && $entry != ".." && @is_dir($dest_dir->path.'/'.$entry)) - { - $dir_empty = false; - $check_state = '_check_state_'.$dir_count; - - if(isset($$check_state)) - { - echo ""; - - $sub_dir_filesize = 0; - $sub_dir_filecount = 0; - - $dir_count++; - } - } - - if(isset($delete_dir)) - { - unset($delete_dir); - die(""); - } - - if(isset($b_refresh_dir)) - { - die(""); - } - - if(!isset($dir_empty) || $dir_empty == true) - { - echo ""; - } - - echo ""; - } - else - { - $dir_count = 0; - - echo ""; - } - ?> - - - - - - - - - - - - - - path); - - if(isset($dest_dir) && $dest_dir != "") - { - $file_count = 0; - - if(isset($row_lesson) && !isset($short)) - { - if(isset($subdir) && $subdir != "") - { - echo "kuerzel&subdir=$subdir\" enctype=\"multipart/form-data\" onSubmit=\"return ConfirmFile(this);\">"; - } - else - { - echo "kuerzel\" enctype=\"multipart/form-data\" onSubmit=\"return ConfirmFile(this);\">"; - } - } - else if($short) - { - if(isset($subdir) && $subdir != "") - { - echo ""; - } - else - { - echo ""; - } - } - else - { - if(isset($subdir) && $subdir != "") - { - echo ""; - } - else - { - echo ""; - } - } - - while($entry = $dest_dir->read()) - { - if(!@is_dir($dest_dir->path.'/'.$entry) && substr($entry,0,1)!=".") - { - $null_file = false; - $check_state = '_check_state_'.$file_count; - - if(isset($$check_state)) - { - echo ""; - - @$total_filesize += $cur_filesize; - - $file_count++; - } - } - - if(!isset($total_filesize)) - { - $total_filesize = 0; - } - - if(isset($delete_file)) - { - unset($delete_file); - die(""); - } - - if(isset($b_refresh_files)) - { - die(""); - } - - if(!isset($null_file) || $null_file == true) - { - echo ""; - } - else - { - echo ""; - } - - echo ""; - } - else - { - $file_count = 0; - - echo ""; - echo ""; - } - - @$total_filecount += $file_count; - - if(!isset($total_filesize)) - { - $total_filesize = 0; - } - ?> - - - - - Fehler: Sie haben versucht eine Datei auf den Server zu laden deren Dateiformat nicht unterstützt wird.'; - } - else if(isset($unallowed_rename) && $unallowed_rename == true) - { - unset($unallowed_rename); - - echo ''; - } - if(isset($no_overwrite_error) && $no_overwrite_error == true) - { - unset($no_overwrite_error); - echo ''; - } - - ?> -
      - "; - echo " "; - echo " "; - echo " "; - echo "
    - - - - - '' ORDER BY typ, kurzbz"; - - if(!$result_lector_dispatch = pg_query($sql_conn, $sql_query)) - die('Fehler beim Lesen aus der Datenbank'); - - $num_rows_lector_dispatch = pg_num_rows($result_lector_dispatch); - - echo ''; - echo ''; - echo ''; - } - else - { - //$sql_query = "SELECT DISTINCT ON(bz2, lehrevz) tbl_student.studiengang_kz AS id, kurzbzlang, lehrevz AS kuerzel, (tbl_lehrfach.bezeichnung || '; XX') AS bezeichnung, SUBSTRING(tbl_lehrfach.bezeichnung || '; XX', 1, CHAR_LENGTH(tbl_lehrfach.bezeichnung || '; XX') - 4) AS bz2 FROM tbl_lehrfach, public.tbl_studiengang, public.tbl_student WHERE tbl_student.studiengang_kz='$course_id' AND tbl_student.semester='$term_id' AND lehrevz='$short' AND tbl_student.uid='$user' AND tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz LIMIT 1"; - $sql_query = "SELECT DISTINCT tbl_lehrveranstaltung.bezeichnung, lehreverzeichnis, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as kurzbz FROM public.tbl_student, lehre.tbl_lehrveranstaltung, public.tbl_studiengang WHERE lehreverzeichnis='$short' AND tbl_student.studiengang_kz='$course_id' AND tbl_student.semester='$term_id' AND tbl_student.student_uid='$user' AND tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz AND tbl_lehrveranstaltung.studiengang_kz=tbl_student.studiengang_kz AND tbl_lehrveranstaltung.semester=tbl_student.semester AND tbl_lehrveranstaltung.lehre=true LIMIT 1"; - - if(!$result_path_elements = pg_query($sql_conn, $sql_query)) - die('

    Der Benutzer '.$user.' konnte nicht zugeordnet werden!

    '); - - if(!$result_path_elements) - die('

    Der Benutzer '.$user.' konnte nicht zugeordnet werden!

    '); - $num_rows_path_elements = pg_numrows($result_path_elements); - if(!($num_rows_path_elements > 0)) - { - // Pruefen ob dieser Kurs ein Wahlfach ist - $sql_query = "SELECT DISTINCT vw_student_lehrveranstaltung.bezeichnung, vw_student_lehrveranstaltung.lehreverzeichnis, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as kurzbz FROM campus.vw_student_lehrveranstaltung , public.tbl_studiengang WHERE vw_student_lehrveranstaltung.lehre=true AND vw_student_lehrveranstaltung.studiengang_kz='".addslashes($course_id)."' AND vw_student_lehrveranstaltung.semester='".addslashes($term_id)."' AND vw_student_lehrveranstaltung.lehreverzeichnis='".addslashes($short)."' AND vw_student_lehrveranstaltung.uid='".addslashes($user)."' AND tbl_studiengang.studiengang_kz=vw_student_lehrveranstaltung.studiengang_kz LIMIT 1; "; - if(!$result_path_elements = pg_query($sql_conn, $sql_query)) - die('

    Der Benutzer '.$user.' konnte nicht zugeordnet werden!

    '); - if(!$result_path_elements) - die('

    Der Benutzer '.$user.' konnte nicht zugeordnet werden!

    '); - $num_rows_path_elements = pg_numrows($result_path_elements); - if(!($num_rows_path_elements > 0)) - { - echo "
    Datei Upload
    '; - echo ''; - - if(!($num_rows_lector_dispatch > 0) && !$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('lehre') && !$rechte->isBerechtigt('assistenz')) - { - die('

    Es konnten keine Studiengänge definiert werden!

    '); - } - - - echo 'Studiengang: '; - echo "\n\n"; - echo ' '; - - - if(!isset($course_id)) - { - foreach ($stg_arr as $key=>$elem) - { - $course_id=$key; - $course_short = $elem; - break; - } - } - - //$sql_query = "SELECT DISTINCT ON(semester) semester FROM lehre.tbl_lehrfachzuteilung WHERE lektor_uid='$user' AND NOT(lehrfachzuteilung_kurzbz='') AND studiengang_kz='$course_id' ORDER BY semester"; - $sql_query = "SELECT DISTINCT semester FROM lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehrveranstaltung WHERE tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND mitarbeiter_uid='$user' AND studiengang_kz='$course_id' AND tbl_lehrveranstaltung.lehre=true AND tbl_lehrveranstaltung.lehreverzeichnis<>'' ORDER BY semester"; - if(!$result_lector_dispatch = pg_query($sql_conn, $sql_query)) - die('Fehler beim Lesen aus der Datenbank'); - - $num_rows_lector_dispatch = pg_num_rows($result_lector_dispatch); - - if(!($num_rows_lector_dispatch > 0) && !$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('lehre') && !$rechte->isBerechtigt('assistenz')) - die('

    Es konnten keine Semester definiert werden!

    '); - - - echo 'Semester: '; - echo "\n\n"; - echo ' '; - - if(!isset($term_id)) - $term_id=$sem_arr[0]; - - //$sql_query = "SELECT DISTINCT ON(bz2, lehrfachzuteilung_kurzbz) lehrfachzuteilung_kurzbz AS kuerzel, (bezeichnung || '; XX') AS bezeichnung, SUBSTRING(bezeichnung || '; XX', 1, CHAR_LENGTH(bezeichnung || '; XX') - 4) AS bz2 FROM lehre.tbl_lehrfachzuteilung WHERE studiengang_kz='$course_id' AND semester='$term_id' AND NOT(lehrfachzuteilung_kurzbz='') AND lektor_uid='$user' ORDER BY bz2, lehrfachzuteilung_kurzbz"; - //Nur Lehrfachzuteilungen - //$sql_query = "SELECT DISTINCT lehrevz AS kuerzel, (bezeichnung || '; XX') AS bezeichnung, SUBSTRING(bezeichnung || '; XX', 1, CHAR_LENGTH(bezeichnung || '; XX') - 4) AS bz2 FROM tbl_lehrfach Join tbl_lehrveranstaltung using (lehrfach_nr) WHERE tbl_lehrfach.studiengang_kz='$course_id' AND tbl_lehrveranstaltung.semester='$term_id' AND lektor='$user' AND NOT(lehrevz='')"; - $sql_query = "SELECT DISTINCT lehreverzeichnis as kuerzel, tbl_lehrveranstaltung.bezeichnung FROM - lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehrveranstaltung - WHERE tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND - tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND - tbl_lehreinheitmitarbeiter.mitarbeiter_uid='$user' AND - tbl_lehrveranstaltung.semester='$term_id' AND - tbl_lehrveranstaltung.studiengang_kz='$course_id' AND tbl_lehrveranstaltung.lehre=true"; - //Admin und Lehreberechtigung - if($rechte->isBerechtigt('admin',$course_id) || $rechte->isBerechtigt('lehre',$course_id) || $rechte->isBerechtigt('lehre',null,null,'0') || $rechte->isBerechtigt('assistenz',$course_id)) - { - $sql_query = "SELECT DISTINCT lehreverzeichnis AS kuerzel, bezeichnung FROM lehre.tbl_lehrveranstaltung WHERE studiengang_kz='$course_id' AND semester='$term_id' AND tbl_lehrveranstaltung.lehre=true AND tbl_lehrveranstaltung.lehreverzeichnis<>''"; - } - //Fachbereichsberechtigung - if($rechte->isBerechtigt('lehre') || $rechte->isBerechtigt('admin') || $rechte->isBerechtigt('assistenz')) - { - $arr=$rechte->getFbKz(); - $ids="'-1'"; - foreach ($arr as $elem) - $ids.=",'$elem'"; - $sql_query = $sql_query . " UNION SELECT DISTINCT lehreverzeichnis AS kuerzel, tbl_lehrveranstaltung.bezeichnung - FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrfach - WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND - tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND - tbl_lehrveranstaltung.studiengang_kz='$course_id' AND tbl_lehrveranstaltung.semester='$term_id' AND fachbereich_kurzbz in ($ids) AND tbl_lehrveranstaltung.lehre=true AND tbl_lehrveranstaltung.lehreverzeichnis<>''"; - } - $sql_query .= ' ORDER BY bezeichnung, kuerzel'; - //LEHRFAECHER - - if(!$result_lector_dispatch = pg_query($sql_conn, $sql_query)) - die('

    Es konnten keine Gegenstände definiert werden!

    '); - - $num_rows_lector_dispatch = pg_num_rows($result_lector_dispatch); - //echo $sql_query; - //echo ''; - - if(!($num_rows_lector_dispatch > 0)) - { - die('

    Es konnten keine Gegenstände definiert werden!

    '); - } - - //echo '
    '; - echo 'Gegenstand: '; - echo "\n\n"; - echo ''; - echo '
    "; - die('

    Sie haben keine Berechtigung für diesen Bereich

    '); - } - } - $row = pg_fetch_object($result_path_elements, 0); - $uploaddir = mb_strtolower($row->kurzbz).'/'.$term_id.'/'.mb_strtolower($row->lehreverzeichnis).'/upload'; - } - ?> -
    - - - "; - echo " "; - echo " "; - echo " "; - } - ?> -
      Dateien automatisch überschreiben
    - - -
    - kuerzel&subdir=$subdir\" enctype=\"multipart/form-data\">"; - } - else - { - echo "
    kuerzel\" enctype=\"multipart/form-data\">"; - } - } - else if(isset($short)) - { - if(isset($subdir) && $subdir != "") - { - echo ""; - } - else - { - echo ""; - } - } - else - { - if(isset($subdir) && $subdir != "") - { - echo ""; - } - else - { - echo ""; - } - } - - echo "

    "; - - for($i = 0; $i < $numoffile; $i++) - { - $j = $i + 1; - - echo "
    "; - echo " $j. Datei: "; - echo " "; - echo " "; - echo "
    - "; - echo "
    "; - echo "Max. Uploadgröße (alle Dateien): 15 MB"; - echo " "; - echo "  
    "; - ?> - -
    -

     Neues Verzeichnis erstellen:

    -

    - path.'/'.$new_dir_name_text) && !@file_exists($dest_create_dir->path.'/'.$new_dir_name_text) && $new_dir_name_text != "") - { - @mkdir($dest_create_dir->path.'/'.$new_dir_name_text); - exec('chmod 775 "'.$dest_create_dir->path.'/'.$new_dir_name_text.'"'); - - if($islector) - { - exec('sudo chown www-data "'.$dest_create_dir->path.'/'.$new_dir_name_text.'"'); - } - else - { - exec('sudo chown www-data "'.$dest_create_dir->path.'/'.$new_dir_name_text.'"'); - } - } - } - - unset($new_dir_name_text); - } - - unset($create_dir); - } - - if(isset($row_lesson) && !isset($short)) - { - if(isset($subdir) && $subdir != "") - { - echo "

    kuerzel&subdir=$subdir\" enctype=\"multipart/form-data\">"; - } - else - { - echo "kuerzel\" enctype=\"multipart/form-data\">"; - } - } - else if(isset($short)) - { - if(isset($subdir) && $subdir != "") - { - echo ""; - } - else - { - echo ""; - } - } - else - { - if(isset($subdir) && $subdir != "") - { - echo ""; - } - else - { - echo ""; - } - } - - echo " Verzeichnisname: "; - echo " "; - echo ""; - echo "
    - '; - } - else - { - // XXX - - if(isset($short)) - { - echo ''; - } - else - { - echo ''; - } - } - } - else - { - echo ''; - } - ?> - Unterordner von - :
    AuswählenNameAktionen# DateienKB Gespeichert
      "; - } - else - { - echo "
      "; - } - - if(isset($row_lesson) && !isset($short)) - { - if(isset($subdir) && $subdir != "") - { - echo "kuerzel&subdir=$subdir/$entry\"> $entry "; - } - else - { - echo "kuerzel&subdir=$entry\"> $entry "; - } - } - else if(isset($short)) - { - if(isset($subdir) && $subdir != "") - { - echo " $entry "; - } - else - { - echo " $entry "; - } - } - else - { - if(isset($subdir) && $subdir != "") - { - echo " $entry "; - } - else - { - echo " $entry "; - } - } - - $new_dir_name_ = "new_dir_name".$dir_count; - - if(isset($rename_dir) && isset($$check_state)) - { - echo " "; - } - else if(isset($confirm_rename) && isset($$check_state)) - { - if(isset($$new_dir_name_) && $$new_dir_name_ != "") - { - if(!@is_dir($dest_dir->path.'/'.$$new_dir_name_) && !@file_exists($dest_dir->path.'/'.$$new_dir_name_)) - { - rename($dest_dir->path.'/'.$entry, $dest_dir->path.'/'.$$new_dir_name_); - - $b_refresh_dir = true; - - unset($$check_state); - } - else - { - unset($$check_state); - - $b_refresh_dir = true; - } - } - - echo " "; - } - else if(isset($delete_dir) && isset($$check_state)) - { - if(@is_dir($dest_dir->path.'/'.$entry)) - { - writeCISlog('DELETE', 'rm -r "'.$dest_dir->path.'/'.$entry.'"'); - exec('rm -r "'.$dest_dir->path.'/'.$entry.'"'); - } - - unset($$check_state); - } - else - { - if(@is_dir($dest_dir->path.'/'.$entry)) - { - $tmp_dir_entry = dir($dest_dir->path.'/'.$entry); - } - - echo " "; - } - - if(isset($tmp_dir_entry)) - { - while($sub_entry = $tmp_dir_entry->read()) - { - if(!@is_dir($tmp_dir_entry->path.'/'.$sub_entry) && $sub_entry != "") - { - @$sub_dir_filesize += round(filesize($tmp_dir_entry->path.'/'.$sub_entry) / 1024); - @$sub_dir_filecount++; - } - } - } - - if(!isset($sub_dir_filesize)) - { - $sub_dir_filesize = 0; - } - - if(!isset($sub_dir_filecount)) - { - $sub_dir_filecount = 0; - } - - @$total_filesize += $sub_dir_filesize; - @$total_filecount += $sub_dir_filecount; - - echo "$sub_dir_filecount - - $sub_dir_filesize - -
    "; - echo "  Es wurden keine Ordner gefunden."; - echo "
    "; - echo "  Es wurden keine Ordner gefunden / Hauptordner nicht gefunden."; - echo "
    '; - } - else - { - // XXX - - if(isset($short)) - { - echo ''; - } - else - { - echo ''; - } - } - } - else - { - echo ''; - } - ?> - Dateien im Ordner - :
    AuswählenNameAktionenGröße (KB)Zuletzt modifiziert
      "; - } - else - { - echo "
      "; - } - if(!isset($link_cut)) - $link_cut=''; - $link_path = mb_substr($dest_dir->path, mb_strlen($link_cut)).'/'.urlencode($entry); - //+ durch %20 ersetzten damit Files mit leerzeichen geoeffnet werden koennen - $link_path = str_replace("+","%20",$link_path); - echo "  $entry "; - - $new_file_name_ = "new_file_name".$file_count; - - if(isset($rename_file) && isset($$check_state)) - { - echo " "; - } - else if(isset($confirm_rename) && isset($$check_state)) - { - if(isset($$new_file_name_) && $$new_file_name_ != "") - { - if(!@file_exists($dest_dir->path.'/'.$$new_file_name_) && !@is_dir($dest_dir->path.'/'.$$new_file_name_)) - { - if(!stristr($$new_file_name_, '.php') && !stristr($$new_file_name_, '.cgi') && !stristr($$new_file_name_, '.pl')) - { - rename($dest_dir->path.'/'.$entry, $dest_dir->path.'/'.$$new_file_name_); - - $b_refresh_files = true; - - unset($$check_state); - } - else - { - $unallowed_rename = true; - } - } - else - { - unset($$check_state); - - $b_refresh_files = true; - } - } - - echo " "; - } - else if(isset($delete_file) && isset($$check_state)) - { - if(!@is_dir($dest_dir->path.'/'.$entry)) - { - writeCISlog('DELETE', 'rm -r "'.$dest_dir->path.'/'.$entry.'"'); - exec('rm -r "'.$dest_dir->path.'/'.$entry.'"'); - } - - unset($$check_state); - } - else - { - echo " "; - } - - $cur_filesize = round(filesize($dest_dir->path.'/'.$entry) / 1024); - $file_last_access = date("j F Y, H:i:s", filemtime($dest_dir->path.'/'.$entry)); - - echo "$cur_filesize - - $file_last_access - -
    "; - echo "  Es wurden keine Dateien gefunden."; - echo "
     
    "; - echo "  Es wurden keine Dateien gefunden / Hauptordner nicht gefunden."; - echo "
    Dateien in Ordner(n), KB gesamt.
    Fehler: Sie haben versucht das Formatattribut einer Datei in ein neues zu ändern welches nicht unterstützt wird.Fehler: Die Datei existiert bereits! Bitte verwenden Sie die Option "Dateien automatisch überschreiben"
    - - - - - - +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + + require_once('../../../include/functions.inc.php'); + require_once('../../config.inc.php'); + require_once('../../../include/benutzerberechtigung.class.php'); + + //Connection Herstellen + if(!$sql_conn = pg_pconnect(CONN_STRING)) + die('Fehler beim oeffnen der Datenbankverbindung'); + $user = get_uid(); + + + + + if(isset($_GET['course_id'])) + $course_id = $_GET['course_id']; + + if(isset($_GET['term_id'])) + $term_id = $_GET['term_id']; + + if(isset($_GET['short'])) + $short = $_GET['short']; + + + $rechte = new benutzerberechtigung(); + + $rechte->getBerechtigungen($user); + + if(check_lektor($user,$sql_conn)) + $is_lector=true; + else + $is_lector=false; + + $upload_root = "../../../documents"; + + if(isset($subdir)) + { + if(substr_count($subdir, '..') > 0 || substr_count($subdir, '.') > 0) + { + unset($subdir); + } + } + + if($is_lector) + { + $islector = true; + } + else + { + $sql_query = "SELECT student_uid FROM public.tbl_student WHERE student_uid='$user'"; + if($result_student = pg_query($sql_conn, $sql_query)) + { + $num_rows_student = pg_num_rows($result_student); + + if(!($num_rows_student > 0)) + { + die('

    Der Benutzer '.$user.' konnte nicht zugeordnet werden!

    '); + } + } + else + die('

    Der Benutzer '.$user.' konnte nicht zugeordnet werden!

    '); + + $islector = false; + } +?> + + + + + + + + + + + + + + + + + + + + + + + + + + "; + + echo ""; + ?> + + + + + + + + + + + + + kuerzel&subdir=$subdir\" enctype=\"multipart/form-data\" onSubmit=\"return ConfirmDir(this);\">"; + } + else + { + echo "kuerzel\" enctype=\"multipart/form-data\" onSubmit=\"return ConfirmDir(this);\">"; + } + } + else if(isset($short)) + { + if(isset($subdir) && $subdir != "") + { + echo ""; + } + else + { + echo ""; + } + } + else + { + if(isset($subdir) && $subdir != "") + { + echo ""; + } + else + { + echo ""; + } + } + + while($entry = $dest_dir->read()) + { + if($entry != "." && $entry != ".." && @is_dir($dest_dir->path.'/'.$entry)) + { + $dir_empty = false; + $check_state = '_check_state_'.$dir_count; + + if(isset($$check_state)) + { + echo ""; + + $sub_dir_filesize = 0; + $sub_dir_filecount = 0; + + $dir_count++; + } + } + + if(isset($delete_dir)) + { + unset($delete_dir); + die(""); + } + + if(isset($b_refresh_dir)) + { + die(""); + } + + if(!isset($dir_empty) || $dir_empty == true) + { + echo ""; + } + + echo ""; + } + else + { + $dir_count = 0; + + echo ""; + } + ?> + + + + + + + + + + + + + + path); + + if(isset($dest_dir) && $dest_dir != "") + { + $file_count = 0; + + if(isset($row_lesson) && !isset($short)) + { + if(isset($subdir) && $subdir != "") + { + echo "kuerzel&subdir=$subdir\" enctype=\"multipart/form-data\" onSubmit=\"return ConfirmFile(this);\">"; + } + else + { + echo "kuerzel\" enctype=\"multipart/form-data\" onSubmit=\"return ConfirmFile(this);\">"; + } + } + else if($short) + { + if(isset($subdir) && $subdir != "") + { + echo ""; + } + else + { + echo ""; + } + } + else + { + if(isset($subdir) && $subdir != "") + { + echo ""; + } + else + { + echo ""; + } + } + + while($entry = $dest_dir->read()) + { + if(!@is_dir($dest_dir->path.'/'.$entry) && substr($entry,0,1)!=".") + { + $null_file = false; + $check_state = '_check_state_'.$file_count; + + if(isset($$check_state)) + { + echo ""; + + @$total_filesize += $cur_filesize; + + $file_count++; + } + } + + if(!isset($total_filesize)) + { + $total_filesize = 0; + } + + if(isset($delete_file)) + { + unset($delete_file); + die(""); + } + + if(isset($b_refresh_files)) + { + die(""); + } + + if(!isset($null_file) || $null_file == true) + { + echo ""; + } + else + { + echo ""; + } + + echo ""; + } + else + { + $file_count = 0; + + echo ""; + echo ""; + } + + @$total_filecount += $file_count; + + if(!isset($total_filesize)) + { + $total_filesize = 0; + } + ?> + + + + + Fehler: Sie haben versucht eine Datei auf den Server zu laden deren Dateiformat nicht unterstützt wird.'; + } + else if(isset($unallowed_rename) && $unallowed_rename == true) + { + unset($unallowed_rename); + + echo ''; + } + if(isset($no_overwrite_error) && $no_overwrite_error == true) + { + unset($no_overwrite_error); + echo ''; + } + + ?> +
      + "; + echo " "; + echo " "; + echo " "; + echo "
    + + + + + '' ORDER BY typ, kurzbz"; + + if(!$result_lector_dispatch = pg_query($sql_conn, $sql_query)) + die('Fehler beim Lesen aus der Datenbank'); + + $num_rows_lector_dispatch = pg_num_rows($result_lector_dispatch); + + echo ''; + echo ''; + echo ''; + } + else + { + //$sql_query = "SELECT DISTINCT ON(bz2, lehrevz) tbl_student.studiengang_kz AS id, kurzbzlang, lehrevz AS kuerzel, (tbl_lehrfach.bezeichnung || '; XX') AS bezeichnung, SUBSTRING(tbl_lehrfach.bezeichnung || '; XX', 1, CHAR_LENGTH(tbl_lehrfach.bezeichnung || '; XX') - 4) AS bz2 FROM tbl_lehrfach, public.tbl_studiengang, public.tbl_student WHERE tbl_student.studiengang_kz='$course_id' AND tbl_student.semester='$term_id' AND lehrevz='$short' AND tbl_student.uid='$user' AND tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz LIMIT 1"; + $sql_query = "SELECT DISTINCT tbl_lehrveranstaltung.bezeichnung, lehreverzeichnis, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as kurzbz FROM public.tbl_student, lehre.tbl_lehrveranstaltung, public.tbl_studiengang WHERE lehreverzeichnis='$short' AND tbl_student.studiengang_kz='$course_id' AND tbl_student.semester='$term_id' AND tbl_student.student_uid='$user' AND tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz AND tbl_lehrveranstaltung.studiengang_kz=tbl_student.studiengang_kz AND tbl_lehrveranstaltung.semester=tbl_student.semester AND tbl_lehrveranstaltung.lehre=true LIMIT 1"; + + if(!$result_path_elements = pg_query($sql_conn, $sql_query)) + die('

    Der Benutzer '.$user.' konnte nicht zugeordnet werden!

    '); + + if(!$result_path_elements) + die('

    Der Benutzer '.$user.' konnte nicht zugeordnet werden!

    '); + $num_rows_path_elements = pg_numrows($result_path_elements); + if(!($num_rows_path_elements > 0)) + { + // Pruefen ob dieser Kurs ein Wahlfach ist + $sql_query = "SELECT DISTINCT vw_student_lehrveranstaltung.bezeichnung, vw_student_lehrveranstaltung.lehreverzeichnis, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as kurzbz FROM campus.vw_student_lehrveranstaltung , public.tbl_studiengang WHERE vw_student_lehrveranstaltung.lehre=true AND vw_student_lehrveranstaltung.studiengang_kz='".addslashes($course_id)."' AND vw_student_lehrveranstaltung.semester='".addslashes($term_id)."' AND vw_student_lehrveranstaltung.lehreverzeichnis='".addslashes($short)."' AND vw_student_lehrveranstaltung.uid='".addslashes($user)."' AND tbl_studiengang.studiengang_kz=vw_student_lehrveranstaltung.studiengang_kz LIMIT 1; "; + if(!$result_path_elements = pg_query($sql_conn, $sql_query)) + die('

    Der Benutzer '.$user.' konnte nicht zugeordnet werden!

    '); + if(!$result_path_elements) + die('

    Der Benutzer '.$user.' konnte nicht zugeordnet werden!

    '); + $num_rows_path_elements = pg_numrows($result_path_elements); + if(!($num_rows_path_elements > 0)) + { + echo "
    Datei Upload
    '; + echo '
    '; + + if(!($num_rows_lector_dispatch > 0) && !$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('lehre') && !$rechte->isBerechtigt('assistenz')) + { + die('

    Es konnten keine Studiengänge definiert werden!

    '); + } + + + echo 'Studiengang: '; + echo "\n\n"; + echo ' '; + + + if(!isset($course_id)) + { + foreach ($stg_arr as $key=>$elem) + { + $course_id=$key; + $course_short = $elem; + break; + } + } + + //$sql_query = "SELECT DISTINCT ON(semester) semester FROM lehre.tbl_lehrfachzuteilung WHERE lektor_uid='$user' AND NOT(lehrfachzuteilung_kurzbz='') AND studiengang_kz='$course_id' ORDER BY semester"; + $sql_query = "SELECT DISTINCT semester FROM lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehrveranstaltung WHERE tbl_lehreinheit.lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id AND tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND mitarbeiter_uid='$user' AND studiengang_kz='$course_id' AND tbl_lehrveranstaltung.lehre=true AND tbl_lehrveranstaltung.lehreverzeichnis<>'' ORDER BY semester"; + if(!$result_lector_dispatch = pg_query($sql_conn, $sql_query)) + die('Fehler beim Lesen aus der Datenbank'); + + $num_rows_lector_dispatch = pg_num_rows($result_lector_dispatch); + + if(!($num_rows_lector_dispatch > 0) && !$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('lehre') && !$rechte->isBerechtigt('assistenz')) + die('

    Es konnten keine Semester definiert werden!

    '); + + + echo 'Semester: '; + echo "\n\n"; + echo ' '; + + if(!isset($term_id)) + $term_id=$sem_arr[0]; + + //$sql_query = "SELECT DISTINCT ON(bz2, lehrfachzuteilung_kurzbz) lehrfachzuteilung_kurzbz AS kuerzel, (bezeichnung || '; XX') AS bezeichnung, SUBSTRING(bezeichnung || '; XX', 1, CHAR_LENGTH(bezeichnung || '; XX') - 4) AS bz2 FROM lehre.tbl_lehrfachzuteilung WHERE studiengang_kz='$course_id' AND semester='$term_id' AND NOT(lehrfachzuteilung_kurzbz='') AND lektor_uid='$user' ORDER BY bz2, lehrfachzuteilung_kurzbz"; + //Nur Lehrfachzuteilungen + //$sql_query = "SELECT DISTINCT lehrevz AS kuerzel, (bezeichnung || '; XX') AS bezeichnung, SUBSTRING(bezeichnung || '; XX', 1, CHAR_LENGTH(bezeichnung || '; XX') - 4) AS bz2 FROM tbl_lehrfach Join tbl_lehrveranstaltung using (lehrfach_nr) WHERE tbl_lehrfach.studiengang_kz='$course_id' AND tbl_lehrveranstaltung.semester='$term_id' AND lektor='$user' AND NOT(lehrevz='')"; + $sql_query = "SELECT DISTINCT lehreverzeichnis as kuerzel, tbl_lehrveranstaltung.bezeichnung FROM + lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehrveranstaltung + WHERE tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND + tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND + tbl_lehreinheitmitarbeiter.mitarbeiter_uid='$user' AND + tbl_lehrveranstaltung.semester='$term_id' AND + tbl_lehrveranstaltung.studiengang_kz='$course_id' AND tbl_lehrveranstaltung.lehre=true"; + //Admin und Lehreberechtigung + if($rechte->isBerechtigt('admin',$course_id) || $rechte->isBerechtigt('lehre',$course_id) || $rechte->isBerechtigt('lehre',null,null,'0') || $rechte->isBerechtigt('assistenz',$course_id)) + { + $sql_query = "SELECT DISTINCT lehreverzeichnis AS kuerzel, bezeichnung FROM lehre.tbl_lehrveranstaltung WHERE studiengang_kz='$course_id' AND semester='$term_id' AND tbl_lehrveranstaltung.lehre=true AND tbl_lehrveranstaltung.lehreverzeichnis<>''"; + } + //Fachbereichsberechtigung + if($rechte->isBerechtigt('lehre') || $rechte->isBerechtigt('admin') || $rechte->isBerechtigt('assistenz')) + { + $arr=$rechte->getFbKz(); + $ids="'-1'"; + foreach ($arr as $elem) + $ids.=",'$elem'"; + $sql_query = $sql_query . " UNION SELECT DISTINCT lehreverzeichnis AS kuerzel, tbl_lehrveranstaltung.bezeichnung + FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrfach + WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND + tbl_lehreinheit.lehrfach_id = tbl_lehrfach.lehrfach_id AND + tbl_lehrveranstaltung.studiengang_kz='$course_id' AND tbl_lehrveranstaltung.semester='$term_id' AND fachbereich_kurzbz in ($ids) AND tbl_lehrveranstaltung.lehre=true AND tbl_lehrveranstaltung.lehreverzeichnis<>''"; + } + $sql_query .= ' ORDER BY bezeichnung, kuerzel'; + //LEHRFAECHER + + if(!$result_lector_dispatch = pg_query($sql_conn, $sql_query)) + die('

    Es konnten keine Gegenstände definiert werden!

    '); + + $num_rows_lector_dispatch = pg_num_rows($result_lector_dispatch); + //echo $sql_query; + //echo ''; + + if(!($num_rows_lector_dispatch > 0)) + { + die('

    Es konnten keine Gegenstände definiert werden!

    '); + } + + //echo '
    '; + echo 'Gegenstand: '; + echo "\n\n"; + echo ''; + echo '
    "; + die('

    Sie haben keine Berechtigung für diesen Bereich

    '); + } + } + $row = pg_fetch_object($result_path_elements, 0); + $uploaddir = mb_strtolower($row->kurzbz).'/'.$term_id.'/'.mb_strtolower($row->lehreverzeichnis).'/upload'; + } + ?> +
    + + + "; + echo " "; + echo " "; + echo " "; + } + ?> +
      Dateien automatisch überschreiben
    + + +
    + kuerzel&subdir=$subdir\" enctype=\"multipart/form-data\">"; + } + else + { + echo "
    kuerzel\" enctype=\"multipart/form-data\">"; + } + } + else if(isset($short)) + { + if(isset($subdir) && $subdir != "") + { + echo ""; + } + else + { + echo ""; + } + } + else + { + if(isset($subdir) && $subdir != "") + { + echo ""; + } + else + { + echo ""; + } + } + + echo "

    "; + + for($i = 0; $i < $numoffile; $i++) + { + $j = $i + 1; + + echo "
    "; + echo " $j. Datei: "; + echo " "; + echo " "; + echo "
    + "; + echo "
    "; + echo "Max. Uploadgröße (alle Dateien): 15 MB"; + echo " "; + echo "  
    "; + ?> + +
    +

     Neues Verzeichnis erstellen:

    +

    + path.'/'.$new_dir_name_text) && !@file_exists($dest_create_dir->path.'/'.$new_dir_name_text) && $new_dir_name_text != "") + { + @mkdir($dest_create_dir->path.'/'.$new_dir_name_text); + exec('chmod 775 "'.$dest_create_dir->path.'/'.$new_dir_name_text.'"'); + + if($islector) + { + exec('sudo chown www-data "'.$dest_create_dir->path.'/'.$new_dir_name_text.'"'); + } + else + { + exec('sudo chown www-data "'.$dest_create_dir->path.'/'.$new_dir_name_text.'"'); + } + } + } + + unset($new_dir_name_text); + } + + unset($create_dir); + } + + if(isset($row_lesson) && !isset($short)) + { + if(isset($subdir) && $subdir != "") + { + echo "

    kuerzel&subdir=$subdir\" enctype=\"multipart/form-data\">"; + } + else + { + echo "kuerzel\" enctype=\"multipart/form-data\">"; + } + } + else if(isset($short)) + { + if(isset($subdir) && $subdir != "") + { + echo ""; + } + else + { + echo ""; + } + } + else + { + if(isset($subdir) && $subdir != "") + { + echo ""; + } + else + { + echo ""; + } + } + + echo " Verzeichnisname: "; + echo " "; + echo ""; + echo "
    + '; + } + else + { + // XXX + + if(isset($short)) + { + echo ''; + } + else + { + echo ''; + } + } + } + else + { + echo ''; + } + ?> + Unterordner von + :
    AuswählenNameAktionen# DateienKB Gespeichert
      "; + } + else + { + echo "
      "; + } + + if(isset($row_lesson) && !isset($short)) + { + if(isset($subdir) && $subdir != "") + { + echo "kuerzel&subdir=$subdir/$entry\"> $entry "; + } + else + { + echo "kuerzel&subdir=$entry\"> $entry "; + } + } + else if(isset($short)) + { + if(isset($subdir) && $subdir != "") + { + echo " $entry "; + } + else + { + echo " $entry "; + } + } + else + { + if(isset($subdir) && $subdir != "") + { + echo " $entry "; + } + else + { + echo " $entry "; + } + } + + $new_dir_name_ = "new_dir_name".$dir_count; + + if(isset($rename_dir) && isset($$check_state)) + { + echo " "; + } + else if(isset($confirm_rename) && isset($$check_state)) + { + if(isset($$new_dir_name_) && $$new_dir_name_ != "") + { + if(!@is_dir($dest_dir->path.'/'.$$new_dir_name_) && !@file_exists($dest_dir->path.'/'.$$new_dir_name_)) + { + rename($dest_dir->path.'/'.$entry, $dest_dir->path.'/'.$$new_dir_name_); + + $b_refresh_dir = true; + + unset($$check_state); + } + else + { + unset($$check_state); + + $b_refresh_dir = true; + } + } + + echo " "; + } + else if(isset($delete_dir) && isset($$check_state)) + { + if(@is_dir($dest_dir->path.'/'.$entry)) + { + writeCISlog('DELETE', 'rm -r "'.$dest_dir->path.'/'.$entry.'"'); + exec('rm -r "'.$dest_dir->path.'/'.$entry.'"'); + } + + unset($$check_state); + } + else + { + if(@is_dir($dest_dir->path.'/'.$entry)) + { + $tmp_dir_entry = dir($dest_dir->path.'/'.$entry); + } + + echo " "; + } + + if(isset($tmp_dir_entry)) + { + while($sub_entry = $tmp_dir_entry->read()) + { + if(!@is_dir($tmp_dir_entry->path.'/'.$sub_entry) && $sub_entry != "") + { + @$sub_dir_filesize += round(filesize($tmp_dir_entry->path.'/'.$sub_entry) / 1024); + @$sub_dir_filecount++; + } + } + } + + if(!isset($sub_dir_filesize)) + { + $sub_dir_filesize = 0; + } + + if(!isset($sub_dir_filecount)) + { + $sub_dir_filecount = 0; + } + + @$total_filesize += $sub_dir_filesize; + @$total_filecount += $sub_dir_filecount; + + echo "$sub_dir_filecount + + $sub_dir_filesize + +
    "; + echo "  Es wurden keine Ordner gefunden."; + echo "
    "; + echo "  Es wurden keine Ordner gefunden / Hauptordner nicht gefunden."; + echo "
    '; + } + else + { + // XXX + + if(isset($short)) + { + echo ''; + } + else + { + echo ''; + } + } + } + else + { + echo ''; + } + ?> + Dateien im Ordner + :
    AuswählenNameAktionenGröße (KB)Zuletzt modifiziert
      "; + } + else + { + echo "
      "; + } + if(!isset($link_cut)) + $link_cut=''; + $link_path = mb_substr($dest_dir->path, mb_strlen($link_cut)).'/'.urlencode($entry); + //+ durch %20 ersetzten damit Files mit leerzeichen geoeffnet werden koennen + $link_path = str_replace("+","%20",$link_path); + echo "  $entry "; + + $new_file_name_ = "new_file_name".$file_count; + + if(isset($rename_file) && isset($$check_state)) + { + echo " "; + } + else if(isset($confirm_rename) && isset($$check_state)) + { + if(isset($$new_file_name_) && $$new_file_name_ != "") + { + if(!@file_exists($dest_dir->path.'/'.$$new_file_name_) && !@is_dir($dest_dir->path.'/'.$$new_file_name_)) + { + if(!stristr($$new_file_name_, '.php') && !stristr($$new_file_name_, '.cgi') && !stristr($$new_file_name_, '.pl')) + { + rename($dest_dir->path.'/'.$entry, $dest_dir->path.'/'.$$new_file_name_); + + $b_refresh_files = true; + + unset($$check_state); + } + else + { + $unallowed_rename = true; + } + } + else + { + unset($$check_state); + + $b_refresh_files = true; + } + } + + echo " "; + } + else if(isset($delete_file) && isset($$check_state)) + { + if(!@is_dir($dest_dir->path.'/'.$entry)) + { + writeCISlog('DELETE', 'rm -r "'.$dest_dir->path.'/'.$entry.'"'); + exec('rm -r "'.$dest_dir->path.'/'.$entry.'"'); + } + + unset($$check_state); + } + else + { + echo " "; + } + + $cur_filesize = round(filesize($dest_dir->path.'/'.$entry) / 1024); + $file_last_access = date("j F Y, H:i:s", filemtime($dest_dir->path.'/'.$entry)); + + echo "$cur_filesize + + $file_last_access + +
    "; + echo "  Es wurden keine Dateien gefunden."; + echo "
     
    "; + echo "  Es wurden keine Dateien gefunden / Hauptordner nicht gefunden."; + echo "
    Dateien in Ordner(n), KB gesamt.
    Fehler: Sie haben versucht das Formatattribut einer Datei in ein neues zu ändern welches nicht unterstützt wird.Fehler: Die Datei existiert bereits! Bitte verwenden Sie die Option "Dateien automatisch überschreiben"
    + + + + + + diff --git a/cis/private/lvplan/stpl_reserve_list.php b/cis/private/lvplan/stpl_reserve_list.php index e8f94537b..aa0e9543f 100644 --- a/cis/private/lvplan/stpl_reserve_list.php +++ b/cis/private/lvplan/stpl_reserve_list.php @@ -32,7 +32,7 @@ if (!$conn = pg_pconnect(CONN_STRING)) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); - $rechte = new benutzerberechtigung($conn); + $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($uid); // Datums Format und search_path diff --git a/cis/private/lvplan/stpl_week.php b/cis/private/lvplan/stpl_week.php index bc9883dd0..1463248f8 100644 --- a/cis/private/lvplan/stpl_week.php +++ b/cis/private/lvplan/stpl_week.php @@ -124,7 +124,7 @@ if (!$conn = pg_pconnect(CONN_STRING)) die("Es konnte keine Verbindung zum Server aufgebaut werden."); } -$berechtigung=new benutzerberechtigung($conn); +$berechtigung=new benutzerberechtigung(); $berechtigung->getBerechtigungen($uid); if ($berechtigung->isBerechtigt('raumres')) $raumres=true; diff --git a/cis/private/menu.php b/cis/private/menu.php index 80eceab9c..e3d95ae08 100644 --- a/cis/private/menu.php +++ b/cis/private/menu.php @@ -35,7 +35,7 @@ if(!$db_conn = pg_pconnect(CONN_STRING)) $user=get_uid(); $cutlength=10; -$rechte=new benutzerberechtigung($db_conn); +$rechte=new benutzerberechtigung(); $rechte->getBerechtigungen($user); $fkt=new funktion($db_conn); diff --git a/cis/private/pdfExport.php b/cis/private/pdfExport.php index e3dd98429..3e29fc81d 100644 --- a/cis/private/pdfExport.php +++ b/cis/private/pdfExport.php @@ -1,221 +1,221 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -/* Erstellt einen Lehrauftrag im PDF Format - * - * Erstellt ein XML File Transformiert dieses mit - * Hilfe der XSL-FO Vorlage aus der DB und generiert - * daraus ein PDF (xslfo2pdf) - */ -require_once('../../cis/config.inc.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/benutzerberechtigung.class.php'); -require_once('../../include/xslfo2pdf/xslfo2pdf.php'); -require_once('../../include/akte.class.php'); -require_once('../../include/konto.class.php'); - -// Datenbank Verbindung -if (!$conn = pg_pconnect(CONN_STRING)) - $error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!'; - -$user = get_uid(); -#gss loadVariables($conn, $user); -loadVariables($user); - - -$rechte = new benutzerberechtigung($conn); -$rechte->getBerechtigungen($user); - -//Parameter holen -if(isset($_GET['xml'])) - $xml=$_GET['xml']; -else - die('Fehlerhafte Parameteruebergabe'); -if(isset($_GET['xsl'])) - $xsl=$_GET['xsl']; -else - die('Fehlerhafte Parameteruebergabe'); -if(isset($_GET['xsl_stg_kz'])) - $xsl_stg_kz=$_GET['xsl_stg_kz']; -else - $xsl_stg_kz=0; - -//Parameter setzen -$params='?xmlformat=xml'; -//if(isset($_GET['uid'])) -// $params.='&uid='.$_GET['uid']; - -//Admins duerfen Dokumente anderer Personen drucken -if($rechte->isBerechtigt('admin')) - $user = $_GET['uid']; - -$params.='&uid='.$user; -if(isset($_GET['person_id'])) - $params.='&person_id='.$_GET['person_id']; -if(isset($_GET['buchungsnummern'])) - $params.='&buchungsnummern='.$_GET['buchungsnummern']; -if(isset($_GET['stg_kz'])) - $params.='&stg_kz='.$_GET['stg_kz']; -if(isset($_GET['ss'])) - $params.='&ss='.$_GET['ss']; -if(isset($_GET['abschlusspruefung_id'])) - $params.='&abschlusspruefung_id='.$_GET['abschlusspruefung_id']; -if(isset($_GET['typ'])) - $params.='&typ='.$_GET['typ']; - - -$konto = new konto($conn); -if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin')) -{ - - if($xsl=='Inskription' && (!$konto->checkStudienbeitrag($user, $_GET["ss"]))) - die('Der Studienbeitrag wurde noch nicht bezahlt'); - - $xml_url=XML_ROOT.$xml.$params; - //echo $xml_url; - // Load the XML source - $xml_doc = new DOMDocument; - - if(!$xml_doc->load($xml_url)) - die('unable to load xml'); - //echo ':'.$xml_doc->saveXML().':'; - - //XSL aus der DB holen - $qry = "SELECT text FROM public.tbl_vorlagestudiengang WHERE (studiengang_kz=0 OR studiengang_kz='".addslashes($xsl_stg_kz)."') AND vorlage_kurzbz='$xsl' ORDER BY studiengang_kz DESC, version DESC LIMIT 1"; - - if(!$result = pg_query($conn, $qry)) - die('Fehler beim laden der Vorlage'.pg_errormessage($conn)); - if(!$row = pg_fetch_object($result)) - die('Vorlage wurde nicht gefunden'.$qry); - - // Load the XSL source - $xsl_doc = new DOMDocument; - //if(!$xsl_doc->load('../../../../xsl/collection.xsl')) - if(!$xsl_doc->loadXML($row->text)) - die('unable to load xsl'); - - // Configure the transformer - $proc = new XSLTProcessor; - $proc->importStyleSheet($xsl_doc); // attach the xsl rules - - $buffer = $proc->transformToXml($xml_doc); - //in $buffer steht nun das xsl-fo file mit den daten - $buffer = ''.substr($buffer, strpos($buffer,"\n"),strlen($buffer)); - //$buffer = html_entity_decode($buffer); - //echo "buffer: $buffer"; - - //Pdf erstellen - $fo2pdf = new XslFo2Pdf(); - - //wenn uid gefunden wird, dann den Nachnamen zum Dateinamen dazuhaengen - $nachname=''; - - - if(isset($_GET['uid']) && $_GET['uid']!='') - { - $uid = str_replace(';','',$_GET['uid']); - $qry = "SELECT nachname FROM campus.vw_benutzer WHERE uid='".addslashes($uid)."'"; - - if($result = pg_query($conn, $qry)) - { - if($row = pg_fetch_object($result)) - { - $nachname = '_'.$row->nachname; - } - } - } - $filename=$xsl.$nachname; - - if (!isset($_REQUEST["archive"])) - { - if (!$fo2pdf->generatePdf($buffer, $filename, "D")) - { - echo('Failed to generate PDF'); - } - } - else - { - - $filename = $user; - if (!$fo2pdf->generatePdf($buffer, $filename, 'F')) - { - echo('Failed to generate PDF'); - } - $file = "/tmp/".$filename.".pdf"; - $handle = fopen($file, "rb"); - $string = fread($handle, filesize($file)); - fclose($handle); - unlink($file); - - $hex=""; - for ($i=0;$iperson_id; - $titel = "Zeugnis_".strtoupper($row->typ).strtoupper($row->kurzbz)."_".$row->semester; - $bezeichnung = "Zeugnis ".strtoupper($row->typ).strtoupper($row->kurzbz)." ".$row->semester.". Semester"; - } - else - { - $echo = 'Datensatz wurde nicht gefunden'; - - } - } - - - $akte = new akte($conn); - $akte->person_id = $person_id; - $akte->dokument_kurzbz = "Zeugnis"; - $akte->inhalt = $hex; - $akte->mimetype = "application/octet-stream"; - $akte->erstelltam = $heute; - $akte->gedruckt = true; - $akte->titel = $titel.".pdf"; - $akte->bezeichnung = $bezeichnung; - $akte->updateamum = ""; - $akte->updatevon = ""; - $akte->insertamum = date('Y-m-d h:m:s'); - $akte->insertvon = $user; - $akte->ext_id = ""; - $akte->uid = $_REQUEST["uid"]; - $akte->new = true; - if (!$akte->save('new')) - return true; - else - return false; - } -} -else -{ - // kein berechtigung - echo "

    Sie haben keine Berechtigung zum Anzeigen dieser Seite

    "; -} +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +/* Erstellt einen Lehrauftrag im PDF Format + * + * Erstellt ein XML File Transformiert dieses mit + * Hilfe der XSL-FO Vorlage aus der DB und generiert + * daraus ein PDF (xslfo2pdf) + */ +require_once('../../cis/config.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/xslfo2pdf/xslfo2pdf.php'); +require_once('../../include/akte.class.php'); +require_once('../../include/konto.class.php'); + +// Datenbank Verbindung +if (!$conn = pg_pconnect(CONN_STRING)) + $error_msg='Es konnte keine Verbindung zum Server aufgebaut werden!'; + +$user = get_uid(); +#gss loadVariables($conn, $user); +loadVariables($user); + + +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + +//Parameter holen +if(isset($_GET['xml'])) + $xml=$_GET['xml']; +else + die('Fehlerhafte Parameteruebergabe'); +if(isset($_GET['xsl'])) + $xsl=$_GET['xsl']; +else + die('Fehlerhafte Parameteruebergabe'); +if(isset($_GET['xsl_stg_kz'])) + $xsl_stg_kz=$_GET['xsl_stg_kz']; +else + $xsl_stg_kz=0; + +//Parameter setzen +$params='?xmlformat=xml'; +//if(isset($_GET['uid'])) +// $params.='&uid='.$_GET['uid']; + +//Admins duerfen Dokumente anderer Personen drucken +if($rechte->isBerechtigt('admin')) + $user = $_GET['uid']; + +$params.='&uid='.$user; +if(isset($_GET['person_id'])) + $params.='&person_id='.$_GET['person_id']; +if(isset($_GET['buchungsnummern'])) + $params.='&buchungsnummern='.$_GET['buchungsnummern']; +if(isset($_GET['stg_kz'])) + $params.='&stg_kz='.$_GET['stg_kz']; +if(isset($_GET['ss'])) + $params.='&ss='.$_GET['ss']; +if(isset($_GET['abschlusspruefung_id'])) + $params.='&abschlusspruefung_id='.$_GET['abschlusspruefung_id']; +if(isset($_GET['typ'])) + $params.='&typ='.$_GET['typ']; + + +$konto = new konto($conn); +if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin')) +{ + + if($xsl=='Inskription' && (!$konto->checkStudienbeitrag($user, $_GET["ss"]))) + die('Der Studienbeitrag wurde noch nicht bezahlt'); + + $xml_url=XML_ROOT.$xml.$params; + //echo $xml_url; + // Load the XML source + $xml_doc = new DOMDocument; + + if(!$xml_doc->load($xml_url)) + die('unable to load xml'); + //echo ':'.$xml_doc->saveXML().':'; + + //XSL aus der DB holen + $qry = "SELECT text FROM public.tbl_vorlagestudiengang WHERE (studiengang_kz=0 OR studiengang_kz='".addslashes($xsl_stg_kz)."') AND vorlage_kurzbz='$xsl' ORDER BY studiengang_kz DESC, version DESC LIMIT 1"; + + if(!$result = pg_query($conn, $qry)) + die('Fehler beim laden der Vorlage'.pg_errormessage($conn)); + if(!$row = pg_fetch_object($result)) + die('Vorlage wurde nicht gefunden'.$qry); + + // Load the XSL source + $xsl_doc = new DOMDocument; + //if(!$xsl_doc->load('../../../../xsl/collection.xsl')) + if(!$xsl_doc->loadXML($row->text)) + die('unable to load xsl'); + + // Configure the transformer + $proc = new XSLTProcessor; + $proc->importStyleSheet($xsl_doc); // attach the xsl rules + + $buffer = $proc->transformToXml($xml_doc); + //in $buffer steht nun das xsl-fo file mit den daten + $buffer = ''.substr($buffer, strpos($buffer,"\n"),strlen($buffer)); + //$buffer = html_entity_decode($buffer); + //echo "buffer: $buffer"; + + //Pdf erstellen + $fo2pdf = new XslFo2Pdf(); + + //wenn uid gefunden wird, dann den Nachnamen zum Dateinamen dazuhaengen + $nachname=''; + + + if(isset($_GET['uid']) && $_GET['uid']!='') + { + $uid = str_replace(';','',$_GET['uid']); + $qry = "SELECT nachname FROM campus.vw_benutzer WHERE uid='".addslashes($uid)."'"; + + if($result = pg_query($conn, $qry)) + { + if($row = pg_fetch_object($result)) + { + $nachname = '_'.$row->nachname; + } + } + } + $filename=$xsl.$nachname; + + if (!isset($_REQUEST["archive"])) + { + if (!$fo2pdf->generatePdf($buffer, $filename, "D")) + { + echo('Failed to generate PDF'); + } + } + else + { + + $filename = $user; + if (!$fo2pdf->generatePdf($buffer, $filename, 'F')) + { + echo('Failed to generate PDF'); + } + $file = "/tmp/".$filename.".pdf"; + $handle = fopen($file, "rb"); + $string = fread($handle, filesize($file)); + fclose($handle); + unlink($file); + + $hex=""; + for ($i=0;$iperson_id; + $titel = "Zeugnis_".strtoupper($row->typ).strtoupper($row->kurzbz)."_".$row->semester; + $bezeichnung = "Zeugnis ".strtoupper($row->typ).strtoupper($row->kurzbz)." ".$row->semester.". Semester"; + } + else + { + $echo = 'Datensatz wurde nicht gefunden'; + + } + } + + + $akte = new akte($conn); + $akte->person_id = $person_id; + $akte->dokument_kurzbz = "Zeugnis"; + $akte->inhalt = $hex; + $akte->mimetype = "application/octet-stream"; + $akte->erstelltam = $heute; + $akte->gedruckt = true; + $akte->titel = $titel.".pdf"; + $akte->bezeichnung = $bezeichnung; + $akte->updateamum = ""; + $akte->updatevon = ""; + $akte->insertamum = date('Y-m-d h:m:s'); + $akte->insertvon = $user; + $akte->ext_id = ""; + $akte->uid = $_REQUEST["uid"]; + $akte->new = true; + if (!$akte->save('new')) + return true; + else + return false; + } +} +else +{ + // kein berechtigung + echo "

    Sie haben keine Berechtigung zum Anzeigen dieser Seite

    "; +} ?> \ No newline at end of file diff --git a/cis/private/profile/lva_liste.php b/cis/private/profile/lva_liste.php index 50230ccbb..f51208577 100644 --- a/cis/private/profile/lva_liste.php +++ b/cis/private/profile/lva_liste.php @@ -169,7 +169,7 @@ //Betreuungen - $mitarbeiter = new benutzer($conn); + $mitarbeiter = new benutzer(); $mitarbeiter->load($uid); $qry = "SELECT diff --git a/cis/private/profile/urlaubsfreigabe.php b/cis/private/profile/urlaubsfreigabe.php index b2d2f60d2..a114a035c 100644 --- a/cis/private/profile/urlaubsfreigabe.php +++ b/cis/private/profile/urlaubsfreigabe.php @@ -35,7 +35,7 @@ if(!$conn = pg_pconnect(CONN_STRING)) $user = get_uid(); -$rechte = new benutzerberechtigung($conn); +$rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); if(isset($_GET['year']) && is_numeric($_GET['year'])) diff --git a/cis/private/profile/urlaubstool.php b/cis/private/profile/urlaubstool.php index a12b97ac6..e0886b846 100644 --- a/cis/private/profile/urlaubstool.php +++ b/cis/private/profile/urlaubstool.php @@ -229,7 +229,7 @@ if(isset($_GET['speichern']) && isset($_GET['wtag'])) } } //$to = 'oesi@technikum-wien.at'; - $benutzer = new benutzer($conn); + $benutzer = new benutzer(); $benutzer->load($uid); $message = "Dies ist eine automatische Mail! \n". "$benutzer->nachname $benutzer->vorname hat neuen Urlaub eingetragen:\n"; diff --git a/cis/private/profile/zahlungen.php b/cis/private/profile/zahlungen.php index 37736c12b..f7a96a5c4 100644 --- a/cis/private/profile/zahlungen.php +++ b/cis/private/profile/zahlungen.php @@ -52,7 +52,7 @@ foreach ($studiengang->result as $row) $stg_arr[$row->studiengang_kz]=$row->kuerzel; - $benutzer = new benutzer($conn); + $benutzer = new benutzer(); if(!$benutzer->load($uid)) die('Benutzer wurde nicht gefunden'); diff --git a/cis/private/profile/zeitsperre_resturlaub.php b/cis/private/profile/zeitsperre_resturlaub.php index 5fc31212b..341d44e52 100644 --- a/cis/private/profile/zeitsperre_resturlaub.php +++ b/cis/private/profile/zeitsperre_resturlaub.php @@ -1,663 +1,663 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -// ** -// * @brief bietet die Moeglichkeit zur Anzeige und -// * Aenderung der Zeitwuensche und Zeitsperren - - require_once('../../config.inc.php'); - require_once('../../../include/functions.inc.php'); - require_once('../../../include/zeitsperre.class.php'); - require_once('../../../include/datum.class.php'); - require_once('../../../include/resturlaub.class.php'); - require_once('../../../include/person.class.php'); - require_once('../../../include/benutzer.class.php'); - require_once('../../../include/mitarbeiter.class.php'); - require_once('../../../include/mail.class.php'); - require_once('../../../include/benutzerberechtigung.class.php'); - - $uid = get_uid(); - - $PHP_SELF = $_SERVER['PHP_SELF']; - - if(isset($_GET['type'])) - $type=$_GET['type']; - - if (!$conn = @pg_pconnect(CONN_STRING)) - die("Es konnte keine Verbindung zum Server aufgebaut werden."); - - //Wenn User Administrator ist und UID uebergeben wurde, dann die Zeitsperren - //des uebergebenen Users anzeigen - if(isset($_GET['uid'])) - { - $rechte = new benutzerberechtigung($conn); - $rechte->getBerechtigungen($uid); - if($rechte->isBerechtigt('admin')) - { - $uid = $_GET['uid']; - } - else - { - die('Fuer diese Aktion benoetigen Sie Administratorenrechte'); - } - } - $datum_obj = new datum(); - $ma= new mitarbeiter($conn); - - //Stundentabelleholen - if(! $result_stunde=pg_query($conn, "SELECT * FROM lehre.tbl_stunde ORDER BY stunde")) - die(pg_last_error($conn)); - $num_rows_stunde=pg_num_rows($result_stunde); - -?> - - -Zeitsperre - - - - - - - - - - -
      - - - - -
     Zeitsperren
    -
    - - - - $bisdatum) - { - $error=true; - $error_msg .= 'VON-Datum größer als Bis-Datum! '; - } - - - - $zeitsperre = new zeitsperre($conn); - - if($_GET['type']=='edit_sperre') - { - if(!is_numeric($_GET['id'])) - { - $error=true; - $error_msg.='Invalid id '; - } - else - { - //wenn die zeitsperre bereits existiert, dann wird sie geladen - $zeitsperre->load($_GET['id']); - $zeitsperre->new=false; - $zeitsperre->zeitsperre_id = $_GET['id']; - - //pruefen ob die geladene id auch von der person ist die angemeldet ist - if($zeitsperre->mitarbeiter_uid!=$uid) - die('Sie haben keine Berechtigung fuer diese Zeitsperre'); - } - } - else - { - $zeitsperre->new=true; - $zeitsperre->insertamum = date('Y-m-d H:i:s'); - $zeitsperre->insertvon = $uid; - } - - if(!$error && $zeitsperre->freigabeamum!='') - { - $error = true; - $error_msg.='Dieser Urlaub kann nicht mehr editiert werden, da er schon freigegeben wurde'; - } - if(!$error) - { - $zeitsperre->zeitsperretyp_kurzbz = $_POST['zeitsperretyp_kurzbz']; - $zeitsperre->mitarbeiter_uid = $uid; - $zeitsperre->bezeichnung = $_POST['bezeichnung']; - $zeitsperre->vondatum = $_POST['vondatum']; - $zeitsperre->vonstunde = $_POST['vonstunde']; - $zeitsperre->bisdatum = $_POST['bisdatum']; - $zeitsperre->bisstunde = $_POST['bisstunde']; - $zeitsperre->erreichbarkeit_kurzbz = $_POST['erreichbarkeit']; - $zeitsperre->vertretung_uid = $_POST['vertretung_uid']; - $zeitsperre->updateamum = date('Y-m-d H:i:s'); - $zeitsperre->updatevon = $uid; - - if($zeitsperre->save()) - { - echo "

    Daten wurden erfolgreich gespeichert

    "; - if(URLAUB_TOOLS) - { - if($zeitsperre->new && $zeitsperre->zeitsperretyp_kurzbz=='Urlaub') - { - //Beim Anlegen von neuen Urlauben wird ein Mail an den Vorgesetzten versendet um diesen Freizugeben - $vorgesetzter = $ma->getVorgesetzte($uid); - if($vorgesetzter) - { - $to=''; - foreach($ma->vorgesetzte as $vg) - { - if (!empty($to)) - $to.=','; - $to.=trim($vg.'@'.DOMAIN); - } - $to_len=mb_strlen($to)-1; - $to = mb_substr($to, 0,$to_len); - - //$to = 'oesi@technikum-wien.at'; - $benutzer = new benutzer($conn); - $benutzer->load($uid); - $message = "Dies ist eine automatische Mail! \n". - "$benutzer->nachname $benutzer->vorname hat einen neuen Urlaub eingetragen:\n". - "$zeitsperre->bezeichnung von $zeitsperre->vondatum bis $zeitsperre->bisdatum\n\n". - "Sie können diesen unter folgender Adresse freigeben:\n". - APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$datum_obj->formatDatum($zeitsperre->vondatum, 'Y'); - $from='vilesci@'.DOMAIN; - $mail = new mail($to, $from, 'Freigabeansuchen', $message); - if($mail->send()) - { - echo "
    Freigabemail wurde an $to versandt"; - } - else - { - echo "
    Fehler beim Senden des Freigabemails an $to"; - } - } - else - { - echo "
    Es konnte keine Freigabemail versendet werden da kein Vorgesetzter eingetragen ist"; - } - } - } - } - else - echo "Fehler beim Speichern der Daten"; - } - else - echo "$error_msg"; -} - -//loeschen einer zeitsperre -if(isset($_GET['type']) && $_GET['type']=='delete_sperre') -{ - $zeit = new zeitsperre($conn); - $zeit->load($_GET['id']); - //pruefen ob die person die den datensatz loeschen will auch der - //besitzer dieses datensatzes ist - if($zeit->mitarbeiter_uid==$uid) - { - if($zeit->delete($_GET['id'])) - { - echo "Eintrag wurde geloescht"; - } - else - echo "Fehler beim loeschen des Eintrages"; - } - else - echo "Sie haben keine Berechtigung diesen Datensatz zu loeschen"; -} - -//zeitsperren des users laden -$zeit = new zeitsperre($conn); -$zeit->getzeitsperren($uid); -$content_table='

    '; - -$qry = "SELECT * FROM campus.tbl_erreichbarkeit"; -$erreichbarkeit_arr=array(); -if($result = pg_query($conn, $qry)) -{ - while($row = pg_fetch_object($result)) - { - $erreichbarkeit_arr[$row->erreichbarkeit_kurzbz]=$row->beschreibung; - } -} -//liste aller zeitsperren ausgeben -if(count($zeit->result)>0) -{ - $content_table.= ''; - $i=0; - foreach ($zeit->result as $row) - { - $i++; - //name der vertretung holen - $qry = "SELECT vorname || ' ' || nachname as kurzbz FROM public.tbl_mitarbeiter, public.tbl_benutzer, public.tbl_person WHERE tbl_benutzer.uid=tbl_mitarbeiter.mitarbeiter_uid AND tbl_benutzer.person_id=tbl_person.person_id AND mitarbeiter_uid='$row->vertretung_uid'"; - $result_vertretung = pg_query($conn, $qry); - $row_vertretung = pg_fetch_object($result_vertretung); - $content_table.= " - - - - - - - "; - if($row->freigabeamum=='' || $row->zeitsperretyp_kurzbz!='Urlaub') - { - $content_table.=" - "; - } - $content_table.=""; - } - $content_table.= '
    BezeichnungGrundVonBisVertretungErreichbarkeitFreigegeben
    $row->bezeichnung$row->zeitsperretyp_kurzbz".$datum_obj->convertISODate($row->vondatum)." ".($row->vonstunde!=''?'('.$row->vonstunde.')':'')."".$datum_obj->convertISODate($row->bisdatum)." ".($row->bisstunde!=''?'('.$row->bisstunde.')':'')."".(isset($row_vertretung->kurzbz)?$row_vertretung->kurzbz:'')."".(isset($erreichbarkeit_arr[$row->erreichbarkeit])?$erreichbarkeit_arr[$row->erreichbarkeit]:'')."".($row->freigabeamum!=''?'Ja':'')."editdelete
    '; -} -else - $content_table.= "Derzeit sind keine Zeitsperren eingetragen!"; - -$zeitsperre = new zeitsperre($conn); -$action = "$PHP_SELF?type=new_sperre"; -//wenn ein datensatz editiert werden soll, dann diesen laden -if(isset($_GET['type']) && $_GET['type']=='edit') -{ - if(isset($_GET['id']) && is_numeric($_GET['id'])) - { - $zeitsperre->load($_GET['id']); - //pruefen ob dieser datensatz auch dem angemeldeten user gehoert - if($zeitsperre->mitarbeiter_uid!=$uid) - { - die("Sie haben keine Berechtigung diese Zeitsperre zu aendern"); - } - $action = "$PHP_SELF?type=edit_sperre&id=".$_GET['id']; - } - else - { - die("Fehlerhafte Parameteruebergabe"); - } -} -//formular zum editieren und neu anlegen der zeitsperren -$content_form=''; -$content_form.= '
    '; -$content_form.= "\n"; -$content_form.= ''; -$content_form.= '"; - -$content_form.= '"; - -$content_form.= "'; - -$content_form.= "'; -$content_form.= ''; -$content_form.= "
    Grund'; -$content_form.= '
    Bezeichnung
    von '; -//dropdown fuer vonstunde -$content_form.= "Stunde (inklusive)"; - -$content_form.= "
    bis '; -//dropdown fuer bisstunde -$content_form.= "Stunde (inklusive)"; -$content_form.= "
    Erreichbarkeit
    Vertretung
     '; - -if(isset($_GET['type']) && $_GET['type']=='edit') - $content_form.= ""; -else - $content_form.= ""; -$content_form.= '
     Achtung: Es werden alle eingegeben Tage berücksichtigt, daher müssen mehrtägige Zeitsperren
    an Unterbrechungen wie Wochenenden oder Feiertagen unterteilt werden!"; -$content_form.= '
    '; - -// ******* RESTURLAUB ******** // -$content_resturlaub = ''; -$resturlaubstage = '0'; -$mehrarbeitsstunden = '0'; -$anspruch = '25'; -/* -if(isset($_GET['type']) && $_GET['type']=='save_resturlaub') -{ - $_POST['mehrarbeitsstunden'] = mb_eregi_replace(',','.',$_POST['mehrarbeitsstunden']); - - $resturlaub = new resturlaub($conn); - if($resturlaub->load($uid)) - { - $resturlaub->new = false; - } - else - { - $resturlaub->new = true; - $resturlaub->insertamum = date('Y-m-d H:i:s'); - $resturlaub->insertvon = $uid; - } - $resturlaub->mitarbeiter_uid = $uid; - $resturlaub->updateamum = date('Y-m-d H:i:s'); - $resturlaub->updatevon = $uid; - if(isset($_POST['resturlaubstage'])) - $resturlaub->resturlaubstage = $_POST['resturlaubstage']; - if(isset($_POST['anspruch'])) - $resturlaub->urlaubstageprojahr = $_POST['anspruch']; - $resturlaub->mehrarbeitsstunden = $_POST['mehrarbeitsstunden']; - - if($resturlaub->save()) - { - $content_resturlaub .= 'Daten wurden gespeichert!'; - } - else - { - $content_resturlaub .= "Fehler beim Speichern der Daten: $resturlaub->errormsg"; - } - - $resturlaubstage = htmlspecialchars($resturlaub->resturlaubstage,ENT_QUOTES); - $mehrarbeitsstunden = htmlspecialchars($resturlaub->mehrarbeitsstunden,ENT_QUOTES); - $anspruch = htmlspecialchars($resturlaub->urlaubstageprojahr,ENT_QUOTES); -} -else -{*/ - $resturlaub = new resturlaub($conn); - - if($resturlaub->load($uid)) - { - $resturlaubstage = $resturlaub->resturlaubstage; - $mehrarbeitsstunden = $resturlaub->mehrarbeitsstunden; - $anspruch = $resturlaub->urlaubstageprojahr; - } -/*} -if($anspruch=='') - $anspruch=25; - -//Eingabefelder am 15.12.2007 deaktivieren -if((date('d')>=15 && date('m')>=12 && date('Y')>=2007) || date('Y')>2007) - $disabled='disabled="true"'; -else - $disabled=''; -*/ -//Den Bereich fuer die Resturlaubstage nur anzeigen wenn dies -//im config angegeben ist -if(URLAUB_TOOLS) -{ - $jahr=date('Y'); - if (date('m')>8) - { - $datum_beginn_iso=$jahr.'-09-01'; - $datum_beginn='1.Sept.'.$jahr; - $datum_ende_iso=($jahr+1).'-08-31'; - $datum_ende='31.Aug.'.($jahr+1); - $geschaeftsjahr=$jahr.'/'.($jahr+1); - } - else - { - $datum_beginn_iso=($jahr-1).'-09-01'; - $datum_beginn='1.Sept.'.($jahr-1); - $datum_ende_iso=$jahr.'-08-31'; - $datum_ende='31.Aug.'.$jahr; - $geschaeftsjahr=($jahr-1).'/'.$jahr; - } - $content_resturlaub.="

    Urlaub im Geschäftsjahr $geschaeftsjahr

    "; - /* - $content_resturlaub.='
    '; - $content_resturlaub.=''; - $content_resturlaub.=''; - $content_resturlaub.=''; - $content_resturlaub.=''; - $content_resturlaub.=''; - $content_resturlaub.='
    Resturlaubstage (31.08.)
    Anspruch (01.09.)
    Gesamturlaub
     
    Aktuelle Mehrarbeitsstunden:
    '; - */ - $gebuchterurlaub=0; - //Urlaub berechnen (date_part('month', vondatum)>9 AND date_part('year', vondatum)='".(date('Y')-1)."') OR (date_part('month', vondatum)<9 AND date_part('year', vondatum)='".date('Y')."') - $qry = "SELECT sum(bisdatum-vondatum+1) as anzahltage FROM campus.tbl_zeitsperre - WHERE zeitsperretyp_kurzbz='Urlaub' AND mitarbeiter_uid='$uid' AND - ( - vondatum>='$datum_beginn_iso' AND bisdatum<='$datum_ende_iso' - )"; - $tttt="\n"; - $result = pg_query($conn, $qry); - $row = pg_fetch_object($result); - $gebuchterurlaub = $row->anzahltage; - if($gebuchterurlaub=='') - $gebuchterurlaub=0; - $content_resturlaub.=""; - $content_resturlaub.=""; - $content_resturlaub.=""; - $content_resturlaub.=""; - $content_resturlaub .=""; - $content_resturlaub .=''; - $content_resturlaub.="
    Anspruch$anspruch Tage   ( jährlich )
    + Resturlaub$resturlaubstage Tage   ( Stichtag: $datum_beginn )
    - aktuell gebuchter Urlaub $gebuchterurlaub Tage   ( $datum_beginn - $datum_ende )
    aktueller Stand".($anspruch+$resturlaubstage-$gebuchterurlaub)." Tage   ( Stichtag: $datum_ende )
    [AblaufUrlaubserfassung.pdf]
    "; -} -echo ''; -echo ''; -echo "'; -echo ""; -echo ''; -echo ''; -echo '
    "; -echo $content_form; -echo '$content_resturlaub
    '; -echo $content_table; -echo '
    '; - -?> -
    - +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +// ** +// * @brief bietet die Moeglichkeit zur Anzeige und +// * Aenderung der Zeitwuensche und Zeitsperren + + require_once('../../config.inc.php'); + require_once('../../../include/functions.inc.php'); + require_once('../../../include/zeitsperre.class.php'); + require_once('../../../include/datum.class.php'); + require_once('../../../include/resturlaub.class.php'); + require_once('../../../include/person.class.php'); + require_once('../../../include/benutzer.class.php'); + require_once('../../../include/mitarbeiter.class.php'); + require_once('../../../include/mail.class.php'); + require_once('../../../include/benutzerberechtigung.class.php'); + + $uid = get_uid(); + + $PHP_SELF = $_SERVER['PHP_SELF']; + + if(isset($_GET['type'])) + $type=$_GET['type']; + + if (!$conn = @pg_pconnect(CONN_STRING)) + die("Es konnte keine Verbindung zum Server aufgebaut werden."); + + //Wenn User Administrator ist und UID uebergeben wurde, dann die Zeitsperren + //des uebergebenen Users anzeigen + if(isset($_GET['uid'])) + { + $rechte = new benutzerberechtigung(); + $rechte->getBerechtigungen($uid); + if($rechte->isBerechtigt('admin')) + { + $uid = $_GET['uid']; + } + else + { + die('Fuer diese Aktion benoetigen Sie Administratorenrechte'); + } + } + $datum_obj = new datum(); + $ma= new mitarbeiter($conn); + + //Stundentabelleholen + if(! $result_stunde=pg_query($conn, "SELECT * FROM lehre.tbl_stunde ORDER BY stunde")) + die(pg_last_error($conn)); + $num_rows_stunde=pg_num_rows($result_stunde); + +?> + + +Zeitsperre + + + + + + + + + + +
      + + + + +
     Zeitsperren
    +
    + + + + $bisdatum) + { + $error=true; + $error_msg .= 'VON-Datum größer als Bis-Datum! '; + } + + + + $zeitsperre = new zeitsperre($conn); + + if($_GET['type']=='edit_sperre') + { + if(!is_numeric($_GET['id'])) + { + $error=true; + $error_msg.='Invalid id '; + } + else + { + //wenn die zeitsperre bereits existiert, dann wird sie geladen + $zeitsperre->load($_GET['id']); + $zeitsperre->new=false; + $zeitsperre->zeitsperre_id = $_GET['id']; + + //pruefen ob die geladene id auch von der person ist die angemeldet ist + if($zeitsperre->mitarbeiter_uid!=$uid) + die('Sie haben keine Berechtigung fuer diese Zeitsperre'); + } + } + else + { + $zeitsperre->new=true; + $zeitsperre->insertamum = date('Y-m-d H:i:s'); + $zeitsperre->insertvon = $uid; + } + + if(!$error && $zeitsperre->freigabeamum!='') + { + $error = true; + $error_msg.='Dieser Urlaub kann nicht mehr editiert werden, da er schon freigegeben wurde'; + } + if(!$error) + { + $zeitsperre->zeitsperretyp_kurzbz = $_POST['zeitsperretyp_kurzbz']; + $zeitsperre->mitarbeiter_uid = $uid; + $zeitsperre->bezeichnung = $_POST['bezeichnung']; + $zeitsperre->vondatum = $_POST['vondatum']; + $zeitsperre->vonstunde = $_POST['vonstunde']; + $zeitsperre->bisdatum = $_POST['bisdatum']; + $zeitsperre->bisstunde = $_POST['bisstunde']; + $zeitsperre->erreichbarkeit_kurzbz = $_POST['erreichbarkeit']; + $zeitsperre->vertretung_uid = $_POST['vertretung_uid']; + $zeitsperre->updateamum = date('Y-m-d H:i:s'); + $zeitsperre->updatevon = $uid; + + if($zeitsperre->save()) + { + echo "

    Daten wurden erfolgreich gespeichert

    "; + if(URLAUB_TOOLS) + { + if($zeitsperre->new && $zeitsperre->zeitsperretyp_kurzbz=='Urlaub') + { + //Beim Anlegen von neuen Urlauben wird ein Mail an den Vorgesetzten versendet um diesen Freizugeben + $vorgesetzter = $ma->getVorgesetzte($uid); + if($vorgesetzter) + { + $to=''; + foreach($ma->vorgesetzte as $vg) + { + if (!empty($to)) + $to.=','; + $to.=trim($vg.'@'.DOMAIN); + } + $to_len=mb_strlen($to)-1; + $to = mb_substr($to, 0,$to_len); + + //$to = 'oesi@technikum-wien.at'; + $benutzer = new benutzer(); + $benutzer->load($uid); + $message = "Dies ist eine automatische Mail! \n". + "$benutzer->nachname $benutzer->vorname hat einen neuen Urlaub eingetragen:\n". + "$zeitsperre->bezeichnung von $zeitsperre->vondatum bis $zeitsperre->bisdatum\n\n". + "Sie können diesen unter folgender Adresse freigeben:\n". + APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$datum_obj->formatDatum($zeitsperre->vondatum, 'Y'); + $from='vilesci@'.DOMAIN; + $mail = new mail($to, $from, 'Freigabeansuchen', $message); + if($mail->send()) + { + echo "
    Freigabemail wurde an $to versandt"; + } + else + { + echo "
    Fehler beim Senden des Freigabemails an $to"; + } + } + else + { + echo "
    Es konnte keine Freigabemail versendet werden da kein Vorgesetzter eingetragen ist"; + } + } + } + } + else + echo "Fehler beim Speichern der Daten"; + } + else + echo "$error_msg"; +} + +//loeschen einer zeitsperre +if(isset($_GET['type']) && $_GET['type']=='delete_sperre') +{ + $zeit = new zeitsperre($conn); + $zeit->load($_GET['id']); + //pruefen ob die person die den datensatz loeschen will auch der + //besitzer dieses datensatzes ist + if($zeit->mitarbeiter_uid==$uid) + { + if($zeit->delete($_GET['id'])) + { + echo "Eintrag wurde geloescht"; + } + else + echo "Fehler beim loeschen des Eintrages"; + } + else + echo "Sie haben keine Berechtigung diesen Datensatz zu loeschen"; +} + +//zeitsperren des users laden +$zeit = new zeitsperre($conn); +$zeit->getzeitsperren($uid); +$content_table='

    '; + +$qry = "SELECT * FROM campus.tbl_erreichbarkeit"; +$erreichbarkeit_arr=array(); +if($result = pg_query($conn, $qry)) +{ + while($row = pg_fetch_object($result)) + { + $erreichbarkeit_arr[$row->erreichbarkeit_kurzbz]=$row->beschreibung; + } +} +//liste aller zeitsperren ausgeben +if(count($zeit->result)>0) +{ + $content_table.= ''; + $i=0; + foreach ($zeit->result as $row) + { + $i++; + //name der vertretung holen + $qry = "SELECT vorname || ' ' || nachname as kurzbz FROM public.tbl_mitarbeiter, public.tbl_benutzer, public.tbl_person WHERE tbl_benutzer.uid=tbl_mitarbeiter.mitarbeiter_uid AND tbl_benutzer.person_id=tbl_person.person_id AND mitarbeiter_uid='$row->vertretung_uid'"; + $result_vertretung = pg_query($conn, $qry); + $row_vertretung = pg_fetch_object($result_vertretung); + $content_table.= " + + + + + + + "; + if($row->freigabeamum=='' || $row->zeitsperretyp_kurzbz!='Urlaub') + { + $content_table.=" + "; + } + $content_table.=""; + } + $content_table.= '
    BezeichnungGrundVonBisVertretungErreichbarkeitFreigegeben
    $row->bezeichnung$row->zeitsperretyp_kurzbz".$datum_obj->convertISODate($row->vondatum)." ".($row->vonstunde!=''?'('.$row->vonstunde.')':'')."".$datum_obj->convertISODate($row->bisdatum)." ".($row->bisstunde!=''?'('.$row->bisstunde.')':'')."".(isset($row_vertretung->kurzbz)?$row_vertretung->kurzbz:'')."".(isset($erreichbarkeit_arr[$row->erreichbarkeit])?$erreichbarkeit_arr[$row->erreichbarkeit]:'')."".($row->freigabeamum!=''?'Ja':'')."editdelete
    '; +} +else + $content_table.= "Derzeit sind keine Zeitsperren eingetragen!"; + +$zeitsperre = new zeitsperre($conn); +$action = "$PHP_SELF?type=new_sperre"; +//wenn ein datensatz editiert werden soll, dann diesen laden +if(isset($_GET['type']) && $_GET['type']=='edit') +{ + if(isset($_GET['id']) && is_numeric($_GET['id'])) + { + $zeitsperre->load($_GET['id']); + //pruefen ob dieser datensatz auch dem angemeldeten user gehoert + if($zeitsperre->mitarbeiter_uid!=$uid) + { + die("Sie haben keine Berechtigung diese Zeitsperre zu aendern"); + } + $action = "$PHP_SELF?type=edit_sperre&id=".$_GET['id']; + } + else + { + die("Fehlerhafte Parameteruebergabe"); + } +} +//formular zum editieren und neu anlegen der zeitsperren +$content_form=''; +$content_form.= ''; +$content_form.= "\n"; +$content_form.= ''; +$content_form.= '"; + +$content_form.= '"; + +$content_form.= "'; + +$content_form.= "'; +$content_form.= ''; +$content_form.= "
    Grund'; +$content_form.= '
    Bezeichnung
    von '; +//dropdown fuer vonstunde +$content_form.= "Stunde (inklusive)"; + +$content_form.= "
    bis '; +//dropdown fuer bisstunde +$content_form.= "Stunde (inklusive)"; +$content_form.= "
    Erreichbarkeit
    Vertretung
     '; + +if(isset($_GET['type']) && $_GET['type']=='edit') + $content_form.= ""; +else + $content_form.= ""; +$content_form.= '
     Achtung: Es werden alle eingegeben Tage berücksichtigt, daher müssen mehrtägige Zeitsperren
    an Unterbrechungen wie Wochenenden oder Feiertagen unterteilt werden!"; +$content_form.= '
    '; + +// ******* RESTURLAUB ******** // +$content_resturlaub = ''; +$resturlaubstage = '0'; +$mehrarbeitsstunden = '0'; +$anspruch = '25'; +/* +if(isset($_GET['type']) && $_GET['type']=='save_resturlaub') +{ + $_POST['mehrarbeitsstunden'] = mb_eregi_replace(',','.',$_POST['mehrarbeitsstunden']); + + $resturlaub = new resturlaub($conn); + if($resturlaub->load($uid)) + { + $resturlaub->new = false; + } + else + { + $resturlaub->new = true; + $resturlaub->insertamum = date('Y-m-d H:i:s'); + $resturlaub->insertvon = $uid; + } + $resturlaub->mitarbeiter_uid = $uid; + $resturlaub->updateamum = date('Y-m-d H:i:s'); + $resturlaub->updatevon = $uid; + if(isset($_POST['resturlaubstage'])) + $resturlaub->resturlaubstage = $_POST['resturlaubstage']; + if(isset($_POST['anspruch'])) + $resturlaub->urlaubstageprojahr = $_POST['anspruch']; + $resturlaub->mehrarbeitsstunden = $_POST['mehrarbeitsstunden']; + + if($resturlaub->save()) + { + $content_resturlaub .= 'Daten wurden gespeichert!'; + } + else + { + $content_resturlaub .= "Fehler beim Speichern der Daten: $resturlaub->errormsg"; + } + + $resturlaubstage = htmlspecialchars($resturlaub->resturlaubstage,ENT_QUOTES); + $mehrarbeitsstunden = htmlspecialchars($resturlaub->mehrarbeitsstunden,ENT_QUOTES); + $anspruch = htmlspecialchars($resturlaub->urlaubstageprojahr,ENT_QUOTES); +} +else +{*/ + $resturlaub = new resturlaub($conn); + + if($resturlaub->load($uid)) + { + $resturlaubstage = $resturlaub->resturlaubstage; + $mehrarbeitsstunden = $resturlaub->mehrarbeitsstunden; + $anspruch = $resturlaub->urlaubstageprojahr; + } +/*} +if($anspruch=='') + $anspruch=25; + +//Eingabefelder am 15.12.2007 deaktivieren +if((date('d')>=15 && date('m')>=12 && date('Y')>=2007) || date('Y')>2007) + $disabled='disabled="true"'; +else + $disabled=''; +*/ +//Den Bereich fuer die Resturlaubstage nur anzeigen wenn dies +//im config angegeben ist +if(URLAUB_TOOLS) +{ + $jahr=date('Y'); + if (date('m')>8) + { + $datum_beginn_iso=$jahr.'-09-01'; + $datum_beginn='1.Sept.'.$jahr; + $datum_ende_iso=($jahr+1).'-08-31'; + $datum_ende='31.Aug.'.($jahr+1); + $geschaeftsjahr=$jahr.'/'.($jahr+1); + } + else + { + $datum_beginn_iso=($jahr-1).'-09-01'; + $datum_beginn='1.Sept.'.($jahr-1); + $datum_ende_iso=$jahr.'-08-31'; + $datum_ende='31.Aug.'.$jahr; + $geschaeftsjahr=($jahr-1).'/'.$jahr; + } + $content_resturlaub.="

    Urlaub im Geschäftsjahr $geschaeftsjahr

    "; + /* + $content_resturlaub.='
    '; + $content_resturlaub.=''; + $content_resturlaub.=''; + $content_resturlaub.=''; + $content_resturlaub.=''; + $content_resturlaub.=''; + $content_resturlaub.='
    Resturlaubstage (31.08.)
    Anspruch (01.09.)
    Gesamturlaub
     
    Aktuelle Mehrarbeitsstunden:
    '; + */ + $gebuchterurlaub=0; + //Urlaub berechnen (date_part('month', vondatum)>9 AND date_part('year', vondatum)='".(date('Y')-1)."') OR (date_part('month', vondatum)<9 AND date_part('year', vondatum)='".date('Y')."') + $qry = "SELECT sum(bisdatum-vondatum+1) as anzahltage FROM campus.tbl_zeitsperre + WHERE zeitsperretyp_kurzbz='Urlaub' AND mitarbeiter_uid='$uid' AND + ( + vondatum>='$datum_beginn_iso' AND bisdatum<='$datum_ende_iso' + )"; + $tttt="\n"; + $result = pg_query($conn, $qry); + $row = pg_fetch_object($result); + $gebuchterurlaub = $row->anzahltage; + if($gebuchterurlaub=='') + $gebuchterurlaub=0; + $content_resturlaub.=""; + $content_resturlaub.=""; + $content_resturlaub.=""; + $content_resturlaub.=""; + $content_resturlaub .=""; + $content_resturlaub .=''; + $content_resturlaub.="
    Anspruch$anspruch Tage   ( jährlich )
    + Resturlaub$resturlaubstage Tage   ( Stichtag: $datum_beginn )
    - aktuell gebuchter Urlaub $gebuchterurlaub Tage   ( $datum_beginn - $datum_ende )
    aktueller Stand".($anspruch+$resturlaubstage-$gebuchterurlaub)." Tage   ( Stichtag: $datum_ende )
    [AblaufUrlaubserfassung.pdf]
    "; +} +echo ''; +echo ''; +echo "'; +echo ""; +echo ''; +echo ''; +echo '
    "; +echo $content_form; +echo '$content_resturlaub
    '; +echo $content_table; +echo '
    '; + +?> +
    + \ No newline at end of file diff --git a/cis/private/tools/news_entry.php b/cis/private/tools/news_entry.php index d970ee86e..b62ba0e97 100644 --- a/cis/private/tools/news_entry.php +++ b/cis/private/tools/news_entry.php @@ -1,327 +1,327 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ - require_once('../../config.inc.php'); - require_once('../../../include/functions.inc.php'); - require_once('../../../include/benutzerberechtigung.class.php'); - require_once('../../../include/news.class.php'); - - //Connection Herstellen - if(!$sql_conn = pg_pconnect(CONN_STRING)) - die("Fehler beim öffnen der Datenbankverbindung"); - - $user = get_uid(); - - $rechte = new benutzerberechtigung($sql_conn); - $rechte->getBerechtigungen($user); - - if(check_lektor($user,$sql_conn)) - $is_lector=true; - - if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('assistenz') || $rechte->isBerechtigt('lehre') || $rechte->isBerechtigt('news')) - $berechtigt=true; - else - $berechtigt=false; - - if(isset($_GET['news_id'])) - $news_id=$_GET['news_id']; - if(isset($_GET['message_sent'])) - $message_sent=$_GET['message_sent']; - if(isset($_POST['message_sent'])) - $message_sent=$_POST['message_sent']; - - if(isset($_GET['changed'])) - $changed=$_GET['changed']; - if(isset($_POST['news_id'])) - $news_id=$_POST['news_id']; - if(isset($_POST['news_submit'])) - $news_submit=$_POST['news_submit']; - if(isset($_POST['txtNewsMessage'])) - $txtNewsMessage=$_POST['txtNewsMessage']; - if(isset($_POST['txtAuthor'])) - $txtAuthor=$_POST['txtAuthor']; - if(isset($_POST['datum'])) - $datum=$_POST['datum']; - if(isset($_POST['datum_bis'])) - $datum_bis=$_POST['datum_bis']; - if(isset($_POST['txtTitle'])) - $txtTitle=$_POST['txtTitle']; - if(isset($_POST['btnSend'])) - $btnSend=$_POST['btnSend']; - if(isset($_POST['news_submit'])) - $news_submit=$_POST['news_submit']; - -?> - - -'; - //var_dump($_GET); - if($berechtigt && isset($btnSend) && (!isset($message_sent) || $message_sent == "no")) - { - $author = chop($txtAuthor); - $title = chop($txtTitle); - $news_message = chop($txtNewsMessage); - if($author != "" && $title != "" && $news_message != "") - { - $news_message = mb_eregi_replace("\r\n", "
    ", $news_message); - - if(isset($news_id) && $news_id != "") - { - $news = new news(); - - $news->news_id = $news_id; - $news->betreff = $title; - $news->verfasser = $author; - $news->text = $news_message; - $news->studiengang_kz = '0'; - $news->semester = null; - if(isset($chksenat)) - $news->fachbereich_kurzbz = 'Senat'; - else - $news->fachbereich_kurzbz = ''; - $news->datum = $datum; - $news->datum_bis = $datum_bis; - $news->uid=$user; - $news->updatevon=$user; - $news->updateamum=date('Y-m-d H:i:s'); - $news->new=false; - - if($news->save()) - { - echo '"; - } - else - { - //echo $news->errormsg; - echo ""; - } - } - else - { - $news = new news(); - - $news->betreff = $title; - $news->verfasser = $author; - $news->text = $news_message; - $news->studiengang_kz = '0'; - $news->updatevon=$user; - $news->semester = null; - if(isset($chksenat)) - $news->fachbereich_kurzbz = 'Senat'; - else - $news->fachbereich_kurzbz = ''; - $news->uid = $user; - $news->updateamum=date('Y-m-d H:i:s'); - $news->datum=$datum; - $news->datum_bis=$datum_bis; - $news->new=true; - - if($news->save()) - { - echo ""; - } - else - { - //echo "test:".$news->errormsg; - echo ""; - } - } - } - else - { - echo ""; - } - - exit; - } -?> - - - - - - - - - - - - - - -
      - - - - - - - - - - Sie haben keine Berechtigung für diese Seite."); - } - - if(isset($message_sent) && $message_sent == "yes") - { - if(isset($changed) && $changed == "yes") - { - echo " "; - echo ""; - echo " "; - echo ""; - echo ""; - echo " "; - echo ""; - } - else - { - echo " "; - echo ""; - echo " "; - echo ""; - echo ""; - echo " "; - echo ""; - } - #exit; - } - else if(isset($message_sent) && $message_sent == "no") - { - echo ""; - echo ""; - echo " "; - echo ""; - - exit; - } - - echo ''; - ?> - - - - - - - - - - - - - "; - } - else - { - echo ''; - } - ?> - -
     Verwaltungstools - Newsverwaltung
     
    "; - echo ""; - echo "
     

    Die Nachricht wurde erfolgreich geändert!

    "; - echo ""; - echo "
     

    Die Neuigkeit wurde erfolgreich eingetragen!

     

    Die Neuigkeit wurde NICHT eingetragen!

    "; - echo "

    Bitte versuchen Sie es erneut

     '; - - if(isset($news_id) && $news_id != "") - { - $news = new news($news_id); - echo 'Eintrag ändern'; - } - else - { - echo 'Neuen Eintrag erstellen'; - } - - echo '
     
    - - - - - - - - - - - - - - - - -isBerechtigt('admin',0) || $rechte->isBerechtigt('assistenz',0)) - { -?> - - - - -
    Verfasser:>Sichtbar ab:datum))); else echo date('d.m.Y'); ?>">
    Titel:>Sichtbar bis (optional):datum_bis!='') echo date('d.m.Y',strtotime(strftime($news->datum_bis))); else echo ''; ?>">
    Bitte geben Sie hier Ihre Nachricht ein:Senat:fachbereich_kurzbz=='Senat') echo ' checked'?>>
    -
    -
    - - -   - -
    -
     
    - +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + require_once('../../config.inc.php'); + require_once('../../../include/functions.inc.php'); + require_once('../../../include/benutzerberechtigung.class.php'); + require_once('../../../include/news.class.php'); + + //Connection Herstellen + if(!$sql_conn = pg_pconnect(CONN_STRING)) + die("Fehler beim öffnen der Datenbankverbindung"); + + $user = get_uid(); + + $rechte = new benutzerberechtigung(); + $rechte->getBerechtigungen($user); + + if(check_lektor($user,$sql_conn)) + $is_lector=true; + + if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('assistenz') || $rechte->isBerechtigt('lehre') || $rechte->isBerechtigt('news')) + $berechtigt=true; + else + $berechtigt=false; + + if(isset($_GET['news_id'])) + $news_id=$_GET['news_id']; + if(isset($_GET['message_sent'])) + $message_sent=$_GET['message_sent']; + if(isset($_POST['message_sent'])) + $message_sent=$_POST['message_sent']; + + if(isset($_GET['changed'])) + $changed=$_GET['changed']; + if(isset($_POST['news_id'])) + $news_id=$_POST['news_id']; + if(isset($_POST['news_submit'])) + $news_submit=$_POST['news_submit']; + if(isset($_POST['txtNewsMessage'])) + $txtNewsMessage=$_POST['txtNewsMessage']; + if(isset($_POST['txtAuthor'])) + $txtAuthor=$_POST['txtAuthor']; + if(isset($_POST['datum'])) + $datum=$_POST['datum']; + if(isset($_POST['datum_bis'])) + $datum_bis=$_POST['datum_bis']; + if(isset($_POST['txtTitle'])) + $txtTitle=$_POST['txtTitle']; + if(isset($_POST['btnSend'])) + $btnSend=$_POST['btnSend']; + if(isset($_POST['news_submit'])) + $news_submit=$_POST['news_submit']; + +?> + + +'; + //var_dump($_GET); + if($berechtigt && isset($btnSend) && (!isset($message_sent) || $message_sent == "no")) + { + $author = chop($txtAuthor); + $title = chop($txtTitle); + $news_message = chop($txtNewsMessage); + if($author != "" && $title != "" && $news_message != "") + { + $news_message = mb_eregi_replace("\r\n", "
    ", $news_message); + + if(isset($news_id) && $news_id != "") + { + $news = new news(); + + $news->news_id = $news_id; + $news->betreff = $title; + $news->verfasser = $author; + $news->text = $news_message; + $news->studiengang_kz = '0'; + $news->semester = null; + if(isset($chksenat)) + $news->fachbereich_kurzbz = 'Senat'; + else + $news->fachbereich_kurzbz = ''; + $news->datum = $datum; + $news->datum_bis = $datum_bis; + $news->uid=$user; + $news->updatevon=$user; + $news->updateamum=date('Y-m-d H:i:s'); + $news->new=false; + + if($news->save()) + { + echo '"; + } + else + { + //echo $news->errormsg; + echo ""; + } + } + else + { + $news = new news(); + + $news->betreff = $title; + $news->verfasser = $author; + $news->text = $news_message; + $news->studiengang_kz = '0'; + $news->updatevon=$user; + $news->semester = null; + if(isset($chksenat)) + $news->fachbereich_kurzbz = 'Senat'; + else + $news->fachbereich_kurzbz = ''; + $news->uid = $user; + $news->updateamum=date('Y-m-d H:i:s'); + $news->datum=$datum; + $news->datum_bis=$datum_bis; + $news->new=true; + + if($news->save()) + { + echo ""; + } + else + { + //echo "test:".$news->errormsg; + echo ""; + } + } + } + else + { + echo ""; + } + + exit; + } +?> + + + + + + + + + + + + + + +
      +
    + + + + + + + + + Sie haben keine Berechtigung für diese Seite."); + } + + if(isset($message_sent) && $message_sent == "yes") + { + if(isset($changed) && $changed == "yes") + { + echo " "; + echo ""; + echo " "; + echo ""; + echo ""; + echo " "; + echo ""; + } + else + { + echo " "; + echo ""; + echo " "; + echo ""; + echo ""; + echo " "; + echo ""; + } + #exit; + } + else if(isset($message_sent) && $message_sent == "no") + { + echo ""; + echo ""; + echo " "; + echo ""; + + exit; + } + + echo ''; + ?> + + + + + + + + + + + + + "; + } + else + { + echo ''; + } + ?> + +
     Verwaltungstools - Newsverwaltung
     
    "; + echo ""; + echo "
     

    Die Nachricht wurde erfolgreich geändert!

    "; + echo ""; + echo "
     

    Die Neuigkeit wurde erfolgreich eingetragen!

     

    Die Neuigkeit wurde NICHT eingetragen!

    "; + echo "

    Bitte versuchen Sie es erneut

     '; + + if(isset($news_id) && $news_id != "") + { + $news = new news($news_id); + echo 'Eintrag ändern'; + } + else + { + echo 'Neuen Eintrag erstellen'; + } + + echo '
     
    + + + + + + + + + + + + + + + + +isBerechtigt('admin',0) || $rechte->isBerechtigt('assistenz',0)) + { +?> + + + + +
    Verfasser:>Sichtbar ab:datum))); else echo date('d.m.Y'); ?>">
    Titel:>Sichtbar bis (optional):datum_bis!='') echo date('d.m.Y',strtotime(strftime($news->datum_bis))); else echo ''; ?>">
    Bitte geben Sie hier Ihre Nachricht ein:Senat:fachbereich_kurzbz=='Senat') echo ' checked'?>>
    +
    +
    + + +   + +
    +
     
    + \ No newline at end of file diff --git a/cis/private/tools/news_show.php b/cis/private/tools/news_show.php index 8958a2f65..d0332c3ca 100644 --- a/cis/private/tools/news_show.php +++ b/cis/private/tools/news_show.php @@ -1,172 +1,172 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -?> - - - - - - - - - -getBerechtigungen($user); - - if(check_lektor($user,$sql_conn)) - $is_lector=true; - - if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('assistenz') || $rechte->isBerechtigt('news') || $rechte->isBerechtigt('lehre')) - $berechtigt=true; - else - $berechtigt=false; - - if($berechtigt) - { - if(isset($remove_id) && $remove_id != "") - { - $news = new news(); - if($news->delete($remove_id)) - { - writeCISlog('DELETE NEWS',''); - echo ''; - exit; - } - else - echo 'Fehler beim Löschen des Eintrages'; - } - } -?> - - - - - - -
      - - - - -
    - - getnews(0,0,null, true, '*', 0); - - $zaehler=0; - $i=0; - foreach($news->result as $row) - { - $i++; - $zaehler++; - $datum = date('d.m.Y',strtotime(strftime($row->datum))); - - echo ""; - - if($i % 2 != 0) - { - echo ''; - echo ''; - echo ''; - echo ' '; - echo ''; - echo ''; - echo ' '; - echo ''; - - } - if($zaehler==0) - echo 'Zur Zeit gibt es keine aktuellen News!'; - ?> -
    '; - } - else - { - echo ''; - } - - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo ' '; - echo '
    '; - echo $datum.' '.$row->verfasser; - echo ' '; - echo ' Editieren, Löschen'; - echo '
     
    '; - echo ' '.$row->betreff.'
    '.$row->text.'
     
     
    -
     
    - - +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +?> + + + + + + + + + +getBerechtigungen($user); + + if(check_lektor($user,$sql_conn)) + $is_lector=true; + + if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('assistenz') || $rechte->isBerechtigt('news') || $rechte->isBerechtigt('lehre')) + $berechtigt=true; + else + $berechtigt=false; + + if($berechtigt) + { + if(isset($remove_id) && $remove_id != "") + { + $news = new news(); + if($news->delete($remove_id)) + { + writeCISlog('DELETE NEWS',''); + echo ''; + exit; + } + else + echo 'Fehler beim Löschen des Eintrages'; + } + } +?> + + + + + + +
      + + + + +
    + + getnews(0,0,null, true, '*', 0); + + $zaehler=0; + $i=0; + foreach($news->result as $row) + { + $i++; + $zaehler++; + $datum = date('d.m.Y',strtotime(strftime($row->datum))); + + echo ""; + + if($i % 2 != 0) + { + echo ''; + echo ''; + echo ''; + echo ' '; + echo ''; + echo ''; + echo ' '; + echo ''; + + } + if($zaehler==0) + echo 'Zur Zeit gibt es keine aktuellen News!'; + ?> +
    '; + } + else + { + echo ''; + } + + echo ' '; + echo ' '; + echo ' '; + echo ' '; + echo ' '; + echo ' '; + echo ' '; + echo ' '; + echo '
    '; + echo $datum.' '.$row->verfasser; + echo ' '; + echo ' Editieren, Löschen'; + echo '
     
    '; + echo ' '.$row->betreff.'
    '.$row->text.'
     
     
    +
     
    + + diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index a8293c153..c9b2f286c 100644 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -1,390 +1,390 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -require_once('../../config.inc.php'); -require_once('../../../include/functions.inc.php'); -require_once('../../../include/person.class.php'); -require_once('../../../include/benutzer.class.php'); -require_once('../../../include/studiengang.class.php'); -require_once('../../../include/fachbereich.class.php'); -require_once('../../../include/zeitaufzeichnung.class.php'); -require_once('../../../include/datum.class.php'); - -echo ' - - - -Zeitaufzeichnung - - - - - - - -'; - -echo ' - - - - -
      - - - - -
    Zeitaufzeichnung
    -
    '; - -//Variablen initialisieren -if(!$conn = pg_pconnect(CONN_STRING)) - die('Datenbankverbindung fehlgeschlagen'); - -$user = get_uid(); -$datum = new datum(); -$studiengang = new studiengang($conn); -$studiengang->getAll('typ, kurzbz', false); -$stg_arr = array(); - -foreach ($studiengang->result as $stg) -{ - $stg_arr[$stg->studiengang_kz]=$stg->kuerzel; -} - -$zeitaufzeichnung_id = (isset($_GET['zeitaufzeichnung_id'])?$_GET['zeitaufzeichnung_id']:''); -$projekt_kurzbz = (isset($_POST['projekt'])?$_POST['projekt']:''); -$studiengang_kz = (isset($_POST['studiengang'])?$_POST['studiengang']:''); -$fachbereich_kurzbz = (isset($_POST['fachbereich'])?$_POST['fachbereich']:''); -$aktivitaet_kurzbz = (isset($_POST['aktivitaet'])?$_POST['aktivitaet']:''); -$von = (isset($_POST['von'])?$_POST['von']:date('d.m.Y H:i')); -$bis = (isset($_POST['bis'])?$_POST['bis']:date('d.m.Y H:i', mktime(date('H'), date('i')+10, 0, date('m'),date('d'),date('Y')))); -$beschreibung = (isset($_POST['beschreibung'])?$_POST['beschreibung']:''); - -//Speichern der Daten -if(isset($_POST['save']) || isset($_POST['edit'])) -{ - $zeit = new zeitaufzeichnung($conn); - - if(isset($_POST['edit'])) - { - if(!$zeit->load($zeitaufzeichnung_id)) - die('Fehler beim Laden des Datensatzes'); - - $zeit->new = false; - } - else - { - $zeit->new = true; - $zeit->insertamum = date('Y-m-d H:i:s'); - $zeit->insertvon = $user; - } - - $zeit->uid = $user; - $zeit->aktivitaet_kurzbz = $aktivitaet_kurzbz; - $zeit->start = $von; - $zeit->ende = $bis; - $zeit->beschreibung = $beschreibung; - $zeit->studiengang_kz = $studiengang_kz; - $zeit->fachbereich_kurzbz = $fachbereich_kurzbz; - $zeit->updateamum = date('Y-m-d H:i:s'); - $zeit->updatevon = $user; - $zeit->projekt_kurzbz = $projekt_kurzbz; - - if(!$zeit->save()) - { - echo 'Fehler beim Speichern der Daten:'.$zeit->errormsg.'
    '; - } - else - { - echo 'Daten wurden gespeichert
    '; - $zeitaufzeichnung_id = $zeit->zeitaufzeichnung_id; - } -} - -//Datensatz loeschen -if(isset($_GET['type']) && $_GET['type']=='delete') -{ - $zeit = new zeitaufzeichnung($conn); - - if($zeit->load($zeitaufzeichnung_id)) - { - if($zeit->uid==$user) - { - if($zeit->delete($zeitaufzeichnung_id)) - echo 'Eintrag wurde geloescht
    '; - else - echo 'Fehler beim Loeschen des Eintrages
    '; - } - else - echo 'Keine Berechtigung!
    '; - } - else - echo 'Datensatz wurde nicht gefunden
    '; -} - -//Laden der Daten zum aendern -if(isset($_GET['type']) && $_GET['type']=='edit') -{ - $zeit = new zeitaufzeichnung($conn); - - if($zeit->load($zeitaufzeichnung_id)) - { - if($zeit->uid==$user) - { - $uid = $zeit->uid; - $aktivitaet_kurzbz = $zeit->aktivitaet_kurzbz; - $von = date('d.m.Y H:i', $datum->mktime_fromtimestamp($zeit->start)); - $bis = date('d.m.Y H:i', $datum->mktime_fromtimestamp($zeit->ende)); - $beschreibung = $zeit->beschreibung; - $studiengang_kz = $zeit->studiengang_kz; - $fachbereich_kurzbz = $zeit->fachbereich_kurzbz; - $projekt_kurzbz = $zeit->projekt_kurzbz; - } - else - { - echo " Keine Berechtigung zum Aendern des Datensatzes"; - $zeitaufzeichnung_id=''; - } - } -} - -//Projekte holen fuer zu denen der Benutzer zugeteilt ist -$qry_projekt = "SELECT distinct tbl_projekt.* FROM fue.tbl_projektbenutzer JOIN fue.tbl_projekt USING(projekt_kurzbz) WHERE beginn<=now() AND (ende>=now() OR ende is null) AND uid='$user'"; - -if($result_projekt = pg_query($conn, $qry_projekt)) -{ - if(pg_num_rows($result_projekt)>0) - { - $bn = new benutzer($conn); - if(!$bn->load($user)) - die("Benutzer $user wurde nicht gefunden"); - - echo " -
    Zeitaufzeichnung von $bn->vorname $bn->nachnameNEU
    "; - - //Formular - echo '

    '; - - echo ''; - //Projekt - echo ''; - - //Studiengang - echo ''; - echo ''; - - //Aktivitaet - echo ''; - echo ''; - echo ''; - //Start/Ende - echo ' - - - - '; - //Beschreibung - echo ''; - echo ''; - else - echo ''; - echo '
    ProjektStudiengang'; - echo '
    Aktivität'; - - $qry = "SELECT * FROM fue.tbl_aktivitaet ORDER by beschreibung"; - if($result = pg_query($conn, $qry)) - { - echo ''; - } - //Fachbereich - echo 'Fachbereich
      
    VonBis  
    Beschreibung
    '; - //SpeichernButton - if($zeitaufzeichnung_id=='') - echo '
    '; - echo '
    '; - - echo '

    '; - - //Uebersichtstabelle - echo "\n"; - echo " \n"; - echo " "; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo " \n"; - - if(isset($_GET['filter'])) - $where = "projekt_kurzbz='".addslashes($_GET['filter'])."'"; - else - $where = "uid='$user' AND ende>(now() - INTERVAL '40 days')"; - //(SELECT to_char(sum(ende-start),'HH:MI:SS') - $qry = "SELECT - *, to_char ((ende-start),'HH24:MI') as diff, - (SELECT (to_char(sum(ende-start),'DD')::integer)*24+to_char(sum(ende-start),'HH24')::integer || ':' || to_char(sum(ende-start),'MI') - FROM campus.tbl_zeitaufzeichnung - WHERE $where ) as summe - FROM campus.tbl_zeitaufzeichnung WHERE $where - ORDER BY start DESC"; - //AND ende>(now() - INTERVAL '40 days') - //echo $qry; - if($result = pg_query($conn, $qry)) - { - $i = 0; - $summe=0; - while($row=pg_fetch_object($result)) - { - $summe = $row->summe; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - echo " \n"; - $i++; - } - } - echo "
    IDProjektAktivitaetUserStartEndeDauerBeschreibungStgFBAktion
    ".$row->zeitaufzeichnung_id."".$row->projekt_kurzbz."$row->aktivitaet_kurzbz$row->uid
    $row->start
    ".date('d.m.Y H:i', $datum->mktime_fromtimestamp($row->start))."
    $row->ende
    ".date('d.m.Y H:i', $datum->mktime_fromtimestamp($row->ende))."
    ".$row->diff."beschreibung)."'>".$row->beschreibung."".(isset($stg_arr[$row->studiengang_kz])?$stg_arr[$row->studiengang_kz]:$row->studiengang_kz)."$row->fachbereich_kurzbz"; - if(!isset($_GET['filter']) || $row->uid==$user) - echo "zeitaufzeichnung_id' class='Item'>edit"; - echo ""; - if(!isset($_GET['filter']) || $row->uid==$user) - echo "zeitaufzeichnung_id' class='Item' onclick='return confdel()'>delete"; - echo "
    \n"; - echo "Gesamtdauer: $summe"; - } - else - { - echo 'Sie sind derzeit keinen Projekten zugeordnet'; - } -} -else -{ - echo 'Fehler beim Ermitteln der Projekte'; -} - -?> -
    - +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +require_once('../../config.inc.php'); +require_once('../../../include/functions.inc.php'); +require_once('../../../include/person.class.php'); +require_once('../../../include/benutzer.class.php'); +require_once('../../../include/studiengang.class.php'); +require_once('../../../include/fachbereich.class.php'); +require_once('../../../include/zeitaufzeichnung.class.php'); +require_once('../../../include/datum.class.php'); + +echo ' + + + +Zeitaufzeichnung + + + + + + + +'; + +echo ' + + + + +
      + + + + +
    Zeitaufzeichnung
    +
    '; + +//Variablen initialisieren +if(!$conn = pg_pconnect(CONN_STRING)) + die('Datenbankverbindung fehlgeschlagen'); + +$user = get_uid(); +$datum = new datum(); +$studiengang = new studiengang($conn); +$studiengang->getAll('typ, kurzbz', false); +$stg_arr = array(); + +foreach ($studiengang->result as $stg) +{ + $stg_arr[$stg->studiengang_kz]=$stg->kuerzel; +} + +$zeitaufzeichnung_id = (isset($_GET['zeitaufzeichnung_id'])?$_GET['zeitaufzeichnung_id']:''); +$projekt_kurzbz = (isset($_POST['projekt'])?$_POST['projekt']:''); +$studiengang_kz = (isset($_POST['studiengang'])?$_POST['studiengang']:''); +$fachbereich_kurzbz = (isset($_POST['fachbereich'])?$_POST['fachbereich']:''); +$aktivitaet_kurzbz = (isset($_POST['aktivitaet'])?$_POST['aktivitaet']:''); +$von = (isset($_POST['von'])?$_POST['von']:date('d.m.Y H:i')); +$bis = (isset($_POST['bis'])?$_POST['bis']:date('d.m.Y H:i', mktime(date('H'), date('i')+10, 0, date('m'),date('d'),date('Y')))); +$beschreibung = (isset($_POST['beschreibung'])?$_POST['beschreibung']:''); + +//Speichern der Daten +if(isset($_POST['save']) || isset($_POST['edit'])) +{ + $zeit = new zeitaufzeichnung($conn); + + if(isset($_POST['edit'])) + { + if(!$zeit->load($zeitaufzeichnung_id)) + die('Fehler beim Laden des Datensatzes'); + + $zeit->new = false; + } + else + { + $zeit->new = true; + $zeit->insertamum = date('Y-m-d H:i:s'); + $zeit->insertvon = $user; + } + + $zeit->uid = $user; + $zeit->aktivitaet_kurzbz = $aktivitaet_kurzbz; + $zeit->start = $von; + $zeit->ende = $bis; + $zeit->beschreibung = $beschreibung; + $zeit->studiengang_kz = $studiengang_kz; + $zeit->fachbereich_kurzbz = $fachbereich_kurzbz; + $zeit->updateamum = date('Y-m-d H:i:s'); + $zeit->updatevon = $user; + $zeit->projekt_kurzbz = $projekt_kurzbz; + + if(!$zeit->save()) + { + echo 'Fehler beim Speichern der Daten:'.$zeit->errormsg.'
    '; + } + else + { + echo 'Daten wurden gespeichert
    '; + $zeitaufzeichnung_id = $zeit->zeitaufzeichnung_id; + } +} + +//Datensatz loeschen +if(isset($_GET['type']) && $_GET['type']=='delete') +{ + $zeit = new zeitaufzeichnung($conn); + + if($zeit->load($zeitaufzeichnung_id)) + { + if($zeit->uid==$user) + { + if($zeit->delete($zeitaufzeichnung_id)) + echo 'Eintrag wurde geloescht
    '; + else + echo 'Fehler beim Loeschen des Eintrages
    '; + } + else + echo 'Keine Berechtigung!
    '; + } + else + echo 'Datensatz wurde nicht gefunden
    '; +} + +//Laden der Daten zum aendern +if(isset($_GET['type']) && $_GET['type']=='edit') +{ + $zeit = new zeitaufzeichnung($conn); + + if($zeit->load($zeitaufzeichnung_id)) + { + if($zeit->uid==$user) + { + $uid = $zeit->uid; + $aktivitaet_kurzbz = $zeit->aktivitaet_kurzbz; + $von = date('d.m.Y H:i', $datum->mktime_fromtimestamp($zeit->start)); + $bis = date('d.m.Y H:i', $datum->mktime_fromtimestamp($zeit->ende)); + $beschreibung = $zeit->beschreibung; + $studiengang_kz = $zeit->studiengang_kz; + $fachbereich_kurzbz = $zeit->fachbereich_kurzbz; + $projekt_kurzbz = $zeit->projekt_kurzbz; + } + else + { + echo " Keine Berechtigung zum Aendern des Datensatzes"; + $zeitaufzeichnung_id=''; + } + } +} + +//Projekte holen fuer zu denen der Benutzer zugeteilt ist +$qry_projekt = "SELECT distinct tbl_projekt.* FROM fue.tbl_projektbenutzer JOIN fue.tbl_projekt USING(projekt_kurzbz) WHERE beginn<=now() AND (ende>=now() OR ende is null) AND uid='$user'"; + +if($result_projekt = pg_query($conn, $qry_projekt)) +{ + if(pg_num_rows($result_projekt)>0) + { + $bn = new benutzer(); + if(!$bn->load($user)) + die("Benutzer $user wurde nicht gefunden"); + + echo " +
    Zeitaufzeichnung von $bn->vorname $bn->nachnameNEU
    "; + + //Formular + echo '

    '; + + echo ''; + //Projekt + echo ''; + + //Studiengang + echo ''; + echo ''; + + //Aktivitaet + echo ''; + echo ''; + echo ''; + //Start/Ende + echo ' + + + + '; + //Beschreibung + echo ''; + echo ''; + else + echo ''; + echo '
    ProjektStudiengang'; + echo '
    Aktivität'; + + $qry = "SELECT * FROM fue.tbl_aktivitaet ORDER by beschreibung"; + if($result = pg_query($conn, $qry)) + { + echo ''; + } + //Fachbereich + echo 'Fachbereich
      
    VonBis  
    Beschreibung
    '; + //SpeichernButton + if($zeitaufzeichnung_id=='') + echo '
    '; + echo '
    '; + + echo '

    '; + + //Uebersichtstabelle + echo "\n"; + echo " \n"; + echo " "; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo " \n"; + + if(isset($_GET['filter'])) + $where = "projekt_kurzbz='".addslashes($_GET['filter'])."'"; + else + $where = "uid='$user' AND ende>(now() - INTERVAL '40 days')"; + //(SELECT to_char(sum(ende-start),'HH:MI:SS') + $qry = "SELECT + *, to_char ((ende-start),'HH24:MI') as diff, + (SELECT (to_char(sum(ende-start),'DD')::integer)*24+to_char(sum(ende-start),'HH24')::integer || ':' || to_char(sum(ende-start),'MI') + FROM campus.tbl_zeitaufzeichnung + WHERE $where ) as summe + FROM campus.tbl_zeitaufzeichnung WHERE $where + ORDER BY start DESC"; + //AND ende>(now() - INTERVAL '40 days') + //echo $qry; + if($result = pg_query($conn, $qry)) + { + $i = 0; + $summe=0; + while($row=pg_fetch_object($result)) + { + $summe = $row->summe; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + $i++; + } + } + echo "
    IDProjektAktivitaetUserStartEndeDauerBeschreibungStgFBAktion
    ".$row->zeitaufzeichnung_id."".$row->projekt_kurzbz."$row->aktivitaet_kurzbz$row->uid
    $row->start
    ".date('d.m.Y H:i', $datum->mktime_fromtimestamp($row->start))."
    $row->ende
    ".date('d.m.Y H:i', $datum->mktime_fromtimestamp($row->ende))."
    ".$row->diff."beschreibung)."'>".$row->beschreibung."".(isset($stg_arr[$row->studiengang_kz])?$stg_arr[$row->studiengang_kz]:$row->studiengang_kz)."$row->fachbereich_kurzbz"; + if(!isset($_GET['filter']) || $row->uid==$user) + echo "zeitaufzeichnung_id' class='Item'>edit"; + echo ""; + if(!isset($_GET['filter']) || $row->uid==$user) + echo "zeitaufzeichnung_id' class='Item' onclick='return confdel()'>delete"; + echo "
    \n"; + echo "Gesamtdauer: $summe"; + } + else + { + echo 'Sie sind derzeit keinen Projekten zugeordnet'; + } +} +else +{ + echo 'Fehler beim Ermitteln der Projekte'; +} + +?> +
    + \ No newline at end of file