From df9fcc8010fce63b1a47b1b4842d7852c224f965 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 25 Aug 2008 15:55:59 +0000 Subject: [PATCH] --- .../lehre/benotungstool/copy_uebung.php | 278 ++++++++++++++++++ .../benutzungsordnung_bibliothek.doc | Bin 46592 -> 48128 bytes content/pdfExport.php | 5 +- include/uebung.class.php | 153 +++++----- 4 files changed, 359 insertions(+), 77 deletions(-) create mode 100644 cis/private/lehre/benotungstool/copy_uebung.php diff --git a/cis/private/lehre/benotungstool/copy_uebung.php b/cis/private/lehre/benotungstool/copy_uebung.php new file mode 100644 index 000000000..52f87c2cb --- /dev/null +++ b/cis/private/lehre/benotungstool/copy_uebung.php @@ -0,0 +1,278 @@ +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +/* + * Script zum Kopieren einer Kreuzerltool Uebung zu einer anderen Lehreinheit + * (zB fuer die Uebernahme der Uebungen aus dem Vorjahr) + */ +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'); + + +if(!$conn = pg_pconnect(CONN_STRING)) + die('Fehler beim Connecten zur DB'); + +$user = get_uid(); +$rechte = new benutzerberechtigung($conn); +$rechte->getBerechtigungen($user); + +if(!$rechte->isBerechtigt('admin')) + die('Sie haben keine Rechte für diese Seite'); + +if(isset($_GET['uebung_id_source'])) + $uebung_id_source=$_GET['uebung_id_source']; +else + $uebung_id_source=''; + +if(isset($_GET['lehreinheit_id_target'])) + $lehreinheit_id_target=$_GET['lehreinheit_id_target']; +else + $lehreinheit_id_target=''; + +if($uebung_id_source!='' && $lehreinheit_id_target!='') +{ + $copy_insert = 0; + $copy_update = 0; + $copy_insert_bsp = 0; + $copy_update_bsp = 0; + 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); + $lehreinheit_id=$ueb_1->lehreinheit_id; + $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.")"; + } +} +else +{ + echo ' + Script zum Kopieren einer Übung in eine beliebige Lehreinheit:

