diff --git a/cis/private/lehre/kreuzerltool/anwesenheitstabelle.php b/cis/private/lehre/kreuzerltool/anwesenheitstabelle.php
index 9ed9165b9..e55294cc8 100644
--- a/cis/private/lehre/kreuzerltool/anwesenheitstabelle.php
+++ b/cis/private/lehre/kreuzerltool/anwesenheitstabelle.php
@@ -202,6 +202,7 @@ $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");
$uebung_obj = new uebung($conn);
$uebung_obj->load($uebung_id);
-echo "
$uebung_obj->bezeichnung
";
+echo "$uebung_obj->bezeichnung
";
echo "- Alle Studierende

";
diff --git a/cis/private/lehre/kreuzerltool/statistik.php b/cis/private/lehre/kreuzerltool/statistik.php
index 1d3d09c32..29e827519 100644
--- a/cis/private/lehre/kreuzerltool/statistik.php
+++ b/cis/private/lehre/kreuzerltool/statistik.php
@@ -201,6 +201,7 @@ $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
echo "Derzeit gibt es keine Uebungen";
@@ -295,21 +310,6 @@ if(isset($uebung_id) && $uebung_id!='')
echo "$beispiel_obj->errormsg";
}
-/*
- for ($i = 0; $i < $rs->num; $i++) {
- $text = $rs->arr[$i]["text"];
- $id = $rs->arr[$i]["id"];
- $psolved =
- round((($solved[$id]/$count_students)*100),1);
- $pnsolved =
- round((($nsolved[$id]/$count_students)*100),1);
- $pproblems =
- round((($problems[$id]/$count_students)*100),1);
-
-
- }
-*/
-
?>
diff --git a/cis/private/lehre/kreuzerltool/verwaltung.php b/cis/private/lehre/kreuzerltool/verwaltung.php
index 6f5bca060..2b57d0cb0 100644
--- a/cis/private/lehre/kreuzerltool/verwaltung.php
+++ b/cis/private/lehre/kreuzerltool/verwaltung.php
@@ -288,6 +288,7 @@ if(isset($_POST['uebung_neu']))
$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))
{
@@ -298,7 +299,7 @@ if(isset($_POST['uebung_neu']))
{
$beispiel_obj = new beispiel($conn);
$beispiel_obj->uebung_id = $uebung_id;
- $beispiel_obj->bezeichnung = "Beispiel ".($i+1);
+ $beispiel_obj->bezeichnung = "Beispiel ".($i<10?'0'.($i+1):($i+1));
$beispiel_obj->punkte = $punkteprobeispiel;
$beispiel_obj->updateamum = date('Y-m-d H:i:s');
$beispiel_obj->updatevon = $user;
@@ -340,6 +341,25 @@ if(isset($_POST['beispiel_delete']))
}
}
+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']))
{
@@ -387,6 +407,7 @@ if(isset($_POST['uebung_edit']))
$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']);
if($uebung_obj->save(false))
echo "Die Änderung wurde gespeichert!";
@@ -463,6 +484,7 @@ if(isset($uebung_id) && $uebung_id!='')
| Thema | | $error_thema |
| Freigabe | von mktime_fromtimestamp($uebung_obj->freigabevon))."'> |
| (Format: 31.12.2007 14:30) | bis mktime_fromtimestamp($uebung_obj->freigabebis))."'> |
+ | Statistik für Studenten anzeigen statistik?'checked':'')."> | |
|
";
@@ -478,7 +500,7 @@ if(isset($uebung_id) && $uebung_id!='')
echo "
diff --git a/cis/private/lehre/lesson.php b/cis/private/lehre/lesson.php
index f812afd9c..c78fe64b1 100644
--- a/cis/private/lehre/lesson.php
+++ b/cis/private/lehre/lesson.php
@@ -437,7 +437,7 @@

"Kreuzerl"-Tool
- " >
+ " >

