diff --git a/cis/private/lehre/benotungstool/studentenansicht.php b/cis/private/lehre/benotungstool/studentenansicht.php index ab4f19459..74b968a32 100644 --- a/cis/private/lehre/benotungstool/studentenansicht.php +++ b/cis/private/lehre/benotungstool/studentenansicht.php @@ -1,1160 +1,1160 @@ -, - * 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 = ''; - -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 - { - header("Location:studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id¬enuebersicht=1&uid=$user"); - //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 = str_replace($uebung_id,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","
",htmlentities($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; + +#$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 = ''; + +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 + { + header("Location:studentenansicht.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id¬enuebersicht=1&uid=$user"); + //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 = str_replace($uebung_id,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 0606c1984..a0ec9c675 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'])?str_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 = str_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($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'])?str_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 = str_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 84fbcd316..43d59ce97 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 = str_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 .= ".".substr($angabedatei_source, 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 " ".htmlentities($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 = str_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 .= ".".substr($angabedatei_source, 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 925a53c6a..11ca245c8 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 = str_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 = str_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 = str_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
".htmlentities($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 
".htmlentities($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($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 = str_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 = str_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 = str_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/feedback.php b/cis/private/lehre/feedback.php index d3cf149c7..71323156e 100644 --- a/cis/private/lehre/feedback.php +++ b/cis/private/lehre/feedback.php @@ -1,193 +1,193 @@ - - - - - - - - -getaktorNext(); - if(isset($POST["feedback_message"])) - $feedback_message=$POST["feedback_message"]; - -// if(isset($feedback_message)) -// echo $feedback_message; - -?> - - - - - '; - ?> - - - -
  - - - load($lvid)) - { - $short_name = $lv_obj->bezeichnung; - } - else - die($lv_obj->errormsg); - ?> - - -
  - Feedback - an: - studiensemester_kurzbz'"; - if(!$result=pg_query($conn, $qry)) - die('Fehler beim Auslesen der Lektoren'); - $rows = pg_num_rows($result); - $i=0; - while($row = pg_fetch_object($result)) - { - echo $row->vorname.' '.$row->nachname; - $i++; - if($i<$rows) - echo ', '; - } - ?> - -
- -
-

Betreff:  - load($edit_id)) - { - echo '
'; - echo '
'; - echo ' '; - echo ''; - } - else - echo $fb_obj->errormsg.'
'; - } - else - { - echo '
'; - echo '
'; - echo ''; - } - ?> -   - -

- betreff = htmlentities($feedback_subject); - $fb_obj->text = htmlentities($feedback_message); - $fb_obj->feedback_id = $edit_id; - $fb_obj->datum = date('Y-m-d'); - $fb_obj->uid = $user; - $fb_obj->lehrveranstaltung_id = $lvid; - $fb_obj->new = false; - - if($fb_obj->save()) - echo ""; - else - echo $fb_obj->errormsg."
"; - } - - if(!isset($edit_id) && !isset($edit_break) && !isset($edit_feedback)) - { - $fb_obj = new feedback($conn); - $fb_obj->betreff = htmlentities($feedback_subject); - $fb_obj->text = htmlentities($feedback_message); - $fb_obj->datum = date('Y-m-d'); - $fb_obj->uid = $user; - $fb_obj->lehrveranstaltung_id = $lvid; - $fb_obj->new = true; - - if($fb_obj->save()) - echo ""; - else - echo $fb_obj->errormsg." save
"; - } - } - - if(isset($message_sent) && $message_sent == true) - { - echo 'Die Nachricht wurde erfolgreich eingetragen.


'; - } - - $fb_obj = new feedback($conn); - if($fb_obj->load_feedback($lvid)) - { - echo ''; - - foreach($fb_obj->result as $row) - { - $sql_query = "SELECT vorname, nachname FROM campus.vw_benutzer WHERE uid='$row->uid'"; - - if($result_person = pg_query($conn, $sql_query)) - { - if($row_pers=pg_fetch_object($result_person)) - { - - echo ''; - echo ' '; - //echo ' '; //'.$row_pers->vorname.' '.$row_pers->nachname.' - echo ' '; - - echo ''; - echo ''; - echo ' '; - //echo ' '; - //echo ' '; - //echo ' '; - echo ''; - echo ''; - echo ' '; - echo ''; - } - } - } - echo '
 '.$row->betreff.' '.$row->datum.'
'.nl2br($row->text).'   
 
'; - } - else - echo 'Fehler beim laden der Daten '.$fb_obj->errormsg; - ?> -
- - + + + + + + + + +getaktorNext(); + if(isset($POST["feedback_message"])) + $feedback_message=$POST["feedback_message"]; + +// if(isset($feedback_message)) +// echo $feedback_message; + +?> + + + + + '; + ?> + + + +
  + + + load($lvid)) + { + $short_name = $lv_obj->bezeichnung; + } + else + die($lv_obj->errormsg); + ?> + + +
  - Feedback + an: + studiensemester_kurzbz'"; + if(!$result=pg_query($conn, $qry)) + die('Fehler beim Auslesen der Lektoren'); + $rows = pg_num_rows($result); + $i=0; + while($row = pg_fetch_object($result)) + { + echo $row->vorname.' '.$row->nachname; + $i++; + if($i<$rows) + echo ', '; + } + ?> + +
+ +
+

Betreff:  + load($edit_id)) + { + echo '
'; + echo '
'; + echo ' '; + echo ''; + } + else + echo $fb_obj->errormsg.'
'; + } + else + { + echo '
'; + echo '
'; + echo ''; + } + ?> +   + +

+ betreff = $feedback_subject; + $fb_obj->text = $feedback_message; + $fb_obj->feedback_id = $edit_id; + $fb_obj->datum = date('Y-m-d'); + $fb_obj->uid = $user; + $fb_obj->lehrveranstaltung_id = $lvid; + $fb_obj->new = false; + + if($fb_obj->save()) + echo ""; + else + echo $fb_obj->errormsg."
"; + } + + if(!isset($edit_id) && !isset($edit_break) && !isset($edit_feedback)) + { + $fb_obj = new feedback($conn); + $fb_obj->betreff = $feedback_subject; + $fb_obj->text = $feedback_message; + $fb_obj->datum = date('Y-m-d'); + $fb_obj->uid = $user; + $fb_obj->lehrveranstaltung_id = $lvid; + $fb_obj->new = true; + + if($fb_obj->save()) + echo ""; + else + echo $fb_obj->errormsg." save
"; + } + } + + if(isset($message_sent) && $message_sent == true) + { + echo 'Die Nachricht wurde erfolgreich eingetragen.


'; + } + + $fb_obj = new feedback($conn); + if($fb_obj->load_feedback($lvid)) + { + echo ''; + + foreach($fb_obj->result as $row) + { + $sql_query = "SELECT vorname, nachname FROM campus.vw_benutzer WHERE uid='$row->uid'"; + + if($result_person = pg_query($conn, $sql_query)) + { + if($row_pers=pg_fetch_object($result_person)) + { + + echo ''; + echo ' '; + //echo ' '; //'.$row_pers->vorname.' '.$row_pers->nachname.' + echo ' '; + + echo ''; + echo ''; + echo ' '; + //echo ' '; + //echo ' '; + //echo ' '; + echo ''; + echo ''; + echo ' '; + echo ''; + } + } + } + echo '
 '.$row->betreff.' '.$row->datum.'
'.nl2br($row->text).'   
 
'; + } + else + echo 'Fehler beim laden der Daten '.$fb_obj->errormsg; + ?> +
+ + \ No newline at end of file diff --git a/cis/private/lehre/kreuzerltool/studentenansicht.php b/cis/private/lehre/kreuzerltool/studentenansicht.php index 59225bce4..7c40ee568 100644 --- a/cis/private/lehre/kreuzerltool/studentenansicht.php +++ b/cis/private/lehre/kreuzerltool/studentenansicht.php @@ -1,573 +1,573 @@ -, - * 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: '.htmlentities($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 + + + + +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"; +} +?> +
+ \ No newline at end of file diff --git a/cis/private/lehre/kreuzerltool/studentenpunkteverwalten.php b/cis/private/lehre/kreuzerltool/studentenpunkteverwalten.php index 9901bdefb..0254058c2 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'])?str_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'])?str_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 347024647..8666d099b 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 = str_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 = str_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
".htmlentities($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 
".htmlentities($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 = str_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 = str_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/testtool/admin/edit_gebiet.php b/cis/testtool/admin/edit_gebiet.php index 282430faa..a2ca0e74e 100644 --- a/cis/testtool/admin/edit_gebiet.php +++ b/cis/testtool/admin/edit_gebiet.php @@ -1,182 +1,182 @@ -, - * Andreas Oesterreicher , - * Rudolf Hangl and - * Gerald Simane-Sequens - */ -/** - * Seite zum Editieren von Testtool-Gebieten - */ - -require_once('../../config.inc.php'); -require_once('../../../include/functions.inc.php'); -require_once('../../../include/gebiet.class.php'); -require_once('../../../include/benutzerberechtigung.class.php'); - -if(!$conn = pg_pconnect(CONN_STRING)) - die('Fehler beim Connecten zur DB'); - -$user = get_uid(); -$rechte = new benutzerberechtigung($conn); -$rechte->getBerechtigungen($user); - -echo ' - - - - - - - -'; - -if(isset($_GET['gebiet_id'])) - $gebiet_id=$_GET['gebiet_id']; -else - $gebiet_id=''; - - -echo '

 Gebiet bearbeiten

'; - -if(!$rechte->isBerechtigt('admin')) - die('Sie haben keine Berechtigung fuer diese Seite'); - -$gebiet = new gebiet($conn); -$gebiet->getAll(); - -echo 'Zurück zur Admin Seite

'; - -//Liste der Gebiete anzeigen -echo '
'; -echo 'Gebiet: - -
'; - -echo '

'; - -//Speichern der Daten -if(isset($_POST['speichern'])) -{ - $gebiet = new gebiet($conn); - if($gebiet->load($gebiet_id)) - { - $gebiet->kurzbz = $_POST['kurzbz']; - $gebiet->bezeichnung = $_POST['bezeichnung']; - $gebiet->beschreibung = $_POST['beschreibung']; - $gebiet->zeit = $_POST['zeit']; - $gebiet->multipleresponse = isset($_POST['multipleresponse']); - $gebiet->kategorien = isset($_POST['kategorien']); - $gebiet->zufallfrage = isset($_POST['zufallfrage']); - $gebiet->zufallvorschlag = isset($_POST['zufallvorschlag']); - $gebiet->levelgleichverteilung = isset($_POST['levelgleichverteilung']); - $gebiet->maxpunkte = $_POST['maxpunkte']; - $gebiet->maxfragen = $_POST['maxfragen']; - $gebiet->level_start = $_POST['level_start']; - $gebiet->level_sprung_auf = $_POST['level_sprung_auf']; - $gebiet->level_sprung_ab = $_POST['level_sprung_ab']; - $gebiet->updateamum = date('Y-m-d H:i:s'); - $gebiet->updatevon = $user; - $gebiet->antwortenprozeile = $_POST['antwortenprozeile']; - - if($gebiet->save(false)) - { - echo 'Daten erfolgreich gespeichert'; - } - else - { - echo 'Fehler beim Speichern: '.$gebiet->errormsg.''; - } - } - else - { - echo 'Fehler beim Laden des Gebiets'; - } -} - -if($gebiet_id!='') -{ - $gebiet = new gebiet($conn, $gebiet_id); - - echo "
"; - echo '
'; - echo ''; - - echo ''; - //Kurzbz - echo ''; - echo ''; - //Bezeichnung - echo ''; - echo ''; - //Beschreibung - echo ''; - echo ''; - //Zeit - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - // empfohlene maximalpunkte berechnen und anzeigen - $maximalpunkte = $gebiet->berechneMaximalpunkte($gebiet_id); - if($gebiet->maxpunkte!=$maximalpunkte) - $hinweis = 'empfohlene Maximalpunkteanzahl: '.$maximalpunkte.''; - else - $hinweis =''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo '
Kurzbz
Bezeichnung
Beschreibung
Zeit hh:mm:ss
Multiple Responsemultipleresponse?'checked="checked"':'').'>
Kategorienkategorien?'checked="checked"':'').'>
Zufällige Fragereihenfolgezufallfrage?'checked="checked"':'').'>
Zufällige Vorschlagreihenfolgezufallvorschlag?'checked="checked"':'').'>
Levelgleichverteilunglevelgleichverteilung?'checked="checked"':'').'>
Maximale Punkteanzahl'.$hinweis.'
Maximale Fragenanzahl
Antworten pro Zeile
Start Level
Richtige Fragen bis Levelaufstieg
Falsche Fragen bis Levelabstieg
'; - - echo '
'; -} - -echo ''; +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Simane-Sequens + */ +/** + * Seite zum Editieren von Testtool-Gebieten + */ + +require_once('../../config.inc.php'); +require_once('../../../include/functions.inc.php'); +require_once('../../../include/gebiet.class.php'); +require_once('../../../include/benutzerberechtigung.class.php'); + +if(!$conn = pg_pconnect(CONN_STRING)) + die('Fehler beim Connecten zur DB'); + +$user = get_uid(); +$rechte = new benutzerberechtigung($conn); +$rechte->getBerechtigungen($user); + +echo ' + + + + + + + +'; + +if(isset($_GET['gebiet_id'])) + $gebiet_id=$_GET['gebiet_id']; +else + $gebiet_id=''; + + +echo '

 Gebiet bearbeiten

'; + +if(!$rechte->isBerechtigt('admin')) + die('Sie haben keine Berechtigung fuer diese Seite'); + +$gebiet = new gebiet($conn); +$gebiet->getAll(); + +echo 'Zurück zur Admin Seite

'; + +//Liste der Gebiete anzeigen +echo '
'; +echo 'Gebiet: + +
'; + +echo '

'; + +//Speichern der Daten +if(isset($_POST['speichern'])) +{ + $gebiet = new gebiet($conn); + if($gebiet->load($gebiet_id)) + { + $gebiet->kurzbz = $_POST['kurzbz']; + $gebiet->bezeichnung = $_POST['bezeichnung']; + $gebiet->beschreibung = $_POST['beschreibung']; + $gebiet->zeit = $_POST['zeit']; + $gebiet->multipleresponse = isset($_POST['multipleresponse']); + $gebiet->kategorien = isset($_POST['kategorien']); + $gebiet->zufallfrage = isset($_POST['zufallfrage']); + $gebiet->zufallvorschlag = isset($_POST['zufallvorschlag']); + $gebiet->levelgleichverteilung = isset($_POST['levelgleichverteilung']); + $gebiet->maxpunkte = $_POST['maxpunkte']; + $gebiet->maxfragen = $_POST['maxfragen']; + $gebiet->level_start = $_POST['level_start']; + $gebiet->level_sprung_auf = $_POST['level_sprung_auf']; + $gebiet->level_sprung_ab = $_POST['level_sprung_ab']; + $gebiet->updateamum = date('Y-m-d H:i:s'); + $gebiet->updatevon = $user; + $gebiet->antwortenprozeile = $_POST['antwortenprozeile']; + + if($gebiet->save(false)) + { + echo 'Daten erfolgreich gespeichert'; + } + else + { + echo 'Fehler beim Speichern: '.$gebiet->errormsg.''; + } + } + else + { + echo 'Fehler beim Laden des Gebiets'; + } +} + +if($gebiet_id!='') +{ + $gebiet = new gebiet($conn, $gebiet_id); + + echo "
"; + echo '
'; + echo ''; + + echo ''; + //Kurzbz + echo ''; + echo ''; + //Bezeichnung + echo ''; + echo ''; + //Beschreibung + echo ''; + echo ''; + //Zeit + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + // empfohlene maximalpunkte berechnen und anzeigen + $maximalpunkte = $gebiet->berechneMaximalpunkte($gebiet_id); + if($gebiet->maxpunkte!=$maximalpunkte) + $hinweis = 'empfohlene Maximalpunkteanzahl: '.$maximalpunkte.''; + else + $hinweis =''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
Kurzbz
Bezeichnung
Beschreibung
Zeit hh:mm:ss
Multiple Responsemultipleresponse?'checked="checked"':'').'>
Kategorienkategorien?'checked="checked"':'').'>
Zufällige Fragereihenfolgezufallfrage?'checked="checked"':'').'>
Zufällige Vorschlagreihenfolgezufallvorschlag?'checked="checked"':'').'>
Levelgleichverteilunglevelgleichverteilung?'checked="checked"':'').'>
Maximale Punkteanzahl'.$hinweis.'
Maximale Fragenanzahl
Antworten pro Zeile
Start Level
Richtige Fragen bis Levelaufstieg
Falsche Fragen bis Levelabstieg
'; + + echo '
'; +} + +echo ''; ?> \ No newline at end of file diff --git a/cis/testtool/login.php b/cis/testtool/login.php index bbe13b224..9d7a9fcc3 100644 --- a/cis/testtool/login.php +++ b/cis/testtool/login.php @@ -1,272 +1,272 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ - -require_once('../config.inc.php'); -require_once('../../include/person.class.php'); -require_once('../../include/prestudent.class.php'); -require_once('../../include/pruefling.class.php'); -require_once('../../include/studiengang.class.php'); - -session_start(); -$reload=false; -$reload_parent=false; - -if (isset($_GET['logout'])) -{ - if(isset($_SESSION['prestudent_id'])) - { - $reload = true; - session_destroy(); - } -} - -//Connection Herstellen -if(!$db_conn = pg_pconnect(CONN_STRING)) - die('Fehler beim Oeffnen der Datenbankverbindung'); - -if(isset($_POST['tag']) && isset($_POST['monat']) && isset($_POST['jahr'])) -{ - if($_POST['tag']!='' && $_POST['monat']!='' && $_POST['jahr']!='') - $gebdatum = $_POST['jahr'].'-'.$_POST['monat'].'-'.$_POST['tag']; - else - $gebdatum=''; -} - -if (isset($_POST['prestudent']) && isset($gebdatum)) -{ - $ps=new prestudent($db_conn,$_POST['prestudent']); - if ($gebdatum==$ps->gebdatum) - { - $pruefling = new pruefling($db_conn); - if($pruefling->getPruefling($ps->prestudent_id)) - { - $studiengang = $pruefling->studiengang_kz; - $semester = $pruefling->semester; - } - else - { - $studiengang = $ps->studiengang_kz; - $ps->getLastStatus($ps->prestudent_id); - $semester = $ps->ausbildungssemester; - } - if($semester=='') - $semester=1; - - $_SESSION['prestudent_id']=$_POST['prestudent']; - $_SESSION['studiengang_kz']=$studiengang; - $_SESSION['nachname']=$ps->nachname; - $_SESSION['vorname']=$ps->vorname; - $_SESSION['gebdatum']=$ps->gebdatum; - $stg_obj = new studiengang($db_conn, $studiengang); - $_SESSION['sprache']=$stg_obj->sprache; - - $_SESSION['semester']=$semester; - } - else - { - echo 'Ihr Geburtsdatum stimmt nicht mit unseren Daten überein'; - } -} - -if (isset($_SESSION['prestudent_id'])) - $prestudent_id=$_SESSION['prestudent_id']; -else -{ - //$prestudent_id=null; - $ps=new prestudent($db_conn); - $datum=date('Y-m-d'); - $ps->getPrestudentRT($datum,true); - if ($ps->num_rows==0) - $ps->getPrestudentRT($datum); -} - -if(isset($_GET['type']) && $_GET['type']=='sprachechange' && isset($_GET['sprache'])) -{ - $_SESSION['sprache']=$_GET['sprache']; -} - -if(isset($_SESSION['prestudent_id']) && !isset($_SESSION['pruefling_id'])) -{ - $pruefling = new pruefling($db_conn); - - if(!$pruefling->getPruefling($_SESSION['prestudent_id'])) - { - $pruefling->new = true; - - $pruefling->studiengang_kz = $_SESSION['studiengang_kz']; - $pruefling->semester = $_SESSION['semester']; - - $pruefling->idnachweis = ''; - $pruefling->registriert = date('Y-m-d H:i:s'); - $pruefling->prestudent_id = $_SESSION['prestudent_id']; - if($pruefling->save()) - { - $_SESSION['pruefling_id']=$pruefling->pruefling_id; - $reload_parent=true; - } - } -} - -if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) -{ - $pruefling = new pruefling($db_conn); - if($_POST['pruefling_id']!='') - if(!$pruefling->load($_POST['pruefling_id'])) - die('Pruefling wurde nicht gefunden'); - else - $pruefling->new=false; - else - $pruefling->new=true; - - $pruefling->studiengang_kz = $_SESSION['studiengang_kz']; - $pruefling->idnachweis = $_POST['idnachweis']; - $pruefling->registriert = date('Y-m-d H:i:s'); - $pruefling->prestudent_id = $_SESSION['prestudent_id']; - $pruefling->semester = $_POST['semester']; - if($pruefling->save()) - { - $_SESSION['pruefling_id']=$pruefling->pruefling_id; - $_SESSION['semester']=$pruefling->semester; - $reload_parent=true; - } -} -?> - - - - - -parent.menu.location.reload()'; - if($reload) - echo ""; -?> - - - -

Login

-'; - echo '
Sie sind angemeldet als '.$_SESSION['vorname'].' '.$_SESSION['nachname']; - echo ' ('.$_SESSION['gebdatum'].') ID: '.$_SESSION['prestudent_id']; - echo '  '; - echo ''; - echo '

'; - - $prestudent = new prestudent($db_conn, $prestudent_id); - $stg_obj = new studiengang($db_conn, $prestudent->studiengang_kz); - - $pruefling = new pruefling($db_conn); - if($pruefling->getPruefling($prestudent_id)) - { - - echo '
'; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo '
Semester:
ID Nachweis:
'; - echo '


'; - - //Wenn die Sprachwahl fuer diesen Studiengang aktiviert ist, dann die Sprachen anzeigen - if($stg_obj->testtool_sprachwahl) - { - //Liste der Sprachen - $qry = "SELECT distinct sprache - FROM - testtool.tbl_pruefling - JOIN testtool.tbl_ablauf USING(studiengang_kz) - JOIN testtool.tbl_frage USING(gebiet_id) - JOIN testtool.tbl_frage_sprache USING(frage_id) - WHERE - tbl_pruefling.pruefling_id='".addslashes($pruefling->pruefling_id)."' - ORDER BY sprache DESC"; - echo 'Sprache:'; - if($result = pg_query($db_conn, $qry)) - { - while($row = pg_fetch_object($result)) - { - if($_SESSION['sprache']==$row->sprache) - $selected='style="border:1px solid black;"'; - else - $selected=''; - echo " sprache' class='Item' $selected>$row->sprache"; - } - } - } - - if($pruefling->pruefling_id!='') - { - $_SESSION['pruefling_id']=$pruefling->pruefling_id; - echo ''; - } - } - else - { - echo 'Kein Pueflingseintrag vorhanden'; - } - } - else - { - echo '
- '; - echo '  Geburtsdatum: '; - //(YYYY-MM-TT)'; - echo ' '; - echo ' '; - echo ' '; - echo '  '; - echo '
'; - - echo '


-
- - Herzlich Willkommen zum Reihungstest der Fachhochschule Technikum-Wien

- Bitte warten Sie mit dem Login auf die Anweisung der Aufsichtsperson

- Wir wünschen Ihnen einen erfolgreichen Start ins Studium -
-
'; - } -?> - - - +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ + +require_once('../config.inc.php'); +require_once('../../include/person.class.php'); +require_once('../../include/prestudent.class.php'); +require_once('../../include/pruefling.class.php'); +require_once('../../include/studiengang.class.php'); + +session_start(); +$reload=false; +$reload_parent=false; + +if (isset($_GET['logout'])) +{ + if(isset($_SESSION['prestudent_id'])) + { + $reload = true; + session_destroy(); + } +} + +//Connection Herstellen +if(!$db_conn = pg_pconnect(CONN_STRING)) + die('Fehler beim Oeffnen der Datenbankverbindung'); + +if(isset($_POST['tag']) && isset($_POST['monat']) && isset($_POST['jahr'])) +{ + if($_POST['tag']!='' && $_POST['monat']!='' && $_POST['jahr']!='') + $gebdatum = $_POST['jahr'].'-'.$_POST['monat'].'-'.$_POST['tag']; + else + $gebdatum=''; +} + +if (isset($_POST['prestudent']) && isset($gebdatum)) +{ + $ps=new prestudent($db_conn,$_POST['prestudent']); + if ($gebdatum==$ps->gebdatum) + { + $pruefling = new pruefling($db_conn); + if($pruefling->getPruefling($ps->prestudent_id)) + { + $studiengang = $pruefling->studiengang_kz; + $semester = $pruefling->semester; + } + else + { + $studiengang = $ps->studiengang_kz; + $ps->getLastStatus($ps->prestudent_id); + $semester = $ps->ausbildungssemester; + } + if($semester=='') + $semester=1; + + $_SESSION['prestudent_id']=$_POST['prestudent']; + $_SESSION['studiengang_kz']=$studiengang; + $_SESSION['nachname']=$ps->nachname; + $_SESSION['vorname']=$ps->vorname; + $_SESSION['gebdatum']=$ps->gebdatum; + $stg_obj = new studiengang($db_conn, $studiengang); + $_SESSION['sprache']=$stg_obj->sprache; + + $_SESSION['semester']=$semester; + } + else + { + echo 'Ihr Geburtsdatum stimmt nicht mit unseren Daten überein'; + } +} + +if (isset($_SESSION['prestudent_id'])) + $prestudent_id=$_SESSION['prestudent_id']; +else +{ + //$prestudent_id=null; + $ps=new prestudent($db_conn); + $datum=date('Y-m-d'); + $ps->getPrestudentRT($datum,true); + if ($ps->num_rows==0) + $ps->getPrestudentRT($datum); +} + +if(isset($_GET['type']) && $_GET['type']=='sprachechange' && isset($_GET['sprache'])) +{ + $_SESSION['sprache']=$_GET['sprache']; +} + +if(isset($_SESSION['prestudent_id']) && !isset($_SESSION['pruefling_id'])) +{ + $pruefling = new pruefling($db_conn); + + if(!$pruefling->getPruefling($_SESSION['prestudent_id'])) + { + $pruefling->new = true; + + $pruefling->studiengang_kz = $_SESSION['studiengang_kz']; + $pruefling->semester = $_SESSION['semester']; + + $pruefling->idnachweis = ''; + $pruefling->registriert = date('Y-m-d H:i:s'); + $pruefling->prestudent_id = $_SESSION['prestudent_id']; + if($pruefling->save()) + { + $_SESSION['pruefling_id']=$pruefling->pruefling_id; + $reload_parent=true; + } + } +} + +if(isset($_POST['save']) && isset($_SESSION['prestudent_id'])) +{ + $pruefling = new pruefling($db_conn); + if($_POST['pruefling_id']!='') + if(!$pruefling->load($_POST['pruefling_id'])) + die('Pruefling wurde nicht gefunden'); + else + $pruefling->new=false; + else + $pruefling->new=true; + + $pruefling->studiengang_kz = $_SESSION['studiengang_kz']; + $pruefling->idnachweis = $_POST['idnachweis']; + $pruefling->registriert = date('Y-m-d H:i:s'); + $pruefling->prestudent_id = $_SESSION['prestudent_id']; + $pruefling->semester = $_POST['semester']; + if($pruefling->save()) + { + $_SESSION['pruefling_id']=$pruefling->pruefling_id; + $_SESSION['semester']=$pruefling->semester; + $reload_parent=true; + } +} +?> + + + + + +parent.menu.location.reload()'; + if($reload) + echo ""; +?> + + + +

Login

+'; + echo '
Sie sind angemeldet als '.$_SESSION['vorname'].' '.$_SESSION['nachname']; + echo ' ('.$_SESSION['gebdatum'].') ID: '.$_SESSION['prestudent_id']; + echo '  '; + echo ''; + echo '

'; + + $prestudent = new prestudent($db_conn, $prestudent_id); + $stg_obj = new studiengang($db_conn, $prestudent->studiengang_kz); + + $pruefling = new pruefling($db_conn); + if($pruefling->getPruefling($prestudent_id)) + { + + echo '
'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
Semester:
ID Nachweis:
'; + echo '


'; + + //Wenn die Sprachwahl fuer diesen Studiengang aktiviert ist, dann die Sprachen anzeigen + if($stg_obj->testtool_sprachwahl) + { + //Liste der Sprachen + $qry = "SELECT distinct sprache + FROM + testtool.tbl_pruefling + JOIN testtool.tbl_ablauf USING(studiengang_kz) + JOIN testtool.tbl_frage USING(gebiet_id) + JOIN testtool.tbl_frage_sprache USING(frage_id) + WHERE + tbl_pruefling.pruefling_id='".addslashes($pruefling->pruefling_id)."' + ORDER BY sprache DESC"; + echo 'Sprache:'; + if($result = pg_query($db_conn, $qry)) + { + while($row = pg_fetch_object($result)) + { + if($_SESSION['sprache']==$row->sprache) + $selected='style="border:1px solid black;"'; + else + $selected=''; + echo " sprache' class='Item' $selected>$row->sprache"; + } + } + } + + if($pruefling->pruefling_id!='') + { + $_SESSION['pruefling_id']=$pruefling->pruefling_id; + echo ''; + } + } + else + { + echo 'Kein Pueflingseintrag vorhanden'; + } + } + else + { + echo '
+ '; + echo '  Geburtsdatum: '; + //(YYYY-MM-TT)'; + echo ' '; + echo ' '; + echo ' '; + echo '  '; + echo '
'; + + echo '


+
+ + Herzlich Willkommen zum Reihungstest der Fachhochschule Technikum-Wien

+ Bitte warten Sie mit dem Login auf die Anweisung der Aufsichtsperson

