From c2a5d04924ea7bd7978f40f9127115d73540ce2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Fri, 9 Feb 2007 12:00:33 +0000 Subject: [PATCH] =?UTF-8?q?-=20Noten-=20und=20Anwesenheitslisten=20nun=20n?= =?UTF-8?q?ach=20Name=20sortiert=20-=20Kreuzerltool:=20Kopieren=20auf=20an?= =?UTF-8?q?dere=20LE=20jetzt=20m=C3=B6glich=20-=20LVInfo:=20Lektoren=20wer?= =?UTF-8?q?den=20jetzt=20richtig=20angezeigt=20-=20Mailverteiler=20werden?= =?UTF-8?q?=20jetzt=20ohne=20Leerzeichen=20angezeigt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/lehre/anwesenheitsliste.pdf.php | 1 + cis/private/lehre/ects/index.php | 5 +- .../kreuzerltool/studentenpunkteverwalten.php | 6 +- cis/private/lehre/kreuzerltool/verwaltung.php | 171 +++++++++++++++++- cis/private/lehre/lesson.php | 10 +- cis/private/lehre/notenliste.xls.php | 1 + cis/private/mailverteiler.php | 2 +- 7 files changed, 182 insertions(+), 14 deletions(-) diff --git a/cis/private/lehre/anwesenheitsliste.pdf.php b/cis/private/lehre/anwesenheitsliste.pdf.php index 0ff32cdb1..7edb2a6d9 100644 --- a/cis/private/lehre/anwesenheitsliste.pdf.php +++ b/cis/private/lehre/anwesenheitsliste.pdf.php @@ -285,6 +285,7 @@ else if($gruppe!='') $qry.=" AND gruppe='$gruppe'"; } +$qry.= " ORDER BY nachname, vorname"; if($result = pg_query($conn, $qry)) { diff --git a/cis/private/lehre/ects/index.php b/cis/private/lehre/ects/index.php index c6bde0357..e8cff658f 100644 --- a/cis/private/lehre/ects/index.php +++ b/cis/private/lehre/ects/index.php @@ -447,11 +447,8 @@ border:1px dashed #000000; $stsem_obj = new studiensemester($conn); $stsem = $stsem_obj->getaktorNext(); - $qry = "SELECT studiensemester_kurzbz FROM lehre.tbl_lehreinheit JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) WHERE lehrveranstaltung_id='$lv' ORDER BY ende DESC LIMIT 1"; - $result = pg_query($conn, $qry); - $row = pg_fetch_object($result); //Namen der Lehrenden Auslesen - $qry = "SELECT * FROM campus.vw_mitarbeiter, lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehreinheit WHERE lehrveranstaltung_id='$lv' AND tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND studiensemester_kurzbz='$row->studiensemester_kurzbz' AND mitarbeiter_uid=uid"; + $qry = "SELECT * FROM campus.vw_mitarbeiter, lehre.tbl_lehreinheitmitarbeiter, lehre.tbl_lehreinheit WHERE lehrveranstaltung_id='$lv' AND tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND studiensemester_kurzbz=(SELECT studiensemester_kurzbz FROM lehre.tbl_lehreinheit JOIN public.tbl_studiensemester USING(studiensemester_kurzbz) WHERE lehrveranstaltung_id='$lv' ORDER BY ende DESC LIMIT 1) AND mitarbeiter_uid=uid"; echo "Lehrende laut Lehrauftrag"; $helparray = array(); if($result=pg_query($conn,$qry)) diff --git a/cis/private/lehre/kreuzerltool/studentenpunkteverwalten.php b/cis/private/lehre/kreuzerltool/studentenpunkteverwalten.php index e09c894c1..10f84e85c 100644 --- a/cis/private/lehre/kreuzerltool/studentenpunkteverwalten.php +++ b/cis/private/lehre/kreuzerltool/studentenpunkteverwalten.php @@ -579,9 +579,9 @@ else { echo " - $row_stud->uid - $row_stud->nachname - $row_stud->vorname + $row_stud->uid + $row_stud->nachname + $row_stud->vorname "; $i++; } diff --git a/cis/private/lehre/kreuzerltool/verwaltung.php b/cis/private/lehre/kreuzerltool/verwaltung.php index bc3490163..9c9a1262b 100644 --- a/cis/private/lehre/kreuzerltool/verwaltung.php +++ b/cis/private/lehre/kreuzerltool/verwaltung.php @@ -157,6 +157,7 @@ else if($result = pg_query($conn, $qry)) { + $result_alle_lehreinheiten = $result; if(pg_num_rows($result)>1) { //Lehreinheiten DropDown @@ -222,7 +223,7 @@ echo "\n"; echo "$lv_obj->bezeichnung
"; if($lehreinheit_id=='') - die('Sie haben keine Berechtigung für diesen Bereich'); + die('Es gibt keine Lehreinheiten in diesem Studiensemester für die Sie eine Berechtigung besitzen'); //Menue echo "\n\n"; @@ -497,6 +498,102 @@ if(isset($_POST['beispiel_neu']) || isset($_POST['beispiel_edit'])) } } +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!='') { @@ -588,24 +685,82 @@ if(isset($uebung_id) && $uebung_id!='') else { //Gesamtuebersicht ueber alle Uebungen - echo "
"; + echo "
"; + echo ""; echo ""; $uebung_obj = new uebung($conn); $uebung_obj->load_uebung($lehreinheit_id); $anzahl = count($uebung_obj->uebungen); + $copy_content="
Vorhandene Kreuzerllisten bearbeiten
"; if($anzahl>0) { - echo ""; + echo ""; foreach ($uebung_obj->uebungen as $row) { - echo ""; + if(isset($result_alle_lehreinheiten) && pg_num_rows($result_alle_lehreinheiten)>1) + { + $copy_content.= ''; + $copy_content.= '"; } @@ -614,6 +769,14 @@ else echo "
Übung in andere LE kopieren
 
 
 