"Kreuzerl"-Tool
diff --git a/cis/private/lehre/pinboard_show.php b/cis/private/lehre/pinboard_show.php
index 75df826c9..2215c9528 100644
--- a/cis/private/lehre/pinboard_show.php
+++ b/cis/private/lehre/pinboard_show.php
@@ -41,6 +41,7 @@
$news_obj = new news($conn);
if($news_obj->delete($remove_id))
{
+ writeCISlog('DELETE','PINBOARD');
echo '';
@@ -95,37 +96,41 @@
$i=0;
foreach($news_obj->result as $row)
{
- $i++;
- echo "";
-
- if($i % 2 != 0)
- echo '| ';
- else
- echo ' | ';
-
- if($row->datum!='')
- $datum = date('d.m.Y',strtotime(strftime($row->datum)));
- else
- $datum='';
-
- echo ' ';
- echo ' ';
- echo ' | ';
- echo ' '.$datum.' - '.$row->verfasser.'';
- echo ' | ';
- echo ' ';
- echo ' Editieren, Löschen';
- echo ' | ';
- echo ' ';
- echo ' ';
- echo ' '.$row->betreff.' '.$row->text.' | ';
- echo "
";
- echo '';
- echo ' | | ';
- echo '
';
- echo '';
- echo ' | | ';
- echo '
';
+ //Globale news hier nicht anzeigen
+ if(!($row->studiengang_kz==0 && $row->semester==0))
+ {
+ $i++;
+ echo "";
+
+ if($i % 2 != 0)
+ echo '| ';
+ else
+ echo ' | ';
+
+ if($row->datum!='')
+ $datum = date('d.m.Y',strtotime(strftime($row->datum)));
+ else
+ $datum='';
+
+ echo ' ';
+ echo ' ';
+ echo ' | ';
+ echo ' '.$datum.' - '.$row->verfasser.'';
+ echo ' | ';
+ echo ' ';
+ echo ' Editieren, Löschen';
+ echo ' | ';
+ echo ' ';
+ echo ' ';
+ echo ' '.$row->betreff.' '.$row->text.' | ';
+ echo "
";
+ echo '';
+ echo ' | | ';
+ echo '
';
+ echo '';
+ echo ' | | ';
+ echo '
';
+ }
}
diff --git a/include/beispiel.class.php b/include/beispiel.class.php
index 9cf0c3fe1..5e6d1db5d 100644
--- a/include/beispiel.class.php
+++ b/include/beispiel.class.php
@@ -115,7 +115,7 @@ class beispiel
return false;
}
- $qry = "SELECT * FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id'";
+ $qry = "SELECT * FROM campus.tbl_beispiel WHERE uebung_id='$uebung_id' ORDER BY bezeichnung";
if($result=pg_query($this->conn, $qry))
{
@@ -310,7 +310,8 @@ class beispiel
return false;
}
- $qry = "DELETE FROM campus.tbl_beispiel WHERE beispiel_id='$beispiel_id'";
+ $qry = "DELETE FROM campus.tbl_studentbeispiel WHERE beispiel_id='$beispiel_id';
+ DELETE FROM campus.tbl_beispiel WHERE beispiel_id='$beispiel_id';";
if(pg_query($this->conn, $qry))
return true;
diff --git a/include/uebung.class.php b/include/uebung.class.php
index dca8c3e8c..b033e279a 100644
--- a/include/uebung.class.php
+++ b/include/uebung.class.php
@@ -44,6 +44,7 @@ class uebung
var $updatevon; // varchar(16)
var $insertamum; // timestamp
var $insertvon; // varchar(16)
+ var $statistik; // boolean
//Studentuebung
var $student_uid; // varchar(16)
@@ -113,6 +114,7 @@ class uebung
$this->updatevon = $row->updatevon;
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
+ $this->statistik = ($row->statistik=='t'?true:false);
return true;
}
else
@@ -171,7 +173,7 @@ class uebung
return false;
}
- $qry = "SELECT * FROM campus.tbl_uebung WHERE lehreinheit_id='$lehreinheit_id'";
+ $qry = "SELECT * FROM campus.tbl_uebung WHERE lehreinheit_id='$lehreinheit_id' ORDER BY bezeichnung";
if($result=pg_query($this->conn, $qry))
{
@@ -195,6 +197,7 @@ class uebung
$uebung_obj->updatevon = $row->updatevon;
$uebung_obj->insertamum = $row->insertamum;
$uebung_obj->insertvon = $row->insertvon;
+ $uebung_obj->statistik = ($row->statistik=='t'?true:false);
$this->uebungen[] = $uebung_obj;
}
@@ -257,7 +260,7 @@ class uebung
{
$qry = 'BEGIN; INSERT INTO campus.tbl_uebung(gewicht, punkte, angabedatei, freigabevon, freigabebis,
abgabe, beispiele, bezeichnung, positiv, defaultbemerkung, lehreinheit_id, updateamum,
- updatevon, insertamum, insertvon) VALUES('.
+ updatevon, insertamum, insertvon, statistik) VALUES('.
$this->addslashes($this->gewicht).','.
$this->addslashes($this->punkte).','.
$this->addslashes($this->angabedatei).','.
@@ -272,7 +275,8 @@ class uebung
$this->addslashes($this->updateamum).','.
$this->addslashes($this->updatevon).','.
$this->addslashes($this->insertamum).','.
- $this->addslashes($this->insertvon).');';
+ $this->addslashes($this->insertvon).','.
+ ($this->statistik?'true':'false').');';
}
else
{
@@ -289,7 +293,8 @@ class uebung
' defaultbemerkung='.$this->addslashes($this->defaultbemerkung).','.
' lehreinheit_id='.$this->addslashes($this->lehreinheit_id).','.
' updateamum='.$this->addslashes($this->updateamum).','.
- ' updatevon='.$this->addslashes($this->updatevon).
+ ' updatevon='.$this->addslashes($this->updatevon).','.
+ ' statistik='.($this->statistik?'true':'false').
" WHERE uebung_id=".$this->addslashes($this->uebung_id).";";
}
@@ -329,5 +334,112 @@ class uebung
return false;
}
}
+
+ // *******************************************
+ // * Prueft die Variablen vor dem Speichern
+ // * auf Gueltigkeit.
+ // * @return true wenn ok, false im Fehlerfall
+ // *******************************************
+ function validate_studentuebung()
+ {
+ if(!is_numeric($this->uebung_id))
+ {
+ $this->errormsg = 'Uebung_id muss eine gueltige Zahl sein';
+ return false;
+ }
+ if($this->student_uid=='')
+ {
+ $this->errormsg = 'Student_uid muss eingetragen werden';
+ return false;
+ }
+ return true;
+ }
+
+ // ************************************************************
+ // * Speichert StudentUebung in die Datenbank
+ // * Wenn $new auf true gesetzt ist wird ein neuer Datensatz
+ // * angelegt, ansonsten der Datensatz upgedated
+ // * @return true wenn erfolgreich, false im Fehlerfall
+ // ************************************************************
+ function studentuebung_save($new=null)
+ {
+ if(is_null($new))
+ $new = $this->new;
+
+ //Variablen auf Gueltigkeit pruefen
+ if(!$this->validate_studentuebung())
+ return false;
+
+ if($new)
+ {
+ $qry = 'INSERT INTO campus.tbl_studentuebung(student_uid, mitarbeiter_uid, abgabe_id, uebung_id,
+ note, mitarbeitspunkte, punkte, anmerkung, benotungsdatum, updateamum,
+ updatevon, insertamum, insertvon) VALUES('.
+ $this->addslashes($this->student_uid).','.
+ $this->addslashes($this->mitarbeiter_uid).','.
+ $this->addslashes($this->abgabe_id).','.
+ $this->addslashes($this->uebung_id).','.
+ $this->addslashes($this->note).','.
+ $this->addslashes($this->mitarbeitspunkte).','.
+ $this->addslashes($this->punkte).','.
+ $this->addslashes($this->anmerkung).','.
+ $this->addslashes($this->benotungsdatum).','.
+ $this->addslashes($this->updateamum).','.
+ $this->addslashes($this->updatevon).','.
+ $this->addslashes($this->insertamum).','.
+ $this->addslashes($this->insertvon).');';
+ }
+ else
+ {
+ $qry = 'UPDATE campus.tbl_studentuebung SET'.
+ ' mitarbeiter_uid='.$this->addslashes($this->mitarbeiter_uid).','.
+ ' abgabe_id='.$this->addslashes($this->abgabe_id).','.
+ ' uebung_id='.$this->addslashes($this->uebung_id).','.
+ ' note='.$this->addslashes($this->note).','.
+ ' mitarbeitspunkte='.$this->addslashes($this->mitarbeitspunkte).','.
+ ' punkte='.$this->addslashes($this->punkte).','.
+ ' anmerkung='.$this->addslashes($this->anmerkung).','.
+ ' benotungsdatum='.$this->addslashes($this->benotungsdatum).','.
+ ' updateamum='.$this->addslashes($this->updateamum).','.
+ ' updatevon='.$this->addslashes($this->updatevon).
+ " WHERE uebung_id=".$this->addslashes($this->uebung_id)." AND student_uid=".$this->addslashes($this->student_uid).";";
+ }
+
+ if(pg_query($this->conn,$qry))
+ {
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Speichern der StudentUebung';
+ return false;
+ }
+ }
+
+ // ************************************************************
+ // * Loescht eine Uebung plus die abhaengigen eintraege in den
+ // * Tabellen studentuebung, studentbeispiel, und beispiel
+ // ************************************************************
+ function delete($uebung_id)
+ {
+ if(!is_numeric($uebung_id))
+ {
+ $this->errormsg = 'Uebung_id ist ungueltig';
+ return false;
+ }
+
+ $qry = "DELETE FROM campus.tbl_studentuebung WHERE uebung_id='$uebung_id';
+ 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_beispiel WHERE uebung_id='$uebung_id';
+ DELETE FROM campus.tbl_uebung WHERE uebung_id='$uebung_id'";
+
+ if(pg_query($qry))
+ return true;
+ else
+ {
+ $this->errormsg = 'Fehler beim Loeschen der Daten';
+ return false;
+ }
+ }
}
?>
\ No newline at end of file