+ Wir wünschen Ihnen einen erfolgreichen Start ins Studium +
+
'; + } +?> + + + diff --git a/include/fas/funktion.class.php b/include/fas/funktion.class.php index 30c907072..f9c708e69 100644 --- a/include/fas/funktion.class.php +++ b/include/fas/funktion.class.php @@ -179,7 +179,7 @@ class funktion function checkvars() { //Hochkomma und HTML Tags ersetzen - //$this->name = htmlentities($this->name, ENT_QUOTES); + //$this->name = $this->name; //Maximallaenge pruefen $this->errormsg = 'Die Maximallaenge eines Feldes wurde ueberschritten'; diff --git a/include/fas/telefonnummer.class.php b/include/fas/telefonnummer.class.php index b71c40bd4..cfb2830ed 100644 --- a/include/fas/telefonnummer.class.php +++ b/include/fas/telefonnummer.class.php @@ -163,8 +163,8 @@ class telefonnummer function checkvars() { //Hochkomma und HTML Tags ersetzen - //$this->name = htmlentities($this->name, ENT_QUOTES); - //$this->nummer = htmlentities($this->nummer, ENT_QUOTES); + //$this->name = $this->name; + //$this->nummer = $this->nummer; //Laenge pruefen $this->errormsg = 'Eine der Gesamtlaengen wurde ueberschritten'; diff --git a/include/pdf/font/makefont/makefont.php b/include/pdf/font/makefont/makefont.php index 769e8f30f..7e7ed5647 100644 --- a/include/pdf/font/makefont/makefont.php +++ b/include/pdf/font/makefont/makefont.php @@ -1,8 +1,10 @@ Error: encoding not found: '.$enc); + die('Error: encoding not found: '.$enc); $cc2gn=array(); foreach($a as $l) { - if($l{0}=='!') + if($l[0]=='!') { - $e=preg_split('/[ \\t]+/',chop($l)); + $e=preg_split('/[ \\t]+/',rtrim($l)); $cc=hexdec(substr($e[0],1)); $gn=$e[2]; $cc2gn[$cc]=$gn; } } for($i=0;$i<=255;$i++) + { if(!isset($cc2gn[$i])) $cc2gn[$i]='.notdef'; + } return $cc2gn; } -function ReadAFM($file,&$map) +function ReadAFM($file, &$map) { //Read a font metric file $a=file($file); @@ -47,7 +51,7 @@ function ReadAFM($file,&$map) 'combiningacuteaccent'=>'acutecomb','combiningdotbelow'=>'dotbelowcomb','dongsign'=>'dong'); foreach($a as $l) { - $e=explode(' ',chop($l)); + $e=explode(' ',rtrim($l)); if(count($e)<2) continue; $code=$e[0]; @@ -64,8 +68,10 @@ function ReadAFM($file,&$map) { //Fix incorrect glyph name foreach($map as $c=>$n) + { if($n==$fix[$gn]) $map[$c]=$gn; + } } if(empty($map)) { @@ -110,14 +116,14 @@ function ReadAFM($file,&$map) { if(!isset($widths['.notdef'])) $widths['.notdef']=600; - if(!isset($widths['Delta']) and isset($widths['increment'])) + if(!isset($widths['Delta']) && isset($widths['increment'])) $widths['Delta']=$widths['increment']; //Order widths according to map for($i=0;$i<=255;$i++) { if(!isset($widths[$map[$i]])) { - echo 'Warning: character '.$map[$i].' is missing
'; + echo 'Warning: character '.$map[$i].' is missing
'; $widths[$i]=$widths['.notdef']; } else @@ -128,7 +134,7 @@ function ReadAFM($file,&$map) return $fm; } -function MakeFontDescriptor($fm,$symbolic) +function MakeFontDescriptor($fm, $symbolic) { //Ascent $asc=(isset($fm['Ascender']) ? $fm['Ascender'] : 1000); @@ -146,20 +152,20 @@ function MakeFontDescriptor($fm,$symbolic) $fd.=",'CapHeight'=>".$ch; //Flags $flags=0; - if(isset($fm['IsFixedPitch']) and $fm['IsFixedPitch']) + if(isset($fm['IsFixedPitch']) && $fm['IsFixedPitch']) $flags+=1<<0; if($symbolic) $flags+=1<<2; if(!$symbolic) $flags+=1<<5; - if(isset($fm['ItalicAngle']) and $fm['ItalicAngle']!=0) + if(isset($fm['ItalicAngle']) && $fm['ItalicAngle']!=0) $flags+=1<<6; $fd.=",'Flags'=>".$flags; //FontBBox if(isset($fm['FontBBox'])) $fbb=$fm['FontBBox']; else - $fbb=array(0,$des-100,1000,$asc+100); + $fbb=array(0,$desc-100,1000,$asc+100); $fd.=",'FontBBox'=>'[".$fbb[0].' '.$fbb[1].' '.$fbb[2].' '.$fbb[3]."]'"; //ItalicAngle $ia=(isset($fm['ItalicAngle']) ? $fm['ItalicAngle'] : 0); @@ -167,7 +173,7 @@ function MakeFontDescriptor($fm,$symbolic) //StemV if(isset($fm['StdVW'])) $stemv=$fm['StdVW']; - elseif(isset($fm['Weight']) and eregi('(bold|black)',$fm['Weight'])) + elseif(isset($fm['Weight']) && preg_match('/bold|black/i',$fm['Weight'])) $stemv=120; else $stemv=70; @@ -190,7 +196,7 @@ function MakeWidthArray($fm) $s.="'\\''"; elseif(chr($i)=="\\") $s.="'\\\\'"; - elseif($i>=32 and $i<=126) + elseif($i>=32 && $i<=126) $s.="'".chr($i)."'"; else $s.="chr($i)"; @@ -220,10 +226,10 @@ function MakeFontEncoding($map) $s.='/'.$map[$i].' '; } } - return chop($s); + return rtrim($s); } -function SaveToFile($file,$s,$mode='t') +function SaveToFile($file, $s, $mode) { $f=fopen($file,'w'.$mode); if(!$f) @@ -249,7 +255,7 @@ function CheckTTF($file) //Check if font license allows embedding $f=fopen($file,'rb'); if(!$f) - die('Error: Can\'t open '.$file); + die('Error: Can\'t open '.$file); //Extract number of tables fseek($f,4,SEEK_CUR); $nb=ReadShort($f); @@ -280,21 +286,23 @@ function CheckTTF($file) $pp=($fsType & 0x04)!=0; $e=($fsType & 0x08)!=0; fclose($f); - if($rl and !$pp and !$e) - echo 'Warning: font license does not allow embedding'; + if($rl && !$pp && !$e) + echo 'Warning: font license does not allow embedding'; } /******************************************************************************* -* $fontfile: path to TTF file (or empty string if not to be embedded) * -* $afmfile: path to AFM file * -* $enc: font encoding (or empty string for symbolic fonts) * -* $patch: optional patch for encoding * -* $type : font type if $fontfile is empty * +* fontfile: path to TTF file (or empty string if not to be embedded) * +* afmfile: path to AFM file * +* enc: font encoding (or empty string for symbolic fonts) * +* patch: optional patch for encoding * +* type: font type if fontfile is empty * *******************************************************************************/ -function MakeFont($fontfile,$afmfile,$enc='cp1252',$patch=array(),$type='TrueType') +function MakeFont($fontfile, $afmfile, $enc='cp1252', $patch=array(), $type='TrueType') { //Generate a font definition file - set_magic_quotes_runtime(0); + if(get_magic_quotes_runtime()) + @set_magic_quotes_runtime(0); + ini_set('auto_detect_line_endings','1'); if($enc) { $map=ReadMap($enc); @@ -304,7 +312,7 @@ function MakeFont($fontfile,$afmfile,$enc='cp1252',$patch=array(),$type='TrueTyp else $map=array(); if(!file_exists($afmfile)) - die('Error: AFM file not found: '.$afmfile); + die('Error: AFM file not found: '.$afmfile); $fm=ReadAFM($afmfile,$map); if($enc) $diff=MakeFontEncoding($map); @@ -320,12 +328,12 @@ function MakeFont($fontfile,$afmfile,$enc='cp1252',$patch=array(),$type='TrueTyp elseif($ext=='pfb') $type='Type1'; else - die('Error: unrecognized font file extension: '.$ext); + die('Error: unrecognized font file extension: '.$ext); } else { - if($type!='TrueType' and $type!='Type1') - die('Error: incorrect font type: '.$type); + if($type!='TrueType' && $type!='Type1') + die('Error: incorrect font type: '.$type); } //Start generation $s='Error: font file not found: '.$fontfile); + die('Error: font file not found: '.$fontfile); if($type=='TrueType') CheckTTF($fontfile); $f=fopen($fontfile,'rb'); if(!$f) - die('Error: Can\'t open '.$fontfile); + die('Error: Can\'t open '.$fontfile); $file=fread($f,filesize($fontfile)); fclose($f); if($type=='Type1') { //Find first two sections and discard third one + $header=(ord($file[0])==128); + if($header) + { + //Strip first binary header + $file=substr($file,6); + } $pos=strpos($file,'eexec'); if(!$pos) - die('Error: font file does not seem to be valid Type1'); + die('Error: font file does not seem to be valid Type1'); $size1=$pos+6; + if($header && ord($file[$size1])==128) + { + //Strip second binary header + $file=substr($file,0,$size1).substr($file,$size1+6); + } $pos=strpos($file,'00000000'); if(!$pos) - die('Error: font file does not seem to be valid Type1'); + die('Error: font file does not seem to be valid Type1'); $size2=$pos-$size1; $file=substr($file,0,$size1+$size2); } @@ -373,12 +392,12 @@ function MakeFont($fontfile,$afmfile,$enc='cp1252',$patch=array(),$type='TrueTyp $cmp=$basename.'.z'; SaveToFile($cmp,gzcompress($file),'b'); $s.='$file=\''.$cmp."';\n"; - echo 'Font file compressed ('.$cmp.')
'; + echo 'Font file compressed ('.$cmp.')
'; } else { $s.='$file=\''.basename($fontfile)."';\n"; - echo 'Notice: font file could not be compressed (gzcompress not available)
'; + echo 'Notice: font file could not be compressed (zlib extension not available)
'; } if($type=='Type1') { @@ -394,7 +413,7 @@ function MakeFont($fontfile,$afmfile,$enc='cp1252',$patch=array(),$type='TrueTyp $s.='$file='."'';\n"; } $s.="?>\n"; - SaveToFile($basename.'.php',$s); - echo 'Font definition file generated ('.$basename.'.php'.')
'; + SaveToFile($basename.'.php',$s,'t'); + echo 'Font definition file generated ('.$basename.'.php'.')
'; } ?> diff --git a/include/pdf/fpdf.css b/include/pdf/fpdf.css index 045a32e37..dd2c54002 100644 --- a/include/pdf/fpdf.css +++ b/include/pdf/fpdf.css @@ -1,11 +1,21 @@ -BODY {font-family:times new roman,serif} -H2 {color:#4000A0} -P.demo {text-align:center; margin-top:-10px} -A.demo {text-decoration:none; font-weight:bold; color:#0000CC} -A.demo:link {text-decoration:none; font-weight:bold; color:#0000CC} -A.demo:hover {text-decoration:none; font-weight:bold; color:#0000FF} -A.demo:active {text-decoration:none; font-weight:bold; color:#0000FF} -.st {font-weight:bold; color:#900000} +body {font-family:"Times New Roman",serif} +h1 {font:bold 135% Arial,sans-serif; color:#4000A0; margin-bottom:0.9em} +h2 {font:bold 95% Arial,sans-serif; color:#900000; margin-top:1.5em; margin-bottom:1em} +dl.param dt {text-decoration:underline} +dl.param dd {margin-top:1em; margin-bottom:1em} +dl.param ul {margin-top:1em; margin-bottom:1em} +tt, code, kbd {font-family:"Courier New",Courier,monospace; font-size:82%} +div.source {margin-top:1.4em; margin-bottom:1.3em} +div.source pre {display:table; border:1px solid #24246A; width:100%; margin:0em; font-family:inherit; font-size:100%} +div.source code {display:block; border:1px solid #C5C5EC; background-color:#F0F5FF; padding:6px; color:#000000} +div.doc-source {margin-top:1.4em; margin-bottom:1.3em} +div.doc-source pre {display:table; width:100%; margin:0em; font-family:inherit; font-size:100%} +div.doc-source code {display:block; background-color:#E0E0E0; padding:4px} .kw {color:#000080; font-weight:bold} .str {color:#CC0000} .cmt {color:#008000} +p.demo {text-align:center; margin-top:-0.9em} +a.demo {text-decoration:none; font-weight:bold; color:#0000CC} +a.demo:link {text-decoration:none; font-weight:bold; color:#0000CC} +a.demo:hover {text-decoration:none; font-weight:bold; color:#0000FF} +a.demo:active {text-decoration:none; font-weight:bold; color:#0000FF} diff --git a/include/pdf/fpdf.php b/include/pdf/fpdf.php index 482af32c2..b27ca6dfa 100644 --- a/include/pdf/fpdf.php +++ b/include/pdf/fpdf.php @@ -1,21 +1,16 @@ _dochecks(); @@ -83,13 +81,14 @@ function FPDF($orientation='P',$unit='mm',$format='A4') $this->n=2; $this->buffer=''; $this->pages=array(); - $this->OrientationChanges=array(); + $this->PageSizes=array(); $this->state=0; $this->fonts=array(); $this->FontFiles=array(); $this->diffs=array(); $this->images=array(); $this->links=array(); + $this->InHeader=false; $this->InFooter=false; $this->lasth=0; $this->FontFamily=''; @@ -102,10 +101,10 @@ function FPDF($orientation='P',$unit='mm',$format='A4') $this->ColorFlag=false; $this->ws=0; //Standard fonts - $this->CoreFonts=array('courier'=>'Courier','courierB'=>'Courier-Bold','courierI'=>'Courier-Oblique','courierBI'=>'Courier-BoldOblique', - 'helvetica'=>'Helvetica','helveticaB'=>'Helvetica-Bold','helveticaI'=>'Helvetica-Oblique','helveticaBI'=>'Helvetica-BoldOblique', - 'times'=>'Times-Roman','timesB'=>'Times-Bold','timesI'=>'Times-Italic','timesBI'=>'Times-BoldItalic', - 'symbol'=>'Symbol','zapfdingbats'=>'ZapfDingbats'); + $this->CoreFonts=array('courier'=>'Courier', 'courierB'=>'Courier-Bold', 'courierI'=>'Courier-Oblique', 'courierBI'=>'Courier-BoldOblique', + 'helvetica'=>'Helvetica', 'helveticaB'=>'Helvetica-Bold', 'helveticaI'=>'Helvetica-Oblique', 'helveticaBI'=>'Helvetica-BoldOblique', + 'times'=>'Times-Roman', 'timesB'=>'Times-Bold', 'timesI'=>'Times-Italic', 'timesBI'=>'Times-BoldItalic', + 'symbol'=>'Symbol', 'zapfdingbats'=>'ZapfDingbats'); //Scale factor if($unit=='pt') $this->k=1; @@ -118,50 +117,31 @@ function FPDF($orientation='P',$unit='mm',$format='A4') else $this->Error('Incorrect unit: '.$unit); //Page format + $this->PageFormats=array('a3'=>array(841.89,1190.55), 'a4'=>array(595.28,841.89), 'a5'=>array(420.94,595.28), + 'letter'=>array(612,792), 'legal'=>array(612,1008)); if(is_string($format)) - { - $format=strtolower($format); - if($format=='a3') - $format=array(841.89,1190.55); - elseif($format=='a4') - $format=array(595.28,841.89); - elseif($format=='a5') - $format=array(420.94,595.28); - elseif($format=='letter') - $format=array(612,792); - elseif($format=='legal') - $format=array(612,1008); - else - $this->Error('Unknown page format: '.$format); - $this->fwPt=$format[0]; - $this->fhPt=$format[1]; - } - else - { - $this->fwPt=$format[0]*$this->k; - $this->fhPt=$format[1]*$this->k; - } - $this->fw=$this->fwPt/$this->k; - $this->fh=$this->fhPt/$this->k; + $format=$this->_getpageformat($format); + $this->DefPageFormat=$format; + $this->CurPageFormat=$format; //Page orientation $orientation=strtolower($orientation); - if($orientation=='p' or $orientation=='portrait') + if($orientation=='p' || $orientation=='portrait') { $this->DefOrientation='P'; - $this->wPt=$this->fwPt; - $this->hPt=$this->fhPt; + $this->w=$this->DefPageFormat[0]; + $this->h=$this->DefPageFormat[1]; } - elseif($orientation=='l' or $orientation=='landscape') + elseif($orientation=='l' || $orientation=='landscape') { $this->DefOrientation='L'; - $this->wPt=$this->fhPt; - $this->hPt=$this->fwPt; + $this->w=$this->DefPageFormat[1]; + $this->h=$this->DefPageFormat[0]; } else $this->Error('Incorrect orientation: '.$orientation); $this->CurOrientation=$this->DefOrientation; - $this->w=$this->wPt/$this->k; - $this->h=$this->hPt/$this->k; + $this->wPt=$this->w*$this->k; + $this->hPt=$this->h*$this->k; //Page margins (1 cm) $margin=28.35/$this->k; $this->SetMargins($margin,$margin); @@ -173,16 +153,18 @@ function FPDF($orientation='P',$unit='mm',$format='A4') $this->SetAutoPageBreak(true,2*$margin); //Full width display mode $this->SetDisplayMode('fullwidth'); - //Compression + //Enable compression $this->SetCompression(true); + //Set default PDF version number + $this->PDFVersion='1.3'; } -function SetMargins($left,$top,$right=-1) +function SetMargins($left, $top, $right=null) { //Set left, top and right margins $this->lMargin=$left; $this->tMargin=$top; - if($right==-1) + if($right===null) $right=$left; $this->rMargin=$right; } @@ -191,7 +173,7 @@ function SetLeftMargin($margin) { //Set left margin $this->lMargin=$margin; - if($this->page>0 and $this->x<$margin) + if($this->page>0 && $this->x<$margin) $this->x=$margin; } @@ -207,7 +189,7 @@ function SetRightMargin($margin) $this->rMargin=$margin; } -function SetAutoPageBreak($auto,$margin=0) +function SetAutoPageBreak($auto, $margin=0) { //Set auto page break mode and triggering margin $this->AutoPageBreak=$auto; @@ -215,14 +197,14 @@ function SetAutoPageBreak($auto,$margin=0) $this->PageBreakTrigger=$this->h-$margin; } -function SetDisplayMode($zoom,$layout='continuous') +function SetDisplayMode($zoom, $layout='continuous') { //Set display mode in viewer - if($zoom=='fullpage' or $zoom=='fullwidth' or $zoom=='real' or $zoom=='default' or !is_string($zoom)) + if($zoom=='fullpage' || $zoom=='fullwidth' || $zoom=='real' || $zoom=='default' || !is_string($zoom)) $this->ZoomMode=$zoom; else $this->Error('Incorrect zoom display mode: '.$zoom); - if($layout=='single' or $layout=='continuous' or $layout=='two' or $layout=='default') + if($layout=='single' || $layout=='continuous' || $layout=='two' || $layout=='default') $this->LayoutMode=$layout; else $this->Error('Incorrect layout display mode: '.$layout); @@ -237,33 +219,43 @@ function SetCompression($compress) $this->compress=false; } -function SetTitle($title) +function SetTitle($title, $isUTF8=false) { //Title of document + if($isUTF8) + $title=$this->_UTF8toUTF16($title); $this->title=$title; } -function SetSubject($subject) +function SetSubject($subject, $isUTF8=false) { //Subject of document + if($isUTF8) + $subject=$this->_UTF8toUTF16($subject); $this->subject=$subject; } -function SetAuthor($author) +function SetAuthor($author, $isUTF8=false) { //Author of document + if($isUTF8) + $author=$this->_UTF8toUTF16($author); $this->author=$author; } -function SetKeywords($keywords) +function SetKeywords($keywords, $isUTF8=false) { //Keywords of document + if($isUTF8) + $keywords=$this->_UTF8toUTF16($keywords); $this->keywords=$keywords; } -function SetCreator($creator) +function SetCreator($creator, $isUTF8=false) { //Creator of document + if($isUTF8) + $creator=$this->_UTF8toUTF16($creator); $this->creator=$creator; } @@ -276,14 +268,13 @@ function AliasNbPages($alias='{nb}') function Error($msg) { //Fatal error - die('FPDF error: '.$msg); + die('FPDF error: '.$msg); } function Open() { //Begin document - if($this->state==0) - $this->_begindoc(); + $this->state=1; } function Close() @@ -303,7 +294,7 @@ function Close() $this->_enddoc(); } -function AddPage($orientation='') +function AddPage($orientation='', $format='') { //Start a new page if($this->state==0) @@ -326,12 +317,12 @@ function AddPage($orientation='') $this->_endpage(); } //Start new page - $this->_beginpage($orientation); + $this->_beginpage($orientation,$format); //Set line cap style to square $this->_out('2 J'); //Set line width $this->LineWidth=$lw; - $this->_out(sprintf('%.2f w',$lw*$this->k)); + $this->_out(sprintf('%.2F w',$lw*$this->k)); //Set font if($family) $this->SetFont($family,$style,$size); @@ -345,12 +336,14 @@ function AddPage($orientation='') $this->TextColor=$tc; $this->ColorFlag=$cf; //Page header + $this->InHeader=true; $this->Header(); + $this->InHeader=false; //Restore line width if($this->LineWidth!=$lw) { $this->LineWidth=$lw; - $this->_out(sprintf('%.2f w',$lw*$this->k)); + $this->_out(sprintf('%.2F w',$lw*$this->k)); } //Restore font if($family) @@ -386,36 +379,36 @@ function PageNo() return $this->page; } -function SetDrawColor($r,$g=-1,$b=-1) +function SetDrawColor($r, $g=null, $b=null) { //Set color for all stroking operations - if(($r==0 and $g==0 and $b==0) or $g==-1) - $this->DrawColor=sprintf('%.3f G',$r/255); + if(($r==0 && $g==0 && $b==0) || $g===null) + $this->DrawColor=sprintf('%.3F G',$r/255); else - $this->DrawColor=sprintf('%.3f %.3f %.3f RG',$r/255,$g/255,$b/255); + $this->DrawColor=sprintf('%.3F %.3F %.3F RG',$r/255,$g/255,$b/255); if($this->page>0) $this->_out($this->DrawColor); } -function SetFillColor($r,$g=-1,$b=-1) +function SetFillColor($r, $g=null, $b=null) { //Set color for all filling operations - if(($r==0 and $g==0 and $b==0) or $g==-1) - $this->FillColor=sprintf('%.3f g',$r/255); + if(($r==0 && $g==0 && $b==0) || $g===null) + $this->FillColor=sprintf('%.3F g',$r/255); else - $this->FillColor=sprintf('%.3f %.3f %.3f rg',$r/255,$g/255,$b/255); + $this->FillColor=sprintf('%.3F %.3F %.3F rg',$r/255,$g/255,$b/255); $this->ColorFlag=($this->FillColor!=$this->TextColor); if($this->page>0) $this->_out($this->FillColor); } -function SetTextColor($r,$g=-1,$b=-1) +function SetTextColor($r, $g=null, $b=null) { //Set color for text - if(($r==0 and $g==0 and $b==0) or $g==-1) - $this->TextColor=sprintf('%.3f g',$r/255); + if(($r==0 && $g==0 && $b==0) || $g===null) + $this->TextColor=sprintf('%.3F g',$r/255); else - $this->TextColor=sprintf('%.3f %.3f %.3f rg',$r/255,$g/255,$b/255); + $this->TextColor=sprintf('%.3F %.3F %.3F rg',$r/255,$g/255,$b/255); $this->ColorFlag=($this->FillColor!=$this->TextColor); } @@ -427,7 +420,7 @@ function GetStringWidth($s) $w=0; $l=strlen($s); for($i=0;$i<$l;$i++) - $w+=$cw[$s{$i}]; + $w+=$cw[$s[$i]]; return $w*$this->FontSize/1000; } @@ -436,75 +429,76 @@ function SetLineWidth($width) //Set line width $this->LineWidth=$width; if($this->page>0) - $this->_out(sprintf('%.2f w',$width*$this->k)); + $this->_out(sprintf('%.2F w',$width*$this->k)); } -function Line($x1,$y1,$x2,$y2) +function Line($x1, $y1, $x2, $y2) { //Draw a line - $this->_out(sprintf('%.2f %.2f m %.2f %.2f l S',$x1*$this->k,($this->h-$y1)*$this->k,$x2*$this->k,($this->h-$y2)*$this->k)); + $this->_out(sprintf('%.2F %.2F m %.2F %.2F l S',$x1*$this->k,($this->h-$y1)*$this->k,$x2*$this->k,($this->h-$y2)*$this->k)); } -function Rect($x,$y,$w,$h,$style='') +function Rect($x, $y, $w, $h, $style='') { //Draw a rectangle if($style=='F') $op='f'; - elseif($style=='FD' or $style=='DF') + elseif($style=='FD' || $style=='DF') $op='B'; else $op='S'; - $this->_out(sprintf('%.2f %.2f %.2f %.2f re %s',$x*$this->k,($this->h-$y)*$this->k,$w*$this->k,-$h*$this->k,$op)); + $this->_out(sprintf('%.2F %.2F %.2F %.2F re %s',$x*$this->k,($this->h-$y)*$this->k,$w*$this->k,-$h*$this->k,$op)); } -function AddFont($family,$style='',$file='') +function AddFont($family, $style='', $file='') { //Add a TrueType or Type1 font $family=strtolower($family); + if($file=='') + $file=str_replace(' ','',$family).strtolower($style).'.php'; if($family=='arial') $family='helvetica'; $style=strtoupper($style); if($style=='IB') $style='BI'; - if(isset($this->fonts[$family.$style])) - $this->Error('Font already added: '.$family.' '.$style); - if($file=='') - $file=str_replace(' ','',$family).strtolower($style).'.php'; - if(defined('FPDF_FONTPATH')) - $file=FPDF_FONTPATH.$file; - include($file); + $fontkey=$family.$style; + if(isset($this->fonts[$fontkey])) + return; + include($this->_getfontpath().$file); if(!isset($name)) $this->Error('Could not include font definition file'); $i=count($this->fonts)+1; - $this->fonts[$family.$style]=array('i'=>$i,'type'=>$type,'name'=>$name,'desc'=>$desc,'up'=>$up,'ut'=>$ut,'cw'=>$cw,'enc'=>$enc,'file'=>$file); + $this->fonts[$fontkey]=array('i'=>$i, 'type'=>$type, 'name'=>$name, 'desc'=>$desc, 'up'=>$up, 'ut'=>$ut, 'cw'=>$cw, 'enc'=>$enc, 'file'=>$file); if($diff) { //Search existing encodings $d=0; $nb=count($this->diffs); for($i=1;$i<=$nb;$i++) + { if($this->diffs[$i]==$diff) { $d=$i; break; } + } if($d==0) { $d=$nb+1; $this->diffs[$d]=$diff; } - $this->fonts[$family.$style]['diff']=$d; + $this->fonts[$fontkey]['diff']=$d; } if($file) { if($type=='TrueType') $this->FontFiles[$file]=array('length1'=>$originalsize); else - $this->FontFiles[$file]=array('length1'=>$size1,'length2'=>$size2); + $this->FontFiles[$file]=array('length1'=>$size1, 'length2'=>$size2); } } -function SetFont($family,$style='',$size=0) +function SetFont($family, $style='', $size=0) { //Select a font; size given in points global $fpdf_charwidths; @@ -514,10 +508,10 @@ function SetFont($family,$style='',$size=0) $family=$this->FontFamily; if($family=='arial') $family='helvetica'; - elseif($family=='symbol' or $family=='zapfdingbats') + elseif($family=='symbol' || $family=='zapfdingbats') $style=''; $style=strtoupper($style); - if(is_int(strpos($style,'U'))) + if(strpos($style,'U')!==false) { $this->underline=true; $style=str_replace('U','',$style); @@ -529,7 +523,7 @@ function SetFont($family,$style='',$size=0) if($size==0) $size=$this->FontSizePt; //Test if font is already selected - if($this->FontFamily==$family and $this->FontStyle==$style and $this->FontSizePt==$size) + if($this->FontFamily==$family && $this->FontStyle==$style && $this->FontSizePt==$size) return; //Test if used for the first time $fontkey=$family.$style; @@ -542,17 +536,16 @@ function SetFont($family,$style='',$size=0) { //Load metric file $file=$family; - if($family=='times' or $family=='helvetica') + if($family=='times' || $family=='helvetica') $file.=strtolower($style); - $file.='.php'; - if(defined('FPDF_FONTPATH')) - $file=FPDF_FONTPATH.$file; - include($file); + include($this->_getfontpath().$file.'.php'); if(!isset($fpdf_charwidths[$fontkey])) $this->Error('Could not include font metric file'); } $i=count($this->fonts)+1; - $this->fonts[$fontkey]=array('i'=>$i,'type'=>'core','name'=>$this->CoreFonts[$fontkey],'up'=>-100,'ut'=>50,'cw'=>$fpdf_charwidths[$fontkey]); + $name=$this->CoreFonts[$fontkey]; + $cw=$fpdf_charwidths[$fontkey]; + $this->fonts[$fontkey]=array('i'=>$i, 'type'=>'core', 'name'=>$name, 'up'=>-100, 'ut'=>50, 'cw'=>$cw); } else $this->Error('Undefined font: '.$family.' '.$style); @@ -564,7 +557,7 @@ function SetFont($family,$style='',$size=0) $this->FontSize=$size/$this->k; $this->CurrentFont=&$this->fonts[$fontkey]; if($this->page>0) - $this->_out(sprintf('BT /F%d %.2f Tf ET',$this->CurrentFont['i'],$this->FontSizePt)); + $this->_out(sprintf('BT /F%d %.2F Tf ET',$this->CurrentFont['i'],$this->FontSizePt)); } function SetFontSize($size) @@ -575,38 +568,38 @@ function SetFontSize($size) $this->FontSizePt=$size; $this->FontSize=$size/$this->k; if($this->page>0) - $this->_out(sprintf('BT /F%d %.2f Tf ET',$this->CurrentFont['i'],$this->FontSizePt)); + $this->_out(sprintf('BT /F%d %.2F Tf ET',$this->CurrentFont['i'],$this->FontSizePt)); } function AddLink() { //Create a new internal link $n=count($this->links)+1; - $this->links[$n]=array(0,0); + $this->links[$n]=array(0, 0); return $n; } -function SetLink($link,$y=0,$page=-1) +function SetLink($link, $y=0, $page=-1) { //Set destination of internal link if($y==-1) $y=$this->y; if($page==-1) $page=$this->page; - $this->links[$link]=array($page,$y); + $this->links[$link]=array($page, $y); } -function Link($x,$y,$w,$h,$link) +function Link($x, $y, $w, $h, $link) { //Put a link on the page - $this->PageLinks[$this->page][]=array($x*$this->k,$this->hPt-$y*$this->k,$w*$this->k,$h*$this->k,$link); + $this->PageLinks[$this->page][]=array($x*$this->k, $this->hPt-$y*$this->k, $w*$this->k, $h*$this->k, $link); } -function Text($x,$y,$txt) +function Text($x, $y, $txt) { //Output a string - $s=sprintf('BT %.2f %.2f Td (%s) Tj ET',$x*$this->k,($this->h-$y)*$this->k,$this->_escape($txt)); - if($this->underline and $txt!='') + $s=sprintf('BT %.2F %.2F Td (%s) Tj ET',$x*$this->k,($this->h-$y)*$this->k,$this->_escape($txt)); + if($this->underline && $txt!='') $s.=' '.$this->_dounderline($x,$y,$txt); if($this->ColorFlag) $s='q '.$this->TextColor.' '.$s.' Q'; @@ -619,11 +612,11 @@ function AcceptPageBreak() return $this->AutoPageBreak; } -function Cell($w,$h=0,$txt='',$border=0,$ln=0,$align='',$fill=0,$link='') +function Cell($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=false, $link='') { //Output a cell $k=$this->k; - if($this->y+$h>$this->PageBreakTrigger and !$this->InFooter and $this->AcceptPageBreak()) + if($this->y+$h>$this->PageBreakTrigger && !$this->InHeader && !$this->InFooter && $this->AcceptPageBreak()) { //Automatic page break $x=$this->x; @@ -633,39 +626,39 @@ function Cell($w,$h=0,$txt='',$border=0,$ln=0,$align='',$fill=0,$link='') $this->ws=0; $this->_out('0 Tw'); } - $this->AddPage($this->CurOrientation); + $this->AddPage($this->CurOrientation,$this->CurPageFormat); $this->x=$x; if($ws>0) { $this->ws=$ws; - $this->_out(sprintf('%.3f Tw',$ws*$k)); + $this->_out(sprintf('%.3F Tw',$ws*$k)); } } if($w==0) $w=$this->w-$this->rMargin-$this->x; $s=''; - if($fill==1 or $border==1) + if($fill || $border==1) { - if($fill==1) + if($fill) $op=($border==1) ? 'B' : 'f'; else $op='S'; - $s=sprintf('%.2f %.2f %.2f %.2f re %s ',$this->x*$k,($this->h-$this->y)*$k,$w*$k,-$h*$k,$op); + $s=sprintf('%.2F %.2F %.2F %.2F re %s ',$this->x*$k,($this->h-$this->y)*$k,$w*$k,-$h*$k,$op); } if(is_string($border)) { $x=$this->x; $y=$this->y; - if(is_int(strpos($border,'L'))) - $s.=sprintf('%.2f %.2f m %.2f %.2f l S ',$x*$k,($this->h-$y)*$k,$x*$k,($this->h-($y+$h))*$k); - if(is_int(strpos($border,'T'))) - $s.=sprintf('%.2f %.2f m %.2f %.2f l S ',$x*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-$y)*$k); - if(is_int(strpos($border,'R'))) - $s.=sprintf('%.2f %.2f m %.2f %.2f l S ',($x+$w)*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-($y+$h))*$k); - if(is_int(strpos($border,'B'))) - $s.=sprintf('%.2f %.2f m %.2f %.2f l S ',$x*$k,($this->h-($y+$h))*$k,($x+$w)*$k,($this->h-($y+$h))*$k); + if(strpos($border,'L')!==false) + $s.=sprintf('%.2F %.2F m %.2F %.2F l S ',$x*$k,($this->h-$y)*$k,$x*$k,($this->h-($y+$h))*$k); + if(strpos($border,'T')!==false) + $s.=sprintf('%.2F %.2F m %.2F %.2F l S ',$x*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-$y)*$k); + if(strpos($border,'R')!==false) + $s.=sprintf('%.2F %.2F m %.2F %.2F l S ',($x+$w)*$k,($this->h-$y)*$k,($x+$w)*$k,($this->h-($y+$h))*$k); + if(strpos($border,'B')!==false) + $s.=sprintf('%.2F %.2F m %.2F %.2F l S ',$x*$k,($this->h-($y+$h))*$k,($x+$w)*$k,($this->h-($y+$h))*$k); } - if($txt!='') + if($txt!=='') { if($align=='R') $dx=$w-$this->cMargin-$this->GetStringWidth($txt); @@ -676,7 +669,7 @@ function Cell($w,$h=0,$txt='',$border=0,$ln=0,$align='',$fill=0,$link='') if($this->ColorFlag) $s.='q '.$this->TextColor.' '; $txt2=str_replace(')','\\)',str_replace('(','\\(',str_replace('\\','\\\\',$txt))); - $s.=sprintf('BT %.2f %.2f Td (%s) Tj ET',($this->x+$dx)*$k,($this->h-($this->y+.5*$h+.3*$this->FontSize))*$k,$txt2); + $s.=sprintf('BT %.2F %.2F Td (%s) Tj ET',($this->x+$dx)*$k,($this->h-($this->y+.5*$h+.3*$this->FontSize))*$k,$txt2); if($this->underline) $s.=' '.$this->_dounderline($this->x+$dx,$this->y+.5*$h+.3*$this->FontSize,$txt); if($this->ColorFlag) @@ -698,7 +691,7 @@ function Cell($w,$h=0,$txt='',$border=0,$ln=0,$align='',$fill=0,$link='') $this->x+=$w; } -function MultiCell($w,$h,$txt,$border=0,$align='J',$fill=0) +function MultiCell($w, $h, $txt, $border=0, $align='J', $fill=false) { //Output text with automatic or explicit line breaks $cw=&$this->CurrentFont['cw']; @@ -707,7 +700,7 @@ function MultiCell($w,$h,$txt,$border=0,$align='J',$fill=0) $wmax=($w-2*$this->cMargin)*1000/$this->FontSize; $s=str_replace("\r",'',$txt); $nb=strlen($s); - if($nb>0 and $s[$nb-1]=="\n") + if($nb>0 && $s[$nb-1]=="\n") $nb--; $b=0; if($border) @@ -721,11 +714,11 @@ function MultiCell($w,$h,$txt,$border=0,$align='J',$fill=0) else { $b2=''; - if(is_int(strpos($border,'L'))) + if(strpos($border,'L')!==false) $b2.='L'; - if(is_int(strpos($border,'R'))) + if(strpos($border,'R')!==false) $b2.='R'; - $b=is_int(strpos($border,'T')) ? $b2.'T' : $b2; + $b=(strpos($border,'T')!==false) ? $b2.'T' : $b2; } } $sep=-1; @@ -737,7 +730,7 @@ function MultiCell($w,$h,$txt,$border=0,$align='J',$fill=0) while($i<$nb) { //Get next character - $c=$s{$i}; + $c=$s[$i]; if($c=="\n") { //Explicit line break @@ -753,7 +746,7 @@ function MultiCell($w,$h,$txt,$border=0,$align='J',$fill=0) $l=0; $ns=0; $nl++; - if($border and $nl==2) + if($border && $nl==2) $b=$b2; continue; } @@ -783,7 +776,7 @@ function MultiCell($w,$h,$txt,$border=0,$align='J',$fill=0) if($align=='J') { $this->ws=($ns>1) ? ($wmax-$ls)/1000*$this->FontSize/($ns-1) : 0; - $this->_out(sprintf('%.3f Tw',$this->ws*$this->k)); + $this->_out(sprintf('%.3F Tw',$this->ws*$this->k)); } $this->Cell($w,$h,substr($s,$j,$sep-$j),$b,2,$align,$fill); $i=$sep+1; @@ -793,7 +786,7 @@ function MultiCell($w,$h,$txt,$border=0,$align='J',$fill=0) $l=0; $ns=0; $nl++; - if($border and $nl==2) + if($border && $nl==2) $b=$b2; } else @@ -805,13 +798,13 @@ function MultiCell($w,$h,$txt,$border=0,$align='J',$fill=0) $this->ws=0; $this->_out('0 Tw'); } - if($border and is_int(strpos($border,'B'))) + if($border && strpos($border,'B')!==false) $b.='B'; $this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill); $this->x=$this->lMargin; } -function Write($h,$txt,$link='') +function Write($h, $txt, $link='') { //Output text in flowing mode $cw=&$this->CurrentFont['cw']; @@ -827,7 +820,7 @@ function Write($h,$txt,$link='') while($i<$nb) { //Get next character - $c=$s{$i}; + $c=$s[$i]; if($c=="\n") { //Explicit line break @@ -892,12 +885,22 @@ function Write($h,$txt,$link='') $this->Cell($l/1000*$this->FontSize,$h,substr($s,$j),0,0,'',0,$link); } -function Image($file,$x,$y,$w=0,$h=0,$type='',$link='') +function Ln($h=null) +{ + //Line feed; default value is last cell height + $this->x=$this->lMargin; + if($h===null) + $this->y+=$this->lasth; + else + $this->y+=$h; +} + +function Image($file, $x=null, $y=null, $w=0, $h=0, $type='', $link='') { //Put an image on the page if(!isset($this->images[$file])) { - //First use of image, get info + //First use of this image, get info if($type=='') { $pos=strrpos($file,'.'); @@ -906,52 +909,48 @@ function Image($file,$x,$y,$w=0,$h=0,$type='',$link='') $type=substr($file,$pos+1); } $type=strtolower($type); - $mqr=get_magic_quotes_runtime(); - set_magic_quotes_runtime(0); - if($type=='jpg' or $type=='jpeg') - $info=$this->_parsejpg($file); - elseif($type=='png') - $info=$this->_parsepng($file); - else - { - //Allow for additional formats - $mtd='_parse'.$type; - if(!method_exists($this,$mtd)) - $this->Error('Unsupported image type: '.$type); - $info=$this->$mtd($file); - } - set_magic_quotes_runtime($mqr); + if($type=='jpeg') + $type='jpg'; + $mtd='_parse'.$type; + if(!method_exists($this,$mtd)) + $this->Error('Unsupported image type: '.$type); + $info=$this->$mtd($file); $info['i']=count($this->images)+1; $this->images[$file]=$info; } else $info=$this->images[$file]; //Automatic width and height calculation if needed - if($w==0 and $h==0) + if($w==0 && $h==0) { //Put image at 72 dpi $w=$info['w']/$this->k; $h=$info['h']/$this->k; } - if($w==0) + elseif($w==0) $w=$h*$info['w']/$info['h']; - if($h==0) + elseif($h==0) $h=$w*$info['h']/$info['w']; - $this->_out(sprintf('q %.2f 0 0 %.2f %.2f %.2f cm /I%d Do Q',$w*$this->k,$h*$this->k,$x*$this->k,($this->h-($y+$h))*$this->k,$info['i'])); + //Flowing mode + if($y===null) + { + if($this->y+$h>$this->PageBreakTrigger && !$this->InHeader && !$this->InFooter && $this->AcceptPageBreak()) + { + //Automatic page break + $x2=$this->x; + $this->AddPage($this->CurOrientation,$this->CurPageFormat); + $this->x=$x2; + } + $y=$this->y; + $this->y+=$h; + } + if($x===null) + $x=$this->x; + $this->_out(sprintf('q %.2F 0 0 %.2F %.2F %.2F cm /I%d Do Q',$w*$this->k,$h*$this->k,$x*$this->k,($this->h-($y+$h))*$this->k,$info['i'])); if($link) $this->Link($x,$y,$w,$h,$link); } -function Ln($h='') -{ - //Line feed; default value is last cell height - $this->x=$this->lMargin; - if(is_string($h)) - $this->y+=$this->lasth; - else - $this->y+=$h; -} - function GetX() { //Get x position @@ -983,24 +982,18 @@ function SetY($y) $this->y=$this->h+$y; } -function SetXY($x,$y) +function SetXY($x, $y) { //Set x and y positions $this->SetY($y); $this->SetX($x); } -function Output($name='',$dest='') +function Output($name='', $dest='') { //Output PDF to some destination - global $HTTP_SERVER_VARS; - - //Finish document if necessary if($this->state<3) $this->Close(); - //Normalize parameters - if(is_bool($dest)) - $dest=$dest ? 'D' : 'F'; $dest=strtoupper($dest); if($dest=='') { @@ -1016,31 +1009,34 @@ function Output($name='',$dest='') { case 'I': //Send to standard output - if(isset($_SERVER['SERVER_NAME'])) + if(ob_get_length()) + $this->Error('Some data has already been output, can\'t send PDF file'); + if(php_sapi_name()!='cli') { //We send to a browser - // ffe, regarding a https pdf download issue, 20050720 - Header('Pragma: '); - Header('Cache-Control: '); - // end of modification - Header('Content-Type: application/pdf'); + header('Content-Type: application/pdf'); if(headers_sent()) - $this->Error('Some data has already been output to browser, can\'t send PDF file'); - Header('Content-Length: '.strlen($this->buffer)); - Header('Content-disposition: inline; filename='.$name); + $this->Error('Some data has already been output, can\'t send PDF file'); + header('Content-Length: '.strlen($this->buffer)); + header('Content-Disposition: inline; filename="'.$name.'"'); + header('Cache-Control: private, max-age=0, must-revalidate'); + header('Pragma: public'); + ini_set('zlib.output_compression','0'); } echo $this->buffer; break; case 'D': //Download file - if(isset($_SERVER['HTTP_USER_AGENT']) and strpos($_SERVER['HTTP_USER_AGENT'],'MSIE')) - Header('Content-Type: application/force-download'); - else - Header('Content-Type: application/octet-stream'); + if(ob_get_length()) + $this->Error('Some data has already been output, can\'t send PDF file'); + header('Content-Type: application/x-download'); if(headers_sent()) - $this->Error('Some data has already been output to browser, can\'t send PDF file'); - Header('Content-Length: '.strlen($this->buffer)); - Header('Content-disposition: attachment; filename='.$name); + $this->Error('Some data has already been output, can\'t send PDF file'); + header('Content-Length: '.strlen($this->buffer)); + header('Content-Disposition: attachment; filename="'.$name.'"'); + header('Cache-Control: private, max-age=0, must-revalidate'); + header('Pragma: public'); + ini_set('zlib.output_compression','0'); echo $this->buffer; break; case 'F': @@ -1067,19 +1063,314 @@ function Output($name='',$dest='') *******************************************************************************/ function _dochecks() { - //Check for locale-related bug - if(1.1==1) - $this->Error('Don\'t alter the locale before including class file'); - //Check for decimal separator - if(sprintf('%.1f',1.0)!='1.0') - setlocale(LC_NUMERIC,'C'); + //Check availability of %F + if(sprintf('%.1F',1.0)!='1.0') + $this->Error('This version of PHP is not supported'); + //Check mbstring overloading + if(ini_get('mbstring.func_overload') & 2) + $this->Error('mbstring overloading must be disabled'); + //Disable runtime magic quotes + if(get_magic_quotes_runtime()) + @set_magic_quotes_runtime(0); } -function _begindoc() +function _getpageformat($format) +{ + $format=strtolower($format); + if(!isset($this->PageFormats[$format])) + $this->Error('Unknown page format: '.$format); + $a=$this->PageFormats[$format]; + return array($a[0]/$this->k, $a[1]/$this->k); +} + +function _getfontpath() +{ + if(!defined('FPDF_FONTPATH') && is_dir(dirname(__FILE__).'/font')) + define('FPDF_FONTPATH',dirname(__FILE__).'/font/'); + return defined('FPDF_FONTPATH') ? FPDF_FONTPATH : ''; +} + +function _beginpage($orientation, $format) +{ + $this->page++; + $this->pages[$this->page]=''; + $this->state=2; + $this->x=$this->lMargin; + $this->y=$this->tMargin; + $this->FontFamily=''; + //Check page size + if($orientation=='') + $orientation=$this->DefOrientation; + else + $orientation=strtoupper($orientation[0]); + if($format=='') + $format=$this->DefPageFormat; + else + { + if(is_string($format)) + $format=$this->_getpageformat($format); + } + if($orientation!=$this->CurOrientation || $format[0]!=$this->CurPageFormat[0] || $format[1]!=$this->CurPageFormat[1]) + { + //New size + if($orientation=='P') + { + $this->w=$format[0]; + $this->h=$format[1]; + } + else + { + $this->w=$format[1]; + $this->h=$format[0]; + } + $this->wPt=$this->w*$this->k; + $this->hPt=$this->h*$this->k; + $this->PageBreakTrigger=$this->h-$this->bMargin; + $this->CurOrientation=$orientation; + $this->CurPageFormat=$format; + } + if($orientation!=$this->DefOrientation || $format[0]!=$this->DefPageFormat[0] || $format[1]!=$this->DefPageFormat[1]) + $this->PageSizes[$this->page]=array($this->wPt, $this->hPt); +} + +function _endpage() { - //Start document $this->state=1; - $this->_out('%PDF-1.3'); +} + +function _escape($s) +{ + //Escape special characters in strings + $s=str_replace('\\','\\\\',$s); + $s=str_replace('(','\\(',$s); + $s=str_replace(')','\\)',$s); + $s=str_replace("\r",'\\r',$s); + return $s; +} + +function _textstring($s) +{ + //Format a text string + return '('.$this->_escape($s).')'; +} + +function _UTF8toUTF16($s) +{ + //Convert UTF-8 to UTF-16BE with BOM + $res="\xFE\xFF"; + $nb=strlen($s); + $i=0; + while($i<$nb) + { + $c1=ord($s[$i++]); + if($c1>=224) + { + //3-byte character + $c2=ord($s[$i++]); + $c3=ord($s[$i++]); + $res.=chr((($c1 & 0x0F)<<4) + (($c2 & 0x3C)>>2)); + $res.=chr((($c2 & 0x03)<<6) + ($c3 & 0x3F)); + } + elseif($c1>=192) + { + //2-byte character + $c2=ord($s[$i++]); + $res.=chr(($c1 & 0x1C)>>2); + $res.=chr((($c1 & 0x03)<<6) + ($c2 & 0x3F)); + } + else + { + //Single-byte character + $res.="\0".chr($c1); + } + } + return $res; +} + +function _dounderline($x, $y, $txt) +{ + //Underline text + $up=$this->CurrentFont['up']; + $ut=$this->CurrentFont['ut']; + $w=$this->GetStringWidth($txt)+$this->ws*substr_count($txt,' '); + return sprintf('%.2F %.2F %.2F %.2F re f',$x*$this->k,($this->h-($y-$up/1000*$this->FontSize))*$this->k,$w*$this->k,-$ut/1000*$this->FontSizePt); +} + +function _parsejpg($file) +{ + //Extract info from a JPEG file + $a=GetImageSize($file); + if(!$a) + $this->Error('Missing or incorrect image file: '.$file); + if($a[2]!=2) + $this->Error('Not a JPEG file: '.$file); + if(!isset($a['channels']) || $a['channels']==3) + $colspace='DeviceRGB'; + elseif($a['channels']==4) + $colspace='DeviceCMYK'; + else + $colspace='DeviceGray'; + $bpc=isset($a['bits']) ? $a['bits'] : 8; + //Read whole file + $f=fopen($file,'rb'); + $data=''; + while(!feof($f)) + $data.=fread($f,8192); + fclose($f); + return array('w'=>$a[0], 'h'=>$a[1], 'cs'=>$colspace, 'bpc'=>$bpc, 'f'=>'DCTDecode', 'data'=>$data); +} + +function _parsepng($file) +{ + //Extract info from a PNG file + $f=fopen($file,'rb'); + if(!$f) + $this->Error('Can\'t open image file: '.$file); + //Check signature + if($this->_readstream($f,8)!=chr(137).'PNG'.chr(13).chr(10).chr(26).chr(10)) + $this->Error('Not a PNG file: '.$file); + //Read header chunk + $this->_readstream($f,4); + if($this->_readstream($f,4)!='IHDR') + $this->Error('Incorrect PNG file: '.$file); + $w=$this->_readint($f); + $h=$this->_readint($f); + $bpc=ord($this->_readstream($f,1)); + if($bpc>8) + $this->Error('16-bit depth not supported: '.$file); + $ct=ord($this->_readstream($f,1)); + if($ct==0) + $colspace='DeviceGray'; + elseif($ct==2) + $colspace='DeviceRGB'; + elseif($ct==3) + $colspace='Indexed'; + else + $this->Error('Alpha channel not supported: '.$file); + if(ord($this->_readstream($f,1))!=0) + $this->Error('Unknown compression method: '.$file); + if(ord($this->_readstream($f,1))!=0) + $this->Error('Unknown filter method: '.$file); + if(ord($this->_readstream($f,1))!=0) + $this->Error('Interlacing not supported: '.$file); + $this->_readstream($f,4); + $parms='/DecodeParms <>'; + //Scan chunks looking for palette, transparency and image data + $pal=''; + $trns=''; + $data=''; + do + { + $n=$this->_readint($f); + $type=$this->_readstream($f,4); + if($type=='PLTE') + { + //Read palette + $pal=$this->_readstream($f,$n); + $this->_readstream($f,4); + } + elseif($type=='tRNS') + { + //Read transparency info + $t=$this->_readstream($f,$n); + if($ct==0) + $trns=array(ord(substr($t,1,1))); + elseif($ct==2) + $trns=array(ord(substr($t,1,1)), ord(substr($t,3,1)), ord(substr($t,5,1))); + else + { + $pos=strpos($t,chr(0)); + if($pos!==false) + $trns=array($pos); + } + $this->_readstream($f,4); + } + elseif($type=='IDAT') + { + //Read image data block + $data.=$this->_readstream($f,$n); + $this->_readstream($f,4); + } + elseif($type=='IEND') + break; + else + $this->_readstream($f,$n+4); + } + while($n); + if($colspace=='Indexed' && empty($pal)) + $this->Error('Missing palette in '.$file); + fclose($f); + return array('w'=>$w, 'h'=>$h, 'cs'=>$colspace, 'bpc'=>$bpc, 'f'=>'FlateDecode', 'parms'=>$parms, 'pal'=>$pal, 'trns'=>$trns, 'data'=>$data); +} + +function _readstream($f, $n) +{ + //Read n bytes from stream + $res=''; + while($n>0 && !feof($f)) + { + $s=fread($f,$n); + if($s===false) + $this->Error('Error while reading stream'); + $n-=strlen($s); + $res.=$s; + } + if($n>0) + $this->Error('Unexpected end of stream'); + return $res; +} + +function _readint($f) +{ + //Read a 4-byte integer from stream + $a=unpack('Ni',$this->_readstream($f,4)); + return $a['i']; +} + +function _parsegif($file) +{ + //Extract info from a GIF file (via PNG conversion) + if(!function_exists('imagepng')) + $this->Error('GD extension is required for GIF support'); + if(!function_exists('imagecreatefromgif')) + $this->Error('GD has no GIF read support'); + $im=imagecreatefromgif($file); + if(!$im) + $this->Error('Missing or incorrect image file: '.$file); + imageinterlace($im,0); + $tmp=tempnam('.','gif'); + if(!$tmp) + $this->Error('Unable to create a temporary file'); + if(!imagepng($im,$tmp)) + $this->Error('Error while saving to temporary file'); + imagedestroy($im); + $info=$this->_parsepng($tmp); + unlink($tmp); + return $info; +} + +function _newobj() +{ + //Begin a new object + $this->n++; + $this->offsets[$this->n]=strlen($this->buffer); + $this->_out($this->n.' 0 obj'); +} + +function _putstream($s) +{ + $this->_out('stream'); + $this->_out($s); + $this->_out('endstream'); +} + +function _out($s) +{ + //Add a line to the document + if($this->state==2) + $this->pages[$this->page].=$s."\n"; + else + $this->buffer.=$s."\n"; } function _putpages() @@ -1093,13 +1384,13 @@ function _putpages() } if($this->DefOrientation=='P') { - $wPt=$this->fwPt; - $hPt=$this->fhPt; + $wPt=$this->DefPageFormat[0]*$this->k; + $hPt=$this->DefPageFormat[1]*$this->k; } else { - $wPt=$this->fhPt; - $hPt=$this->fwPt; + $wPt=$this->DefPageFormat[1]*$this->k; + $hPt=$this->DefPageFormat[0]*$this->k; } $filter=($this->compress) ? '/Filter /FlateDecode ' : ''; for($n=1;$n<=$nb;$n++) @@ -1108,8 +1399,8 @@ function _putpages() $this->_newobj(); $this->_out('<_out('/Parent 1 0 R'); - if(isset($this->OrientationChanges[$n])) - $this->_out(sprintf('/MediaBox [0 0 %.2f %.2f]',$hPt,$wPt)); + if(isset($this->PageSizes[$n])) + $this->_out(sprintf('/MediaBox [0 0 %.2F %.2F]',$this->PageSizes[$n][0],$this->PageSizes[$n][1])); $this->_out('/Resources 2 0 R'); if(isset($this->PageLinks[$n])) { @@ -1117,15 +1408,15 @@ function _putpages() $annots='/Annots ['; foreach($this->PageLinks[$n] as $pl) { - $rect=sprintf('%.2f %.2f %.2f %.2f',$pl[0],$pl[1],$pl[0]+$pl[2],$pl[1]-$pl[3]); + $rect=sprintf('%.2F %.2F %.2F %.2F',$pl[0],$pl[1],$pl[0]+$pl[2],$pl[1]-$pl[3]); $annots.='<_textstring($pl[4]).'>>>>'; else { $l=$this->links[$pl[4]]; - $h=isset($this->OrientationChanges[$l[0]]) ? $wPt : $hPt; - $annots.=sprintf('/Dest [%d 0 R /XYZ 0 %.2f null]>>',1+2*$l[0],$h-$l[1]*$this->k); + $h=isset($this->PageSizes[$l[0]]) ? $this->PageSizes[$l[0]][1] : $hPt; + $annots.=sprintf('/Dest [%d 0 R /XYZ 0 %.2F null]>>',1+2*$l[0],$h-$l[1]*$this->k); } } $this->_out($annots.']'); @@ -1148,7 +1439,7 @@ function _putpages() $kids.=(3+2*$i).' 0 R '; $this->_out($kids.']'); $this->_out('/Count '.$nb); - $this->_out(sprintf('/MediaBox [0 0 %.2f %.2f]',$wPt,$hPt)); + $this->_out(sprintf('/MediaBox [0 0 %.2F %.2F]',$wPt,$hPt)); $this->_out('>>'); $this->_out('endobj'); } @@ -1163,31 +1454,43 @@ function _putfonts() $this->_out('<>'); $this->_out('endobj'); } - $mqr=get_magic_quotes_runtime(); - set_magic_quotes_runtime(0); foreach($this->FontFiles as $file=>$info) { //Font file embedding $this->_newobj(); $this->FontFiles[$file]['n']=$this->n; - if(defined('FPDF_FONTPATH')) - $file=FPDF_FONTPATH.$file; - $size=filesize($file); - if(!$size) + $font=''; + $f=fopen($this->_getfontpath().$file,'rb',1); + if(!$f) $this->Error('Font file not found'); - $this->_out('<_out('<_out('/Filter /FlateDecode'); $this->_out('/Length1 '.$info['length1']); if(isset($info['length2'])) $this->_out('/Length2 '.$info['length2'].' /Length3 0'); $this->_out('>>'); - $f=fopen($file,'rb'); - $this->_putstream(fread($f,$size)); - fclose($f); + $this->_putstream($font); $this->_out('endobj'); } - set_magic_quotes_runtime($mqr); foreach($this->fonts as $k=>$font) { //Font objects @@ -1201,12 +1504,12 @@ function _putfonts() $this->_out('<_out('/BaseFont /'.$name); $this->_out('/Subtype /Type1'); - if($name!='Symbol' and $name!='ZapfDingbats') + if($name!='Symbol' && $name!='ZapfDingbats') $this->_out('/Encoding /WinAnsiEncoding'); $this->_out('>>'); $this->_out('endobj'); } - elseif($type=='Type1' or $type=='TrueType') + elseif($type=='Type1' || $type=='TrueType') { //Additional Type1 or TrueType font $this->_newobj(); @@ -1276,10 +1579,11 @@ function _putimages() $this->_out('/Decode [1 0 1 0 1 0 1 0]'); } $this->_out('/BitsPerComponent '.$info['bpc']); - $this->_out('/Filter /'.$info['f']); + if(isset($info['f'])) + $this->_out('/Filter /'.$info['f']); if(isset($info['parms'])) $this->_out($info['parms']); - if(isset($info['trns']) and is_array($info['trns'])) + if(isset($info['trns']) && is_array($info['trns'])) { $trns=''; for($i=0;$iimages as $image) + $this->_out('/I'.$image['i'].' '.$image['n'].' 0 R'); +} + +function _putresourcedict() +{ + $this->_out('/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]'); + $this->_out('/Font <<'); + foreach($this->fonts as $font) + $this->_out('/F'.$font['i'].' '.$font['n'].' 0 R'); + $this->_out('>>'); + $this->_out('/XObject <<'); + $this->_putxobjectdict(); + $this->_out('>>'); +} + function _putresources() { $this->_putfonts(); @@ -1309,18 +1631,8 @@ function _putresources() //Resource dictionary $this->offsets[2]=strlen($this->buffer); $this->_out('2 0 obj'); - $this->_out('<_out('/Font <<'); - foreach($this->fonts as $font) - $this->_out('/F'.$font['i'].' '.$font['n'].' 0 R'); - $this->_out('>>'); - if(count($this->images)) - { - $this->_out('/XObject <<'); - foreach($this->images as $image) - $this->_out('/I'.$image['i'].' '.$image['n'].' 0 R'); - $this->_out('>>'); - } + $this->_out('<<'); + $this->_putresourcedict(); $this->_out('>>'); $this->_out('endobj'); } @@ -1338,7 +1650,7 @@ function _putinfo() $this->_out('/Keywords '.$this->_textstring($this->keywords)); if(!empty($this->creator)) $this->_out('/Creator '.$this->_textstring($this->creator)); - $this->_out('/CreationDate '.$this->_textstring('D:'.date('YmdHis'))); + $this->_out('/CreationDate '.$this->_textstring('D:'.@date('YmdHis'))); } function _putcatalog() @@ -1361,6 +1673,11 @@ function _putcatalog() $this->_out('/PageLayout /TwoColumnLeft'); } +function _putheader() +{ + $this->_out('%PDF-'.$this->PDFVersion); +} + function _puttrailer() { $this->_out('/Size '.($this->n+1)); @@ -1370,6 +1687,7 @@ function _puttrailer() function _enddoc() { + $this->_putheader(); $this->_putpages(); $this->_putresources(); //Info @@ -1401,222 +1719,14 @@ function _enddoc() $this->_out('%%EOF'); $this->state=3; } - -function _beginpage($orientation) -{ - $this->page++; - $this->pages[$this->page]=''; - $this->state=2; - $this->x=$this->lMargin; - $this->y=$this->tMargin; - $this->FontFamily=''; - //Page orientation - if(!$orientation) - $orientation=$this->DefOrientation; - else - { - $orientation=strtoupper($orientation{0}); - if($orientation!=$this->DefOrientation) - $this->OrientationChanges[$this->page]=true; - } - if($orientation!=$this->CurOrientation) - { - //Change orientation - if($orientation=='P') - { - $this->wPt=$this->fwPt; - $this->hPt=$this->fhPt; - $this->w=$this->fw; - $this->h=$this->fh; - } - else - { - $this->wPt=$this->fhPt; - $this->hPt=$this->fwPt; - $this->w=$this->fh; - $this->h=$this->fw; - } - $this->PageBreakTrigger=$this->h-$this->bMargin; - $this->CurOrientation=$orientation; - } -} - -function _endpage() -{ - //End of page contents - $this->state=1; -} - -function _newobj() -{ - //Begin a new object - $this->n++; - $this->offsets[$this->n]=strlen($this->buffer); - $this->_out($this->n.' 0 obj'); -} - -function _dounderline($x,$y,$txt) -{ - //Underline text - $up=$this->CurrentFont['up']; - $ut=$this->CurrentFont['ut']; - $w=$this->GetStringWidth($txt)+$this->ws*substr_count($txt,' '); - return sprintf('%.2f %.2f %.2f %.2f re f',$x*$this->k,($this->h-($y-$up/1000*$this->FontSize))*$this->k,$w*$this->k,-$ut/1000*$this->FontSizePt); -} - -function _parsejpg($file) -{ - //Extract info from a JPEG file - $a=GetImageSize($file); - if(!$a) - $this->Error('Missing or incorrect image file: '.$file); - if($a[2]!=2) - $this->Error('Not a JPEG file: '.$file); - if(!isset($a['channels']) or $a['channels']==3) - $colspace='DeviceRGB'; - elseif($a['channels']==4) - $colspace='DeviceCMYK'; - else - $colspace='DeviceGray'; - $bpc=isset($a['bits']) ? $a['bits'] : 8; - //Read whole file - $f=fopen($file,'rb'); - $data=''; - while(!feof($f)) - $data.=fread($f,4096); - fclose($f); - return array('w'=>$a[0],'h'=>$a[1],'cs'=>$colspace,'bpc'=>$bpc,'f'=>'DCTDecode','data'=>$data); -} - -function _parsepng($file) -{ - //Extract info from a PNG file - $f=fopen($file,'rb'); - if(!$f) - $this->Error('Can\'t open image file: '.$file); - //Check signature - if(fread($f,8)!=chr(137).'PNG'.chr(13).chr(10).chr(26).chr(10)) - $this->Error('Not a PNG file: '.$file); - //Read header chunk - fread($f,4); - if(fread($f,4)!='IHDR') - $this->Error('Incorrect PNG file: '.$file); - $w=$this->_freadint($f); - $h=$this->_freadint($f); - $bpc=ord(fread($f,1)); - if($bpc>8) - $this->Error('16-bit depth not supported: '.$file); - $ct=ord(fread($f,1)); - if($ct==0) - $colspace='DeviceGray'; - elseif($ct==2) - $colspace='DeviceRGB'; - elseif($ct==3) - $colspace='Indexed'; - else - $this->Error('Alpha channel not supported: '.$file); - if(ord(fread($f,1))!=0) - $this->Error('Unknown compression method: '.$file); - if(ord(fread($f,1))!=0) - $this->Error('Unknown filter method: '.$file); - if(ord(fread($f,1))!=0) - $this->Error('Interlacing not supported: '.$file); - fread($f,4); - $parms='/DecodeParms <>'; - //Scan chunks looking for palette, transparency and image data - $pal=''; - $trns=''; - $data=''; - do - { - $n=$this->_freadint($f); - $type=fread($f,4); - if($type=='PLTE') - { - //Read palette - $pal=fread($f,$n); - fread($f,4); - } - elseif($type=='tRNS') - { - //Read transparency info - $t=fread($f,$n); - if($ct==0) - $trns=array(ord(substr($t,1,1))); - elseif($ct==2) - $trns=array(ord(substr($t,1,1)),ord(substr($t,3,1)),ord(substr($t,5,1))); - else - { - $pos=strpos($t,chr(0)); - if(is_int($pos)) - $trns=array($pos); - } - fread($f,4); - } - elseif($type=='IDAT') - { - //Read image data block - $data.=fread($f,$n); - fread($f,4); - } - elseif($type=='IEND') - break; - else - fread($f,$n+4); - } - while($n); - if($colspace=='Indexed' and empty($pal)) - $this->Error('Missing palette in '.$file); - fclose($f); - return array('w'=>$w,'h'=>$h,'cs'=>$colspace,'bpc'=>$bpc,'f'=>'FlateDecode','parms'=>$parms,'pal'=>$pal,'trns'=>$trns,'data'=>$data); -} - -function _freadint($f) -{ - //Read a 4-byte integer from file - $i=ord(fread($f,1))<<24; - $i+=ord(fread($f,1))<<16; - $i+=ord(fread($f,1))<<8; - $i+=ord(fread($f,1)); - return $i; -} - -function _textstring($s) -{ - //Format a text string - return '('.$this->_escape($s).')'; -} - -function _escape($s) -{ - //Add \ before \, ( and ) - return str_replace(')','\\)',str_replace('(','\\(',str_replace('\\','\\\\',$s))); -} - -function _putstream($s) -{ - $this->_out('stream'); - $this->_out($s); - $this->_out('endstream'); -} - -function _out($s) -{ - //Add a line to the document - if($this->state==2) - $this->pages[$this->page].=$s."\n"; - else - $this->buffer.=$s."\n"; -} //End of class } //Handle special IE contype request -if(isset($_SERVER['HTTP_USER_AGENT']) and $_SERVER['HTTP_USER_AGENT']=='contype') +if(isset($_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT']=='contype') { - Header('Content-Type: application/pdf'); + header('Content-Type: application/pdf'); exit; } -} ?> diff --git a/skin/cis.css b/skin/cis.css index 953dd64f0..164648e34 100644 --- a/skin/cis.css +++ b/skin/cis.css @@ -1,587 +1,587 @@ -@charset "utf-8" -/* Allgemein */ -body -{ - background-color: White; - font-family: Arial, Helvetica, sans-serif; - font-size: x-small; - /*IE hack*/ - voice-family: "\"}\""; - voice-family: inherit; - font-size: small; - /*IE hack end*/ -} - -iframe -{ - margin:0px; - border-width:0px; - border-style:none; - padding:0px; -} - -@media screen { -#menue -{ - top:8%; - width:19%; - height:90%; -} -/* IE < 7 */ -html>body #menue -{ - position:absolute; -} - -#content -{ - width:80%; - height:90%; - left:20%; -} -/* IE < 7 */ -html>body #content -{ - position:absolute; -} -} - - -/* Druckausgabe */ - - -@media print { - -.home_logo -{ -display:none; -} -.header_line -{ -display:none; -} - -#menue -{ -display:none; -} -#GlobalMenu -{ -display:none; -} - -#content -{ - width:800px; - height:900px; - left:0px; - overflow: hidden; -} - -} - -input.TextBox -{ - background-color: White; -} -#GlobalMenu -{ - margin-top: 3px; - text-align: left; -} - - -/* Links */ -a -{ - color: #008381; text-decoration: none; - cursor: pointer; -} -a.HyperItem -{ - color: Black; text-decoration: none; - font-weight: bold; -} -a:hover.HyperItem -{ - color: #008381; text-decoration: none; - font-weight: bold; -} -a[onClick]:hover.Item -{ - color: Black; text-decoration: none; -} -a:hover.Item -{ - color: Black; text-decoration: none; -} -a.Item2 -{ - color: Black; text-decoration: none; -} -a:hover.Item2 -{ - color: #008381; text-decoration: none; -} -a.MenuItem -{ - color: #008381; text-decoration: none; - font-weight: bold; -} -a:hover.MenuItem -{ - color: Black; text-decoration: none; - font-weight: bold; -} -A.hilfe -{ - text-decoration:none; -} -A.hilfe:hover -{ - text-decoration:none; - cursor:help; -} -A.stpl_detail -{ - font-size:x-small; - color:#000000; - text-decoration:none; -} -A.stpl_detail:hover -{ - font-size:x-small; - color:#000000; - text-decoration:underline; - cursor:hand; -} - - -/* Tables */ - -/* ---- gruen */ -td.ContentHeader -{ - background-color: #008381; - font-weight: bold; - height: 19px; -} -/* ---- mittel-grau */ -td.ContentHeader2 -{ - background-color: #CCCCCC; - font-weight: normal; - height: 19px; -} -/* ---- mittel-grau */ -td.ContentHeader3 -{ - background-color: #CCCCCC; - font-weight: bold; - height: 19px; -} -/* ---- wie #EEEEEE; also grau fast weiss */ -td.MarkLine -{ - background-color: #F2F2F2; -} -/* ---- grau wie #DDDDDD */ -TR.liste -{ - background-color: #D3DCE3; -} -/* weiss */ -TR.liste0 -{ - background-color: #FFFFFF; -} -/* grau fast weiß */ -TR.liste1 -{ - background-color: #EEEEEE; -} - -/* private/profile/zeitsperre.php */ -TABLE#zeitsperren -{ - border: 1; - border-spacing: 0; - padding: 0px 0px 0px 0px; - font-size: small; - width:100%; -} -/* hellgrau */ -TABLE#zeitsperren TH -{ - background-color: #DDDDDD; -} -/* grelles gelb */ -TABLE#zeitsperren TH.feiertag -{ - background-color: #FFFF00; -} -/* bissi helleres gelb */ -TABLE#zeitsperren TD.feiertag -{ - background-color: #FFFF22; -} -/* grau fast weiss */ -TABLE#zeitsperren TD -{ - background-color: #EEEEEE -} - -/* Stundeplan */ -TABLE.stdplan -{ - border: 1; - border-spacing: 0; - padding: 0px 0px 0px 0px; - font-size: small; -} -TABLE.stdplan TH -{ - background-color: #DDDDDD; -} -TABLE.stdplan TD -{ - background-color: #EEEEEE -} -.row-even { --> liste1 - background-color:#f2f2f2; -} - -.row-odd { --> liste0 - background-color:#ffffff; -} - - -/* Fonts */ -h1 -{ - font-size: medium; - color: #ffffff; - background-color: #009e84; -} -h1 td -{ - font-size: medium; - color: #ffffff; - background-color: #009e84; -} -h1 a -{ - color: #dddddd; -} -h1 a:hover -{ - color: #ffffff; - text-decoration:none; -} - -h2 -{ - font-size: small; - color: #ffffff; - background-color: #00a4d2; //hellblau -} -h2 td -{ - font-size: small; - color: #ffffff; - background-color: #00a4d2; //hellblau -} -h2 a -{ - color: #dddddd; -} -h2 a:hover -{ - color: #ffffff; - text-decoration:none; -} -h3 -{ - font-size: small; - font-weight: bold; - color: #008E74; -} -h4 -{ - font-size: x-small; - font-style: normal; - line-height: normal; - font-weight: bold; - font-variant: normal; - text-transform: none; - color: #008E74; - cursor: hand; - text-decoration: none; -} -font.error -{ - color: #ff0000; -} -font.ContentHeader -{ - color: #FFFFFF; -} - -#news -{ -} -#news .news -{ - /* /-moz-border-radius-topright: 20px;*/ - -moz-border-radius-topleft: 10px; - width: 100%; - border: 1px solid #E0E0E0; - background-color: #F0F0F0; - -} -#news .news .titel -{ - font-weight: bold; - font-size: smaller; - padding: 0px 10px 0px 10px; - white-space: nowrap; -} -#news .news .text -{ - background-color: #FCFCFC; - padding: 0px 10px 0px 10px; -} - - -/* Images */ -img.testtoolfrage -{ - max-width:400px; - max-height:300px; -} -img.testtoolvorschlag -{ - max-width:200px; - max-height:150px; -} -img -{ - border: 0; -} - - -/* neu */ - -TABLE.tabcontent -{ - margin: 0px; - padding: 0px; - border-style: none; - width: 100%; - - border-spacing: 0; -/* - cellspacing: 0; - cellpadding: 0; -*/ -} - -TABLE.tabcontent2 -{ - margin: 0px; - padding: 0px; - border-style: none; - border-spacing: 0; -/* - cellspacing: 0; - cellpadding: 0; -*/ -} - -td.tdwidth10 -{ - width: 10px; -} - -td.tdwidth30 -{ - width: 30px; -} - -a.aheader -{ - color:#FFFFFF; -} - -a.head -{ - color:#ffffff; -} - -a.head:hover -{ - color:#000000; -} - - -TABLE.tabborder -{ - padding: 1; - border-spacing: 0; -/* - cellspacing: 0; - cellpadding: 1; -*/ - width: 100%; - border: 1; -} - -TR.tryellow -{ - background-color: #FFFF99; -} - -td.tdgreen -{ - background-color: #CCFFCC; -} - -div.tip -{ - - position: absolute; - display: none; - width: 300px; - background-color: #f7f7ee; - padding: 3px 7px 4px 6px; - border: 1px solid #336; - background-color: #f7f7ee; - text-align: left; -} - -td.tdborder -{ - text-align: center; - border:2px solid black; - background-color: #ffffff; -} - -TABLE#tabterm -{ - padding: 0; - border-spacing: 0; -/* - cellspacing: 0; - cellpadding: 0; -*/ - margin:auto; -} - -td.tdwrap -{ - white-space: nowrap; -} - -td.tdvertical -{ - vertical-align: top; -} -.home_logo -{ - background-image:url(images/TWLogo_klein.jpg); - width:170px; - height:53px; -} -.header_line -{ - background-image:url(images/header_line.gif); - width:100%; - height:3px; -} - - -/*aussortiert*/ - - - -/*font.headline -{ - color: #008381; - text-decoration: none; - font-weight: bold; - - font-size: 20px; - line-height: 24px; - color: #003399; - margin-bottom: 0px; - margin-top: 0px; - -}*/ - -/*font.subline -{ - font-size: 17px; - line-height: 20px; - color: #003399; - margin-bottom: 0px; - margin-top: 0px; -}*/ - -/*#bgcolor0 -{ - background-color: #FF0000; -} -#bgcolor1 -{ - background-color: #FF4444; -} -#bgcolor2 -{ - background-color: #FF7777; -} -#bgcolor3 -{ - background-color: #C0EEC0; -} -#bgcolor4 -{ - background-color: #77FF77; -} -#bgcolor5 -{ - background-color: #44FF44; -} -#bgcolor6 -{ - background-color: #00FF00; -}*/ -.studentnote -{ - font-weight:bold; -} - -.benotungstool_tabs -{ - border-top: 1px solid gray; - border-left: 1px solid gray; - border-right: 1px solid gray; - text-align: center; -} -.benotungstool_tabs_active -{ - border-top: 2px solid gray; - border-left: 2px solid gray; - border-right: 2px solid gray; - background-color: #eeeeee; - text-align: center; -} -.benotungstool_subtab -{ - border-top: 1px solid gray; - border-bottom: 1px solid gray; -} - -.error -{ - color: #ff0000; -} +@charset "utf-8"; +/* Allgemein */ +body +{ + background-color: White; + font-family: Arial, Helvetica, sans-serif; + font-size: x-small; + /*IE hack*/ + voice-family: "\"}\""; + voice-family: inherit; + font-size: small; + /*IE hack end*/ +} + +iframe +{ + margin:0px; + border-width:0px; + border-style:none; + padding:0px; +} + +@media screen { +#menue +{ + top:8%; + width:19%; + height:90%; +} +/* IE < 7 */ +html>body #menue +{ + position:absolute; +} + +#content +{ + width:80%; + height:90%; + left:20%; +} +/* IE < 7 */ +html>body #content +{ + position:absolute; +} +} + + +/* Druckausgabe */ + + +@media print { + +.home_logo +{ +display:none; +} +.header_line +{ +display:none; +} + +#menue +{ +display:none; +} +#GlobalMenu +{ +display:none; +} + +#content +{ + width:800px; + height:900px; + left:0px; + overflow: hidden; +} + +} + +input.TextBox +{ + background-color: White; +} +#GlobalMenu +{ + margin-top: 3px; + text-align: left; +} + + +/* Links */ +a +{ + color: #008381; text-decoration: none; + cursor: pointer; +} +a.HyperItem +{ + color: Black; text-decoration: none; + font-weight: bold; +} +a:hover.HyperItem +{ + color: #008381; text-decoration: none; + font-weight: bold; +} +a[onClick]:hover.Item +{ + color: Black; text-decoration: none; +} +a:hover.Item +{ + color: Black; text-decoration: none; +} +a.Item2 +{ + color: Black; text-decoration: none; +} +a:hover.Item2 +{ + color: #008381; text-decoration: none; +} +a.MenuItem +{ + color: #008381; text-decoration: none; + font-weight: bold; +} +a:hover.MenuItem +{ + color: Black; text-decoration: none; + font-weight: bold; +} +A.hilfe +{ + text-decoration:none; +} +A.hilfe:hover +{ + text-decoration:none; + cursor:help; +} +A.stpl_detail +{ + font-size:x-small; + color:#000000; + text-decoration:none; +} +A.stpl_detail:hover +{ + font-size:x-small; + color:#000000; + text-decoration:underline; + cursor:hand; +} + + +/* Tables */ + +/* ---- gruen */ +td.ContentHeader +{ + background-color: #008381; + font-weight: bold; + height: 19px; +} +/* ---- mittel-grau */ +td.ContentHeader2 +{ + background-color: #CCCCCC; + font-weight: normal; + height: 19px; +} +/* ---- mittel-grau */ +td.ContentHeader3 +{ + background-color: #CCCCCC; + font-weight: bold; + height: 19px; +} +/* ---- wie #EEEEEE; also grau fast weiss */ +td.MarkLine +{ + background-color: #F2F2F2; +} +/* ---- grau wie #DDDDDD */ +TR.liste +{ + background-color: #D3DCE3; +} +/* weiss */ +TR.liste0 +{ + background-color: #FFFFFF; +} +/* grau fast weiß */ +TR.liste1 +{ + background-color: #EEEEEE; +} + +/* private/profile/zeitsperre.php */ +TABLE#zeitsperren +{ + border: 1; + border-spacing: 0; + padding: 0px 0px 0px 0px; + font-size: small; + width:100%; +} +/* hellgrau */ +TABLE#zeitsperren TH +{ + background-color: #DDDDDD; +} +/* grelles gelb */ +TABLE#zeitsperren TH.feiertag +{ + background-color: #FFFF00; +} +/* bissi helleres gelb */ +TABLE#zeitsperren TD.feiertag +{ + background-color: #FFFF22; +} +/* grau fast weiss */ +TABLE#zeitsperren TD +{ + background-color: #EEEEEE +} + +/* Stundeplan */ +TABLE.stdplan +{ + border: 1; + border-spacing: 0; + padding: 0px 0px 0px 0px; + font-size: small; +} +TABLE.stdplan TH +{ + background-color: #DDDDDD; +} +TABLE.stdplan TD +{ + background-color: #EEEEEE +} +.row-even { --> liste1 + background-color:#f2f2f2; +} + +.row-odd { --> liste0 + background-color:#ffffff; +} + + +/* Fonts */ +h1 +{ + font-size: medium; + color: #ffffff; + background-color: #009e84; +} +h1 td +{ + font-size: medium; + color: #ffffff; + background-color: #009e84; +} +h1 a +{ + color: #dddddd; +} +h1 a:hover +{ + color: #ffffff; + text-decoration:none; +} + +h2 +{ + font-size: small; + color: #ffffff; + background-color: #00a4d2; //hellblau +} +h2 td +{ + font-size: small; + color: #ffffff; + background-color: #00a4d2; //hellblau +} +h2 a +{ + color: #dddddd; +} +h2 a:hover +{ + color: #ffffff; + text-decoration:none; +} +h3 +{ + font-size: small; + font-weight: bold; + color: #008E74; +} +h4 +{ + font-size: x-small; + font-style: normal; + line-height: normal; + font-weight: bold; + font-variant: normal; + text-transform: none; + color: #008E74; + cursor: hand; + text-decoration: none; +} +font.error +{ + color: #ff0000; +} +font.ContentHeader +{ + color: #FFFFFF; +} + +#news +{ +} +#news .news +{ + /* /-moz-border-radius-topright: 20px;*/ + -moz-border-radius-topleft: 10px; + width: 100%; + border: 1px solid #E0E0E0; + background-color: #F0F0F0; + +} +#news .news .titel +{ + font-weight: bold; + font-size: smaller; + padding: 0px 10px 0px 10px; + white-space: nowrap; +} +#news .news .text +{ + background-color: #FCFCFC; + padding: 0px 10px 0px 10px; +} + + +/* Images */ +img.testtoolfrage +{ + max-width:400px; + max-height:300px; +} +img.testtoolvorschlag +{ + max-width:200px; + max-height:150px; +} +img +{ + border: 0; +} + + +/* neu */ + +TABLE.tabcontent +{ + margin: 0px; + padding: 0px; + border-style: none; + width: 100%; + + border-spacing: 0; +/* + cellspacing: 0; + cellpadding: 0; +*/ +} + +TABLE.tabcontent2 +{ + margin: 0px; + padding: 0px; + border-style: none; + border-spacing: 0; +/* + cellspacing: 0; + cellpadding: 0; +*/ +} + +td.tdwidth10 +{ + width: 10px; +} + +td.tdwidth30 +{ + width: 30px; +} + +a.aheader +{ + color:#FFFFFF; +} + +a.head +{ + color:#ffffff; +} + +a.head:hover +{ + color:#000000; +} + + +TABLE.tabborder +{ + padding: 1; + border-spacing: 0; +/* + cellspacing: 0; + cellpadding: 1; +*/ + width: 100%; + border: 1; +} + +TR.tryellow +{ + background-color: #FFFF99; +} + +td.tdgreen +{ + background-color: #CCFFCC; +} + +div.tip +{ + + position: absolute; + display: none; + width: 300px; + background-color: #f7f7ee; + padding: 3px 7px 4px 6px; + border: 1px solid #336; + background-color: #f7f7ee; + text-align: left; +} + +td.tdborder +{ + text-align: center; + border:2px solid black; + background-color: #ffffff; +} + +TABLE#tabterm +{ + padding: 0; + border-spacing: 0; +/* + cellspacing: 0; + cellpadding: 0; +*/ + margin:auto; +} + +td.tdwrap +{ + white-space: nowrap; +} + +td.tdvertical +{ + vertical-align: top; +} +.home_logo +{ + background-image:url(images/TWLogo_klein.jpg); + width:170px; + height:53px; +} +.header_line +{ + background-image:url(images/header_line.gif); + width:100%; + height:3px; +} + + +/*aussortiert*/ + + + +/*font.headline +{ + color: #008381; + text-decoration: none; + font-weight: bold; + + font-size: 20px; + line-height: 24px; + color: #003399; + margin-bottom: 0px; + margin-top: 0px; + +}*/ + +/*font.subline +{ + font-size: 17px; + line-height: 20px; + color: #003399; + margin-bottom: 0px; + margin-top: 0px; +}*/ + +/*#bgcolor0 +{ + background-color: #FF0000; +} +#bgcolor1 +{ + background-color: #FF4444; +} +#bgcolor2 +{ + background-color: #FF7777; +} +#bgcolor3 +{ + background-color: #C0EEC0; +} +#bgcolor4 +{ + background-color: #77FF77; +} +#bgcolor5 +{ + background-color: #44FF44; +} +#bgcolor6 +{ + background-color: #00FF00; +}*/ +.studentnote +{ + font-weight:bold; +} + +.benotungstool_tabs +{ + border-top: 1px solid gray; + border-left: 1px solid gray; + border-right: 1px solid gray; + text-align: center; +} +.benotungstool_tabs_active +{ + border-top: 2px solid gray; + border-left: 2px solid gray; + border-right: 2px solid gray; + background-color: #eeeeee; + text-align: center; +} +.benotungstool_subtab +{ + border-top: 1px solid gray; + border-bottom: 1px solid gray; +} + +.error +{ + color: #ff0000; +} diff --git a/vilesci/lehre/lehrveranstaltung_details.php b/vilesci/lehre/lehrveranstaltung_details.php index e6cd7de8c..2ca823c43 100644 --- a/vilesci/lehre/lehrveranstaltung_details.php +++ b/vilesci/lehre/lehrveranstaltung_details.php @@ -135,7 +135,7 @@ } $htmlstr .= "
Lehrveranstaltung
\n"; - $htmlstr .= "
\n"; + $htmlstr .= "\n"; $htmlstr .= "\n"; $htmlstr .= "\n"; @@ -145,7 +145,7 @@ $htmlstr .= " "; $htmlstr .= " "; - $htmlstr .= " \n"; + $htmlstr .= " \n"; $htmlstr .= ""; $htmlstr .= ""; @@ -162,7 +162,7 @@ } $htmlstr .= " \n"; $htmlstr .= " "; - $htmlstr .= " \n"; + $htmlstr .= " \n"; $htmlstr .= ""; $htmlstr .= ""; diff --git a/vilesci/moodle/account_verwaltung.php b/vilesci/moodle/account_verwaltung.php index dbf244cd6..505baa5c0 100644 --- a/vilesci/moodle/account_verwaltung.php +++ b/vilesci/moodle/account_verwaltung.php @@ -1,242 +1,242 @@ - - * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > - */ - -/* - Dieses Programm listet nach einem Suchbegriff bestehender Benutzer auf. - Fuer jede UserID wird geprueft ob dieser bereits einen Moodle ID besitzt. - Bestehende Moodle IDs werden angezeigt, fuer alle anderen wird die moeglichkeit - der neuanlage geboten. -*/ - -// ---------------- Standart Include Dateien einbinden - require_once('../config.inc.php'); - require_once('../../include/functions.inc.php'); - require_once('../../include/globals.inc.php'); -// ---------------- Moodle Daten Classe - require_once('../../include/moodle_user.class.php'); - -// *********************************************************************************************** -// Variable Initialisieren -// *********************************************************************************************** -// AusgabeStream - $content=''; - -// *********************************************************************************************** -// POST oder GET Parameter einlesen -// *********************************************************************************************** - -// $cUID UserID fuer Moodelaccount anlage - $cUID = (isset($_REQUEST['uid'])?trim($_REQUEST['uid']):''); -// @$cMdl_user_id Moodleaccount zum loeschen - $cMdl_user_id = (isset($_REQUEST['mdl_user_id'])?trim($_REQUEST['mdl_user_id']):''); -// @cSearchstr Suchtext in Tabelle Benutzer - $cSearchstr = (isset($_REQUEST['searchstr'])?trim($_REQUEST['searchstr']):''); -// @cCharset Zeichensatz - Ajax mit UTF-8 - $cCharset= (isset($_REQUEST['client_encode'])?trim($_REQUEST['client_encode']):'UTF-8'); -// *********************************************************************************************** -// Datenbankverbindungen zu Moodle und Vilesci und Classen -// *********************************************************************************************** - // DB Connect - $conn=@pg_pconnect(CONN_STRING) or die('

Datenbank zurzeit NICHT Online.
Bitte etwas Geduld.
Danke
');// Datenbankverbindung - $conn_moodle = pg_pconnect(CONN_STRING_MOODLE) or die('

MOODLE Datenbank zurzeit NICHT Online.
Bitte etwas Geduld.
Danke
'); - // Classen Instanzen - $objMoodle = new moodle_user($conn, $conn_moodle); - -// *********************************************************************************************** -// Verarbeitung einer Moodle-Account Anlageaktion -// *********************************************************************************************** - if ($cUID!='') // Bearbeiten User UID Anfrage - { - // Check ob User nicht bereits angelegt ist - if (!$bStatus=$objMoodle->loaduser($cUID)) - { - $objMoodle->errormsg=''; - // User ist noch nicht in Moodle angelegt => Neuanlage - if (!$bStatus=$objMoodle->createUser($cUID)) - $content.=$objMoodle->errormsg; - } - } -// *********************************************************************************************** -// HTML Suchfeld (Teil 1) -// *********************************************************************************************** - $content.=' - - Bitte Suchbegriff eingeben: - - - -
'; -// *********************************************************************************************** -// HTML Listenanzeige (Teil 2) -// *********************************************************************************************** - if($cSearchstr!='' && $cSearchstr!='?' && $cSearchstr!='*') - { - // SQL Select-String - $qry = "SELECT distinct tbl_person.person_id,tbl_person.nachname,tbl_person.vorname,tbl_person.aktiv,tbl_benutzer.uid - FROM public.tbl_person - LEFT JOIN public.tbl_benutzer ON tbl_benutzer.person_id=tbl_person.person_id - WHERE ( - tbl_person.nachname ~* '".addslashes($cSearchstr)."' OR - tbl_person.vorname ~* '".addslashes($cSearchstr)."' OR - tbl_benutzer.alias ~* '".addslashes($cSearchstr)."' OR - tbl_person.nachname || ' ' || tbl_person.vorname = '".addslashes($cSearchstr)."' OR - tbl_person.vorname || ' ' || tbl_person.nachname = '".addslashes($cSearchstr)."' OR - tbl_benutzer.uid ~* '".addslashes($cSearchstr)."' - ) - and tbl_benutzer.uid >'' - and tbl_benutzer.uid IS NOT NULL - ORDER BY nachname, vorname;"; - - if($result = @pg_query($conn, $qry)) - { - // Header Top mit Anzahl der gelisteten Kurse - $content.= ''. @pg_num_rows($result).' Person(en) gefunden'; - - $content.='
Kurzbz"; $htmlstr .= " Bezeichnung
Bezeichnung English
'; - - // Header Teil Information der Funktion - $content.=''; - $content.=''; - $content.=''; - - // Headerinformation der Tabellenfelder - $content.=''; - $content.=''; - $content.=''; - $content.=''; - $content.=''; - $content.=''; -# $content.=''; - $content.=''; - - // Alle gefundenen User in einer Schleife anzeigen. - $iTmpCounter=0; - while($row = @pg_fetch_object($result)) - { - // ZeilenCSS (gerade/ungerade) zur besseren Ansicht - $iTmpCounter++; - if ($iTmpCounter%2) - $showCSS=' style="text-align: left;border: 1px outset #F7F7F7;padding: 1px 5px 1px 5px; background:#FEFFEC" '; - else - $showCSS=' style="text-align: left;border: 1px outset #F7F7F7;padding: 1px 5px 1px 5px; background:#FCFCFC" '; - - // Listenzeile - $content.= ''; - $content.= ''; - $content.= ''; - $content.= ''; - $content.= ''; - $arrMoodleUser=array(); - $objMoodle->errormsg=''; - $objMoodle->mdl_user_id=''; - if (!empty($row->uid)) - { - if (!$boolReadMoodle=$objMoodle->loaduser($row->uid)) - $objMoodle->mdl_user_id=''; - } - // Es gibt noch keinen Moodle User - Anlage ermoeglichen - if (!isset($objMoodle->mdl_user_id) || empty($objMoodle->mdl_user_id)) - { - $content.= ''; - } - else // Anzeige bestehende Moodle User ID - { - $content.= ''; - } - // Tastatureingabe ermoeglichen - $content.= ''; - } // Ende Schleife der gefundenen User - $content.= '
Benutzer
 Nachname  Vorname  UserID  Status  MoodleAccount  Bearbeitung 
'.$row->nachname.''.$row->vorname.''.$row->uid.''.(strtoupper($row->aktiv)=='T' || strtoupper($row->aktiv)=='TRUE' ?'aktiv':'deaktiviert').''; - $content.='
'; - $content.= ''; - $content.= ''; - $content.= 'table_row_insert.png'; - $content.= ''; - $content.= 'anlegen'; - $content.='
'; - $content.= '
'.((isset($objMoodle->mdl_user_id) && !empty($objMoodle->mdl_user_id))?$objMoodle->mdl_user_id:'').'
'; - $content.= 'zum Anfang'; - } // Ende SQL Result abfrage - } // Ende ob Suchanfrage gestellt (Submit) wurde - $content=' - - - Moodle - Accountverwaltung - - - - - -

Moodle - Accountverwaltung

- - '.$content.' - - - '; - exit($content); -#------------------------------------------------------------------------------------------- -# Testfunktion zur Anzeige einer übergebenen Variable oder Array, Default ist GLOBALS -function Test($arr=constLeer,$lfd=0,$displayShow=true,$onlyRoot=false ) -{ - - $tmpArrayString=''; - if (!is_array($arr) && !is_object($arr)) return $arr; - if (is_array($arr) && count($arr)<1 && $displayShow) return ''; - if (is_array($arr) && count($arr)<1 && $displayShow) return "
function Test (???)
"; - - $lfdnr=$lfd + 1; - $tmpAnzeigeStufe=''; - for ($i=1;$i<$lfdnr;$i++) $tmpAnzeigeStufe.="="; - $tmpAnzeigeStufe.="=>"; - while (list( $tmp_key, $tmp_value ) = each($arr) ) - { - if (!$onlyRoot && (is_array($tmp_value) || is_object($tmp_value)) && count($tmp_value) >0) - { - $tmpArrayString.="
$tmpAnzeigeStufe $tmp_key".Test($tmp_value,$lfdnr); - } else if ( (is_array($tmp_value) || is_object($tmp_value)) ) - { - $tmpArrayString.="
$tmpAnzeigeStufe $tmp_key -- 0 Records"; - } else if ($tmp_value!='') - { - $tmpArrayString.="
$tmpAnzeigeStufe $tmp_key :== ".$tmp_value; - } else { - $tmpArrayString.="
$tmpAnzeigeStufe $tmp_key :-- (is Empty :: $tmp_value)"; - } - } - if ($lfd!='') { return $tmpArrayString; } - if (!$displayShow) { return $tmpArrayString; } - - $tmpArrayString.="
"; - $tmpArrayString="


******* START *******
".$tmpArrayString."
******* ENDE *******


"; - if (defined('Sprache_ISO')) - { - $tmpArrayString.="
Language:: ".Sprache_ISO; - } - $tmpArrayString.="
Server:: ".$_SERVER['PHP_SELF']."
"; - return "$tmpArrayString"; - - -} - -?> + + * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > + * Rudolf Hangl < rudolf.hangl@technikum-wien.at > + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + */ + +/* + Dieses Programm listet nach einem Suchbegriff bestehender Benutzer auf. + Fuer jede UserID wird geprueft ob dieser bereits einen Moodle ID besitzt. + Bestehende Moodle IDs werden angezeigt, fuer alle anderen wird die moeglichkeit + der neuanlage geboten. +*/ + +// ---------------- Standart Include Dateien einbinden + require_once('../config.inc.php'); + require_once('../../include/functions.inc.php'); + require_once('../../include/globals.inc.php'); +// ---------------- Moodle Daten Classe + require_once('../../include/moodle_user.class.php'); + +// *********************************************************************************************** +// Variable Initialisieren +// *********************************************************************************************** +// AusgabeStream + $content=''; + +// *********************************************************************************************** +// POST oder GET Parameter einlesen +// *********************************************************************************************** + +// $cUID UserID fuer Moodelaccount anlage + $cUID = (isset($_REQUEST['uid'])?trim($_REQUEST['uid']):''); +// @$cMdl_user_id Moodleaccount zum loeschen + $cMdl_user_id = (isset($_REQUEST['mdl_user_id'])?trim($_REQUEST['mdl_user_id']):''); +// @cSearchstr Suchtext in Tabelle Benutzer + $cSearchstr = (isset($_REQUEST['searchstr'])?trim($_REQUEST['searchstr']):''); +// @cCharset Zeichensatz - Ajax mit UTF-8 + $cCharset= (isset($_REQUEST['client_encode'])?trim($_REQUEST['client_encode']):'UTF-8'); +// *********************************************************************************************** +// Datenbankverbindungen zu Moodle und Vilesci und Classen +// *********************************************************************************************** + // DB Connect + $conn=@pg_pconnect(CONN_STRING) or die('

Datenbank zurzeit NICHT Online.
Bitte etwas Geduld.
Danke
');// Datenbankverbindung + $conn_moodle = pg_pconnect(CONN_STRING_MOODLE) or die('

MOODLE Datenbank zurzeit NICHT Online.
Bitte etwas Geduld.
Danke
'); + // Classen Instanzen + $objMoodle = new moodle_user($conn, $conn_moodle); + +// *********************************************************************************************** +// Verarbeitung einer Moodle-Account Anlageaktion +// *********************************************************************************************** + if ($cUID!='') // Bearbeiten User UID Anfrage + { + // Check ob User nicht bereits angelegt ist + if (!$bStatus=$objMoodle->loaduser($cUID)) + { + $objMoodle->errormsg=''; + // User ist noch nicht in Moodle angelegt => Neuanlage + if (!$bStatus=$objMoodle->createUser($cUID)) + $content.=$objMoodle->errormsg; + } + } +// *********************************************************************************************** +// HTML Suchfeld (Teil 1) +// *********************************************************************************************** + $content.=' +
+ Bitte Suchbegriff eingeben: + + +
+
'; +// *********************************************************************************************** +// HTML Listenanzeige (Teil 2) +// *********************************************************************************************** + if($cSearchstr!='' && $cSearchstr!='?' && $cSearchstr!='*') + { + // SQL Select-String + $qry = "SELECT distinct tbl_person.person_id,tbl_person.nachname,tbl_person.vorname,tbl_person.aktiv,tbl_benutzer.uid + FROM public.tbl_person + LEFT JOIN public.tbl_benutzer ON tbl_benutzer.person_id=tbl_person.person_id + WHERE ( + tbl_person.nachname ~* '".addslashes($cSearchstr)."' OR + tbl_person.vorname ~* '".addslashes($cSearchstr)."' OR + tbl_benutzer.alias ~* '".addslashes($cSearchstr)."' OR + tbl_person.nachname || ' ' || tbl_person.vorname = '".addslashes($cSearchstr)."' OR + tbl_person.vorname || ' ' || tbl_person.nachname = '".addslashes($cSearchstr)."' OR + tbl_benutzer.uid ~* '".addslashes($cSearchstr)."' + ) + and tbl_benutzer.uid >'' + and tbl_benutzer.uid IS NOT NULL + ORDER BY nachname, vorname;"; + + if($result = @pg_query($conn, $qry)) + { + // Header Top mit Anzahl der gelisteten Kurse + $content.= ''. @pg_num_rows($result).' Person(en) gefunden'; + + $content.=''; + + // Header Teil Information der Funktion + $content.=''; + $content.=''; + $content.=''; + + // Headerinformation der Tabellenfelder + $content.=''; + $content.=''; + $content.=''; + $content.=''; + $content.=''; + $content.=''; +# $content.=''; + $content.=''; + + // Alle gefundenen User in einer Schleife anzeigen. + $iTmpCounter=0; + while($row = @pg_fetch_object($result)) + { + // ZeilenCSS (gerade/ungerade) zur besseren Ansicht + $iTmpCounter++; + if ($iTmpCounter%2) + $showCSS=' style="text-align: left;border: 1px outset #F7F7F7;padding: 1px 5px 1px 5px; background:#FEFFEC" '; + else + $showCSS=' style="text-align: left;border: 1px outset #F7F7F7;padding: 1px 5px 1px 5px; background:#FCFCFC" '; + + // Listenzeile + $content.= ''; + $content.= ''; + $content.= ''; + $content.= ''; + $content.= ''; + $arrMoodleUser=array(); + $objMoodle->errormsg=''; + $objMoodle->mdl_user_id=''; + if (!empty($row->uid)) + { + if (!$boolReadMoodle=$objMoodle->loaduser($row->uid)) + $objMoodle->mdl_user_id=''; + } + // Es gibt noch keinen Moodle User - Anlage ermoeglichen + if (!isset($objMoodle->mdl_user_id) || empty($objMoodle->mdl_user_id)) + { + $content.= ''; + } + else // Anzeige bestehende Moodle User ID + { + $content.= ''; + } + // Tastatureingabe ermoeglichen + $content.= ''; + } // Ende Schleife der gefundenen User + $content.= '
Benutzer
 Nachname  Vorname  UserID  Status  MoodleAccount  Bearbeitung 
'.$row->nachname.''.$row->vorname.''.$row->uid.''.(strtoupper($row->aktiv)=='T' || strtoupper($row->aktiv)=='TRUE' ?'aktiv':'deaktiviert').''; + $content.='
'; + $content.= ''; + $content.= ''; + $content.= 'table_row_insert.png'; + $content.= ''; + $content.= 'anlegen'; + $content.='
'; + $content.= '
'.((isset($objMoodle->mdl_user_id) && !empty($objMoodle->mdl_user_id))?$objMoodle->mdl_user_id:'').'
'; + $content.= 'zum Anfang'; + } // Ende SQL Result abfrage + } // Ende ob Suchanfrage gestellt (Submit) wurde + $content=' + + + Moodle - Accountverwaltung + + + + + +

Moodle - Accountverwaltung

+ + '.$content.' + + + '; + exit($content); +#------------------------------------------------------------------------------------------- +# Testfunktion zur Anzeige einer übergebenen Variable oder Array, Default ist GLOBALS +function Test($arr=constLeer,$lfd=0,$displayShow=true,$onlyRoot=false ) +{ + + $tmpArrayString=''; + if (!is_array($arr) && !is_object($arr)) return $arr; + if (is_array($arr) && count($arr)<1 && $displayShow) return ''; + if (is_array($arr) && count($arr)<1 && $displayShow) return "
function Test (???)
"; + + $lfdnr=$lfd + 1; + $tmpAnzeigeStufe=''; + for ($i=1;$i<$lfdnr;$i++) $tmpAnzeigeStufe.="="; + $tmpAnzeigeStufe.="=>"; + while (list( $tmp_key, $tmp_value ) = each($arr) ) + { + if (!$onlyRoot && (is_array($tmp_value) || is_object($tmp_value)) && count($tmp_value) >0) + { + $tmpArrayString.="
$tmpAnzeigeStufe $tmp_key".Test($tmp_value,$lfdnr); + } else if ( (is_array($tmp_value) || is_object($tmp_value)) ) + { + $tmpArrayString.="
$tmpAnzeigeStufe $tmp_key -- 0 Records"; + } else if ($tmp_value!='') + { + $tmpArrayString.="
$tmpAnzeigeStufe $tmp_key :== ".$tmp_value; + } else { + $tmpArrayString.="
$tmpAnzeigeStufe $tmp_key :-- (is Empty :: $tmp_value)"; + } + } + if ($lfd!='') { return $tmpArrayString; } + if (!$displayShow) { return $tmpArrayString; } + + $tmpArrayString.="
"; + $tmpArrayString="


******* START *******
".$tmpArrayString."
******* ENDE *******


"; + if (defined('Sprache_ISO')) + { + $tmpArrayString.="
Language:: ".Sprache_ISO; + } + $tmpArrayString.="
Server:: ".$_SERVER['PHP_SELF']."
"; + return "$tmpArrayString"; + + +} + +?> diff --git a/vilesci/moodle/kurs_verwaltung.php b/vilesci/moodle/kurs_verwaltung.php index 06693fb8e..1c5691ea9 100644 --- a/vilesci/moodle/kurs_verwaltung.php +++ b/vilesci/moodle/kurs_verwaltung.php @@ -1,343 +1,343 @@ - - * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > - */ - -/* -* Dieses Programm listet nach Selektinskreterien alle Moodelkurse zu einem Studiengang auf. -* Fuer jede MoodleID werden die Anzahl Benotungen, und erfassten sowie angelegte Zusaetze angezeigt. -* Jeder der angezeigten Moodle IDs kann geloescht werden nach bestaetigung eines PopUp Fenster. -*/ - - -// *********************************************************************************************** -// Include Dateien -// *********************************************************************************************** -// ---------------- Standart Include Dateien einbinden - require_once('../config.inc.php'); - require_once('../../include/functions.inc.php'); - require_once('../../include/globals.inc.php'); -// ---------------- Moodle Daten Classe - include_once('../../include/moodle_course.class.php'); - -// *********************************************************************************************** -// Variable Initialisieren -// *********************************************************************************************** - // AusgabeStream - $content=''; - // Vergleichsdatum Jahr und Monat fuer Studiensemester (Select-Auswahl) - $cYYYYMM=date("Ym", mktime(0,0,0,date("m"),date("d"),date("y"))); - - -// *********************************************************************************************** -// POST oder GET Parameter einlesen -// *********************************************************************************************** -// @$studiensemester_kurzbz Studiensemester xxJJJJ - xx fuer SS Sommer oder WW Winter - $studiensemester_kurzbz=(isset($_REQUEST['studiensemester_kurzbz'])?trim($_REQUEST['studiensemester_kurzbz']):''); -// @$studiengang_kz Studiengang - $studiengang_kz=(isset($_REQUEST['studiengang_kz'])?trim($_REQUEST['studiengang_kz']):''); -// @$semester Semester des Studienganges - $semester=(isset($_REQUEST['semester'])?trim($_REQUEST['semester']):''); -// @$mdl_course_id Moodle Kurs ID - $mdl_course_id= (isset($_REQUEST['mdl_course_id'])?$_REQUEST['mdl_course_id']:''); -// @$moodle_id Moodle SubKurs (Unterkat.) ID zu Moodle Kurs ID (mdl_course_id) - $moodle_id= (isset($_REQUEST['moodle_id'])?$_REQUEST['moodle_id']:''); -// @$bAnzeige Listenanzeige wenn Submitbottom Anzeige gedrueckt wurde - $bAnzeige= ($studiensemester_kurzbz!=''?True:False); -// @cCharset Zeichensatz - Ajax mit UTF-8 - $cCharset= (isset($_REQUEST['client_encode'])?trim($_REQUEST['client_encode']):'UTF-8'); -// @debug_switch Anzeige der xml-rfc Daten moegliche Stufen sind 0,1,2,3 - $debug_switch= (isset($_REQUEST['debug'])?$_REQUEST['debug']:0); - - -// *********************************************************************************************** -// Datenbankverbindungen zu Moodle und Vilesci und Classen -// *********************************************************************************************** - // DB Connect - $conn=@pg_pconnect(CONN_STRING) or die('

Datenbank zurzeit NICHT Online.
Bitte etwas Geduld.
Danke
');// Datenbankverbindung - $conn_moodle = pg_pconnect(CONN_STRING_MOODLE) or die('

MOODLE Datenbank zurzeit NICHT Online.
Bitte etwas Geduld.
Danke
'); - // Classen Instanzen - $objMoodle = new moodle_course($conn, $conn_moodle); - - -// *********************************************************************************************** -// Verarbeitung einer Moodle-Kurs Loeschaktion -// *********************************************************************************************** - - if ($mdl_course_id!='' && $studiensemester_kurzbz!='') // Kurs wird zum bearbeiten (loeschen) freigegeben - { - include(dirname(__FILE__)."/xmlrpcutils/utils.php"); - // Aktuellen Moodle Server ermitteln. - if (defined('MOODLE_PATH')) // Eintrag MOODLE_PATH in Vilesci config.inc.php. Hostname herausfiltern - { - $host = str_replace('https://','',str_replace('http://','',str_replace('/moodle','',str_replace('/moodle/','',MOODLE_PATH)))); - } - elseif ($_SERVER["HTTP_HOST"]=="dav.technikum-wien.at" ) // Vilesci config.inc.php nicht erweitert HTTP_HOST pruefen - { - $host = 'dav.technikum-wien.at'; - } - else // Produktivessystem - { - $host = 'cis.technikum-wien.at'; - } - - // Variable Daten Initialisieren - $uri = "/moodle/xmlrpc/xmlrpc.php"; - $method = "DeleteCourseByID"; - $args['CourseID']="$mdl_course_id"; - $port=$_SERVER["SERVER_PORT"]; - if ($debug_switch) - { - $content.="
Host:$host , Port:$port , Uri:$uri , Method:$method
"; - } - $callspec = array( - 'method' => $method, - 'host' => $host, - 'port' => $port, - 'uri' => $uri, - 'user' => (isset($_SERVER["PHP_AUTH_USER"])?$_SERVER["PHP_AUTH_USER"]:""), - 'pass' => (isset($_SERVER["PHP_AUTH_PW"])?$_SERVER["PHP_AUTH_PW"]:""), - 'secure' =>false, - 'debug' => $debug_switch, - 'args' => $args); - $result = xu_rpc_http_concise($callspec); - // Return Information - // $result[0] = Status true/false - // $result[1] = Informationstext - // $result[2] = Ausgabetext von Moodle - if (!is_array($result)) // Server wurde nicht erreicht. - { - $content.="Fehler xmlrpc call $result"; - } - else if ($result[0]==1) // Methodenaufruf erfolgreich - { - #$content.=(isset($result[1])?$result[1]:"Moodel-Kurs gelöscht "); - $qry = "DELETE FROM lehre.tbl_moodle WHERE mdl_course_id='".addslashes($mdl_course_id)."' "; - if ($moodle_id!='') - $qry.= " and moodle_id='".addslashes($moodle_id)."'"; - if(!pg_query($conn, $qry)) - $content.="

Moodlekurs $mdl_course_id wurde NICHT gelöscht in Lehre.

"; - $content.="

Moodlekurs $mdl_course_id wurde gelöscht.

"; - } - else // Result = 0 ein Fehler im RFC wurde festgestellt - { - $content.=(isset($result[1])?$result[1]:"Fehler beim Kurs löschen "); - } - } - - - -// *********************************************************************************************** -// HTML Auswahlfelder (Teil 1) -// *********************************************************************************************** - // FormName erzeugen - $cFormName='searchMoodleCurse'.$studiensemester_kurzbz.$studiengang_kz.$semester; - $content.=' -
- '; - - // Studiensemester public.tbl_studiensemester_kurzbz - $content.=''; - - // Studiengang public.tbl_studiengang_kz - $content.=''; - - // Semster public.tbl_studiengang_kz - max Semester des Selektierten Studiengangs - $content.=''; - $content.=' - -
StudiensemesterStudiengangSemster
-
-
'; - -// *********************************************************************************************** -// HTML Listenanzeige (Teil 2) -// *********************************************************************************************** - - // Bedingung zur Listenanzeige : Anzeige und Datengefunden - if ($bAnzeige && $objMoodle && $objMoodle->getAllVariant('',$studiensemester_kurzbz,$studiengang_kz,$semester,true)) - { - // Header Top mit Anzahl der gelisteten Kurse - $content.= ''. count($objMoodle->result).' Kurs(e) gefunden'; - - $content.=''; - // Header Teil Information der Funktion - $content.=''; - $content.=''; - $content.=''; - $content.=''; - $content.=''; - - // Headerinformation der Tabellenfelder - $content.=''; - $content.=''; - $content.=''; - $content.=''; - $content.=''; - $content.=''; - $content.=''; - $content.=''; - $content.=''; - $content.=''; - $content.=''; - - - // Alle Moodlekurse in einer Schleife anzeigen. - for($i=0;$iresult);$i++) - { - // ZeilenCSS (gerade/ungerade) zur besseren Ansicht - if ($i%2) - $showCSS=' style="text-align: left;border: 1px outset #F7F7F7;padding: 1px 5px 1px 5px; background:#FEFFEC" '; - else - $showCSS=' style="text-align: left;border: 1px outset #F7F7F7;padding: 1px 5px 1px 5px; background:#FCFCFC" '; - - // Listenzeile - $content.=''; - $content.=''; - $content.=''; - $content.=''; - $content.=''; - $content.=''; - $content.=''; - - // Anzahl Benotungen - $content.=''; - // Anzahl Aktivitaeten und Lehrmaterial - $content.=''; - - // Bearbeitung Submit - $content.= ''; - $content.=''; - } // Ende Moodlekurse in einer Schleife anzeigen. - $content.= '
MoodlekursAnzahlKurs
 Lehrveranstaltung  Kurzbz.  LV Id  StudiengangKz  Kursbezeichnung  ID  Benotungen  Aktivitäten  Bearbeiten 
'.$objMoodle->result[$i]->lehrveranstaltung_bezeichnung.''.$objMoodle->result[$i]->lehrveranstaltung_kurzbz.''.$objMoodle->result[$i]->lehrveranstaltung_id.''.$objMoodle->result[$i]->lehrveranstaltung_studiengang_kz.''.$objMoodle->result[$i]->mdl_shortname.''.$objMoodle->result[$i]->mdl_course_id.''.$objMoodle->result[$i]->mdl_benotungen.''.($objMoodle->result[$i]->mdl_resource+$objMoodle->result[$i]->mdl_quiz+$objMoodle->result[$i]->mdl_chat + $objMoodle->result[$i]->mdl_forum + $objMoodle->result[$i]->mdl_choice ).''; - $content.='
'; - $content.= ''; - $content.= ''; - $content.= ''; - $content.= ''; - $content.= ''; - $content.= 'table_row_delete.png'; - $content.= ''; - $content.= 'entfernen'; - $content.='
'; - $content.= '
'; - $content.= 'zum Anfang'; - } // Ende IF Bedingung Anzeige + Datengefunden - - -// *********************************************************************************************** -// HTML Header und Foot zum Content (Ausgabestring) hinzufuegen, und Anzeigen -// *********************************************************************************************** - $content=' - - - Moodle - Kursverwaltung - - - - - -

Moodle - Kursverwaltung

- - '.$content.' - - - '; - exit($content); - - - -#------------------------------------------------------------------------------------------- -# Testfunktion zur Anzeige einer übergebenen Variable oder Array, Default ist GLOBALS -function Test($arr=constLeer,$lfd=0,$displayShow=true,$onlyRoot=false ) -{ - - $tmpArrayString=''; - if (!is_array($arr) && !is_object($arr)) return $arr; - if (is_array($arr) && count($arr)<1 && $displayShow) return ''; - if (is_array($arr) && count($arr)<1 && $displayShow) return "
function Test (???)
"; - - $lfdnr=$lfd + 1; - $tmpAnzeigeStufe=''; - for ($i=1;$i<$lfdnr;$i++) $tmpAnzeigeStufe.="="; - $tmpAnzeigeStufe.="=>"; - while (list( $tmp_key, $tmp_value ) = each($arr) ) - { - if (!$onlyRoot && (is_array($tmp_value) || is_object($tmp_value)) && count($tmp_value) >0) - { - $tmpArrayString.="
$tmpAnzeigeStufe $tmp_key".Test($tmp_value,$lfdnr); - } else if ( (is_array($tmp_value) || is_object($tmp_value)) ) - { - $tmpArrayString.="
$tmpAnzeigeStufe $tmp_key -- 0 Records"; - } else if ($tmp_value!='') - { - $tmpArrayString.="
$tmpAnzeigeStufe $tmp_key :== ".$tmp_value; - } else { - $tmpArrayString.="
$tmpAnzeigeStufe $tmp_key :-- (is Empty :: $tmp_value)"; - } - } - if ($lfd!='') { return $tmpArrayString; } - if (!$displayShow) { return $tmpArrayString; } - - $tmpArrayString.="
"; - $tmpArrayString="


******* START *******
".$tmpArrayString."
******* ENDE *******


"; - $tmpArrayString.="
Server:: ".$_SERVER['PHP_SELF']."
"; - return "$tmpArrayString"; - - -} + + * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > + * Rudolf Hangl < rudolf.hangl@technikum-wien.at > + * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > + */ + +/* +* Dieses Programm listet nach Selektinskreterien alle Moodelkurse zu einem Studiengang auf. +* Fuer jede MoodleID werden die Anzahl Benotungen, und erfassten sowie angelegte Zusaetze angezeigt. +* Jeder der angezeigten Moodle IDs kann geloescht werden nach bestaetigung eines PopUp Fenster. +*/ + + +// *********************************************************************************************** +// Include Dateien +// *********************************************************************************************** +// ---------------- Standart Include Dateien einbinden + require_once('../config.inc.php'); + require_once('../../include/functions.inc.php'); + require_once('../../include/globals.inc.php'); +// ---------------- Moodle Daten Classe + include_once('../../include/moodle_course.class.php'); + +// *********************************************************************************************** +// Variable Initialisieren +// *********************************************************************************************** + // AusgabeStream + $content=''; + // Vergleichsdatum Jahr und Monat fuer Studiensemester (Select-Auswahl) + $cYYYYMM=date("Ym", mktime(0,0,0,date("m"),date("d"),date("y"))); + + +// *********************************************************************************************** +// POST oder GET Parameter einlesen +// *********************************************************************************************** +// @$studiensemester_kurzbz Studiensemester xxJJJJ - xx fuer SS Sommer oder WW Winter + $studiensemester_kurzbz=(isset($_REQUEST['studiensemester_kurzbz'])?trim($_REQUEST['studiensemester_kurzbz']):''); +// @$studiengang_kz Studiengang + $studiengang_kz=(isset($_REQUEST['studiengang_kz'])?trim($_REQUEST['studiengang_kz']):''); +// @$semester Semester des Studienganges + $semester=(isset($_REQUEST['semester'])?trim($_REQUEST['semester']):''); +// @$mdl_course_id Moodle Kurs ID + $mdl_course_id= (isset($_REQUEST['mdl_course_id'])?$_REQUEST['mdl_course_id']:''); +// @$moodle_id Moodle SubKurs (Unterkat.) ID zu Moodle Kurs ID (mdl_course_id) + $moodle_id= (isset($_REQUEST['moodle_id'])?$_REQUEST['moodle_id']:''); +// @$bAnzeige Listenanzeige wenn Submitbottom Anzeige gedrueckt wurde + $bAnzeige= ($studiensemester_kurzbz!=''?True:False); +// @cCharset Zeichensatz - Ajax mit UTF-8 + $cCharset= (isset($_REQUEST['client_encode'])?trim($_REQUEST['client_encode']):'UTF-8'); +// @debug_switch Anzeige der xml-rfc Daten moegliche Stufen sind 0,1,2,3 + $debug_switch= (isset($_REQUEST['debug'])?$_REQUEST['debug']:0); + + +// *********************************************************************************************** +// Datenbankverbindungen zu Moodle und Vilesci und Classen +// *********************************************************************************************** + // DB Connect + $conn=@pg_pconnect(CONN_STRING) or die('

Datenbank zurzeit NICHT Online.
Bitte etwas Geduld.
Danke
');// Datenbankverbindung + $conn_moodle = pg_pconnect(CONN_STRING_MOODLE) or die('

MOODLE Datenbank zurzeit NICHT Online.
Bitte etwas Geduld.
Danke
'); + // Classen Instanzen + $objMoodle = new moodle_course($conn, $conn_moodle); + + +// *********************************************************************************************** +// Verarbeitung einer Moodle-Kurs Loeschaktion +// *********************************************************************************************** + + if ($mdl_course_id!='' && $studiensemester_kurzbz!='') // Kurs wird zum bearbeiten (loeschen) freigegeben + { + include(dirname(__FILE__)."/xmlrpcutils/utils.php"); + // Aktuellen Moodle Server ermitteln. + if (defined('MOODLE_PATH')) // Eintrag MOODLE_PATH in Vilesci config.inc.php. Hostname herausfiltern + { + $host = str_replace('https://','',str_replace('http://','',str_replace('/moodle','',str_replace('/moodle/','',MOODLE_PATH)))); + } + elseif ($_SERVER["HTTP_HOST"]=="dav.technikum-wien.at" ) // Vilesci config.inc.php nicht erweitert HTTP_HOST pruefen + { + $host = 'dav.technikum-wien.at'; + } + else // Produktivessystem + { + $host = 'cis.technikum-wien.at'; + } + + // Variable Daten Initialisieren + $uri = "/moodle/xmlrpc/xmlrpc.php"; + $method = "DeleteCourseByID"; + $args['CourseID']="$mdl_course_id"; + $port=$_SERVER["SERVER_PORT"]; + if ($debug_switch) + { + $content.="
Host:$host , Port:$port , Uri:$uri , Method:$method
"; + } + $callspec = array( + 'method' => $method, + 'host' => $host, + 'port' => $port, + 'uri' => $uri, + 'user' => (isset($_SERVER["PHP_AUTH_USER"])?$_SERVER["PHP_AUTH_USER"]:""), + 'pass' => (isset($_SERVER["PHP_AUTH_PW"])?$_SERVER["PHP_AUTH_PW"]:""), + 'secure' =>false, + 'debug' => $debug_switch, + 'args' => $args); + $result = xu_rpc_http_concise($callspec); + // Return Information + // $result[0] = Status true/false + // $result[1] = Informationstext + // $result[2] = Ausgabetext von Moodle + if (!is_array($result)) // Server wurde nicht erreicht. + { + $content.="Fehler xmlrpc call $result"; + } + else if ($result[0]==1) // Methodenaufruf erfolgreich + { + #$content.=(isset($result[1])?$result[1]:"Moodel-Kurs gelöscht "); + $qry = "DELETE FROM lehre.tbl_moodle WHERE mdl_course_id='".addslashes($mdl_course_id)."' "; + if ($moodle_id!='') + $qry.= " and moodle_id='".addslashes($moodle_id)."'"; + if(!pg_query($conn, $qry)) + $content.="

Moodlekurs $mdl_course_id wurde NICHT gelöscht in Lehre.

"; + $content.="

Moodlekurs $mdl_course_id wurde gelöscht.

"; + } + else // Result = 0 ein Fehler im RFC wurde festgestellt + { + $content.=(isset($result[1])?$result[1]:"Fehler beim Kurs löschen "); + } + } + + + +// *********************************************************************************************** +// HTML Auswahlfelder (Teil 1) +// *********************************************************************************************** + // FormName erzeugen + $cFormName='searchMoodleCurse'.$studiensemester_kurzbz.$studiengang_kz.$semester; + $content.=' +
+ '; + + // Studiensemester public.tbl_studiensemester_kurzbz + $content.=''; + + // Studiengang public.tbl_studiengang_kz + $content.=''; + + // Semster public.tbl_studiengang_kz - max Semester des Selektierten Studiengangs + $content.=''; + $content.=' + +
StudiensemesterStudiengangSemster
+
+
'; + +// *********************************************************************************************** +// HTML Listenanzeige (Teil 2) +// *********************************************************************************************** + + // Bedingung zur Listenanzeige : Anzeige und Datengefunden + if ($bAnzeige && $objMoodle && $objMoodle->getAllVariant('',$studiensemester_kurzbz,$studiengang_kz,$semester,true)) + { + // Header Top mit Anzahl der gelisteten Kurse + $content.= ''. count($objMoodle->result).' Kurs(e) gefunden'; + + $content.=''; + // Header Teil Information der Funktion + $content.=''; + $content.=''; + $content.=''; + $content.=''; + $content.=''; + + // Headerinformation der Tabellenfelder + $content.=''; + $content.=''; + $content.=''; + $content.=''; + $content.=''; + $content.=''; + $content.=''; + $content.=''; + $content.=''; + $content.=''; + $content.=''; + + + // Alle Moodlekurse in einer Schleife anzeigen. + for($i=0;$iresult);$i++) + { + // ZeilenCSS (gerade/ungerade) zur besseren Ansicht + if ($i%2) + $showCSS=' style="text-align: left;border: 1px outset #F7F7F7;padding: 1px 5px 1px 5px; background:#FEFFEC" '; + else + $showCSS=' style="text-align: left;border: 1px outset #F7F7F7;padding: 1px 5px 1px 5px; background:#FCFCFC" '; + + // Listenzeile + $content.=''; + $content.=''; + $content.=''; + $content.=''; + $content.=''; + $content.=''; + $content.=''; + + // Anzahl Benotungen + $content.=''; + // Anzahl Aktivitaeten und Lehrmaterial + $content.=''; + + // Bearbeitung Submit + $content.= ''; + $content.=''; + } // Ende Moodlekurse in einer Schleife anzeigen. + $content.= '
MoodlekursAnzahlKurs
 Lehrveranstaltung  Kurzbz.  LV Id  StudiengangKz  Kursbezeichnung  ID  Benotungen  Aktivitäten  Bearbeiten 
'.$objMoodle->result[$i]->lehrveranstaltung_bezeichnung.''.$objMoodle->result[$i]->lehrveranstaltung_kurzbz.''.$objMoodle->result[$i]->lehrveranstaltung_id.''.$objMoodle->result[$i]->lehrveranstaltung_studiengang_kz.''.$objMoodle->result[$i]->mdl_shortname.''.$objMoodle->result[$i]->mdl_course_id.''.$objMoodle->result[$i]->mdl_benotungen.''.($objMoodle->result[$i]->mdl_resource+$objMoodle->result[$i]->mdl_quiz+$objMoodle->result[$i]->mdl_chat + $objMoodle->result[$i]->mdl_forum + $objMoodle->result[$i]->mdl_choice ).''; + $content.='
'; + $content.= ''; + $content.= ''; + $content.= ''; + $content.= ''; + $content.= ''; + $content.= 'table_row_delete.png'; + $content.= ''; + $content.= 'entfernen'; + $content.='
'; + $content.= '
'; + $content.= 'zum Anfang'; + } // Ende IF Bedingung Anzeige + Datengefunden + + +// *********************************************************************************************** +// HTML Header und Foot zum Content (Ausgabestring) hinzufuegen, und Anzeigen +// *********************************************************************************************** + $content=' + + + Moodle - Kursverwaltung + + + + + +

Moodle - Kursverwaltung

+ + '.$content.' + + + '; + exit($content); + + + +#------------------------------------------------------------------------------------------- +# Testfunktion zur Anzeige einer übergebenen Variable oder Array, Default ist GLOBALS +function Test($arr=constLeer,$lfd=0,$displayShow=true,$onlyRoot=false ) +{ + + $tmpArrayString=''; + if (!is_array($arr) && !is_object($arr)) return $arr; + if (is_array($arr) && count($arr)<1 && $displayShow) return ''; + if (is_array($arr) && count($arr)<1 && $displayShow) return "
function Test (???)
"; + + $lfdnr=$lfd + 1; + $tmpAnzeigeStufe=''; + for ($i=1;$i<$lfdnr;$i++) $tmpAnzeigeStufe.="="; + $tmpAnzeigeStufe.="=>"; + while (list( $tmp_key, $tmp_value ) = each($arr) ) + { + if (!$onlyRoot && (is_array($tmp_value) || is_object($tmp_value)) && count($tmp_value) >0) + { + $tmpArrayString.="
$tmpAnzeigeStufe $tmp_key".Test($tmp_value,$lfdnr); + } else if ( (is_array($tmp_value) || is_object($tmp_value)) ) + { + $tmpArrayString.="
$tmpAnzeigeStufe $tmp_key -- 0 Records"; + } else if ($tmp_value!='') + { + $tmpArrayString.="
$tmpAnzeigeStufe $tmp_key :== ".$tmp_value; + } else { + $tmpArrayString.="
$tmpAnzeigeStufe $tmp_key :-- (is Empty :: $tmp_value)"; + } + } + if ($lfd!='') { return $tmpArrayString; } + if (!$displayShow) { return $tmpArrayString; } + + $tmpArrayString.="
"; + $tmpArrayString="


******* START *******
".$tmpArrayString."
******* ENDE *******


"; + $tmpArrayString.="
Server:: ".$_SERVER['PHP_SELF']."
"; + return "$tmpArrayString"; + + +} ?> \ No newline at end of file diff --git a/vilesci/personen/betriebsmittel.php b/vilesci/personen/betriebsmittel.php index f8dc9b56e..dff249617 100644 --- a/vilesci/personen/betriebsmittel.php +++ b/vilesci/personen/betriebsmittel.php @@ -1,180 +1,180 @@ -, - * Andreas Oesterreicher , - * Rudolf Hangl and - * Gerald Raab . - */ -require_once('../config.inc.php'); -require_once('../../include/studiengang.class.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/benutzerberechtigung.class.php'); -require_once('../../include/betriebsmittelperson.class.php'); - -if(!$conn=pg_pconnect(CONN_STRING)) - die("Konnte Verbindung zur Datenbank nicht herstellen"); - -$user = get_uid(); - -//Berechtigung pruefen -$rechte = new benutzerberechtigung($conn); -$rechte->getBerechtigungen($user); - -if(!$rechte->isBerechtigt('admin',0) && !$rechte->isBerechtigt('support')) - die('Sie haben keine Berechtigung fuer diese Seite'); - -echo ' - - Betriebsmittel - - - - - - - -

Betriebsmittel

- '; - -$search = (isset($_REQUEST['search'])?$_REQUEST['search']:''); - -//Loeschen eines Datensatzes -if(isset($_GET['type']) && $_GET['type']=='delete') -{ - if(isset($_GET['betriebsmittel_id']) && is_numeric($_GET['betriebsmittel_id']) - && isset($_GET['person_id']) && is_numeric($_GET['person_id'])) - { - $bmp = new betriebsmittelperson($conn); - if($bmp->delete($_GET['betriebsmittel_id'], $_GET['person_id'])) - echo 'Datensatz wurde geloescht'; - else - echo 'Fehler beim Loeschen des Datensatzes: '.$bmp->errormsg.''; - } - else - { - die('Fehlerhafte Parameteruebergabe'); - } -} - -echo '
-
- Nummer/Uid:   - -
NEU


'; - -if($search!='') -{ - //Suche in Datenbank - $qry = "SELECT distinct tbl_betriebsmittelperson.*, tbl_betriebsmittel.*, tbl_person.*, tbl_betriebsmittelperson.updateamum as updateamum, tbl_betriebsmittelperson.updatevon as updatevon FROM - public.tbl_betriebsmittelperson - JOIN public.tbl_betriebsmittel USING(betriebsmittel_id) - JOIN public.tbl_person USING(person_id) - LEFT JOIN public.tbl_benutzer USING(person_id) - WHERE nummer='".addslashes($search)."' OR uid='".addslashes($search)."'"; - if($result = pg_query($conn, $qry)) - { - echo "Datenbank Result
- - "; - echo " - - - - - - - - - - "; - echo ''; - echo ''; - - while($row = pg_fetch_object($result)) - { - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - } - - echo ''; - echo '
NummerTypKautionAusgegebenRetourVornameNachnameUIDUpdateAmUmUpdateVonAktion
$row->nummer$row->betriebsmitteltyp$row->kaution$row->ausgegebenam$row->retouram$row->vorname$row->nachname"; - //Alle UIDs zu dieser Person suchen - $qry_uid = "SELECT uid FROM public.tbl_benutzer WHERE person_id='$row->person_id'"; - if($result_uid = pg_query($conn, $qry_uid)) - { - while($row_uid = pg_fetch_object($result_uid)) - { - echo "$row_uid->uid
"; - } - } - echo "
$row->updateamum$row->updatevoneditbetriebsmittel_id&person_id=$row->person_id' onclick='return confdel()'>delete
'; - } - - //Suche im LDAP - - // LDAP Verbindung herstellen - $ds=ldap_connect(LDAP_SERVER); - - if ($ds) - $r=ldap_bind($ds); // this is an "anonymous" bind, typically - else - echo "

Unable to connect to LDAP server

"; - - if(is_numeric($search)) - $sr=ldap_search($ds, "ou=People, dc=technikum-wien, dc=at", "departmentNumber=".$search); - else - $sr=ldap_search($ds, "ou=People, dc=technikum-wien, dc=at", "uid=".$search); - - $info = ldap_get_entries($ds, $sr); - - echo "
LDAP Result
- - "; - echo " - - "; - echo ''; - echo ''; - //Kartennummer - echo ''; - //UID - echo ''; - //Gesamter Name - echo ''; - echo '
KartennummerUIDName
'.(isset($info[0]['departmentnumber'][0])?$info[0]['departmentnumber'][0]:'').''.(isset($info[0]['uid'][0])?$info[0]['uid'][0]:'').''.(isset($info[0]['cn'][0])?$info[0]['cn'][0]:'').'
'; -} -?> - +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Raab . + */ +require_once('../config.inc.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/betriebsmittelperson.class.php'); + +if(!$conn=pg_pconnect(CONN_STRING)) + die("Konnte Verbindung zur Datenbank nicht herstellen"); + +$user = get_uid(); + +//Berechtigung pruefen +$rechte = new benutzerberechtigung($conn); +$rechte->getBerechtigungen($user); + +if(!$rechte->isBerechtigt('admin',0) && !$rechte->isBerechtigt('support')) + die('Sie haben keine Berechtigung fuer diese Seite'); + +echo ' + + Betriebsmittel + + + + + + + +

Betriebsmittel

+ '; + +$search = (isset($_REQUEST['search'])?$_REQUEST['search']:''); + +//Loeschen eines Datensatzes +if(isset($_GET['type']) && $_GET['type']=='delete') +{ + if(isset($_GET['betriebsmittel_id']) && is_numeric($_GET['betriebsmittel_id']) + && isset($_GET['person_id']) && is_numeric($_GET['person_id'])) + { + $bmp = new betriebsmittelperson($conn); + if($bmp->delete($_GET['betriebsmittel_id'], $_GET['person_id'])) + echo 'Datensatz wurde geloescht'; + else + echo 'Fehler beim Loeschen des Datensatzes: '.$bmp->errormsg.''; + } + else + { + die('Fehlerhafte Parameteruebergabe'); + } +} + +echo '
+
+ Nummer/Uid:   + +
NEU


'; + +if($search!='') +{ + //Suche in Datenbank + $qry = "SELECT distinct tbl_betriebsmittelperson.*, tbl_betriebsmittel.*, tbl_person.*, tbl_betriebsmittelperson.updateamum as updateamum, tbl_betriebsmittelperson.updatevon as updatevon FROM + public.tbl_betriebsmittelperson + JOIN public.tbl_betriebsmittel USING(betriebsmittel_id) + JOIN public.tbl_person USING(person_id) + LEFT JOIN public.tbl_benutzer USING(person_id) + WHERE nummer='".addslashes($search)."' OR uid='".addslashes($search)."'"; + if($result = pg_query($conn, $qry)) + { + echo "Datenbank Result
+ + "; + echo " + + + + + + + + + + "; + echo ''; + echo ''; + + while($row = pg_fetch_object($result)) + { + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + + echo ''; + echo '
NummerTypKautionAusgegebenRetourVornameNachnameUIDUpdateAmUmUpdateVonAktion
$row->nummer$row->betriebsmitteltyp$row->kaution$row->ausgegebenam$row->retouram$row->vorname$row->nachname"; + //Alle UIDs zu dieser Person suchen + $qry_uid = "SELECT uid FROM public.tbl_benutzer WHERE person_id='$row->person_id'"; + if($result_uid = pg_query($conn, $qry_uid)) + { + while($row_uid = pg_fetch_object($result_uid)) + { + echo "$row_uid->uid
"; + } + } + echo "
$row->updateamum$row->updatevoneditbetriebsmittel_id&person_id=$row->person_id' onclick='return confdel()'>delete
'; + } + + //Suche im LDAP + + // LDAP Verbindung herstellen + $ds=ldap_connect(LDAP_SERVER); + + if ($ds) + $r=ldap_bind($ds); // this is an "anonymous" bind, typically + else + echo "

Unable to connect to LDAP server

"; + + if(is_numeric($search)) + $sr=ldap_search($ds, "ou=People, dc=technikum-wien, dc=at", "departmentNumber=".$search); + else + $sr=ldap_search($ds, "ou=People, dc=technikum-wien, dc=at", "uid=".$search); + + $info = ldap_get_entries($ds, $sr); + + echo "
LDAP Result
+ + "; + echo " + + "; + echo ''; + echo ''; + //Kartennummer + echo ''; + //UID + echo ''; + //Gesamter Name + echo ''; + echo '
KartennummerUIDName
'.(isset($info[0]['departmentnumber'][0])?$info[0]['departmentnumber'][0]:'').''.(isset($info[0]['uid'][0])?$info[0]['uid'][0]:'').''.(isset($info[0]['cn'][0])?$info[0]['cn'][0]:'').'
'; +} +?> + \ No newline at end of file diff --git a/vilesci/personen/betriebsmitteldetail.php b/vilesci/personen/betriebsmitteldetail.php index 9dde30582..2677f7740 100644 --- a/vilesci/personen/betriebsmitteldetail.php +++ b/vilesci/personen/betriebsmitteldetail.php @@ -1,254 +1,254 @@ -, - * Andreas Oesterreicher , - * Rudolf Hangl and - * Gerald Raab . - */ -require_once('../config.inc.php'); -require_once('../../include/studiengang.class.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/benutzerberechtigung.class.php'); -require_once('../../include/betriebsmittelperson.class.php'); -require_once('../../include/betriebsmittel.class.php'); -require_once('../../include/datum.class.php'); - -if(!$conn=pg_pconnect(CONN_STRING)) - die("Konnte Verbindung zur Datenbank nicht herstellen"); - -$user = get_uid(); - -$rechte = new benutzerberechtigung($conn); -$rechte->getBerechtigungen($user); - -$datum_obj = new datum(); - -echo ' - - Betriebsmittel Details - - - - -

Details

- '; - - -if(!$rechte->isBerechtigt('admin', 0, 'suid') && !$rechte->isBerechtigt('support', null, 'suid')) - die('Sie haben keine Berechtigung fuer diese Seite'); - -$betriebsmittel_id = (isset($_GET['betriebsmittel_id'])?$_GET['betriebsmittel_id']:''); -$person_id = (isset($_REQUEST['person_id'])?$_REQUEST['person_id']:''); -$error = false; - -//Speichern der Daten -if(isset($_POST['save'])) -{ - $bm = new betriebsmittel($conn); - - //Nachschauen ob dieses Betriebsmittel schon existiert - if($bm->getBetriebsmittel($_POST['betriebsmitteltyp'],$_POST['nummerold'])) - { - if(count($bm->result)>0) - { - //Wenn ein Eintrag gefunden wurde, dann wird die Beschreibung aktualisiert - if($bm->load($bm->result[0]->betriebsmittel_id)) - { - $bm->beschreibung = $_POST['beschreibung']; - $bm->nummer = $_POST['nummer']; - $bm->updatevon = $user; - $bm->updateamum = date('Y-m-d H:i:s'); - - if(!$bm->save(false)) - { - $return = false; - $error = true; - echo 'Fehler beim Speichern des Betriebsmittels'; - } - else - { - $betriebsmittel_id = $bm->betriebsmittel_id; - } - } - else - { - $return = false; - $error = true; - echo 'Gefundener Eintrag konnte nicht geladen werden!?!?'; - } - } - else - { - //Wenn kein Eintrag gefunden wurde, dann wird ein neuer Eintrag angelegt - $bm->betriebsmitteltyp = $_POST['betriebsmitteltyp']; - $bm->nummer = $_POST['nummer']; - $bm->beschreibung = $_POST['beschreibung']; - $bm->reservieren = false; - $bm->ort_kurzbz = null; - $bm->insertamum = date('Y-m-d H:i:s'); - $bm->insertvon = $user; - - if($bm->save(true)) - { - $betriebsmittel_id = $bm->betriebsmittel_id; - } - else - { - $error = true; - $return = false; - echo 'Fehler beim Anlegen des Betriebsmittels'; - } - } - - //Zuordnung Betriebsmittel-Person anlegen - $bmp = new betriebsmittelperson($conn); - if($_POST['new']=='true') - { - if($bmp->load($betriebsmittel_id, $_POST['person_id'])) - { - $bmp->updateamum = date('Y-m-d H:i:s'); - $bmp->updatevon = $user; - $bmp->new = false; - } - else - { - $error = true; - $return = false; - echo 'Fehler beim Laden der Betriebmittelperson Zuordnung'; - } - } - else - { - $bmp->insertamum = date('Y-m-d H:i:s'); - $bmp->insertvon = $user; - $bmp->new = true; - } - - if(!$error) - { - $bmp->person_id = $_POST['person_id']; - $bmp->betriebsmittel_id=$betriebsmittel_id; - $bmp->anmerkung = $_POST['anmerkung']; - $bmp->kaution = trim(str_replace(',','.',$_POST['kaution'])); - $bmp->ausgegebenam = $_POST['ausgegebenam']; - $bmp->retouram = $_POST['retouram']; - - if($bmp->save()) - { - echo 'Daten wurden erfolgreich gespeichert'; - } - else - { - echo $bmp->errormsg; - } - } - } - else - { - echo 'Fehler:'.$bm->errormsg; - } -} - -$bm = new betriebsmittelperson($conn); - -//Laden der Daten -$new = 'false'; -if($betriebsmittel_id!='' && $person_id!='') -{ - if(!$bm->load($betriebsmittel_id, $person_id)) - die('betriebsmittel konnte nicht geladen werden'); - else - $new ='true'; -} -else -{ - $bm->kaution = '0.0'; - $bm->ausgegebenam = date('Y-m-d'); - $bm->betriebsmitteltyp = 'Zutrittskarte'; -} - -$nummer = $bm->nummer; -$beschreibung = $bm->beschreibung; -$betriebsmitteltyp =$bm->betriebsmitteltyp; -$kaution = $bm->kaution; -$anmerkung = $bm->anmerkung; -$ausgegebenam = ($bm->ausgegebenam!=''?date('d.m.Y', $datum_obj->mktime_fromdate($bm->ausgegebenam)):''); -$retouram = ($bm->retouram!=''?date('d.m.Y', $datum_obj->mktime_fromdate($bm->retouram)):''); - - -//Formular -echo '
'; -echo ''; -echo ''; -echo ''; -echo '
'; -echo ''; -//Person -echo ''; -//TYP -echo ''; -//
Person
Typ
'; -//Nummer -echo ''; -//Beschreibung -echo ''; -echo '
Nummer
Beschreibung
'; -echo '
'; -//Kaution -echo ''; -//Anmerkung -echo ''; -//echo '
Kaution
Anmerkung
'; -//Ausgegeben am -echo ''; -//Retour am -echo ''; -echo '
Ausgegeben am
Retour am
'; -echo '
'; -echo '
'; -?> - +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Raab . + */ +require_once('../config.inc.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/betriebsmittelperson.class.php'); +require_once('../../include/betriebsmittel.class.php'); +require_once('../../include/datum.class.php'); + +if(!$conn=pg_pconnect(CONN_STRING)) + die("Konnte Verbindung zur Datenbank nicht herstellen"); + +$user = get_uid(); + +$rechte = new benutzerberechtigung($conn); +$rechte->getBerechtigungen($user); + +$datum_obj = new datum(); + +echo ' + + Betriebsmittel Details + + + + +

Details

+ '; + + +if(!$rechte->isBerechtigt('admin', 0, 'suid') && !$rechte->isBerechtigt('support', null, 'suid')) + die('Sie haben keine Berechtigung fuer diese Seite'); + +$betriebsmittel_id = (isset($_GET['betriebsmittel_id'])?$_GET['betriebsmittel_id']:''); +$person_id = (isset($_REQUEST['person_id'])?$_REQUEST['person_id']:''); +$error = false; + +//Speichern der Daten +if(isset($_POST['save'])) +{ + $bm = new betriebsmittel($conn); + + //Nachschauen ob dieses Betriebsmittel schon existiert + if($bm->getBetriebsmittel($_POST['betriebsmitteltyp'],$_POST['nummerold'])) + { + if(count($bm->result)>0) + { + //Wenn ein Eintrag gefunden wurde, dann wird die Beschreibung aktualisiert + if($bm->load($bm->result[0]->betriebsmittel_id)) + { + $bm->beschreibung = $_POST['beschreibung']; + $bm->nummer = $_POST['nummer']; + $bm->updatevon = $user; + $bm->updateamum = date('Y-m-d H:i:s'); + + if(!$bm->save(false)) + { + $return = false; + $error = true; + echo 'Fehler beim Speichern des Betriebsmittels'; + } + else + { + $betriebsmittel_id = $bm->betriebsmittel_id; + } + } + else + { + $return = false; + $error = true; + echo 'Gefundener Eintrag konnte nicht geladen werden!?!?'; + } + } + else + { + //Wenn kein Eintrag gefunden wurde, dann wird ein neuer Eintrag angelegt + $bm->betriebsmitteltyp = $_POST['betriebsmitteltyp']; + $bm->nummer = $_POST['nummer']; + $bm->beschreibung = $_POST['beschreibung']; + $bm->reservieren = false; + $bm->ort_kurzbz = null; + $bm->insertamum = date('Y-m-d H:i:s'); + $bm->insertvon = $user; + + if($bm->save(true)) + { + $betriebsmittel_id = $bm->betriebsmittel_id; + } + else + { + $error = true; + $return = false; + echo 'Fehler beim Anlegen des Betriebsmittels'; + } + } + + //Zuordnung Betriebsmittel-Person anlegen + $bmp = new betriebsmittelperson($conn); + if($_POST['new']=='true') + { + if($bmp->load($betriebsmittel_id, $_POST['person_id'])) + { + $bmp->updateamum = date('Y-m-d H:i:s'); + $bmp->updatevon = $user; + $bmp->new = false; + } + else + { + $error = true; + $return = false; + echo 'Fehler beim Laden der Betriebmittelperson Zuordnung'; + } + } + else + { + $bmp->insertamum = date('Y-m-d H:i:s'); + $bmp->insertvon = $user; + $bmp->new = true; + } + + if(!$error) + { + $bmp->person_id = $_POST['person_id']; + $bmp->betriebsmittel_id=$betriebsmittel_id; + $bmp->anmerkung = $_POST['anmerkung']; + $bmp->kaution = trim(str_replace(',','.',$_POST['kaution'])); + $bmp->ausgegebenam = $_POST['ausgegebenam']; + $bmp->retouram = $_POST['retouram']; + + if($bmp->save()) + { + echo 'Daten wurden erfolgreich gespeichert'; + } + else + { + echo $bmp->errormsg; + } + } + } + else + { + echo 'Fehler:'.$bm->errormsg; + } +} + +$bm = new betriebsmittelperson($conn); + +//Laden der Daten +$new = 'false'; +if($betriebsmittel_id!='' && $person_id!='') +{ + if(!$bm->load($betriebsmittel_id, $person_id)) + die('betriebsmittel konnte nicht geladen werden'); + else + $new ='true'; +} +else +{ + $bm->kaution = '0.0'; + $bm->ausgegebenam = date('Y-m-d'); + $bm->betriebsmitteltyp = 'Zutrittskarte'; +} + +$nummer = $bm->nummer; +$beschreibung = $bm->beschreibung; +$betriebsmitteltyp =$bm->betriebsmitteltyp; +$kaution = $bm->kaution; +$anmerkung = $bm->anmerkung; +$ausgegebenam = ($bm->ausgegebenam!=''?date('d.m.Y', $datum_obj->mktime_fromdate($bm->ausgegebenam)):''); +$retouram = ($bm->retouram!=''?date('d.m.Y', $datum_obj->mktime_fromdate($bm->retouram)):''); + + +//Formular +echo '
'; +echo ''; +echo ''; +echo ''; +echo '
'; +echo ''; +//Person +echo ''; +//TYP +echo ''; +//
Person
Typ
'; +//Nummer +echo ''; +//Beschreibung +echo ''; +echo '
Nummer
Beschreibung
'; +echo '
'; +//Kaution +echo ''; +//Anmerkung +echo ''; +//echo '
Kaution
Anmerkung
'; +//Ausgegeben am +echo ''; +//Retour am +echo ''; +echo '
Ausgegeben am
Retour am
'; +echo '
'; +echo '
'; +?> + \ No newline at end of file diff --git a/vilesci/personen/kontaktdaten_edit.php b/vilesci/personen/kontaktdaten_edit.php index 077f960db..46108759d 100644 --- a/vilesci/personen/kontaktdaten_edit.php +++ b/vilesci/personen/kontaktdaten_edit.php @@ -249,7 +249,7 @@ echo $errormsg.'
'; // *** ADRESSEN *** echo "

Adressen:

"; -echo "
"; +echo ""; echo ""; $adresse_obj = new adresse($conn); $adresse_obj->load_pers($person_id); @@ -303,10 +303,10 @@ else } echo ""; echo ''; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo ""; - echo ""; + echo ""; echo ""; - echo ""; + echo ""; echo "\n"; echo " "; - echo " \n"; + echo " \n"; echo " "; echo "
STRASSEPLZORTGEMEINDENATIONTYPHEIMATZUSTELLUNGFIRMA
- -"; - -if(isset($uid) && $uid!='') -{ - //Benutzerdaten - echo ""; - - if($is_mitarbeiter) - { - $mitarbeiter = new mitarbeiter($conn); - if(!$mitarbeiter->load($uid)) - die('Mitarbeiter konnte nicht geladen werden'); - - if(!$error_mitarbeiter_save) - { - $personalnummer = $mitarbeiter->personalnummer; - $telefonklappe = $mitarbeiter->telefonklappe; - $kurzbz = $mitarbeiter->kurzbz; - $lektor = $mitarbeiter->lektor; - $fixangestellt = $mitarbeiter->fixangestellt; - $stundensatz = $mitarbeiter->stundensatz; - $ausbildungcode = $mitarbeiter->ausbildungcode; - $ort_kurzbz = $mitarbeiter->ort_kurzbz; - $standort_kurzbz = $mitarbeiter->standort_kurzbz; - $anmerkung = $mitarbeiter->anmerkung; - $bismelden = $mitarbeiter->bismelden; - } - - //MITARBEITER - echo " - "; - } - else - { - $student = new student($conn); - if(!$student->load($uid)) - die('Fehler beim Laden des Studenten'); - - if(!$error_student_save) - { - $semester = $student->semester; - $verband = $student->verband; - $gruppe = $student->gruppe; - $matrikelnummer = $student->matrikelnr; - } - - //STUDENT - echo " - "; - } -} -echo "
-
-Person - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AnredeTitelpreTitelpost
NachnameVornameVornamen
GeburtsdatumGeburtsortGeburtsnation -
SVNRErsatzkennzeichenGeburtszeit
Staatsbuergerschaft - Sprache - Homepage
Geschlecht - Familienstand - Anzahl der Kinder
Anmerkungen - Bild hochladen -

- Bild aktualisieren -
- "; -$oFCKeditor = new FCKeditor('kurzbeschreibung') ; -$sBasePath = '../../include/fckeditor/'; - -$oFCKeditor->BasePath = $sBasePath ; -$oFCKeditor->Value = $kurzbeschreibung; -$oFCKeditor->Create() ; - -echo " -
- -
-
-
- Benutzerdaten - "; - - $qry = "SELECT * FROM public.tbl_benutzer WHERE uid='".addslashes($uid)."'"; - if(!$result_benutzer = pg_query($conn, $qry)) - die('Fehler beim Auslesen der Benutzerdaten'); - - if(!$row_benutzer = pg_fetch_object($result_benutzer)) - die('Fehler beim Auslesen der Benutzerdaten'); - - echo " -
- - - - - - - - -
Aktivaktiv=='t'?'checked':'').">Alias
-
"; - - - echo '
AccountInfoBlatt erstellen'; - echo '
Betriebsmittel (Zutrittskarten) verwalten'; - - - echo "
-
- Mitarbeiterdaten -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PersonalnummerKurzbezeichnungLektor
StundensatzTelefonklappeFixangestellt
BueroStandortBismelden
AnmerkungenAusbildung
-
-
-
-
- Studentendaten -
- - - - - - - - - - - - - - - - - -
SemesterVerbandGruppe
Matrikelnummer
-
-
-
"; -?> - - +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +/** + * Changes: 23.10.2004: Anpassung an neues DB-Schema sowie Verwendung der + * 'student'-Klasse; Datei ersetzt student_edit_save.php + * (WM) + */ +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/student.class.php'); +require_once('../../include/mitarbeiter.class.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/nation.class.php'); +require_once('../../include/ort.class.php'); +require_once('../../include/fckeditor/fckeditor.php'); + +if(!$conn=pg_pconnect(CONN_STRING)) + die("Fehler beim Connecten zur Datenbank"); + +echo ' + + +Details + + + + + + +'; + +$user = get_uid(); + +$error_person_save = false; +$error_benutzer_save = false; +$error_mitarbeiter_save = false; +$error_student_save = false; + +$msg = ''; + +$uid = (isset($_GET['uid'])?$_GET['uid']:''); +$person_id = (isset($_GET['person_id'])?$_GET['person_id']:''); + +$anrede = (isset($_POST['anrede'])?$_POST['anrede']:''); +$titelpre = (isset($_POST['titelpre'])?$_POST['titelpre']:''); +$titelpost = (isset($_POST['titelpost'])?$_POST['titelpost']:''); +$nachname = (isset($_POST['nachname'])?$_POST['nachname']:''); +$vorname = (isset($_POST['vorname'])?$_POST['vorname']:''); +$vornamen = (isset($_POST['vornamen'])?$_POST['vornamen']:''); +$geburtsdatum = (isset($_POST['geburtsdatum'])?$_POST['geburtsdatum']:''); +$geburtsort = (isset($_POST['geburtsort'])?$_POST['geburtsort']:''); +$geburtsnation = (isset($_POST['geburtsnation'])?$_POST['geburtsnation']:''); +$svnr = (isset($_POST['svnr'])?$_POST['svnr']:''); +$ersatzkennzeichen = (isset($_POST['ersatzkennzeichen'])?$_POST['ersatzkennzeichen']:''); +$geburtszeit = (isset($_POST['geburtszeit'])?$_POST['geburtszeit']:''); +$staatsbuergerschaft = (isset($_POST['staatsbuergerschaft'])?$_POST['staatsbuergerschaft']:''); +$sprache = (isset($_POST['sprache'])?$_POST['sprache']:''); +$geschlecht = (isset($_POST['geschlecht'])?$_POST['geschlecht']:''); +$familienstand = (isset($_POST['familienstand'])?$_POST['familienstand']:''); +$anzahlderkinder = (isset($_POST['anzahlderkinder'])?$_POST['anzahlderkinder']:''); +$anmerkungen = (isset($_POST['anmerkungen'])?$_POST['anmerkungen']:''); +$homepage = (isset($_POST['homepage'])?$_POST['homepage']:''); +$aktiv = (isset($_POST['aktiv'])?$_POST['aktiv']:''); +$alias = (isset($_POST['alias'])?$_POST['alias']:''); +$personalnummer = (isset($_POST['personalnummer'])?$_POST['personalnummer']:''); +$telefonklappe = (isset($_POST['telefonklappe'])?$_POST['telefonklappe']:''); +$kurzbz = (isset($_POST['kurzbz'])?$_POST['kurzbz']:''); +$lektor = (isset($_POST['lektor'])?$_POST['lektor']:''); +$fixangestellt = (isset($_POST['fixangestellt'])?$_POST['fixangestellt']:''); +$stundensatz = (isset($_POST['stundensatz'])?$_POST['stundensatz']:''); +$ausbildungcode = (isset($_POST['ausbildungcode'])?$_POST['ausbildungcode']:''); +$ort_kurzbz = (isset($_POST['ort_kurzbz'])?$_POST['ort_kurzbz']:''); +$standort_kurzbz = (isset($_POST['standort_kurzbz'])?$_POST['standort_kurzbz']:''); +$anmerkung = (isset($_POST['anmerkung'])?$_POST['anmerkung']:''); +$bismelden = (isset($_POST['bismelden'])?$_POST['bismelden']:''); +$kurzbeschreibung = (isset($_POST['kurzbeschreibung'])?$_POST['kurzbeschreibung']:''); + +if($uid!='') +{ + $qry = "SELECT person_id, true as mitarbeiter FROM campus.vw_mitarbeiter WHERE uid='".addslashes($uid)."' + UNION + SELECT person_id, false as mitarbeiter FROM campus.vw_student WHERE uid='".addslashes($uid)."'"; + + if($result = pg_query($conn, $qry)) + { + if($row = pg_fetch_object($result)) + { + $is_mitarbeiter = ($row->mitarbeiter=='t'?true:false); + $person_id = $row->person_id; + } + else + die('UID wurde nicht gefunden'); + } + else + die('Fehler beim Ermitteln der UID'); +} + +if(isset($_POST['saveperson'])) +{ + $person = new person($conn); + if(!$person->load($person_id)) + die('Person konnte nicht geladen werden'); + + $person->anrede = $anrede; + $person->titelpre = $titelpre; + $person->titelpost = $titelpost; + $person->nachname = $nachname; + $person->vorname = $vorname; + $person->vornamen = $vornamen; + $person->gebdatum = $geburtsdatum; + $person->gebort = $geburtsort; + $person->geburtsnation = $geburtsnation; + $person->svnr = $svnr; + $person->ersatzkennzeichen = $ersatzkennzeichen; + $person->gebzeit = $geburtszeit; + $person->staatsbuergerschaft = $staatsbuergerschaft; + $person->sprache = $sprache; + $person->geschlecht = $geschlecht; + $person->familienstand = $familienstand; + $person->anzahlkinder = $anzahlderkinder; + $person->anmerkungen = $anmerkungen; + $person->homepage = $homepage; + $person->updateamum = date('Y-m-d H:i:s'); + $person->updatevon = $user; + $person->kurzbeschreibung = $kurzbeschreibung; + $person->new = false; + + if($person->save()) + { + $msg = '

Personendaten wurden erfolgreich gespeichert

'; + } + else + { + $msg = "

Fehler beim Speichern der Personendaten: $person->errormsg

"; + $error_person_save=true; + } + +} + +if(isset($_POST['savebenutzer'])) +{ + $benutzer = new benutzer($conn); + $benutzer->load($uid); + + if(checkalias($alias) || $alias=='') + { + $benutzer->alias = $alias; + $benutzer->bnaktiv = ($aktiv!=''?true:false); + $benutzer->new = false; + $benutzer->updateamum = date('Y-m-d H:i:s'); + $benutzer->updatevon = $user; + + if($benutzer->save()) + { + $msg = '

Daten wurden erfolgreich gespeichert

'; + } + else + { + $msg = "

Fehler beim Speichern: $benutzer->errormsg"; + } + } + else + { + $msg = "

Alias ist ungueltig $alias

"; + $error_benutzer_save=true; + } +} + +if(isset($_POST['savemitarbeiter'])) +{ + $mitarbeiter = new mitarbeiter($conn); + if(!$mitarbeiter->load($uid)) + die('Mitarbeiter konnte nicht geladen werden'); + + $mitarbeiter->personalnummer = $personalnummer; + $mitarbeiter->telefonklappe = $telefonklappe; + $mitarbeiter->kurzbz = $kurzbz; + $mitarbeiter->lektor = ($lektor!=''?true:false); + $mitarbeiter->fixangestellt = ($fixangestellt!=''?true:false); + $mitarbeiter->stundensatz = $stundensatz; + $mitarbeiter->ausbildungcode = $ausbildungcode; + $mitarbeiter->ort_kurzbz = $ort_kurzbz; + $mitarbeiter->standort_kurzbz = $standort_kurzbz; + $mitarbeiter->anmerkung = $anmerkung; + $mitarbeiter->bismelden = $bismelden; + $mitarbeiter->new = false; + $mitarbeiter->updateamum = date('Y-m-d H:i:s'); + $mitarbeiter->updatevon = $user; + + if($mitarbeiter->save()) + $msg = '

Daten wurden erfolgreich gespeichert

'; + else + { + $msg = "

Fehler beim Speichern der Daten: $mitarbeiter->errormsg

"; + $error_mitarbeiter_save = true; + } +} + +if(isset($_POST['savestudent'])) +{ + $student = new student($conn); + if(!$student->load($uid)) + die('Student konnte nicht geladen werden'); + + $student->matrikelnr = $matrikelnummer; + $student->semester = $semester; + $student->verband = $verband; + $student->gruppe = $gruppe; + $student->updateamum = date('Y-m-d H:i:s'); + $student->updatevon = $user; + $student->new = false; + + if($student->save(null, false)) + $msg = '

Daten wurden erfolgreich gespeichert

'; + else + { + $msg = "

Fehler beim Speichern der Daten: $student->errormsg

"; + $error_student_save = true; + } +} + +$person = new person($conn); +if(!$person->load($person_id)) + die('Person wurde nicht gefunden'); + +echo "

Details von $person->vorname $person->nachname

"; +echo $msg; + +if(!$error_person_save) +{ + $anrede = $person->anrede; + $titelpre = $person->titelpre; + $titelpost = $person->titelpost; + $nachname = $person->nachname; + $vorname = $person->vorname; + $vornamen = $person->vornamen; + $geburtsdatum = $person->gebdatum; + $geburtsort = $person->gebort; + $geburtsnation = $person->geburtsnation; + $svnr = $person->svnr; + $ersatzkennzeichen = $person->ersatzkennzeichen; + $geburtszeit = $person->gebzeit; + $staatsbuergerschaft = $person->staatsbuergerschaft; + $sprache = $person->sprache; + $geschlecht = $person->geschlecht; + $familienstand = $person->familienstand; + $anzahlderkinder = $person->anzahlkinder; + $anmerkungen = $person->anmerkungen; + $homepage = $person->homepage; + $kurzbeschreibung = $person->kurzbeschreibung; +} + +// PERSON +echo " + +"; + +if(isset($uid) && $uid!='') +{ + //Benutzerdaten + echo ""; + + if($is_mitarbeiter) + { + $mitarbeiter = new mitarbeiter($conn); + if(!$mitarbeiter->load($uid)) + die('Mitarbeiter konnte nicht geladen werden'); + + if(!$error_mitarbeiter_save) + { + $personalnummer = $mitarbeiter->personalnummer; + $telefonklappe = $mitarbeiter->telefonklappe; + $kurzbz = $mitarbeiter->kurzbz; + $lektor = $mitarbeiter->lektor; + $fixangestellt = $mitarbeiter->fixangestellt; + $stundensatz = $mitarbeiter->stundensatz; + $ausbildungcode = $mitarbeiter->ausbildungcode; + $ort_kurzbz = $mitarbeiter->ort_kurzbz; + $standort_kurzbz = $mitarbeiter->standort_kurzbz; + $anmerkung = $mitarbeiter->anmerkung; + $bismelden = $mitarbeiter->bismelden; + } + + //MITARBEITER + echo " + "; + } + else + { + $student = new student($conn); + if(!$student->load($uid)) + die('Fehler beim Laden des Studenten'); + + if(!$error_student_save) + { + $semester = $student->semester; + $verband = $student->verband; + $gruppe = $student->gruppe; + $matrikelnummer = $student->matrikelnr; + } + + //STUDENT + echo " + "; + } +} +echo "
+
+Person +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AnredeTitelpreTitelpost
NachnameVornameVornamen
GeburtsdatumGeburtsortGeburtsnation +
SVNRErsatzkennzeichenGeburtszeit
Staatsbuergerschaft + Sprache + Homepage
Geschlecht + Familienstand + Anzahl der Kinder
Anmerkungen + Bild hochladen +

+ Bild aktualisieren +
+ "; +$oFCKeditor = new FCKeditor('kurzbeschreibung') ; +$sBasePath = '../../include/fckeditor/'; + +$oFCKeditor->BasePath = $sBasePath ; +$oFCKeditor->Value = $kurzbeschreibung; +$oFCKeditor->Create() ; + +echo " +
+
+
+
+
+ Benutzerdaten + "; + + $qry = "SELECT * FROM public.tbl_benutzer WHERE uid='".addslashes($uid)."'"; + if(!$result_benutzer = pg_query($conn, $qry)) + die('Fehler beim Auslesen der Benutzerdaten'); + + if(!$row_benutzer = pg_fetch_object($result_benutzer)) + die('Fehler beim Auslesen der Benutzerdaten'); + + echo " +
+ + + + + + + + +
Aktivaktiv=='t'?'checked':'').">Alias
+
"; + + + echo '
AccountInfoBlatt erstellen'; + echo '
Betriebsmittel (Zutrittskarten) verwalten'; + + + echo "
+
+ Mitarbeiterdaten +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PersonalnummerKurzbezeichnungLektor
StundensatzTelefonklappeFixangestellt
BueroStandortBismelden
AnmerkungenAusbildung
+
+
+
+
+ Studentendaten +
+ + + + + + + + + + + + + + + + + +
SemesterVerbandGruppe
Matrikelnummer
+
+
+
"; +?> + + \ No newline at end of file diff --git a/vilesci/personen/personendetails.php b/vilesci/personen/personendetails.php index 2982f5c55..fba128608 100644 --- a/vilesci/personen/personendetails.php +++ b/vilesci/personen/personendetails.php @@ -1,286 +1,286 @@ -, - * Andreas Oesterreicher , - * Rudolf Hangl and - * Gerald Raab . - */ -require_once('../config.inc.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/benutzerberechtigung.class.php'); -require_once('../../include/studiengang.class.php'); -require_once('../../include/preinteressent.class.php'); -require_once('../../include/person.class.php'); -require_once('../../include/prestudent.class.php'); -require_once('../../include/datum.class.php'); -require_once('../../include/kontakt.class.php'); -require_once('../../include/adresse.class.php'); -require_once('../../include/nation.class.php'); -require_once('../../include/firma.class.php'); - -if(!$conn=pg_pconnect(CONN_STRING)) - die("Konnte Verbindung zur Datenbank nicht herstellen"); - -$user = get_uid(); - -$rechte = new benutzerberechtigung($conn); -$rechte->getBerechtigungen($user); - -$datum_obj = new datum(); - -$studiengang = new studiengang($conn); -$studiengang->getAll('typ, kurzbz', false); - -echo ' - - PreInteressenten - - - - - - - '; - -if(!$rechte->isBerechtigt('admin') && - !$rechte->isBerechtigt('preinteressent') && - !$rechte->isBerechtigt('assistenz')) - die('Sie haben keine Berechtigung fuer diese Seite'); - -if(isset($_GET['id']) && is_numeric($_GET['id'])) - $id = $_GET['id']; -else - die('der Parameter id mit der Person_id muss uebergeben werden'); - -$person = new person($conn); - -if(!$person->load($id)) - die('Person wurde nicht gefunden'); - -//PERSON -echo '

