This commit is contained in:
Andreas Österreicher
2008-08-25 15:55:59 +00:00
parent fe3c4c8002
commit df9fcc8010
4 changed files with 359 additions and 77 deletions
+77 -76
View File
@@ -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);
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;
return false;
}
else
return true;
}
}
else
return true;
}
}
}
}
}
?>