- Erweiterung Kreuzerltool

- Globale News über Pinboardverwaltung nicht mehr löschbar
This commit is contained in:
Andreas Österreicher
2007-01-17 16:43:19 +00:00
parent d2ef44150f
commit e9e7a651cc
7 changed files with 215 additions and 59 deletions
@@ -202,6 +202,7 @@ $uebung_obj = new uebung($conn);
$uebung_obj->load_uebung($lehreinheit_id);
if(count($uebung_obj->uebungen)>0)
{
echo "<table width='100%'><tr><td valign='top'>";
echo "Wählen Sie bitte eine Kreuzerlliste aus: <SELECT name='uebung' onChange=\"MM_jumpMenu('self',this,0)\">\n";
foreach ($uebung_obj->uebungen as $row)
{
@@ -223,13 +224,27 @@ if(count($uebung_obj->uebungen)>0)
echo '</OPTION>';
}
echo '</SELECT>';
echo "</td>
<td>
<table>
<tr>
<td><b>+</b>...</td>
<td>Kreuzerlliste ist <u>freigeschalten</u>.</td>
</tr>
<tr>
<td><b>-</b>...</td>
<td>Kreuzerlliste ist <u>nicht freigeschalten</u>.</td>
</tr>
</table>
</td>
</tr></table>";
}
else
die("Derzeit gibt es keine Uebungen");
$uebung_obj = new uebung($conn);
$uebung_obj->load($uebung_id);
echo "<br><br><h3><u>$uebung_obj->bezeichnung</u></h3>";
echo "<h3><u>$uebung_obj->bezeichnung</u></h3>";
echo "<ul><li><a href='anwesenheitsliste.php?output=html&uebung_id=$uebung_id&lehreinheit_id=$lehreinheit_id'>Alle Studierende</a>&nbsp;<a href='anwesenheitsliste.php?output=xls&uebung_id=$uebung_id&lehreinheit_id=$lehreinheit_id'><img src='../../../../skin/images/excel.gif' width=16 height=16></a></li>";
+15 -15
View File
@@ -201,6 +201,7 @@ $uebung_obj = new uebung($conn);
$uebung_obj->load_uebung($lehreinheit_id);
if(count($uebung_obj->uebungen)>0)
{
echo "<table width='100%'><tr><td valign='top'>";
echo "Wählen Sie bitte eine Kreuzerlliste aus: <SELECT name='uebung' onChange=\"MM_jumpMenu('self',this,0)\">\n";
foreach ($uebung_obj->uebungen as $row)
{
@@ -222,6 +223,20 @@ if(count($uebung_obj->uebungen)>0)
echo '</OPTION>';
}
echo '</SELECT>';
echo "</td>
<td>
<table>
<tr>
<td><b>+</b>...</td>
<td>Kreuzerlliste ist <u>freigeschalten</u>.</td>
</tr>
<tr>
<td><b>-</b>...</td>
<td>Kreuzerlliste ist <u>nicht freigeschalten</u>.</td>
</tr>
</table>
</td>
</tr></table>";
}
else
echo "Derzeit gibt es keine Uebungen";
@@ -295,21 +310,6 @@ if(isset($uebung_id) && $uebung_id!='')
echo "<span class='error'>$beispiel_obj->errormsg</span>";
}
/*
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);
}
*/
?>
</td></tr>
</table>
+28 -5
View File
@@ -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 "<span class='error'>$error_msg</span>";
}
}
//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 &Auml;nderung wurde gespeichert!";
@@ -463,6 +484,7 @@ if(isset($uebung_id) && $uebung_id!='')
<tr><td>Thema</td><td align='right'><input type='text' name='thema' value='$uebung_obj->bezeichnung'></td><td>$error_thema</td></tr>
<tr><td>Freigabe</td><td align='right'>von <input type='text' size='16' name='freigabevon' value='".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabevon))."'></td></tr>
<tr><td>(Format: 31.12.2007 14:30)</td><td align='right'>bis <input type='text' size='16' name='freigabebis' value='".date('d.m.Y H:i',$datum_obj->mktime_fromtimestamp($uebung_obj->freigabebis))."'></td></tr>
<tr><td>Statistik f&uuml;r Studenten anzeigen <input type='checkbox' name='statistik' ".($uebung_obj->statistik?'checked':'')."></td><td></td></tr>
<tr><td colspan=2 align='right'><input type='submit' name='uebung_edit' value='Ändern'></td></tr>
</table>
</form>";
@@ -478,7 +500,7 @@ if(isset($uebung_id) && $uebung_id!='')
echo "<table width='340'><tr><td colspan='3' class='ContentHeader3'>Neues Beispiel anlegen</td></tr>\n";
echo "<tr><td>&nbsp;</td><td></td></tr>\n\n";
echo "<tr><td>Bezeichnung <input type='text' name='bezeichnung' value='Beispiel ".($anzahl+1)."'>";
echo "<tr><td>Bezeichnung <input type='text' name='bezeichnung' value='Beispiel ".($anzahl<10?'0'.($anzahl+1):($anzahl+1))."'>";
echo "&nbsp;Punkte <input type='text' size='2' name='punkte' value='1'></td></tr>";
echo "<tr><td align='right'><input type='submit' name='beispiel_neu' value='Anlegen'></td></tr>";
@@ -548,7 +570,7 @@ else
echo "<tr><td></td><td></td><td>&nbsp;</td></tr><tr><th>Thema</th><th>Freigeschalten</th><th>Auswahl</th></tr>";
foreach ($uebung_obj->uebungen as $row)
{
echo "<tr><td align='center'><a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id' class='Item'><u>".htmlentities($row->bezeichnung)."</u></a></td><td align='center'>";
echo "<tr><td align='left'><a href='verwaltung.php?lvid=$lvid&stsem=$stsem&lehreinheit_id=$lehreinheit_id&uebung_id=$row->uebung_id' class='Item'><u>".htmlentities($row->bezeichnung)."</u></a></td><td align='center'>";
if((strtotime(strftime($row->freigabevon))<=time()) && (strtotime(strftime($row->freigabebis))>=time()))
echo 'Ja';
@@ -556,7 +578,7 @@ else
echo 'Nein';
echo "</td><td align='center'><input type='Checkbox' name='uebung[]' value='$row->uebung_id'></td>";
}
echo "<tr><td></td><td></td><td><input type='Submit' value='Auswahl löschen' name='delete_uebung'></td></tr>";
echo "<tr><td></td><td></td><td><input type='Submit' value='Auswahl löschen' name='delete_uebung' onclick='return confirmdelete();'></td></tr>";
}
else
echo "<tr><td colspan='3'>Derzeit sind keine Kreuzerllisten angelegt</td><td></td></tr>";
@@ -565,7 +587,7 @@ else
</form><br><br>";
if(!isset($_POST['uebung_neu']))
{
$thema = "Uebung ".($anzahl+1);
$thema = "Uebung ".($anzahl<10?'0'.($anzahl+1):($anzahl+1));
$anzahlderbeispiele = 10;
$punkteprobeispiel = 1;
$freigabevon = date('d.m.Y H:i');
@@ -580,6 +602,7 @@ else
<tr><td>Anzahl Punkte pro Beispiel</td><td align='right'><input type='text' name='punkteprobeispiel' value='$punkteprobeispiel'></td><td>$error_punkteprobeispiel</td></tr>
<tr><td>Freigabe</td><td align='right'>von <input type='text' size='16' name='freigabevon' value='$freigabevon'></td><td>$error_freigabevon</td></tr>
<tr><td>(Format: 31.12.2007 14:30)</td><td align='right'>bis <input type='text' size='16' name='freigabebis' value='$freigabebis'></td><td>$error_freigabebis</td></tr>
<tr><td>Statistik f&uuml;r Studenten anzeigen <input type='checkbox' name='statistik'></td><td></td></tr>
<tr><td colspan=2 align='right'><input type='submit' name='uebung_neu' value='Anlegen'></td></tr>
</table>
</form>
+1 -1
View File
@@ -437,7 +437,7 @@
<img src="../../../skin/images/button_kt.jpg" border="0" width="67" height="45"><br>
<strong>"Kreuzerl"-Tool</strong></a>
<?php } else { ?>
<a href="kreuzerltool/result_student.php?<?php echo "course_id=$course_id&term_id=$term_id&short=$short"?>" >
<a href="kreuzerltool/studentenansicht.php?<?php echo "lvid=$lvid"?>" >
<img src="../../../skin/images/button_kt.jpg" border="0" width="67" height="45"><br>
<strong>"Kreuzerl"-Tool</strong></a>
+36 -31
View File
@@ -41,6 +41,7 @@
$news_obj = new news($conn);
if($news_obj->delete($remove_id))
{
writeCISlog('DELETE','PINBOARD');
echo '<script language="JavaScript">';
echo " document.location.href = 'pinboard_show.php?course_id=$course_id&term_id=$term_id'";
echo '</script>';
@@ -95,37 +96,41 @@
$i=0;
foreach($news_obj->result as $row)
{
$i++;
echo "<tr>";
if($i % 2 != 0)
echo '<td class="MarkLine">';
else
echo '<td>';
if($row->datum!='')
$datum = date('d.m.Y',strtotime(strftime($row->datum)));
else
$datum='';
echo ' <table width="100%" border="0" cellspacing="0" cellpadding="0">';
echo ' <tr>';
echo ' <td nowarp>';
echo ' <small>'.$datum.'&nbsp;-&nbsp;'.$row->verfasser.'</small>';
echo ' </td>';
echo ' <td align="right" nowrap>';
echo ' <a onClick="editEntry('.$row->news_id.', '.$row->studiengang_kz.', '.($row->semester==''?0:$row->semester).');">Editieren</a>, <a onClick="deleteEntry('.$row->news_id.', '.$row->studiengang_kz.',' .($row->semester==''?0:$row->semester).');">L&ouml;schen</a>';
echo ' </td>';
echo ' </tr>';
echo ' </table>';
echo ' <strong>'.$row->betreff.'</strong><br>'.$row->text.'</td>';
echo "</tr>";
echo '<tr>';
echo ' <td>&nbsp;</td>';
echo '</tr>';
echo '<tr>';
echo ' <td>&nbsp;</td>';
echo '</tr>';
//Globale news hier nicht anzeigen
if(!($row->studiengang_kz==0 && $row->semester==0))
{
$i++;
echo "<tr>";
if($i % 2 != 0)
echo '<td class="MarkLine">';
else
echo '<td>';
if($row->datum!='')
$datum = date('d.m.Y',strtotime(strftime($row->datum)));
else
$datum='';
echo ' <table width="100%" border="0" cellspacing="0" cellpadding="0">';
echo ' <tr>';
echo ' <td nowarp>';
echo ' <small>'.$datum.'&nbsp;-&nbsp;'.$row->verfasser.'</small>';
echo ' </td>';
echo ' <td align="right" nowrap>';
echo ' <a onClick="editEntry('.$row->news_id.', '.$row->studiengang_kz.', '.($row->semester==''?0:$row->semester).');">Editieren</a>, <a onClick="deleteEntry('.$row->news_id.', '.$row->studiengang_kz.',' .($row->semester==''?0:$row->semester).');">L&ouml;schen</a>';
echo ' </td>';
echo ' </tr>';
echo ' </table>';
echo ' <strong>'.$row->betreff.'</strong><br>'.$row->text.'</td>';
echo "</tr>";
echo '<tr>';
echo ' <td>&nbsp;</td>';
echo '</tr>';
echo '<tr>';
echo ' <td>&nbsp;</td>';
echo '</tr>';
}
}
+3 -2
View File
@@ -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;
+116 -4
View File
@@ -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;
}
}
}
?>