Person

'; -echo "ID: $person->person_id
"; -echo "Name: $person->titelpre $person->nachname $person->vorname $person->titelpost
"; -echo "Geburtsdatum: ".$datum_obj->formatDatum($person->gebdatum,'d.m.Y')."
"; -echo "Geschlecht: ".$person->geschlecht."
"; - -$kontakt = new kontakt($conn); -$kontakt->load_pers($person->person_id); -echo '

Kontaktdaten

'; -echo ' - - - - - - - - - '; -foreach ($kontakt->result as $row) -{ - echo ''; - echo ""; - echo ""; - echo ""; - echo ""; - echo ''; -} -echo '
TypKontaktZustellungAnmerkung
$row->kontakttyp$row->kontakt".($row->zustellung?'Ja':'Nein')."$row->anmerkung
'; - -//Nationen laden -$nation_arr = array(); -$nation = new nation($conn); -$nation->getAll(); - -$nation_arr['']=''; -foreach($nation->nation as $row) - $nation_arr[$row->code]=$row->kurztext; - -$adresstyp_arr = array('h'=>'Hauptwohnsitz','n'=>'Nebenwohnsitz','f'=>'Firma'); - -// *** ADRESSEN *** -echo "

Adressen:

"; -echo ""; -$adresse_obj = new adresse($conn); -$adresse_obj->load_pers($person->person_id); - - -foreach ($adresse_obj->result as $row) -{ - echo ''; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - $firma=new firma($conn); - if($row->firma_id!='') - $firma->load($row->firma_id); - echo ""; -} -echo '
StrassePlzOrtGemeindeNationTypHeimatZustellungFirma
$row->strasse$row->plz$row->ort$row->gemeinde".$nation_arr[$row->nation]."".$adresstyp_arr[$row->typ]."".($row->heimatadresse?'Ja':'Nein')."".($row->zustelladresse?'Ja':'Nein')."".$firma->name."
'; -//PREINTERESSENT -function CutString($strVal, $limit) -{ - if(strlen($strVal) > $limit+3) - { - return substr($strVal, 0, $limit) . "..."; - } - else - { - return $strVal; - } -} - -$preinteressent = new preinteressent($conn); -$preinteressent->getPreinteressenten($person->person_id); -if(count($preinteressent->result)>0) -{ - echo '