+
+ ÜbungID die Kopiert werden soll:
+ Lehreinheit_id in welche diese Übung kopiert werden soll:
+ +
'; +} \ No newline at end of file diff --git a/cis/public/info/verordnungen/benutzungsordnung_bibliothek.doc b/cis/public/info/verordnungen/benutzungsordnung_bibliothek.doc index 8ec181e649eb7c6ff86c3950b22b335b265f66ca..84ce963fc25be1fea171df792eb4fea27eadc362 100644 GIT binary patch delta 6234 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 delta 5617 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 //echo 'XML:'.$xml_doc->saveXML().':'; //XSL aus der DB holen -$qry = "SELECT text FROM public.tbl_vorlagestudiengang WHERE (studiengang_kz=0 OR studiengang_kz='".addslashes($xsl_stg_kz)."') AND vorlage_kurzbz='$xsl' ORDER BY studiengang_kz DESC, version DESC LIMIT 1"; +$qry = "SELECT text FROM public.tbl_vorlagestudiengang WHERE (studiengang_kz=0"; +if($xsl_stg_kz!='') +$qry.=" OR studiengang_kz='".addslashes($xsl_stg_kz)."'"; +$qry.=") AND vorlage_kurzbz='$xsl' ORDER BY studiengang_kz DESC, version DESC LIMIT 1"; //echo $qry; if(!$result = pg_query($conn, $qry)) die('Fehler beim Laden der Vorlage'.pg_errormessage($conn)); diff --git a/include/uebung.class.php b/include/uebung.class.php index 96dd7a8fc..20ac1d8c0 100644 --- a/include/uebung.class.php +++ b/include/uebung.class.php @@ -48,7 +48,7 @@ class uebung var $liste_id; //integer var $maxbsp; //smallint var $maxstd; //smallint - var $nummer; //smallint + var $nummer; //smallint var $prozent; //Studentuebung @@ -58,12 +58,12 @@ class uebung var $note; // smalint var $mitarbeitspunkte; // smalint var $anmerkung; // text - var $benotungsdatum; // timestamp - - //Abgabe - var $abgabe_abgabe_id; // integer - var $abgabedatei; // varchar(64) - var $abgabezeit; // timestamp + var $benotungsdatum; // timestamp + + //Abgabe + var $abgabe_abgabe_id; // integer + var $abgabedatei; // varchar(64) + var $abgabezeit; // timestamp var $abgabe_anmerkung; // text // ************************************************************************* @@ -129,7 +129,7 @@ class uebung $this->liste_id = $row->liste_id; $this->maxbsp = $row->maxbsp; $this->maxstd = $row->maxstd; - $this->nummer = $row->nummer; + $this->nummer = $row->nummer; $this->prozent = $row->prozent; return true; } @@ -145,19 +145,19 @@ class uebung return false; } } - - function toggle_prozent_punkte($uebung_id) - { - $qry = "update campus.tbl_uebung set prozent = not prozent where uebung_id = '".$uebung_id."'"; - if(pg_query($this->conn, $qry)) - return true; - else - { - return false; - $this->errormsg = "toggle misslungen"; - } - } - + + function toggle_prozent_punkte($uebung_id) + { + $qry = "update campus.tbl_uebung set prozent = not prozent where uebung_id = '".$uebung_id."'"; + if(pg_query($this->conn, $qry)) + return true; + else + { + return false; + $this->errormsg = "toggle misslungen"; + } + } + function load_studentuebung($student_uid, $uebung_id) { $qry = "SELECT * FROM campus.tbl_studentuebung WHERE student_uid='$student_uid' AND uebung_id='$uebung_id'"; @@ -193,7 +193,7 @@ class uebung return false; } } - + function load_abgabe($abgabe_id) { $qry = "SELECT * FROM campus.tbl_abgabe WHERE abgabe_id = '$abgabe_id'"; @@ -219,32 +219,32 @@ class uebung $this->errormsg = 'Fehler beim Laden des Eintrages'; return false; } - } - + } + function check_studentuebung($uebung_id) { $qry = "SELECT * FROM campus.tbl_studentuebung WHERE uebung_id='$uebung_id'"; - if($result = pg_query($this->conn, $qry)) - { - if (pg_num_rows($result) >0) - return true; - else + if($result = pg_query($this->conn, $qry)) + { + if (pg_num_rows($result) >0) + return true; + else return false; - } - else + } + else return false; } - + function get_next_nummer() { $qry = "SELECT max(nummer) FROM campus.tbl_uebung"; $result = pg_query($this->conn, $qry); - $row = pg_fetch_object($result); - $next = $row->max + 1; + $row = pg_fetch_object($result); + $next = $row->max + 1; $this->next_nummer = $next; - } - + } + function load_uebung($lehreinheit_id, $level=null, $uebung_id=null) { if(!is_numeric($lehreinheit_id)) @@ -265,7 +265,7 @@ class uebung while($row = pg_fetch_object($result)) { $uebung_obj = new uebung($this->conn); - + $uebung_obj->uebung_id = $row->uebung_id; $uebung_obj->gewicht = $row->gewicht; $uebung_obj->punkte = $row->punkte; @@ -286,7 +286,7 @@ class uebung $uebung_obj->liste_id = $row->liste_id; $uebung_obj->maxstd = $row->maxstd; $uebung_obj->maxbsp = $row->maxbsp; - $uebung_obj->nummer = $row->nummer; + $uebung_obj->nummer = $row->nummer; $uebung_obj->prozent = $row->prozent; $this->uebungen[] = $uebung_obj; @@ -513,7 +513,7 @@ class uebung return false; } } - + function abgabe_save($new=null) { if(is_null($new)) @@ -573,7 +573,7 @@ function abgabe_save($new=null) return false; } } - + // ************************************************************ // * Loescht eine Uebung plus die abhaengigen eintraege in den @@ -586,45 +586,45 @@ function abgabe_save($new=null) $this->errormsg = 'Uebung_id ist ungueltig'; return false; } - - // subübungen wegräumen - $qry = "SELECT * FROM campus.tbl_uebung WHERE liste_id = '".$uebung_id."'"; + + // subübungen wegräumen + $qry = "SELECT * FROM campus.tbl_uebung WHERE liste_id = '".$uebung_id."'"; if($result=pg_query($this->conn, $qry)) { - while($row = pg_fetch_object($result)) - { - + while($row = pg_fetch_object($result)) + { + foreach (glob(BENOTUNGSTOOL_PATH."angabe/*".$row->uebung_id.".*") as $angabe) { if(file_exists($angabe)) unlink($angabe); } - $qry = "DELETE FROM campus.tbl_studentbeispiel WHERE beispiel_id IN(SELECT beispiel_id FROM campus.tbl_beispiel WHERE uebung_id='$row->uebung_id'); - DELETE FROM campus.tbl_abgabe WHERE abgabe_id IN(SELECT abgabe_id FROM campus.tbl_studentuebung WHERE uebung_id='$row->uebung_id'); + $qry = "DELETE FROM campus.tbl_studentbeispiel WHERE beispiel_id IN(SELECT beispiel_id FROM campus.tbl_beispiel WHERE uebung_id='$row->uebung_id'); + DELETE FROM campus.tbl_abgabe WHERE abgabe_id IN(SELECT abgabe_id FROM campus.tbl_studentuebung WHERE uebung_id='$row->uebung_id'); DELETE FROM campus.tbl_studentuebung WHERE uebung_id='$row->uebung_id'; DELETE FROM campus.tbl_beispiel WHERE uebung_id='$row->uebung_id'; - DELETE FROM campus.tbl_uebung WHERE uebung_id='$row->uebung_id'; + DELETE FROM campus.tbl_uebung WHERE uebung_id='$row->uebung_id'; DELETE FROM campus.tbl_studentuebung WHERE uebung_id = '$row->uebung_id'"; if(!pg_query($qry)) { $this->errormsg = 'Fehler beim Loeschen der Daten'; return false; - } - } - } - - + } + } + } + + foreach (glob(BENOTUNGSTOOL_PATH."angabe/*".$uebung_id.".*") as $angabe) { if(file_exists($angabe)) unlink($angabe); } - $qry = "DELETE FROM campus.tbl_studentbeispiel WHERE beispiel_id IN(SELECT beispiel_id FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id'); - DELETE FROM campus.tbl_abgabe WHERE abgabe_id IN(SELECT abgabe_id FROM campus.tbl_studentuebung WHERE uebung_id='$uebung_id'); + $qry = "DELETE FROM campus.tbl_studentbeispiel WHERE beispiel_id IN(SELECT beispiel_id FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id'); + DELETE FROM campus.tbl_abgabe WHERE abgabe_id IN(SELECT abgabe_id FROM campus.tbl_studentuebung WHERE uebung_id='$uebung_id'); DELETE FROM campus.tbl_studentuebung WHERE uebung_id='$uebung_id'; DELETE FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id'; - DELETE FROM campus.tbl_uebung WHERE uebung_id='$uebung_id'; + DELETE FROM campus.tbl_uebung WHERE uebung_id='$uebung_id'; DELETE FROM campus.tbl_studentuebung WHERE uebung_id = '$uebung_id'"; if(pg_query($qry)) @@ -633,12 +633,12 @@ function abgabe_save($new=null) { $this->errormsg = 'Fehler beim Loeschen der Daten'; return false; - } - - + } + + } - + // ************************************************************ // * Loescht eine Uebung plus die abhaengigen eintraege in den // * Tabellen studentuebung, studentbeispiel, und beispiel @@ -650,31 +650,32 @@ function abgabe_save($new=null) $this->errormsg = 'abgabe_id ist ungueltig'; return false; } - - // subübungen wegräumen - $qry = "SELECT * FROM campus.tbl_abgabe WHERE abgabe_id = '".$abgabe_id."'"; + + // subübungen wegräumen + $qry = "SELECT * FROM campus.tbl_abgabe WHERE abgabe_id = '".$abgabe_id."'"; if($result=pg_query($this->conn, $qry)) { - while($row = pg_fetch_object($result)) - { + while($row = pg_fetch_object($result)) + { - + if(file_exists(BENOTUNGSTOOL_PATH."abgabe/".$row->abgabedatei)) - unlink(BENOTUNGSTOOL_PATH."abgabe/".$row->abgabedatei); - $qry = "UPDATE campus.tbl_studentuebung set abgabe_id = null where abgabe_id = '$abgabe_id'; + unlink(BENOTUNGSTOOL_PATH."abgabe/".$row->abgabedatei); + + $qry = "UPDATE campus.tbl_studentuebung set abgabe_id = null where abgabe_id = '$abgabe_id'; DELETE FROM campus.tbl_abgabe WHERE abgabe_id = '$abgabe_id'"; if(!pg_query($qry)) { $this->errormsg = 'Fehler beim Loeschen der Daten'; return false; - } - else - return true; - } - } + } + else + return true; + } + } - } - + } + } ?> \ No newline at end of file