ThemaFreigeschaltenAuswahl
 
ThemaFreigeschaltenAuswahl 
".htmlentities($row->bezeichnung).""; + echo "
".htmlentities($row->bezeichnung).""; if((strtotime(strftime($row->freigabevon))<=time()) && (strtotime(strftime($row->freigabebis))>=time())) echo 'Ja'; else echo 'Nein'; echo "
'; + $copy_content.= ""; + $copy_content.= "\n


"; + + //Kopier-Button anzeigen + $copy_content.='
'; + echo ""; + if(isset($result_alle_lehreinheiten) && pg_num_rows($result_alle_lehreinheiten)>1 && $anzahl>0) + echo $copy_content; + echo ""; + if(!isset($_POST['uebung_neu'])) { $thema = "Uebung ".($anzahl<9?'0'.($anzahl+1):($anzahl+1)); diff --git a/cis/private/lehre/lesson.php b/cis/private/lehre/lesson.php index 8c1634585..f64fc9d33 100644 --- a/cis/private/lehre/lesson.php +++ b/cis/private/lehre/lesson.php @@ -485,8 +485,14 @@ - - " > + + " >
"Kreuzerl"-Tool
diff --git a/cis/private/lehre/notenliste.xls.php b/cis/private/lehre/notenliste.xls.php index 61375fa2f..effbf48dc 100644 --- a/cis/private/lehre/notenliste.xls.php +++ b/cis/private/lehre/notenliste.xls.php @@ -134,6 +134,7 @@ if (!$conn = pg_pconnect(CONN_STRING)) if($gruppe!='') $qry.=" AND gruppe='$gruppe'"; } + $qry.= " ORDER BY nachname, vorname"; if($result = pg_query($conn, $qry)) { $i=1; diff --git a/cis/private/mailverteiler.php b/cis/private/mailverteiler.php index 31a7db4cd..2ec7b660e 100644 --- a/cis/private/mailverteiler.php +++ b/cis/private/mailverteiler.php @@ -211,7 +211,7 @@ if($row_cnt->anzahl>0) { $param = "kz=".$row->studiengang_kz."&sem=".$row1->semester; - $strhelp = strtolower($row->kuerzel.$row1->semester.$row1->verband.$row1->gruppe); + $strhelp = strtolower($row->kuerzel.trim($row1->semester).trim($row1->verband).trim($row1->gruppe)); echo "\n"; echo "    • Semester $row1->semester"; if(trim($row1->verband)!='')