Preinteressent

'; - echo ' - - - - - - - - - - - - - '; - foreach ($preinteressent->result as $row) - { - echo ''; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ''; - echo ''; - echo ''; - } - echo '
IDStudiensemesterErfassungsdatumAnmerkungAufmerksamDurchKontaktmedium (Woher)StudiengängeSchule
$row->preinteressent_id$row->studiensemester_kurzbz".$datum_obj->formatDatum($row->erfassungsdatum, 'd.m.Y')."".htmlentities(CutString($row->anmerkung, 50),ENT_QUOTES)."".$row->aufmerksamdurch_kurzbz."".$row->kontaktmedium_kurzbz."'; - $preinteressent1 = new preinteressent($conn); - $preinteressent1->loadZuordnungen($row->preinteressent_id); - - $stgs=''; - foreach ($preinteressent1->result as $row_zuordnung) - { - if($stgs!='') - $stgs.=', '; - $stgs.= $studiengang->kuerzel_arr[$row_zuordnung->studiengang_kz]."(".$preinteressent1->prioritaet_arr[$row_zuordnung->prioritaet].")"; - } - echo $stgs; - echo ''; - $firma = new firma($conn); - $firma->load($row->firma_id); - echo $firma->name; - echo '
'; -} - -$prestudent = new prestudent($conn); -$prestudent->getPrestudenten($person->person_id); -if(count($prestudent->result)>0) -{ - echo '

Pre-/Studenten

'; - echo ' - - - - - - - - - - '; - foreach ($prestudent->result as $row) - { - echo ''; - echo ""; - echo ""; - echo ""; - $uid=''; - $gruppe=''; - $qry ="SELECT * FROM public.tbl_student WHERE prestudent_id='$row->prestudent_id'"; - if($result = pg_query($conn, $qry)) - { - if(pg_num_rows($result)>1) - { - $uid='ACHTUNG: Es gibt mehrere Studenteneinträge die auf diesen Prestudenten zeigen!'; - } - else - { - if($row_std = pg_fetch_object($result)) - { - $uid = $row_std->student_uid; - $gruppe = $row_std->semester.$row_std->verband.$row_std->gruppe; - } - } - } - echo ""; - echo ""; - $prestudent1 = new prestudent($conn); - $prestudent1->getLastStatus($row->prestudent_id); - echo ""; - echo ''; - } - echo '
IDStudiengangReihungstestUIDGruppeStatus
$row->prestudent_id".$studiengang->kuerzel_arr[$row->studiengang_kz]."".($row->reihungstestangetreten?'Ja':'Nein')."$uid$gruppe$prestudent1->status_kurzbz ".($prestudent1->ausbildungssemester!=''?"($prestudent1->ausbildungssemester. Semester)":'')."
'; -} - -$qry = "SELECT * FROM campus.vw_mitarbeiter WHERE person_id='$person->person_id'"; -if($result = pg_query($conn, $qry)) -{ - if(pg_num_rows($result)>0) - { - echo '

Mitarbeiter

'; - echo ' - - - - - - - - - '; - while($row = pg_fetch_object($result)) - { - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - } - echo '
UIDKurzbzLektorFixangestelltTelefonklappe
$row->uid$row->kurzbz".($row->lektor=='t'?'Ja':'Nein')."".($row->fixangestellt=='t'?'Ja':'Nein')."$row->telefonklappe
'; - } -} -echo ''; -echo ''; +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Raab . + */ +require_once('../config.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/preinteressent.class.php'); +require_once('../../include/person.class.php'); +require_once('../../include/prestudent.class.php'); +require_once('../../include/datum.class.php'); +require_once('../../include/kontakt.class.php'); +require_once('../../include/adresse.class.php'); +require_once('../../include/nation.class.php'); +require_once('../../include/firma.class.php'); + +if(!$conn=pg_pconnect(CONN_STRING)) + die("Konnte Verbindung zur Datenbank nicht herstellen"); + +$user = get_uid(); + +$rechte = new benutzerberechtigung($conn); +$rechte->getBerechtigungen($user); + +$datum_obj = new datum(); + +$studiengang = new studiengang($conn); +$studiengang->getAll('typ, kurzbz', false); + +echo ' + + PreInteressenten + + + + + + + '; + +if(!$rechte->isBerechtigt('admin') && + !$rechte->isBerechtigt('preinteressent') && + !$rechte->isBerechtigt('assistenz')) + die('Sie haben keine Berechtigung fuer diese Seite'); + +if(isset($_GET['id']) && is_numeric($_GET['id'])) + $id = $_GET['id']; +else + die('der Parameter id mit der Person_id muss uebergeben werden'); + +$person = new person($conn); + +if(!$person->load($id)) + die('Person wurde nicht gefunden'); + +//PERSON +echo '

Person

'; +echo "ID: $person->person_id
"; +echo "Name: $person->titelpre $person->nachname $person->vorname $person->titelpost
"; +echo "Geburtsdatum: ".$datum_obj->formatDatum($person->gebdatum,'d.m.Y')."
"; +echo "Geschlecht: ".$person->geschlecht."
"; + +$kontakt = new kontakt($conn); +$kontakt->load_pers($person->person_id); +echo '

Kontaktdaten

'; +echo ' + + + + + + + + + '; +foreach ($kontakt->result as $row) +{ + echo ''; + echo ""; + echo ""; + echo ""; + echo ""; + echo ''; +} +echo '
TypKontaktZustellungAnmerkung
$row->kontakttyp$row->kontakt".($row->zustellung?'Ja':'Nein')."$row->anmerkung
'; + +//Nationen laden +$nation_arr = array(); +$nation = new nation($conn); +$nation->getAll(); + +$nation_arr['']=''; +foreach($nation->nation as $row) + $nation_arr[$row->code]=$row->kurztext; + +$adresstyp_arr = array('h'=>'Hauptwohnsitz','n'=>'Nebenwohnsitz','f'=>'Firma'); + +// *** ADRESSEN *** +echo "

Adressen:

"; +echo ""; +$adresse_obj = new adresse($conn); +$adresse_obj->load_pers($person->person_id); + + +foreach ($adresse_obj->result as $row) +{ + echo ''; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + $firma=new firma($conn); + if($row->firma_id!='') + $firma->load($row->firma_id); + echo ""; +} +echo '
StrassePlzOrtGemeindeNationTypHeimatZustellungFirma
$row->strasse$row->plz$row->ort$row->gemeinde".$nation_arr[$row->nation]."".$adresstyp_arr[$row->typ]."".($row->heimatadresse?'Ja':'Nein')."".($row->zustelladresse?'Ja':'Nein')."".$firma->name."
'; +//PREINTERESSENT +function CutString($strVal, $limit) +{ + if(strlen($strVal) > $limit+3) + { + return substr($strVal, 0, $limit) . "..."; + } + else + { + return $strVal; + } +} + +$preinteressent = new preinteressent($conn); +$preinteressent->getPreinteressenten($person->person_id); +if(count($preinteressent->result)>0) +{ + echo '

Preinteressent

'; + echo ' + + + + + + + + + + + + + '; + foreach ($preinteressent->result as $row) + { + echo ''; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ''; + echo ''; + echo ''; + } + echo '
IDStudiensemesterErfassungsdatumAnmerkungAufmerksamDurchKontaktmedium (Woher)StudiengängeSchule
$row->preinteressent_id$row->studiensemester_kurzbz".$datum_obj->formatDatum($row->erfassungsdatum, 'd.m.Y')."".CutString($row->anmerkung, 50)."".$row->aufmerksamdurch_kurzbz."".$row->kontaktmedium_kurzbz."'; + $preinteressent1 = new preinteressent($conn); + $preinteressent1->loadZuordnungen($row->preinteressent_id); + + $stgs=''; + foreach ($preinteressent1->result as $row_zuordnung) + { + if($stgs!='') + $stgs.=', '; + $stgs.= $studiengang->kuerzel_arr[$row_zuordnung->studiengang_kz]."(".$preinteressent1->prioritaet_arr[$row_zuordnung->prioritaet].")"; + } + echo $stgs; + echo ''; + $firma = new firma($conn); + $firma->load($row->firma_id); + echo $firma->name; + echo '
'; +} + +$prestudent = new prestudent($conn); +$prestudent->getPrestudenten($person->person_id); +if(count($prestudent->result)>0) +{ + echo '

Pre-/Studenten

'; + echo ' + + + + + + + + + + '; + foreach ($prestudent->result as $row) + { + echo ''; + echo ""; + echo ""; + echo ""; + $uid=''; + $gruppe=''; + $qry ="SELECT * FROM public.tbl_student WHERE prestudent_id='$row->prestudent_id'"; + if($result = pg_query($conn, $qry)) + { + if(pg_num_rows($result)>1) + { + $uid='ACHTUNG: Es gibt mehrere Studenteneinträge die auf diesen Prestudenten zeigen!'; + } + else + { + if($row_std = pg_fetch_object($result)) + { + $uid = $row_std->student_uid; + $gruppe = $row_std->semester.$row_std->verband.$row_std->gruppe; + } + } + } + echo ""; + echo ""; + $prestudent1 = new prestudent($conn); + $prestudent1->getLastStatus($row->prestudent_id); + echo ""; + echo ''; + } + echo '
IDStudiengangReihungstestUIDGruppeStatus
$row->prestudent_id".$studiengang->kuerzel_arr[$row->studiengang_kz]."".($row->reihungstestangetreten?'Ja':'Nein')."$uid$gruppe$prestudent1->status_kurzbz ".($prestudent1->ausbildungssemester!=''?"($prestudent1->ausbildungssemester. Semester)":'')."
'; +} + +$qry = "SELECT * FROM campus.vw_mitarbeiter WHERE person_id='$person->person_id'"; +if($result = pg_query($conn, $qry)) +{ + if(pg_num_rows($result)>0) + { + echo '

Mitarbeiter

'; + echo ' + + + + + + + + + '; + while($row = pg_fetch_object($result)) + { + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + } + echo '
UIDKurzbzLektorFixangestelltTelefonklappe
$row->uid$row->kurzbz".($row->lektor=='t'?'Ja':'Nein')."".($row->fixangestellt=='t'?'Ja':'Nein')."$row->telefonklappe
'; + } +} +echo ''; +echo ''; ?> \ No newline at end of file diff --git a/vilesci/personen/preinteressent_detail.php b/vilesci/personen/preinteressent_detail.php index f7871736f..88bf2dd3c 100644 --- a/vilesci/personen/preinteressent_detail.php +++ b/vilesci/personen/preinteressent_detail.php @@ -1,905 +1,905 @@ -, - * Andreas Oesterreicher , - * Rudolf Hangl and - * Gerald Raab . - */ -require_once('../config.inc.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/benutzerberechtigung.class.php'); -require_once('../../include/studiengang.class.php'); -require_once('../../include/preinteressent.class.php'); -require_once('../../include/person.class.php'); -require_once('../../include/datum.class.php'); -require_once('../../include/prestudent.class.php'); -require_once('../../include/studiensemester.class.php'); -require_once('../../include/aufmerksamdurch.class.php'); -require_once('../../include/firma.class.php'); -require_once('../../include/nation.class.php'); -require_once('../../include/mail.class.php'); - -if(!$conn=pg_pconnect(CONN_STRING)) - die("Konnte Verbindung zur Datenbank nicht herstellen"); - -$user = get_uid(); - -$rechte = new benutzerberechtigung($conn); -$rechte->getBerechtigungen($user); - -$datum_obj = new datum(); -$stsem = new studiensemester($conn); -$stsem_aktuell = $stsem->getaktorNext(); - -$selection = (isset($_GET['selection'])?$_GET['selection']:'preinteressent'); - -//wenn der parameter type=firmenrequest uebergeben wird -//dann eine Liste aller firmen zurueckliefern die dem ueberbenen firmentyp entsprechen -if(isset($_GET['type']) && $_GET['type']=='firmenrequest') -{ - header('Content-Type: text/html; charset=UTF-8'); - $firmentyp_kurzbz = (isset($_GET['firmentyp_kurzbz'])?$_GET['firmentyp_kurzbz']:''); - $firma = new firma($conn); - $firma->getFirmen($firmentyp_kurzbz); - echo " -- keine Angabe --\n"; - foreach ($firma->result as $row) - echo $row->firma_id.' '.$row->name."\n"; - exit(); -} - -echo ' - - PreInteressenten - - - - - - - - '; - -if(!$rechte->isBerechtigt('admin', null, 'suid') && - !$rechte->isBerechtigt('preinteressent', null, 'suid')) - die('Sie haben keine Berechtigung fuer diese Seite'); - -if(isset($_GET['id']) && is_numeric($_GET['id'])) - $id = $_GET['id']; -else - die('

Details

'); - - -$preinteressent = new preinteressent($conn); - -if(!$preinteressent->load($id)) - die('Datensatz konnte nicht geladen werden'); - -$person = new person($conn); -if(!$person->load($preinteressent->person_id)) - die('Personen Datensatz konnte nicht geladen werden'); - -echo "

Details - $person->nachname $person->vorname

"; - -if(isset($_POST['save_preinteressent'])) -{ - //Speichern der Preinteressentdaten - - $preinteressent->studiensemester_kurzbz = $_POST['studiensemester_kurzbz']; - $preinteressent->aufmerksamdurch_kurzbz = $_POST['aufmerksamdurch_kurzbz']; - $preinteressent->firma_id = $_POST['firma']; - $preinteressent->erfassungsdatum = $_POST['erfassungsdatum']; - $preinteressent->einverstaendnis = isset($_POST['einverstaendnis']); - if(isset($_POST['absagedatum']) && $preinteressent->absagedatum=='') - $preinteressent->absagedatum = date('Y-m-d H:i:s'); - if(!isset($_POST['absagedatum'])) - $preinteressent->absagedatum = ''; - $preinteressent->anmerkung = $_POST['anmerkung']; - $preinteressent->updateamum = date('Y-m-d H:i:s'); - $preinteressent->updatevon = $user; - $preinteressent->maturajahr = $_POST['maturajahr']; - $preinteressent->infozusendung = $_POST['infozusendung']; - $preinteressent->kontaktmedium_kurzbz = $_POST['kontaktmedium_kurzbz']; - - if(!$preinteressent->save(false)) - echo "Fehler beim Speichern der Daten: $preinteressent->errormsg"; - else - echo "Daten wurden gespeichert"; -} - -if(isset($_POST['saveperson'])) -{ - //Speichern der Personendaten - - $person->staatsbuergerschaft = $_POST['staatsbuergerschaft']; - $person->geburtsnation = $_POST['geburtsnation']; - $person->sprache = $_POST['sprache']; - $person->anrede = $_POST['anrede']; - $person->titelpost = $_POST['titelpost']; - $person->titelpre = $_POST['titelpre']; - $person->nachname = $_POST['nachname']; - $person->vorname = $_POST['vorname']; - $person->vornamen = $_POST['vornamen']; - $person->gebdatum = $_POST['gebdatum']; - $person->gebort = $_POST['gebort']; - $person->gebzeit = $_POST['gebzeit']; - $person->anmerkungen = $_POST['anmerkungen']; - $person->homepage = $_POST['homepage']; - $person->svnr = $_POST['svnr']; - $person->ersatzkennzeichen = $_POST['ersatzkennzeichen']; - $person->familienstand = $_POST['familienstand']; - $person->geschlecht = $_POST['geschlecht']; - $person->anzahlkinder = $_POST['anzahlkinder']; - $person->aktiv = isset($_POST['aktiv']); - $person->updateamum = date('Y-m-d H:i:s'); - $person->updatevon = $user; - - if($person->save(false)) - { - echo 'Daten wurden erfolgreich gespeichert'; - } - else - { - echo "Fehler beim Speichern der Daten: $person->errormsg"; - } - -} -if(isset($_GET['action']) && $_GET['action']=='neuezuordnung') -{ - //speichern einer neue Studiengangszuordnung - $zuordnung = new preinteressent($conn); - - if(!$zuordnung->loadZuordnung($preinteressent->preinteressent_id, $_POST['studiengang_kz'])) - { - $zuordnung->preinteressent_id = $preinteressent->preinteressent_id; - $zuordnung->studiengang_kz = $_POST['studiengang_kz']; - $zuordnung->prioritaet = $_POST['prioritaet']; - $zuordnung->insertamum = date('Y-m-d H:i:s'); - $zuordnung->insertvon = $user; - - if(!$zuordnung->saveZuordnung(true)) - echo "Fehler beim Speichern: $zuordnung->errormsg"; - } - else - echo "Es besteht bereits eine Zuordnung zu diesem Studiengang"; -} - -if(isset($_GET['savezuordnung'])) -{ - //bestehende Zuordnung speichern - $zuordnung = new preinteressent($conn); - - if($zuordnung->loadZuordnung($preinteressent->preinteressent_id, $_GET['studiengang_kz'])) - { - $zuordnung->prioritaet = $_POST['prioritaet']; - $zuordnung->updateamum = date('Y-m-d H:i:s'); - $zuordnung->updatevon = $user; - - if(!$zuordnung->saveZuordnung(false)) - echo "Fehler beim Speichern der Daten: $zuordnung->errormsg"; - } - else - echo 'Fehler beim Speichern der Daten: Datensatz wurde nicht gefunden'; -} - -if(isset($_POST['freigabe'])) -{ - if($preinteressent->studiensemester_kurzbz!='') - { - //freigabe einer zuordnung - $zuordnung = new preinteressent($conn); - if($zuordnung->loadZuordnung($preinteressent->preinteressent_id, $_GET['studiengang_kz'])) - { - if($zuordnung->freigabedatum=='') - { - $zuordnung->freigabedatum = date('Y-m-d H:i:s'); - $zuordnung->updateamum = date('Y-m-d H:i:s'); - $zuordnung->updatevon = $user; - - if(!$zuordnung->saveZuordnung(false)) - echo "Fehler beim Speichern der Daten: $zuordnung->errormsg"; - else - { - //MAIL an Assistenz verschicken - $qry_person = "SELECT vorname, nachname - FROM public.tbl_person JOIN public.tbl_preinteressent USING(person_id) - WHERE preinteressent_id='$preinteressent->preinteressent_id'"; - $name=''; - if($result_person = pg_query($conn, $qry_person)) - if($row_person = pg_fetch_object($result_person)) - $name = $row_person->nachname.' '.$row_person->vorname; - $stg_obj = new studiengang($conn); - $stg_obj->load($zuordnung->studiengang_kz); - $to = $stg_obj->email; - //$to = 'oesi@technikum-wien.at'; - $message = "Dies ist eine automatische Mail! $stg_obj->email\n\n". - "Der Preinteressent $name wurde zur Übernahme freigegeben. \nSie können diesen ". - "im FAS unter 'Extras->Preinteressenten übernehmen' oder unter folgendem Link\n\n". - APP_ROOT."vilesci/personen/preinteressent_uebernahme.php?studiengang_kz=$zuordnung->studiengang_kz \n". - "ins FAS übertragen"; - $mail = new mail($to, 'vilesci@'.DOMAIN, 'Preinteressent Freigabe', $message); - if($mail->send()) - echo "
Freigabemail wurde an $to versendet"; - else - echo "
Fehler beim Versenden des Freigabemails an $to"; - } - } - else - { - echo 'Diese Zuteilung ist bereits freigegeben'; - } - } - else - echo 'Fehler beim Speichern der Daten: Datensatz wurde nicht gefunden'; - } - else - { - echo 'Es muss ein Studiensemester eingetragen sein damit diese Person freigegeben werden kann'; - } -} -if(isset($_POST['freigabe_rueckgaengig'])) -{ - //studiengangsfreigabe zurueckziehen - $zuordnung = new preinteressent($conn); - if($zuordnung->loadZuordnung($preinteressent->preinteressent_id, $_GET['studiengang_kz'])) - { - if($zuordnung->freigabedatum!='') - { - if($zuordnung->uebernahmedatum=='') - { - $zuordnung->freigabedatum = ''; - $zuordnung->updateamum = date('Y-m-d H:i:s'); - $zuordnung->updatevon = $user; - - if(!$zuordnung->saveZuordnung(false)) - echo "Fehler beim Speichern der Daten: $zuordnung->errormsg"; - } - else - { - echo 'Freigabe kann nicht Rückgängig gemacht werden da der Datensatz bereits übernommen wurde'; - } - } - else - { - echo 'Diese Zuteilung ist bereits freigegeben'; - } - } - else - echo 'Fehler beim Speichern der Daten: Datensatz wurde nicht gefunden'; -} -if(isset($_POST['zuordnungloeschen'])) -{ - //zuordnung zu einem studiengang loeschen - $zuordnung = new preinteressent($conn); - if($zuordnung->loadZuordnung($preinteressent->preinteressent_id, $_GET['studiengang_kz'])) - { - if($zuordnung->uebernahmedatum=='') - { - if(!$zuordnung->deleteZuordnung($preinteressent->preinteressent_id, $_GET['studiengang_kz'])) - echo "Fehler beim Löschen der Zuteilung: $zuordnung->errormsg"; - } - else - { - echo 'Diese Zuteilung wurde bereits uebernommen und kann daher nicht geloescht werden'; - } - } - else - echo 'Fehler beim Speichern der Daten: Datensatz wurde nicht gefunden'; -} - -// ----- TABS ------ -echo '

PreInteressent - '; -echo 'Studiengangszuordnung - '; -echo 'Personendaten

'; - -// ----- PERSON ----- -echo "
"; - -$disabled=true; -$qry = "SELECT count(*) as anzahl FROM ( - SELECT 1 FROM public.tbl_prestudent WHERE person_id='$person->person_id' UNION - SELECT 1 FROM public.tbl_benutzer WHERE person_id='$person->person_id') as foo"; -if($result = pg_query($conn, $qry)) -{ - if($row = pg_fetch_object($result)) - { - if($row->anzahl==0) - $disabled=false; - } -} - -echo "
preinteressent_id&selection=personendaten' method='POST'>"; -echo ""; - -//Anrede -echo ""; -//Titelpre -echo ""; -//Titelpost -echo ""; -echo ''; -echo ''; -//Nachname -echo ""; -//Vorname -echo ""; -//Vornamen -echo ""; -echo ''; -echo ''; -//Geburtsdatum -echo ""; -//Geburtsort -echo ""; -//Geburtszeit -echo ""; -echo ''; -//Staatsbuergerschaft -echo ""; -//Geburtsnation -echo ""; -//Sprache -echo "'; -echo ''; -//SVNR -echo ""; -//Ersatzkennzeichen -echo ""; -//Geschlecht -echo "'; -echo ''; - -//Anzahlkinder -echo ""; -//Aktiv -echo ""; -echo ''; -//Anmerkung -echo ""; -//Homepage -echo ""; -//Familienstand -echo "'; -echo ""; -echo "
Anrede:Titelpre:Titelpost:Gesamtübersicht über diese Person
Nachname*:Vorname:2. Vorname:'; -if(!$disabled) - echo "Kontaktdaten bearbeiten"; -else - echo "Kontaktdaten bearbeiten"; -echo '
Geburtsdatum:Geburtsort:Geburtszeit:
Staatsbürgerschaft:Geburtsnation:Sprache:
SVNR:ErsatzkennzeichenGeschlecht*
Anzahl der KinderAktiv:aktiv==false?'':'checked').">
Anmerkung:Homepage:Familienstand:
"; -echo "
"; - -// ----- PREINTERESSENT ----- -echo "
"; -echo "
preinteressent_id&selection=preinteressent' method='POST'>"; - -echo ''; - -//STUDIENSEMESTER -echo "'; - -//AUFMERKSAMDURCH -echo "'; - -echo ""; - -//Absagedatum -echo ""; - -echo ''; - -//Erfassungsdatum -echo ""; - -//Infozusendung -echo ""; - - -//Maturajahr -echo ""; - -//Einverstaendnis -echo ""; - -echo ''; - -$schule = new firma($conn); -if($preinteressent->firma_id!='') - $schule->load($preinteressent->firma_id); - /* -//SCHULTYP -echo "";*/ -echo ''; - -//SCHULE -echo ""; - -echo ''; - -//Anmerkung -echo ''; -echo ''; - -echo ''; -echo ' - - - - - - - - '; - -echo '
Studiensemester:"; - -echo 'Aufmerksam durch: "; -echo 'Kontaktmedium (Woher)Absageabsagedatum!=''?'checked':'')." name='absagedatum'>
Erfassungsdatum: (31.12.2008)Infozusendung amMaturajahrEinverständnis:einverstaendnis?'checked':'')." name='einverstaendnis'>
Schultyp: Schule ID:Schule: Schulverwaltung
Anmerkungen:'; -echo ""; -echo '
'; -echo '
'; -echo "
"; - -// ----- Studiengangszuordnung ----- -echo "
"; - -echo ''; -$zuordnung = new preinteressent($conn); -$zuordnung->loadZuordnungen($preinteressent->preinteressent_id); - -foreach ($zuordnung->result as $row) -{ - echo "preinteressent_id&studiengang_kz=$row->studiengang_kz&selection=studiengangszuordnung' method='POST'>"; - echo ''; - echo ''; - echo ''; - echo ''; - - echo ''; - echo ''; - echo ''; - echo ''; -} - -//Neuer Eintrag -echo "preinteressent_id&selection=studiengangszuordnung&action=neuezuordnung' method='POST'>"; -echo ''; -echo ''; -echo ''; -echo ''; - -echo ''; -echo ''; -echo ''; -echo ''; - -echo '
StudiengangPrioritätFreigabeÜbernahmeAktion
'; - $studiengang = new studiengang($conn); - $studiengang->load($row->studiengang_kz); - echo "$studiengang->kuerzel - $studiengang->bezeichnung"; - echo ''; - echo ''; - echo ''; - //Wenn noch nicht freigegeben - Freigabe Button anzeigen - if($row->freigabedatum=='') - { - $qry = "SELECT count(*) as anzahl FROM public.tbl_prestudent WHERE person_id='$person->person_id' AND studiengang_kz='$row->studiengang_kz'"; - if($result_check = pg_query($conn, $qry)) - { - if($row_check = pg_fetch_object($result_check)) - { - if($row_check->anzahl==0) - { - echo ''; - } - else - { - echo 'ist bereits im Studiengang erfasst'; - } - } - } - - } - else - { - if($row->uebernahmedatum=='') - { - //Wenn freigegeben aber noch nicht uebernommen -> zurueckziehen button anzeigen - echo ''; - } - else - { - //Wenn freigegeben und uebernommen -> Freigabedatum anzeigen - echo $datum_obj->formatDatum($row->freigabedatum, 'd.m.Y H:i:s'); - } - } - echo ''; - echo $datum_obj->formatDatum($row->uebernahmedatum, 'd.m.Y H:i:s'); - echo ''; - //echo ''; - echo ''; - if($row->uebernahmedatum=='') - echo ''; - echo '
'; -echo ''; -echo ''; -echo ''; -echo ''; -//Freigabedatum -echo ''; -//Uebernahmedatum -echo ''; -echo ''; -echo ''; - -echo '
'; -echo '
'; - -echo ''; -echo ''; +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Raab . + */ +require_once('../config.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/preinteressent.class.php'); +require_once('../../include/person.class.php'); +require_once('../../include/datum.class.php'); +require_once('../../include/prestudent.class.php'); +require_once('../../include/studiensemester.class.php'); +require_once('../../include/aufmerksamdurch.class.php'); +require_once('../../include/firma.class.php'); +require_once('../../include/nation.class.php'); +require_once('../../include/mail.class.php'); + +if(!$conn=pg_pconnect(CONN_STRING)) + die("Konnte Verbindung zur Datenbank nicht herstellen"); + +$user = get_uid(); + +$rechte = new benutzerberechtigung($conn); +$rechte->getBerechtigungen($user); + +$datum_obj = new datum(); +$stsem = new studiensemester($conn); +$stsem_aktuell = $stsem->getaktorNext(); + +$selection = (isset($_GET['selection'])?$_GET['selection']:'preinteressent'); + +//wenn der parameter type=firmenrequest uebergeben wird +//dann eine Liste aller firmen zurueckliefern die dem ueberbenen firmentyp entsprechen +if(isset($_GET['type']) && $_GET['type']=='firmenrequest') +{ + header('Content-Type: text/html; charset=UTF-8'); + $firmentyp_kurzbz = (isset($_GET['firmentyp_kurzbz'])?$_GET['firmentyp_kurzbz']:''); + $firma = new firma($conn); + $firma->getFirmen($firmentyp_kurzbz); + echo " -- keine Angabe --\n"; + foreach ($firma->result as $row) + echo $row->firma_id.' '.$row->name."\n"; + exit(); +} + +echo ' + + PreInteressenten + + + + + + + + '; + +if(!$rechte->isBerechtigt('admin', null, 'suid') && + !$rechte->isBerechtigt('preinteressent', null, 'suid')) + die('Sie haben keine Berechtigung fuer diese Seite'); + +if(isset($_GET['id']) && is_numeric($_GET['id'])) + $id = $_GET['id']; +else + die('

Details

'); + + +$preinteressent = new preinteressent($conn); + +if(!$preinteressent->load($id)) + die('Datensatz konnte nicht geladen werden'); + +$person = new person($conn); +if(!$person->load($preinteressent->person_id)) + die('Personen Datensatz konnte nicht geladen werden'); + +echo "

Details - $person->nachname $person->vorname

"; + +if(isset($_POST['save_preinteressent'])) +{ + //Speichern der Preinteressentdaten + + $preinteressent->studiensemester_kurzbz = $_POST['studiensemester_kurzbz']; + $preinteressent->aufmerksamdurch_kurzbz = $_POST['aufmerksamdurch_kurzbz']; + $preinteressent->firma_id = $_POST['firma']; + $preinteressent->erfassungsdatum = $_POST['erfassungsdatum']; + $preinteressent->einverstaendnis = isset($_POST['einverstaendnis']); + if(isset($_POST['absagedatum']) && $preinteressent->absagedatum=='') + $preinteressent->absagedatum = date('Y-m-d H:i:s'); + if(!isset($_POST['absagedatum'])) + $preinteressent->absagedatum = ''; + $preinteressent->anmerkung = $_POST['anmerkung']; + $preinteressent->updateamum = date('Y-m-d H:i:s'); + $preinteressent->updatevon = $user; + $preinteressent->maturajahr = $_POST['maturajahr']; + $preinteressent->infozusendung = $_POST['infozusendung']; + $preinteressent->kontaktmedium_kurzbz = $_POST['kontaktmedium_kurzbz']; + + if(!$preinteressent->save(false)) + echo "Fehler beim Speichern der Daten: $preinteressent->errormsg"; + else + echo "Daten wurden gespeichert"; +} + +if(isset($_POST['saveperson'])) +{ + //Speichern der Personendaten + + $person->staatsbuergerschaft = $_POST['staatsbuergerschaft']; + $person->geburtsnation = $_POST['geburtsnation']; + $person->sprache = $_POST['sprache']; + $person->anrede = $_POST['anrede']; + $person->titelpost = $_POST['titelpost']; + $person->titelpre = $_POST['titelpre']; + $person->nachname = $_POST['nachname']; + $person->vorname = $_POST['vorname']; + $person->vornamen = $_POST['vornamen']; + $person->gebdatum = $_POST['gebdatum']; + $person->gebort = $_POST['gebort']; + $person->gebzeit = $_POST['gebzeit']; + $person->anmerkungen = $_POST['anmerkungen']; + $person->homepage = $_POST['homepage']; + $person->svnr = $_POST['svnr']; + $person->ersatzkennzeichen = $_POST['ersatzkennzeichen']; + $person->familienstand = $_POST['familienstand']; + $person->geschlecht = $_POST['geschlecht']; + $person->anzahlkinder = $_POST['anzahlkinder']; + $person->aktiv = isset($_POST['aktiv']); + $person->updateamum = date('Y-m-d H:i:s'); + $person->updatevon = $user; + + if($person->save(false)) + { + echo 'Daten wurden erfolgreich gespeichert'; + } + else + { + echo "Fehler beim Speichern der Daten: $person->errormsg"; + } + +} +if(isset($_GET['action']) && $_GET['action']=='neuezuordnung') +{ + //speichern einer neue Studiengangszuordnung + $zuordnung = new preinteressent($conn); + + if(!$zuordnung->loadZuordnung($preinteressent->preinteressent_id, $_POST['studiengang_kz'])) + { + $zuordnung->preinteressent_id = $preinteressent->preinteressent_id; + $zuordnung->studiengang_kz = $_POST['studiengang_kz']; + $zuordnung->prioritaet = $_POST['prioritaet']; + $zuordnung->insertamum = date('Y-m-d H:i:s'); + $zuordnung->insertvon = $user; + + if(!$zuordnung->saveZuordnung(true)) + echo "Fehler beim Speichern: $zuordnung->errormsg"; + } + else + echo "Es besteht bereits eine Zuordnung zu diesem Studiengang"; +} + +if(isset($_GET['savezuordnung'])) +{ + //bestehende Zuordnung speichern + $zuordnung = new preinteressent($conn); + + if($zuordnung->loadZuordnung($preinteressent->preinteressent_id, $_GET['studiengang_kz'])) + { + $zuordnung->prioritaet = $_POST['prioritaet']; + $zuordnung->updateamum = date('Y-m-d H:i:s'); + $zuordnung->updatevon = $user; + + if(!$zuordnung->saveZuordnung(false)) + echo "Fehler beim Speichern der Daten: $zuordnung->errormsg"; + } + else + echo 'Fehler beim Speichern der Daten: Datensatz wurde nicht gefunden'; +} + +if(isset($_POST['freigabe'])) +{ + if($preinteressent->studiensemester_kurzbz!='') + { + //freigabe einer zuordnung + $zuordnung = new preinteressent($conn); + if($zuordnung->loadZuordnung($preinteressent->preinteressent_id, $_GET['studiengang_kz'])) + { + if($zuordnung->freigabedatum=='') + { + $zuordnung->freigabedatum = date('Y-m-d H:i:s'); + $zuordnung->updateamum = date('Y-m-d H:i:s'); + $zuordnung->updatevon = $user; + + if(!$zuordnung->saveZuordnung(false)) + echo "Fehler beim Speichern der Daten: $zuordnung->errormsg"; + else + { + //MAIL an Assistenz verschicken + $qry_person = "SELECT vorname, nachname + FROM public.tbl_person JOIN public.tbl_preinteressent USING(person_id) + WHERE preinteressent_id='$preinteressent->preinteressent_id'"; + $name=''; + if($result_person = pg_query($conn, $qry_person)) + if($row_person = pg_fetch_object($result_person)) + $name = $row_person->nachname.' '.$row_person->vorname; + $stg_obj = new studiengang($conn); + $stg_obj->load($zuordnung->studiengang_kz); + $to = $stg_obj->email; + //$to = 'oesi@technikum-wien.at'; + $message = "Dies ist eine automatische Mail! $stg_obj->email\n\n". + "Der Preinteressent $name wurde zur Übernahme freigegeben. \nSie können diesen ". + "im FAS unter 'Extras->Preinteressenten übernehmen' oder unter folgendem Link\n\n". + APP_ROOT."vilesci/personen/preinteressent_uebernahme.php?studiengang_kz=$zuordnung->studiengang_kz \n". + "ins FAS übertragen"; + $mail = new mail($to, 'vilesci@'.DOMAIN, 'Preinteressent Freigabe', $message); + if($mail->send()) + echo "
Freigabemail wurde an $to versendet"; + else + echo "
Fehler beim Versenden des Freigabemails an $to"; + } + } + else + { + echo 'Diese Zuteilung ist bereits freigegeben'; + } + } + else + echo 'Fehler beim Speichern der Daten: Datensatz wurde nicht gefunden'; + } + else + { + echo 'Es muss ein Studiensemester eingetragen sein damit diese Person freigegeben werden kann'; + } +} +if(isset($_POST['freigabe_rueckgaengig'])) +{ + //studiengangsfreigabe zurueckziehen + $zuordnung = new preinteressent($conn); + if($zuordnung->loadZuordnung($preinteressent->preinteressent_id, $_GET['studiengang_kz'])) + { + if($zuordnung->freigabedatum!='') + { + if($zuordnung->uebernahmedatum=='') + { + $zuordnung->freigabedatum = ''; + $zuordnung->updateamum = date('Y-m-d H:i:s'); + $zuordnung->updatevon = $user; + + if(!$zuordnung->saveZuordnung(false)) + echo "Fehler beim Speichern der Daten: $zuordnung->errormsg"; + } + else + { + echo 'Freigabe kann nicht Rückgängig gemacht werden da der Datensatz bereits übernommen wurde'; + } + } + else + { + echo 'Diese Zuteilung ist bereits freigegeben'; + } + } + else + echo 'Fehler beim Speichern der Daten: Datensatz wurde nicht gefunden'; +} +if(isset($_POST['zuordnungloeschen'])) +{ + //zuordnung zu einem studiengang loeschen + $zuordnung = new preinteressent($conn); + if($zuordnung->loadZuordnung($preinteressent->preinteressent_id, $_GET['studiengang_kz'])) + { + if($zuordnung->uebernahmedatum=='') + { + if(!$zuordnung->deleteZuordnung($preinteressent->preinteressent_id, $_GET['studiengang_kz'])) + echo "Fehler beim Löschen der Zuteilung: $zuordnung->errormsg"; + } + else + { + echo 'Diese Zuteilung wurde bereits uebernommen und kann daher nicht geloescht werden'; + } + } + else + echo 'Fehler beim Speichern der Daten: Datensatz wurde nicht gefunden'; +} + +// ----- TABS ------ +echo '

PreInteressent - '; +echo 'Studiengangszuordnung - '; +echo 'Personendaten

'; + +// ----- PERSON ----- +echo "
"; + +$disabled=true; +$qry = "SELECT count(*) as anzahl FROM ( + SELECT 1 FROM public.tbl_prestudent WHERE person_id='$person->person_id' UNION + SELECT 1 FROM public.tbl_benutzer WHERE person_id='$person->person_id') as foo"; +if($result = pg_query($conn, $qry)) +{ + if($row = pg_fetch_object($result)) + { + if($row->anzahl==0) + $disabled=false; + } +} + +echo "
preinteressent_id&selection=personendaten' method='POST'>"; +echo ""; + +//Anrede +echo ""; +//Titelpre +echo ""; +//Titelpost +echo ""; +echo ''; +echo ''; +//Nachname +echo ""; +//Vorname +echo ""; +//Vornamen +echo ""; +echo ''; +echo ''; +//Geburtsdatum +echo ""; +//Geburtsort +echo ""; +//Geburtszeit +echo ""; +echo ''; +//Staatsbuergerschaft +echo ""; +//Geburtsnation +echo ""; +//Sprache +echo "'; +echo ''; +//SVNR +echo ""; +//Ersatzkennzeichen +echo ""; +//Geschlecht +echo "'; +echo ''; + +//Anzahlkinder +echo ""; +//Aktiv +echo ""; +echo ''; +//Anmerkung +echo ""; +//Homepage +echo ""; +//Familienstand +echo "'; +echo ""; +echo "
Anrede:Titelpre:Titelpost:Gesamtübersicht über diese Person
Nachname*:Vorname:2. Vorname:'; +if(!$disabled) + echo "Kontaktdaten bearbeiten"; +else + echo "Kontaktdaten bearbeiten"; +echo '
Geburtsdatum:Geburtsort:Geburtszeit:
Staatsbürgerschaft:Geburtsnation:Sprache:
SVNR:ErsatzkennzeichenGeschlecht*
Anzahl der KinderAktiv:aktiv==false?'':'checked').">
Anmerkung:Homepage:Familienstand:
"; +echo "
"; + +// ----- PREINTERESSENT ----- +echo "
"; +echo "
preinteressent_id&selection=preinteressent' method='POST'>"; + +echo ''; + +//STUDIENSEMESTER +echo "'; + +//AUFMERKSAMDURCH +echo "'; + +echo ""; + +//Absagedatum +echo ""; + +echo ''; + +//Erfassungsdatum +echo ""; + +//Infozusendung +echo ""; + + +//Maturajahr +echo ""; + +//Einverstaendnis +echo ""; + +echo ''; + +$schule = new firma($conn); +if($preinteressent->firma_id!='') + $schule->load($preinteressent->firma_id); + /* +//SCHULTYP +echo "";*/ +echo ''; + +//SCHULE +echo ""; + +echo ''; + +//Anmerkung +echo ''; +echo ''; + +echo ''; +echo ' + + + + + + + + '; + +echo '
Studiensemester:"; + +echo 'Aufmerksam durch: "; +echo 'Kontaktmedium (Woher)Absageabsagedatum!=''?'checked':'')." name='absagedatum'>
Erfassungsdatum: (31.12.2008)Infozusendung amMaturajahrEinverständnis:einverstaendnis?'checked':'')." name='einverstaendnis'>
Schultyp: Schule ID:Schule: Schulverwaltung
Anmerkungen:'; +echo ""; +echo '
'; +echo '
'; +echo "
"; + +// ----- Studiengangszuordnung ----- +echo "
"; + +echo ''; +$zuordnung = new preinteressent($conn); +$zuordnung->loadZuordnungen($preinteressent->preinteressent_id); + +foreach ($zuordnung->result as $row) +{ + echo "preinteressent_id&studiengang_kz=$row->studiengang_kz&selection=studiengangszuordnung' method='POST'>"; + echo ''; + echo ''; + echo ''; + echo ''; + + echo ''; + echo ''; + echo ''; + echo ''; +} + +//Neuer Eintrag +echo "preinteressent_id&selection=studiengangszuordnung&action=neuezuordnung' method='POST'>"; +echo ''; +echo ''; +echo ''; +echo ''; + +echo ''; +echo ''; +echo ''; +echo ''; + +echo '
StudiengangPrioritätFreigabeÜbernahmeAktion
'; + $studiengang = new studiengang($conn); + $studiengang->load($row->studiengang_kz); + echo "$studiengang->kuerzel - $studiengang->bezeichnung"; + echo ''; + echo ''; + echo ''; + //Wenn noch nicht freigegeben - Freigabe Button anzeigen + if($row->freigabedatum=='') + { + $qry = "SELECT count(*) as anzahl FROM public.tbl_prestudent WHERE person_id='$person->person_id' AND studiengang_kz='$row->studiengang_kz'"; + if($result_check = pg_query($conn, $qry)) + { + if($row_check = pg_fetch_object($result_check)) + { + if($row_check->anzahl==0) + { + echo ''; + } + else + { + echo 'ist bereits im Studiengang erfasst'; + } + } + } + + } + else + { + if($row->uebernahmedatum=='') + { + //Wenn freigegeben aber noch nicht uebernommen -> zurueckziehen button anzeigen + echo ''; + } + else + { + //Wenn freigegeben und uebernommen -> Freigabedatum anzeigen + echo $datum_obj->formatDatum($row->freigabedatum, 'd.m.Y H:i:s'); + } + } + echo ''; + echo $datum_obj->formatDatum($row->uebernahmedatum, 'd.m.Y H:i:s'); + echo ''; + //echo ''; + echo ''; + if($row->uebernahmedatum=='') + echo ''; + echo '
'; +echo ''; +echo ''; +echo ''; +echo ''; +//Freigabedatum +echo ''; +//Uebernahmedatum +echo ''; +echo ''; +echo ''; + +echo '
'; +echo '
'; + +echo ''; +echo ''; ?> \ No newline at end of file diff --git a/vilesci/personen/preinteressent_uebersicht.php b/vilesci/personen/preinteressent_uebersicht.php index f2e19e521..fa791b261 100644 --- a/vilesci/personen/preinteressent_uebersicht.php +++ b/vilesci/personen/preinteressent_uebersicht.php @@ -1,456 +1,456 @@ -, - * Andreas Oesterreicher , - * Rudolf Hangl and - * Gerald Raab . - */ -require_once('../config.inc.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/benutzerberechtigung.class.php'); -require_once('../../include/studiengang.class.php'); -require_once('../../include/preinteressent.class.php'); -require_once('../../include/person.class.php'); -require_once('../../include/datum.class.php'); -require_once('../../include/prestudent.class.php'); -require_once('../../include/studiensemester.class.php'); -require_once('../../include/log.class.php'); -require_once('../../include/mail.class.php'); - -if(!$conn=pg_pconnect(CONN_STRING)) - die("Konnte Verbindung zur Datenbank nicht herstellen"); - -$user = get_uid(); - -$rechte = new benutzerberechtigung($conn); -$rechte->getBerechtigungen($user); - -$datum_obj = new datum(); -$stsem = new studiensemester($conn); -$stsem_aktuell = $stsem->getaktorNext(); - -if(isset($_GET['studiengang_kz'])) - $studiengang_kz = $_GET['studiengang_kz']; -else - $studiengang_kz = ''; - -if(isset($_GET['studiensemester_kurzbz'])) - $studiensemester_kurzbz = $_GET['studiensemester_kurzbz']; -else - $studiensemester_kurzbz = '-1'; //$stsem_aktuell; - -if(isset($_GET['bool_nichtfreigegeben'])) - $bool_nichtfreigegeben = true; -else - $bool_nichtfreigegeben = null; - -if(isset($_GET['bool_uebernommen'])) - $bool_uebernommen = true; -else - $bool_uebernommen = null; - -if(isset($_GET['bool_absage'])) - $bool_absage = true; -else - $bool_absage = false; - -if(isset($_GET['filter'])) - $filter = $_GET['filter']; -else - $filter = ''; - -//Wenn auf Anzeigen geklickt wird, das Suchfeld nicht beruecksichtigen -if(isset($_GET['anzeigen'])) - $filter=''; - -if(isset($_GET['kontaktmedium'])) -{ - $kontaktmedium = $_GET['kontaktmedium']; - if($kontaktmedium=='') - $kontaktmedium=null; -} -else - $kontaktmedium = null; -if(isset($_GET['erfassungsdatum_bis']) && $_GET['erfassungsdatum_bis']!='') - $erfassungsdatum_bis = $_GET['erfassungsdatum_bis']; -else - $erfassungsdatum_bis=null; - -if(isset($_GET['erfassungsdatum_von']) && $_GET['erfassungsdatum_von']!='') - $erfassungsdatum_von = $_GET['erfassungsdatum_von']; -else - $erfassungsdatum_von=null; - -//Doctype muss strict sein da sonst im IE der DIV nicht am oberen Rand fixiert ist -echo ' - - - PreInteressenten - - - - - - - -
-

PreInteressenten

- '; - -if(!$rechte->isBerechtigt('admin', null, 'suid') && - !$rechte->isBerechtigt('preinteressent', null, 'suid')) - die('Sie haben keine Berechtigung fuer diese Seite'); - -//DROP DOWNs anzeigen -echo "'; -echo '
"; -echo ''; -echo ''; -echo '
Studiensemester: '; - -echo '   Studiengang: '; -echo ' nicht freigegeben'; -echo ' Absage
'; -echo ' freigegeben aber nicht übernommen
'; -echo '   
Kontaktmedium: '; -echo 'Erf. von '; -echo 'Erf. bis '; -echo '
'; -//echo '
'; -echo '
'; -//echo "
"; -echo " "; -echo ""; -echo '
neuen Preinteressenten anlegen
'; - -//FREIGEBEN / LOESCHEN -if(isset($_GET['action'])) -{ - if($_GET['action']=='freigabe') - { - $preinteressent = new preinteressent($conn); - $preinteressent->load($_GET['id']); - - if($preinteressent->studiensemester_kurzbz!='') - { - $errormsg = ''; - $anzahl_freigegeben=0; - $anzahl_fehler=0; - $qry = "SELECT * FROM public.tbl_preinteressentstudiengang - WHERE preinteressent_id='".addslashes($_GET['id'])."' - AND prioritaet = (SELECT max(prioritaet) - FROM public.tbl_preinteressentstudiengang - WHERE preinteressent_id='".addslashes($_GET['id'])."') - AND freigabedatum is null"; - //Zuordnungen holen die noch nicht freigegeben wurden und die hoechste Prioritaet haben - if($result = pg_query($conn, $qry)) - { - while($row = pg_fetch_object($result)) - { - //Nur diejenigen nehmen die noch nicht als Prestudent vorhanden sind - $qry = "SELECT count(*) as anzahl FROM public.tbl_preinteressent JOIN public.tbl_prestudent USING(person_id) WHERE preinteressent_id='$row->preinteressent_id' AND studiengang_kz='$row->studiengang_kz'"; - if($result_std = pg_query($conn, $qry)) - { - if($row_std = pg_fetch_object($result_std)) - { - if($row_std->anzahl==0) - { - $preinteressent = new preinteressent($conn); - $preinteressent->loadZuordnung($row->preinteressent_id, $row->studiengang_kz); - - $preinteressent->freigabedatum = date('Y-m-d H:i:s'); - $preinteressent->updateamum = date('Y-m-d H:i:s'); - $preinteressent->updatevon = $user; - - if($preinteressent->saveZuordnung(false)) - { - //MAIL an Assistenz verschicken - $qry_person = "SELECT vorname, nachname - FROM public.tbl_person JOIN public.tbl_preinteressent USING(person_id) - WHERE preinteressent_id='$row->preinteressent_id'"; - $name=''; - if($result_person = pg_query($conn, $qry_person)) - if($row_person = pg_fetch_object($result_person)) - $name = $row_person->nachname.' '.$row_person->vorname; - $stg_obj = new studiengang($conn); - $stg_obj->load($row->studiengang_kz); - $to = $stg_obj->email; - //$to = 'oesi@technikum-wien.at'; - $message = "Dies ist eine automatische Mail! $stg_obj->email\n\n". - "Der Preinteressent $name wurde zur Übernahme freigegeben. \nSie können diesen ". - "im FAS unter 'Extras->Preinteressenten übernehmen' oder unter folgendem Link\n\n". - APP_ROOT."vilesci/personen/preinteressent_uebernahme.php?studiengang_kz=$row->studiengang_kz \n". - "ins FAS übertragen"; - $mail = new mail($to, 'vilesci@'.DOMAIN, 'Preinteressent Freigabe', $message); - if($mail->send()) - echo "
Freigabemail wurde an $to versendet"; - else - echo "
Fehler beim Versenden des Freigabemails an $to"; - - $anzahl_freigegeben++; - } - else - { - $anzahl_fehler++; - $errormsg.="
Fehler bei der Freigabe von ".$studiengang->kuerzel_arr[$row->studiengang_kz].": $preinteressent->errormsg"; - } - } - } - } - } - } - echo "
Es wurden $anzahl_freigegeben Studiengänge freigegeben
"; - echo ""; - if($anzahl_fehler>0) - echo "Es sind $anzahl_fehler Fehler aufgetreten: $errormsg"; - echo '
'; - } - else - { - echo 'Es können nur Preinteressenten freigegeben werden, bei denen ein Studiensemester angegeben wurde'; - } - } - elseif($_GET['action']=='loeschen') - { - //Loeschen eines Preinteressenten - $preinteressent = new preinteressent($conn); - if($preinteressent->load($_GET['id'])) - { - if($preinteressent->delete($preinteressent->preinteressent_id)) - { - echo '
Datensatz wurde geloescht'; - } - else - { - echo "
Fehler beim Löschen: $preinteressent->errormsg"; - } - } - else - { - echo "
Fehler beim Laden des Datensatzes. Daten wurden NICHT gelöscht"; - } - } - -} - -//Datum pruefen -if($erfassungsdatum_bis!='' && !$datum_obj->formatDatum($erfassungsdatum_bis)) - die('Erf.bis Datum ist ungueltig'); -if($erfassungsdatum_von!='' && !$datum_obj->formatDatum($erfassungsdatum_von)) - die('Erf.von Datum ist ungueltig'); - -$preinteressent = new preinteressent($conn); -//if($filter=='') -if($datum_obj->formatDatum($filter, 'Y-m-d', true)) - $filter = $datum_obj->formatDatum($filter, 'Y-m-d', true); -$preinteressent->loadPreinteressenten($studiengang_kz, ($studiensemester_kurzbz!='-1'?$studiensemester_kurzbz:null), $filter, $bool_nichtfreigegeben, $bool_uebernommen, $kontaktmedium, $bool_absage, $erfassungsdatum_von, $erfassungsdatum_bis); -/*else -{ - //Falls im Filter-Feld ein Datum steht dann wird dieses umformatiert - if($datum_obj->formatDatum($filter, 'Y-m-d')) - $filter = $datum_obj->formatDatum($filter, 'Y-m-d'); - $preinteressent->loadPreinteressenten(null, null, $filter); -}*/ -$stg_obj = new studiengang($conn); -$stg_obj->getAll('typ, kurzbz', false); - -function CutString($strVal, $limit) -{ - if(strlen($strVal) > $limit+3) - { - return substr($strVal, 0, $limit) . "..."; - } - else - { - return $strVal; - } -} -echo 'Anzahl: '.count($preinteressent->result); -echo '
'; // Fixiertes Div mit den Filtern -echo '






'; - -//TABELLE ANZEIGEN -echo '
'; -echo " - - - - - - - - - - - - - - - - - "; - -foreach ($preinteressent->result as $row) -{ - echo ''; - $person = new person($conn); - $person->load($row->person_id); - echo ""; - echo ""; - echo ""; - //echo ""; - echo ""; - echo ""; - - echo ""; - //EMail - $qry = "SELECT kontakt FROM public.tbl_kontakt WHERE person_id='$person->person_id' AND kontakttyp='email' - ORDER BY zustellung DESC LIMIT 1"; - echo ''; - //Status - $status=''; - $prestudent = new prestudent($conn); - if($prestudent->getPrestudenten($row->person_id)) - { - foreach ($prestudent->result as $prestd) - { - if($status!='') - $status.=', '; - $prestudent1 = new prestudent($conn); - $prestudent1->getLastStatus($prestd->prestudent_id); - $status.= $prestudent1->status_kurzbz.' ('.$stg_obj->kuerzel_arr[$prestd->studiengang_kz].')'; - } - } - if($status=='') - $status='Preinteressent'; - echo ""; - - //Zuordnungen laden und freigegebene Eintraege farblich markieren - $freigaben = new preinteressent($conn); - $freigaben->loadZuordnungen($row->preinteressent_id); - $freigabe=''; - $uebernahme=''; - foreach ($freigaben->result as $row_freigaben) - { - //auch jene als freigegeben anzeigen die schon im studiengang angelegt sind - //obwohl der preinteressent nicht freigegeben wurde. (bewerbung direkt beim studiengang) - $qry = "SELECT prestudent_id FROM public.tbl_prestudent WHERE person_id='$row->person_id' AND studiengang_kz='$row_freigaben->studiengang_kz'"; - $result_chkstg = pg_query($conn, $qry); - - if($row_freigaben->freigabedatum!='' || pg_num_rows($result_chkstg)>0) - $freigabe.=""; - else - $freigabe.=""; - $freigabe.=$stg_obj->kuerzel_arr[$row_freigaben->studiengang_kz]."($row_freigaben->prioritaet)"; - $freigabe.=' '; - - if($row_freigaben->freigabedatum!='') - { - if($row_freigaben->uebernahmedatum!='') - $uebernahme.=""; - else - $uebernahme.=""; - $uebernahme.=$stg_obj->kuerzel_arr[$row_freigaben->studiengang_kz]; - $uebernahme.=' '; - } - } - - echo ""; - echo ""; - echo ""; - echo ''; - echo ''; -} -echo '
IDNachnameVornameStSemErf.datumGE-MailStatusFreigabeÜbernahmeAnmerkungAktion
$person->person_id$person->nachname$person->vorname".$datum_obj->convertISODate($person->gebdatum)."$row->studiensemester_kurzbz$row->erfassungsdatum".$datum_obj->formatDatum($row->erfassungsdatum,'d.m.Y')."$person->geschlecht'; - if($result_mail = pg_query($conn, $qry)) - { - if($row_mail = pg_fetch_object($result_mail)) - { - echo ''.$row_mail->kontakt.''; - } - } - echo '$status$freigabe$uebernahme".htmlentities(CutString($row->anmerkung, 20),ENT_QUOTES)."'; - echo " person_id','_blank')\" value='Gesamtübersicht' title='Zeigt die Details dieser Person an'>"; - echo " "; - echo " preinteressent_id&action=freigabe&studiensemester_kurzbz=$studiensemester_kurzbz&studiengang_kz=$studiengang_kz&filter=$filter'\" value='Freigeben' title='Gibt alle Studiengänge mit der höchsten Priorität frei'>"; - echo " preinteressent_id&action=loeschen&studiensemester_kurzbz=$studiensemester_kurzbz&studiengang_kz=$studiengang_kz&filter=$filter'}\" value='Löschen' title='Löscht diesen Preinteressenten'>"; - echo '

'; - -echo ''; -echo ''; +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Raab . + */ +require_once('../config.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/benutzerberechtigung.class.php'); +require_once('../../include/studiengang.class.php'); +require_once('../../include/preinteressent.class.php'); +require_once('../../include/person.class.php'); +require_once('../../include/datum.class.php'); +require_once('../../include/prestudent.class.php'); +require_once('../../include/studiensemester.class.php'); +require_once('../../include/log.class.php'); +require_once('../../include/mail.class.php'); + +if(!$conn=pg_pconnect(CONN_STRING)) + die("Konnte Verbindung zur Datenbank nicht herstellen"); + +$user = get_uid(); + +$rechte = new benutzerberechtigung($conn); +$rechte->getBerechtigungen($user); + +$datum_obj = new datum(); +$stsem = new studiensemester($conn); +$stsem_aktuell = $stsem->getaktorNext(); + +if(isset($_GET['studiengang_kz'])) + $studiengang_kz = $_GET['studiengang_kz']; +else + $studiengang_kz = ''; + +if(isset($_GET['studiensemester_kurzbz'])) + $studiensemester_kurzbz = $_GET['studiensemester_kurzbz']; +else + $studiensemester_kurzbz = '-1'; //$stsem_aktuell; + +if(isset($_GET['bool_nichtfreigegeben'])) + $bool_nichtfreigegeben = true; +else + $bool_nichtfreigegeben = null; + +if(isset($_GET['bool_uebernommen'])) + $bool_uebernommen = true; +else + $bool_uebernommen = null; + +if(isset($_GET['bool_absage'])) + $bool_absage = true; +else + $bool_absage = false; + +if(isset($_GET['filter'])) + $filter = $_GET['filter']; +else + $filter = ''; + +//Wenn auf Anzeigen geklickt wird, das Suchfeld nicht beruecksichtigen +if(isset($_GET['anzeigen'])) + $filter=''; + +if(isset($_GET['kontaktmedium'])) +{ + $kontaktmedium = $_GET['kontaktmedium']; + if($kontaktmedium=='') + $kontaktmedium=null; +} +else + $kontaktmedium = null; +if(isset($_GET['erfassungsdatum_bis']) && $_GET['erfassungsdatum_bis']!='') + $erfassungsdatum_bis = $_GET['erfassungsdatum_bis']; +else + $erfassungsdatum_bis=null; + +if(isset($_GET['erfassungsdatum_von']) && $_GET['erfassungsdatum_von']!='') + $erfassungsdatum_von = $_GET['erfassungsdatum_von']; +else + $erfassungsdatum_von=null; + +//Doctype muss strict sein da sonst im IE der DIV nicht am oberen Rand fixiert ist +echo ' + + + PreInteressenten + + + + + + + +
+

PreInteressenten

+ '; + +if(!$rechte->isBerechtigt('admin', null, 'suid') && + !$rechte->isBerechtigt('preinteressent', null, 'suid')) + die('Sie haben keine Berechtigung fuer diese Seite'); + +//DROP DOWNs anzeigen +echo "'; +echo '
"; +echo ''; +echo ''; +echo '
Studiensemester: '; + +echo '   Studiengang: '; +echo ' nicht freigegeben'; +echo ' Absage
'; +echo ' freigegeben aber nicht übernommen
'; +echo '   
Kontaktmedium: '; +echo 'Erf. von '; +echo 'Erf. bis '; +echo '
'; +//echo '
'; +echo '
'; +//echo "
"; +echo " "; +echo ""; +echo '
neuen Preinteressenten anlegen
'; + +//FREIGEBEN / LOESCHEN +if(isset($_GET['action'])) +{ + if($_GET['action']=='freigabe') + { + $preinteressent = new preinteressent($conn); + $preinteressent->load($_GET['id']); + + if($preinteressent->studiensemester_kurzbz!='') + { + $errormsg = ''; + $anzahl_freigegeben=0; + $anzahl_fehler=0; + $qry = "SELECT * FROM public.tbl_preinteressentstudiengang + WHERE preinteressent_id='".addslashes($_GET['id'])."' + AND prioritaet = (SELECT max(prioritaet) + FROM public.tbl_preinteressentstudiengang + WHERE preinteressent_id='".addslashes($_GET['id'])."') + AND freigabedatum is null"; + //Zuordnungen holen die noch nicht freigegeben wurden und die hoechste Prioritaet haben + if($result = pg_query($conn, $qry)) + { + while($row = pg_fetch_object($result)) + { + //Nur diejenigen nehmen die noch nicht als Prestudent vorhanden sind + $qry = "SELECT count(*) as anzahl FROM public.tbl_preinteressent JOIN public.tbl_prestudent USING(person_id) WHERE preinteressent_id='$row->preinteressent_id' AND studiengang_kz='$row->studiengang_kz'"; + if($result_std = pg_query($conn, $qry)) + { + if($row_std = pg_fetch_object($result_std)) + { + if($row_std->anzahl==0) + { + $preinteressent = new preinteressent($conn); + $preinteressent->loadZuordnung($row->preinteressent_id, $row->studiengang_kz); + + $preinteressent->freigabedatum = date('Y-m-d H:i:s'); + $preinteressent->updateamum = date('Y-m-d H:i:s'); + $preinteressent->updatevon = $user; + + if($preinteressent->saveZuordnung(false)) + { + //MAIL an Assistenz verschicken + $qry_person = "SELECT vorname, nachname + FROM public.tbl_person JOIN public.tbl_preinteressent USING(person_id) + WHERE preinteressent_id='$row->preinteressent_id'"; + $name=''; + if($result_person = pg_query($conn, $qry_person)) + if($row_person = pg_fetch_object($result_person)) + $name = $row_person->nachname.' '.$row_person->vorname; + $stg_obj = new studiengang($conn); + $stg_obj->load($row->studiengang_kz); + $to = $stg_obj->email; + //$to = 'oesi@technikum-wien.at'; + $message = "Dies ist eine automatische Mail! $stg_obj->email\n\n". + "Der Preinteressent $name wurde zur Übernahme freigegeben. \nSie können diesen ". + "im FAS unter 'Extras->Preinteressenten übernehmen' oder unter folgendem Link\n\n". + APP_ROOT."vilesci/personen/preinteressent_uebernahme.php?studiengang_kz=$row->studiengang_kz \n". + "ins FAS übertragen"; + $mail = new mail($to, 'vilesci@'.DOMAIN, 'Preinteressent Freigabe', $message); + if($mail->send()) + echo "
Freigabemail wurde an $to versendet"; + else + echo "
Fehler beim Versenden des Freigabemails an $to"; + + $anzahl_freigegeben++; + } + else + { + $anzahl_fehler++; + $errormsg.="
Fehler bei der Freigabe von ".$studiengang->kuerzel_arr[$row->studiengang_kz].": $preinteressent->errormsg"; + } + } + } + } + } + } + echo "
Es wurden $anzahl_freigegeben Studiengänge freigegeben
"; + echo ""; + if($anzahl_fehler>0) + echo "Es sind $anzahl_fehler Fehler aufgetreten: $errormsg"; + echo '
'; + } + else + { + echo 'Es können nur Preinteressenten freigegeben werden, bei denen ein Studiensemester angegeben wurde'; + } + } + elseif($_GET['action']=='loeschen') + { + //Loeschen eines Preinteressenten + $preinteressent = new preinteressent($conn); + if($preinteressent->load($_GET['id'])) + { + if($preinteressent->delete($preinteressent->preinteressent_id)) + { + echo '
Datensatz wurde geloescht'; + } + else + { + echo "
Fehler beim Löschen: $preinteressent->errormsg"; + } + } + else + { + echo "
Fehler beim Laden des Datensatzes. Daten wurden NICHT gelöscht"; + } + } + +} + +//Datum pruefen +if($erfassungsdatum_bis!='' && !$datum_obj->formatDatum($erfassungsdatum_bis)) + die('Erf.bis Datum ist ungueltig'); +if($erfassungsdatum_von!='' && !$datum_obj->formatDatum($erfassungsdatum_von)) + die('Erf.von Datum ist ungueltig'); + +$preinteressent = new preinteressent($conn); +//if($filter=='') +if($datum_obj->formatDatum($filter, 'Y-m-d', true)) + $filter = $datum_obj->formatDatum($filter, 'Y-m-d', true); +$preinteressent->loadPreinteressenten($studiengang_kz, ($studiensemester_kurzbz!='-1'?$studiensemester_kurzbz:null), $filter, $bool_nichtfreigegeben, $bool_uebernommen, $kontaktmedium, $bool_absage, $erfassungsdatum_von, $erfassungsdatum_bis); +/*else +{ + //Falls im Filter-Feld ein Datum steht dann wird dieses umformatiert + if($datum_obj->formatDatum($filter, 'Y-m-d')) + $filter = $datum_obj->formatDatum($filter, 'Y-m-d'); + $preinteressent->loadPreinteressenten(null, null, $filter); +}*/ +$stg_obj = new studiengang($conn); +$stg_obj->getAll('typ, kurzbz', false); + +function CutString($strVal, $limit) +{ + if(strlen($strVal) > $limit+3) + { + return substr($strVal, 0, $limit) . "..."; + } + else + { + return $strVal; + } +} +echo 'Anzahl: '.count($preinteressent->result); +echo '
'; // Fixiertes Div mit den Filtern +echo '






'; + +//TABELLE ANZEIGEN +echo '
'; +echo " + + + + + + + + + + + + + + + + + "; + +foreach ($preinteressent->result as $row) +{ + echo ''; + $person = new person($conn); + $person->load($row->person_id); + echo ""; + echo ""; + echo ""; + //echo ""; + echo ""; + echo ""; + + echo ""; + //EMail + $qry = "SELECT kontakt FROM public.tbl_kontakt WHERE person_id='$person->person_id' AND kontakttyp='email' + ORDER BY zustellung DESC LIMIT 1"; + echo ''; + //Status + $status=''; + $prestudent = new prestudent($conn); + if($prestudent->getPrestudenten($row->person_id)) + { + foreach ($prestudent->result as $prestd) + { + if($status!='') + $status.=', '; + $prestudent1 = new prestudent($conn); + $prestudent1->getLastStatus($prestd->prestudent_id); + $status.= $prestudent1->status_kurzbz.' ('.$stg_obj->kuerzel_arr[$prestd->studiengang_kz].')'; + } + } + if($status=='') + $status='Preinteressent'; + echo ""; + + //Zuordnungen laden und freigegebene Eintraege farblich markieren + $freigaben = new preinteressent($conn); + $freigaben->loadZuordnungen($row->preinteressent_id); + $freigabe=''; + $uebernahme=''; + foreach ($freigaben->result as $row_freigaben) + { + //auch jene als freigegeben anzeigen die schon im studiengang angelegt sind + //obwohl der preinteressent nicht freigegeben wurde. (bewerbung direkt beim studiengang) + $qry = "SELECT prestudent_id FROM public.tbl_prestudent WHERE person_id='$row->person_id' AND studiengang_kz='$row_freigaben->studiengang_kz'"; + $result_chkstg = pg_query($conn, $qry); + + if($row_freigaben->freigabedatum!='' || pg_num_rows($result_chkstg)>0) + $freigabe.=""; + else + $freigabe.=""; + $freigabe.=$stg_obj->kuerzel_arr[$row_freigaben->studiengang_kz]."($row_freigaben->prioritaet)"; + $freigabe.=' '; + + if($row_freigaben->freigabedatum!='') + { + if($row_freigaben->uebernahmedatum!='') + $uebernahme.=""; + else + $uebernahme.=""; + $uebernahme.=$stg_obj->kuerzel_arr[$row_freigaben->studiengang_kz]; + $uebernahme.=' '; + } + } + + echo ""; + echo ""; + echo ""; + echo ''; + echo ''; +} +echo '
IDNachnameVornameStSemErf.datumGE-MailStatusFreigabeÜbernahmeAnmerkungAktion
$person->person_id$person->nachname$person->vorname".$datum_obj->convertISODate($person->gebdatum)."$row->studiensemester_kurzbz$row->erfassungsdatum".$datum_obj->formatDatum($row->erfassungsdatum,'d.m.Y')."$person->geschlecht'; + if($result_mail = pg_query($conn, $qry)) + { + if($row_mail = pg_fetch_object($result_mail)) + { + echo ''.$row_mail->kontakt.''; + } + } + echo '$status$freigabe$uebernahme".CutString($row->anmerkung, 20)."'; + echo " person_id','_blank')\" value='Gesamtübersicht' title='Zeigt die Details dieser Person an'>"; + echo " "; + echo " preinteressent_id&action=freigabe&studiensemester_kurzbz=$studiensemester_kurzbz&studiengang_kz=$studiengang_kz&filter=$filter'\" value='Freigeben' title='Gibt alle Studiengänge mit der höchsten Priorität frei'>"; + echo " preinteressent_id&action=loeschen&studiensemester_kurzbz=$studiensemester_kurzbz&studiengang_kz=$studiengang_kz&filter=$filter'}\" value='Löschen' title='Löscht diesen Preinteressenten'>"; + echo '

'; + +echo ''; +echo ''; ?> \ No newline at end of file diff --git a/vilesci/personen/resturlaub_details.php b/vilesci/personen/resturlaub_details.php index d9a1a014f..0704787f7 100644 --- a/vilesci/personen/resturlaub_details.php +++ b/vilesci/personen/resturlaub_details.php @@ -139,7 +139,7 @@ $zs->mitarbeiter_uid=$_REQUEST['uid']; } $htmlstr .= "
Zeitsperre ".(!isset($zs->zeitsperre_id)?'':$zs->zeitsperre_id)."
\n"; - $htmlstr .= "
\n"; + $htmlstr .= "\n"; $htmlstr .= "\n"; $htmlstr .= "\n"; $htmlstr .= "\n"; @@ -159,7 +159,7 @@ } $htmlstr .= " "; $htmlstr .= " "; - $htmlstr .= " \n"; + $htmlstr .= " \n"; $htmlstr .= " "; $htmlstr .= ""; $htmlstr .= ""; diff --git a/vilesci/personen/urlaubsverwaltung.php b/vilesci/personen/urlaubsverwaltung.php index 4a20c3afe..9817ba17e 100644 --- a/vilesci/personen/urlaubsverwaltung.php +++ b/vilesci/personen/urlaubsverwaltung.php @@ -1,326 +1,326 @@ -, - * Andreas Oesterreicher , - * Rudolf Hangl and - * Gerald Simane-Sequens - */ -/** - * - * Seite zur Verwaltung der Urlaubs- und Zeitausgleichstage der Mitarbeiter - */ - -require_once('../config.inc.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/zeitsperre.class.php'); -require_once('../../include/person.class.php'); -require_once('../../include/benutzer.class.php'); -require_once('../../include/mitarbeiter.class.php'); -require_once('../../include/datum.class.php'); -require_once('../../include/benutzerberechtigung.class.php'); - -if(!$conn = @pg_pconnect(CONN_STRING)) - die('Verbindung zur Datenbank fehlgeschlagen'); - -$user = get_uid(); -$datum = new datum(); - -$uid = (isset($_GET['uid'])?$_GET['uid']:''); -$zeitsperre_id=(isset($_REQUEST['zeitsperre_id'])?$_REQUEST['zeitsperre_id']:''); -$action = (isset($_GET['action'])?$_GET['action']:''); - -$zeitsperretyp_kurzbz=(isset($_POST['zeitsperretyp_kurzbz'])?$_POST['zeitsperretyp_kurzbz']:''); -$bezeichnung=(isset($_POST['bezeichnung'])?$_POST['bezeichnung']:''); -$vondatum=(isset($_POST['von'])?$_POST['von']:''); -$vonstunde=(isset($_POST['vonstunde'])?$_POST['vonstunde']:''); -$bisdatum=(isset($_POST['bis'])?$_POST['bis']:''); -$bisstunde=(isset($_POST['bisstunde'])?$_POST['bisstunde']:''); -$vertretung_uid=(isset($_POST['vertretung_uid'])?$_POST['vertretung_uid']:''); -$erreichbarkeit_kurzbz=(isset($_POST['erreichbarkeit_kurzbz'])?$_POST['erreichbarkeit_kurzbz']:''); - -$errormsg=''; -$message=''; -$error=false; - -//Kopfzeile -echo ' - - Urlaubsverwaltung - - - - - - - -

Urlaubsverwaltung

- '; - -//Rechte Pruefen -$rechte = new benutzerberechtigung($conn); -$rechte->getBerechtigungen($user); - -if(!$rechte->isBerechtigt('admin')) - die('Sie haben keine Berechtigung für diese Seite'); - -//Formular zur Eingabe der UID -echo ''; -echo 'Zeitsperren des Mitarbeiters mit der UID '; -echo ''; -echo ''; - -//Loeschen von Zeitsperren -if($action=='delete') -{ - if($zeitsperre_id!='' && is_numeric($zeitsperre_id)) - { - $zeitsperre = new zeitsperre($conn); - if($zeitsperre->delete($zeitsperre_id)) - $message='Zeitsperre wurde geloescht'; - else - $errormsg='Fehler beim Loeschen der Zeitsperre'; - } - else - $errormsg='Zeitsperre_id ist ungueltig'; -} - -if(isset($_POST['save'])) -{ - //Speichern der Daten - $zeitsperre = new zeitsperre($conn); - - if($zeitsperre_id!='') - { - if(!$zeitsperre->load($zeitsperre_id)) - { - $errormsg='Zeitsperre konnte nicht geladen werden'; - $error=true; - } - $zeitsperre->new = false; - } - else - { - $zeitsperre->insertamum=date('Y-m-d H:i:s'); - $zeitsperre->insertvon = $user; - $zeitsperre->new=true; - $zeitsperre->mitarbeiter_uid=$uid; - } - - if(!$error) - { - $zeitsperre->zeitsperretyp_kurzbz=$zeitsperretyp_kurzbz; - $zeitsperre->bezeichnung = $bezeichnung; - $zeitsperre->vondatum = $vondatum; - $zeitsperre->vonstunde = $vonstunde; - $zeitsperre->bisdatum = $bisdatum; - $zeitsperre->bisstunde = $bisstunde; - $zeitsperre->vertretung_uid = $vertretung_uid; - $zeitsperre->erreichbarkeit_kurzbz = $erreichbarkeit_kurzbz; - $zeitsperre->updateamum = date('Y-m-d H:i:s'); - $zeitsperre->udpatevon = $user; - - if($zeitsperre->save()) - { - $message = 'Daten wurden erfolgreich gespeichert'; - } - else - { - $errormsg = "Fehler beim Speichern der Daten: $zeitsperre->errormsg"; - } - } -} -//Statusmeldungen ausgeben -if($errormsg!='') - echo "
$errormsg

"; -if($message!='') - echo "
$message

"; - -//Zeitsperren des Mitarbeiters anzeigen -if($uid!='') -{ - $mitarbeiter = new mitarbeiter($conn); - if(!$mitarbeiter->load($uid)) - die('Mitarbeiter wurde nicht gefunden'); - - $zeitsperre = new zeitsperre($conn); - - $zeitsperre->getzeitsperren($uid); - echo '

Zeitsperren von '.$mitarbeiter->titelpre.' '.$mitarbeiter->vorname.' '.$mitarbeiter->nachname.' '.$mitarbeiter->titelpost.'

'; - echo "
Bezeichnung
"; - echo ' - - - - - - - - - - - - '; - foreach ($zeitsperre->result as $row) - { - echo ''; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ''; - } - echo '
IDTypBezeichnungVonBiseditdelete
$row->zeitsperre_id$row->zeitsperretyp_kurzbz$row->bezeichnung".$datum->formatDatum($row->vondatum,'d.m.Y')." ".($row->vonstunde!=''?'(Stunde '.$row->vonstunde.')':'')."".$datum->formatDatum($row->bisdatum,'d.m.Y')." ".($row->bisstunde!=''?'(Stunde '.$row->bisstunde.')':'')."zeitsperre_id'>bearbeitenzeitsperre_id' onclick='return confdel(\"$row->zeitsperretyp_kurzbz von ".$datum->formatDatum($row->vondatum,'d.m.Y')." bis ".$datum->formatDatum($row->bisdatum,'d.m.Y')."\")'>loeschen
'; - - - //Editieren und Neu anlegen von Zeitsperren - $zeitsperre = new zeitsperre($conn); - echo '

'; - if($action=='edit') - { - if(!$zeitsperre->load($zeitsperre_id)) - die('Zeitsperre wurde nicht gefunden'); - if($zeitsperre->mitarbeiter_uid!=$uid) - die('Zeitsperre und Mitarbeiter passen nicht zusammen'); - echo "

Bearbeiten der Zeitsperre $zeitsperre->zeitsperre_id:

"; - } - else - echo "

Neue Zeitsperre:

"; - - echo '
'; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - - echo ''; - $qry = "SELECT * FROM lehre.tbl_stunde ORDER BY stunde"; - if($result = pg_query($conn, $qry)) - { - while($row = pg_fetch_object($result)) - { - $std_arr[$row->stunde]="$row->stunde (".date('H:i',strtotime($row->beginn)).' - '.date('H:i',strtotime($row->ende))." Uhr)"; - } - } - - echo ''; - echo ''; - - echo ''; - echo ''; - - echo ''; - $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; - } - } - echo "'; - echo ''; - - echo ''; - echo "'; - echo '
Typ
Bezeichnung:
Von'; - echo 'Stunde (inklusive)'; - echo '
Bis'; - echo 'Stunde (inklusive)'; - echo '
Erreichbarkeit
Vertretung
'; - echo ''; - echo '
'; - echo '
'; -} +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Simane-Sequens + */ +/** + * + * Seite zur Verwaltung der Urlaubs- und Zeitausgleichstage der Mitarbeiter + */ + +require_once('../config.inc.php'); +require_once('../../include/functions.inc.php'); +require_once('../../include/zeitsperre.class.php'); +require_once('../../include/person.class.php'); +require_once('../../include/benutzer.class.php'); +require_once('../../include/mitarbeiter.class.php'); +require_once('../../include/datum.class.php'); +require_once('../../include/benutzerberechtigung.class.php'); + +if(!$conn = @pg_pconnect(CONN_STRING)) + die('Verbindung zur Datenbank fehlgeschlagen'); + +$user = get_uid(); +$datum = new datum(); + +$uid = (isset($_GET['uid'])?$_GET['uid']:''); +$zeitsperre_id=(isset($_REQUEST['zeitsperre_id'])?$_REQUEST['zeitsperre_id']:''); +$action = (isset($_GET['action'])?$_GET['action']:''); + +$zeitsperretyp_kurzbz=(isset($_POST['zeitsperretyp_kurzbz'])?$_POST['zeitsperretyp_kurzbz']:''); +$bezeichnung=(isset($_POST['bezeichnung'])?$_POST['bezeichnung']:''); +$vondatum=(isset($_POST['von'])?$_POST['von']:''); +$vonstunde=(isset($_POST['vonstunde'])?$_POST['vonstunde']:''); +$bisdatum=(isset($_POST['bis'])?$_POST['bis']:''); +$bisstunde=(isset($_POST['bisstunde'])?$_POST['bisstunde']:''); +$vertretung_uid=(isset($_POST['vertretung_uid'])?$_POST['vertretung_uid']:''); +$erreichbarkeit_kurzbz=(isset($_POST['erreichbarkeit_kurzbz'])?$_POST['erreichbarkeit_kurzbz']:''); + +$errormsg=''; +$message=''; +$error=false; + +//Kopfzeile +echo ' + + Urlaubsverwaltung + + + + + + + +

Urlaubsverwaltung

+ '; + +//Rechte Pruefen +$rechte = new benutzerberechtigung($conn); +$rechte->getBerechtigungen($user); + +if(!$rechte->isBerechtigt('admin')) + die('Sie haben keine Berechtigung für diese Seite'); + +//Formular zur Eingabe der UID +echo '
'; +echo 'Zeitsperren des Mitarbeiters mit der UID '; +echo ''; +echo '
'; + +//Loeschen von Zeitsperren +if($action=='delete') +{ + if($zeitsperre_id!='' && is_numeric($zeitsperre_id)) + { + $zeitsperre = new zeitsperre($conn); + if($zeitsperre->delete($zeitsperre_id)) + $message='Zeitsperre wurde geloescht'; + else + $errormsg='Fehler beim Loeschen der Zeitsperre'; + } + else + $errormsg='Zeitsperre_id ist ungueltig'; +} + +if(isset($_POST['save'])) +{ + //Speichern der Daten + $zeitsperre = new zeitsperre($conn); + + if($zeitsperre_id!='') + { + if(!$zeitsperre->load($zeitsperre_id)) + { + $errormsg='Zeitsperre konnte nicht geladen werden'; + $error=true; + } + $zeitsperre->new = false; + } + else + { + $zeitsperre->insertamum=date('Y-m-d H:i:s'); + $zeitsperre->insertvon = $user; + $zeitsperre->new=true; + $zeitsperre->mitarbeiter_uid=$uid; + } + + if(!$error) + { + $zeitsperre->zeitsperretyp_kurzbz=$zeitsperretyp_kurzbz; + $zeitsperre->bezeichnung = $bezeichnung; + $zeitsperre->vondatum = $vondatum; + $zeitsperre->vonstunde = $vonstunde; + $zeitsperre->bisdatum = $bisdatum; + $zeitsperre->bisstunde = $bisstunde; + $zeitsperre->vertretung_uid = $vertretung_uid; + $zeitsperre->erreichbarkeit_kurzbz = $erreichbarkeit_kurzbz; + $zeitsperre->updateamum = date('Y-m-d H:i:s'); + $zeitsperre->udpatevon = $user; + + if($zeitsperre->save()) + { + $message = 'Daten wurden erfolgreich gespeichert'; + } + else + { + $errormsg = "Fehler beim Speichern der Daten: $zeitsperre->errormsg"; + } + } +} +//Statusmeldungen ausgeben +if($errormsg!='') + echo "
$errormsg

"; +if($message!='') + echo "
$message

"; + +//Zeitsperren des Mitarbeiters anzeigen +if($uid!='') +{ + $mitarbeiter = new mitarbeiter($conn); + if(!$mitarbeiter->load($uid)) + die('Mitarbeiter wurde nicht gefunden'); + + $zeitsperre = new zeitsperre($conn); + + $zeitsperre->getzeitsperren($uid); + echo '

Zeitsperren von '.$mitarbeiter->titelpre.' '.$mitarbeiter->vorname.' '.$mitarbeiter->nachname.' '.$mitarbeiter->titelpost.'

'; + echo ""; + echo ' + + + + + + + + + + + + '; + foreach ($zeitsperre->result as $row) + { + echo ''; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ''; + } + echo '
IDTypBezeichnungVonBiseditdelete
$row->zeitsperre_id$row->zeitsperretyp_kurzbz$row->bezeichnung".$datum->formatDatum($row->vondatum,'d.m.Y')." ".($row->vonstunde!=''?'(Stunde '.$row->vonstunde.')':'')."".$datum->formatDatum($row->bisdatum,'d.m.Y')." ".($row->bisstunde!=''?'(Stunde '.$row->bisstunde.')':'')."zeitsperre_id'>bearbeitenzeitsperre_id' onclick='return confdel(\"$row->zeitsperretyp_kurzbz von ".$datum->formatDatum($row->vondatum,'d.m.Y')." bis ".$datum->formatDatum($row->bisdatum,'d.m.Y')."\")'>loeschen
'; + + + //Editieren und Neu anlegen von Zeitsperren + $zeitsperre = new zeitsperre($conn); + echo '

'; + if($action=='edit') + { + if(!$zeitsperre->load($zeitsperre_id)) + die('Zeitsperre wurde nicht gefunden'); + if($zeitsperre->mitarbeiter_uid!=$uid) + die('Zeitsperre und Mitarbeiter passen nicht zusammen'); + echo "

Bearbeiten der Zeitsperre $zeitsperre->zeitsperre_id:

"; + } + else + echo "

Neue Zeitsperre:

"; + + echo '
'; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + + echo ''; + $qry = "SELECT * FROM lehre.tbl_stunde ORDER BY stunde"; + if($result = pg_query($conn, $qry)) + { + while($row = pg_fetch_object($result)) + { + $std_arr[$row->stunde]="$row->stunde (".date('H:i',strtotime($row->beginn)).' - '.date('H:i',strtotime($row->ende))." Uhr)"; + } + } + + echo ''; + echo ''; + + echo ''; + echo ''; + + echo ''; + $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; + } + } + echo "'; + echo ''; + + echo ''; + echo "'; + echo '
Typ
Bezeichnung:
Von'; + echo 'Stunde (inklusive)'; + echo '
Bis'; + echo 'Stunde (inklusive)'; + echo '
Erreichbarkeit
Vertretung
'; + echo ''; + echo '
'; + echo '
'; +} ?> \ No newline at end of file diff --git a/vilesci/stammdaten/firma_details.php b/vilesci/stammdaten/firma_details.php index d78c1de25..5e3701103 100644 --- a/vilesci/stammdaten/firma_details.php +++ b/vilesci/stammdaten/firma_details.php @@ -239,7 +239,7 @@ function confdel() echo "
Name: Typ: "; $adresse_obj = new adresse($conn); $adresse_obj->load_firma($firma_id); @@ -302,7 +302,7 @@ function confdel() echo ""; echo ""; echo ""; - echo ""; + echo ""; echo ""; echo ""; echo ""; @@ -345,10 +345,10 @@ function confdel() echo ""; echo ''; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; echo "
STRASSEPLZORTGEMEINDENATIONTYPHeimatadr.Zustelladr.
$row->plz$row->ort$row->gemeinde".$nation_arr[$row->nation]."".(isset($nation_arr[$row->nation])?$nation_arr[$row->nation]:'')."".$adresstyp_arr[$row->typ]."".($row->heimatadresse?'Ja':'Nein')."".($row->zustelladresse?'Ja':'Nein')."
\n"; - $htmlstr .= " \n"; - $htmlstr .= " "; - $htmlstr .= " \n"; - $i = 0; - while($row=pg_fetch_object($erg)) - { - //$htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $htmlstr .= " \n"; - $i++; - } - $htmlstr .= "
IDNameAdresseEmailTelefonFaxAnmerkungTypSchule
".$row->firma_id."".$row->name."$row->adresse$row->email$row->telefon$row->fax".(strlen($row->anmerkung)>30?substr($row->anmerkung,0,27).'...':$row->anmerkung)."$row->firmentyp_kurzbz".($row->schule=='t'?'Ja':'Nein')."
\n"; - } - - -?> - - -Firma Uebersicht - - - - - - - - - -

Firmen - Übersicht

- -
'; - echo '

Übersicht

'; - echo '
'; - echo ""; - echo '
'; - //Suche - echo '
'; - echo ''; - echo 'Typ: '; - echo ''; - echo '
'; - - echo $htmlstr; -?> - - - - - +, + * Andreas Oesterreicher and + * Rudolf Hangl and + * Gerald Raab . + */ + + require_once('../config.inc.php'); + require_once('../../include/functions.inc.php'); + require_once('../../include/firma.class.php'); + + if (!$conn = pg_pconnect(CONN_STRING)) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + + $filter = (isset($_GET['filter'])?$_GET['filter']:''); + $firmentypfilter = (isset($_GET['firmentypfilter'])?$_GET['firmentypfilter']:''); + + $htmlstr = ""; + + if($filter=='') + $sql_query = "SELECT * FROM public.tbl_firma WHERE true"; + else + $sql_query = "SELECT * FROM public.tbl_firma WHERE lower(name) like lower('%$filter%') OR lower(adresse) like lower('%$filter%') OR lower(anmerkung) like lower('%$filter%')"; + if($firmentypfilter!='') + $sql_query.=" AND firmentyp_kurzbz='".addslashes($firmentypfilter)."'"; + //echo $sql_query; + if(!$erg=pg_query($conn, $sql_query)) + { + $errormsg='Fehler beim Laden der Firma'; + } + + else + { + + $htmlstr .= "\n"; + $htmlstr .= " \n"; + $htmlstr .= " "; + $htmlstr .= " \n"; + $i = 0; + while($row=pg_fetch_object($erg)) + { + //$htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $htmlstr .= " \n"; + $i++; + } + $htmlstr .= "
IDNameAdresseEmailTelefonFaxAnmerkungTypSchule
".$row->firma_id."".$row->name."$row->adresse$row->email$row->telefon$row->fax".(strlen($row->anmerkung)>30?substr($row->anmerkung,0,27).'...':$row->anmerkung)."$row->firmentyp_kurzbz".($row->schule=='t'?'Ja':'Nein')."
\n"; + } + + +?> + + +Firma Uebersicht + + + + + + + + + +

Firmen - Übersicht

+ +
'; + echo '

Übersicht

'; + echo '
'; + echo ""; + echo '
'; + //Suche + echo '
'; + echo ''; + echo 'Typ: '; + echo ''; + echo '
'; + + echo $htmlstr; +?> + + + + + diff --git a/vilesci/stammdaten/lvbgruppenverwaltung.php b/vilesci/stammdaten/lvbgruppenverwaltung.php index bbc679eed..25de24ac2 100644 --- a/vilesci/stammdaten/lvbgruppenverwaltung.php +++ b/vilesci/stammdaten/lvbgruppenverwaltung.php @@ -73,7 +73,7 @@ $stud = new studiengang($conn); if(!$stud->getAll('typ, kurzbzlang')) echo 'Fehler beim Laden der Studiengaenge:'.$stud->errormsg; -echo '
'; +echo ''; echo 'Studiengang: