diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php
index f1be3e449..5e5e5e3d2 100644
--- a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php
+++ b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php
@@ -33,8 +33,6 @@ require_once('../../../../include/prestudent.class.php');
require_once('../../../../include/person.class.php');
$uid = get_uid();
-//TODO
-$uid = "p20132443";
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
@@ -544,11 +542,11 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
$anrechnung->lehrveranstaltung_id_kompatibel = $lv_komp->lehrveranstaltung_id;
$anrechnung->prestudent_id = $prestudent_id;
$anrechnung->begruendung_id = "2";
- //TODO welche uid übergeben?
- $anrechnung->genehmigt_von = "p.vondrak";
+ $anrechnung->genehmigt_von = CIS_PRUEFUNGSANMELDUNG_USER;
$anrechnung->new = true;
if($anrechnung->save())
{
+ $anmeldung->anrechnung_id = $anrechnung->anrechnung_id;
if($anmeldung->save(true))
{
$pruefung = new pruefungCis($termin->pruefung_id);
@@ -671,12 +669,16 @@ function getAllPruefungen($aktStudiensemester = null, $uid = null)
function stornoAnmeldung($uid = null)
{
$pruefungsanmeldung_id=$_REQUEST['pruefungsanmeldung_id'];
- $pruefungsanmeldung = new pruefungsanmeldung();
+ $pruefungsanmeldung = new pruefungsanmeldung($pruefungsanmeldung_id);
+ $anrechnung = new anrechnung($pruefungsanmeldung->anrechnung_id);
if($pruefungsanmeldung->delete($pruefungsanmeldung_id, $uid))
{
- $data['result']='Anmeldung erfolgreich gelöscht.';
- $data['error']='false';
- $data['errormsg']='';
+ if($anrechnung->delete($anrechnung->anrechnung_id))
+ {
+ $data['result'] = 'Anmeldung erfolgreich gelöscht.';
+ $data['error'] = 'false';
+ $data['errormsg'] = '';
+ }
}
else
{
diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.php b/cis/private/lehre/pruefung/pruefungsanmeldung.php
index 5dff3c506..250b38fed 100644
--- a/cis/private/lehre/pruefung/pruefungsanmeldung.php
+++ b/cis/private/lehre/pruefung/pruefungsanmeldung.php
@@ -32,8 +32,6 @@ require_once('../../../../include/student.class.php');
$uid = get_uid();
-//TODO
-$uid = "p20132443";
$db = new basis_db();
$rechte = new benutzerberechtigung();
diff --git a/config/cis.config-default.inc.php b/config/cis.config-default.inc.php
index cb5cb5d0a..97c633a4b 100644
--- a/config/cis.config-default.inc.php
+++ b/config/cis.config-default.inc.php
@@ -205,4 +205,7 @@ define('CIS_DOKUMENTE_STUDIENBUCHLBATT_DRUCKEN',false);
//Gibt an, ob der Lageplan im Infoterminal angezeigt werden soll.
define('CIS_INFOSCREEN_LAGEPLAN_ANZEIGEN',true);
+//User, welcher für das Anlegen von Anrechnungen bei der Prüfungsanmeldung verwendet wird
+define('CIS_PRUEFUNGSANMELDUNG_USER','p.pruefungsanmeldung');
+
?>
diff --git a/include/anrechnung.class.php b/include/anrechnung.class.php
index e6ed5bb74..8a6449890 100644
--- a/include/anrechnung.class.php
+++ b/include/anrechnung.class.php
@@ -1,4 +1,5 @@
*/
-require_once(dirname(__FILE__).'/basis_db.class.php');
-require_once(dirname(__FILE__).'/datum.class.php');
-require_once(dirname(__FILE__).'/lehrveranstaltung.class.php');
+require_once(dirname(__FILE__) . '/basis_db.class.php');
+require_once(dirname(__FILE__) . '/datum.class.php');
+require_once(dirname(__FILE__) . '/lehrveranstaltung.class.php');
-class anrechnung extends basis_db
-{
- public $errormsg;
- public $new;
- public $result;
+class anrechnung extends basis_db {
- // Tabellenspalten
- public $anrechnung_id; // integer
- public $prestudent_id; // integer
- public $lehrveranstaltung_id; // integer
- public $begruendung_id; // integer
- public $lehrveranstaltung_id_kompatibel; // integer
- public $genehmigt_von; // varchar(32)
- public $insertamum; // timestamp
- public $insertvon; // varchar(32)
- public $updateamum; // timestamp
- public $updatevon; // varchar(32)
-
- public $begruendungen = array();
-
- public function validate()
- {
- if(!is_numeric($this->prestudent_id))
- {
- $this->errormsg = "Prestudent_id ist ungueltig";
- return false;
- }
-
- if(!is_numeric($this->lehrveranstaltung_id))
- {
- $this->errormsg = "Wählen Sie eine Lehrveranstaltung aus";
- return false;
- }
-
- if(!is_numeric($this->begruendung_id))
- {
- $this->errormsg = "Wählen Sie eine Begründung aus";
- return false;
- }
-
- if($this->begruendung_id == "2" && !is_numeric($this->lehrveranstaltung_id_kompatibel))
- {
- $this->errormsg = "Wählen Sie eine kompatible Lehrveranstaltung aus";
- return false;
- }
-
- if(empty($this->genehmigt_von))
- {
- $this->errormsg = "Wählen Sie die Person aus, die die Anrechnung genehmigt hat";
- return false;
- }
-
- return true;
+ public $errormsg;
+ public $new;
+ public $result;
+ // Tabellenspalten
+ public $anrechnung_id; // integer
+ public $prestudent_id; // integer
+ public $lehrveranstaltung_id; // integer
+ public $begruendung_id; // integer
+ public $lehrveranstaltung_id_kompatibel; // integer
+ public $genehmigt_von; // varchar(32)
+ public $insertamum; // timestamp
+ public $insertvon; // varchar(32)
+ public $updateamum; // timestamp
+ public $updatevon; // varchar(32)
+ public $begruendungen = array();
+
+ /**
+ * Konstruktor - Laedt optional eine Anrechnung
+ * @param $anrechnung_id
+ */
+ public function __construct($anrechnung_id = null) {
+ parent::__construct();
+ if ($anrechnung_id != null)
+ $this->load($anrechnung_id);
+ }
+
+ public function validate() {
+ if (!is_numeric($this->prestudent_id)) {
+ $this->errormsg = "Prestudent_id ist ungueltig";
+ return false;
}
-
- /**
- * Lädt eine Anrechnung
- * @param $anrechnung_id ID der Anrechnung
- * @return true wenn ok, false im Fehlerfall
- */
- public function getAnrechnung($anrechnung_id)
- {
- $qry = "SELECT anrechnung_id, prestudent_id, lehrveranstaltung_id, begruendung_id, bezeichnung AS begruendung, "
- . "lehrveranstaltung_id_kompatibel, genehmigt_von, insertamum, insertvon, updateamum, updatevon "
- . "FROM lehre.tbl_anrechnung "
- . "JOIN lehre.tbl_anrechnung_begruendung USING (begruendung_id) "
- . "WHERE anrechnung_id = " . $this->db_add_param($anrechnung_id);
-
- if($result = $this->db_query($qry))
- {
- if($row = $this->db_fetch_object($result))
- {
- $datum = new datum();
- $lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id);
- $row->insertamum = $datum->convertISODate($row->insertamum);
- $row->lehrveranstaltung_bez = $lehrveranstaltung->bezeichnung;
- if($row->lehrveranstaltung_id_kompatibel != '')
- {
- $lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id_kompatibel);
- $row->lehrveranstaltung_bez_kompatibel = $lehrveranstaltung->bezeichnung;
- }
- else
- $row->lehrveranstaltung_bez_kompatibel = null;
-
- $this->result[] = $row;
- }
- else
- {
- $this->errormsg = 'Es wurde kein Datensatz mit dieser ID gefunden';
- return false;
- }
- }
- else
- {
- $this->errormsg = 'Fehler beim Laden der Daten';
- return false;
- }
- }
-
- /**
- * Speichert eine Anrechnung
- * @return true wenn ok, false im Fehlerfall
- */
- public function save()
- {
- if(!$this->validate())
- return false;
- if($this->new == "1")
- {
- // Neuen Datensatz anlegen
- $qry = 'INSERT INTO lehre.tbl_anrechnung (prestudent_id, lehrveranstaltung_id, begruendung_id, lehrveranstaltung_id_kompatibel, genehmigt_von, insertamum, insertvon, updateamum, updatevon) VALUES ('.
- $this->db_add_param($this->prestudent_id).', '.
- $this->db_add_param($this->lehrveranstaltung_id).', '.
- $this->db_add_param($this->begruendung_id).', '.
- $this->db_add_param($this->lehrveranstaltung_id_kompatibel).', '.
- $this->db_add_param($this->genehmigt_von).', '.
- 'NOW(),'.
- $this->db_add_param($this->insertvon).', '.
- 'NOW(),'.
- $this->db_add_param($this->updatevon).') RETURNING anrechnung_id;';
+ if (!is_numeric($this->lehrveranstaltung_id)) {
+ $this->errormsg = "Wählen Sie eine Lehrveranstaltung aus";
+ return false;
+ }
+
+ if (!is_numeric($this->begruendung_id)) {
+ $this->errormsg = "Wählen Sie eine Begründung aus";
+ return false;
+ }
+
+ if ($this->begruendung_id == "2" && !is_numeric($this->lehrveranstaltung_id_kompatibel)) {
+ $this->errormsg = "Wählen Sie eine kompatible Lehrveranstaltung aus";
+ return false;
+ }
+
+ if (empty($this->genehmigt_von)) {
+ $this->errormsg = "Wählen Sie die Person aus, die die Anrechnung genehmigt hat";
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Lädt eine Anrechnung
+ * @param $anrechnung_id ID der Anrechnung
+ * @return true wenn ok, false im Fehlerfall
+ */
+ public function getAnrechnung($anrechnung_id) {
+ $qry = "SELECT anrechnung_id, prestudent_id, lehrveranstaltung_id, begruendung_id, bezeichnung AS begruendung, "
+ . "lehrveranstaltung_id_kompatibel, genehmigt_von, insertamum, insertvon, updateamum, updatevon "
+ . "FROM lehre.tbl_anrechnung "
+ . "JOIN lehre.tbl_anrechnung_begruendung USING (begruendung_id) "
+ . "WHERE anrechnung_id = " . $this->db_add_param($anrechnung_id);
+
+ if ($result = $this->db_query($qry)) {
+ if ($row = $this->db_fetch_object($result)) {
+ $datum = new datum();
+ $lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id);
+ $row->insertamum = $datum->convertISODate($row->insertamum);
+ $row->lehrveranstaltung_bez = $lehrveranstaltung->bezeichnung;
+ if ($row->lehrveranstaltung_id_kompatibel != '') {
+ $lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id_kompatibel);
+ $row->lehrveranstaltung_bez_kompatibel = $lehrveranstaltung->bezeichnung;
+ } else
+ $row->lehrveranstaltung_bez_kompatibel = null;
+
+ $this->result[] = $row;
}
- else
- {
- // Datensatz aktualisieren
- $qry = 'UPDATE lehre.tbl_anrechnung SET '
- . 'lehrveranstaltung_id = ' . $this->db_add_param($this->lehrveranstaltung_id) . ', '
- . 'begruendung_id = ' . $this->db_add_param($this->begruendung_id) . ', '
- . 'lehrveranstaltung_id_kompatibel = ' . $this->db_add_param($this->lehrveranstaltung_id_kompatibel) . ', '
- . 'genehmigt_von = ' . $this->db_add_param($this->genehmigt_von) . ', '
- . 'updateamum = NOW(), '
- . 'updatevon = ' . $this->db_add_param($this->updatevon) . ' '
- . 'WHERE anrechnung_id = ' . $this->db_add_param($this->anrechnung_id);
- }
-
- if($this->db_query($qry))
- {
- $this->anrechnung_id = $this->db_fetch_object()->anrechnung_id;
- return true;
- }
- else
- {
- $this->errormsg = 'Fehler beim Speichern der Anrechnung: '.$this->db_last_error();
+ else {
+ $this->errormsg = 'Es wurde kein Datensatz mit dieser ID gefunden';
return false;
}
+ } else {
+ $this->errormsg = 'Fehler beim Laden der Daten';
+ return false;
}
-
- /**
- * Gibt alle Anrechnungen eines Prestudenten zurück
- * @param $prestudent_id
- * @return true wenn ok, false im Fehlerfall
- */
- public function getAnrechnungPrestudent($prestudent_id)
- {
- $qry = "SELECT anrechnung_id, prestudent_id, lehrveranstaltung_id, begruendung_id, bezeichnung AS begruendung, "
- . "lehrveranstaltung_id_kompatibel, genehmigt_von , insertamum, insertvon, updateamum, updatevon "
- . "FROM lehre.tbl_anrechnung "
- . "JOIN lehre.tbl_anrechnung_begruendung USING (begruendung_id) "
- . "WHERE prestudent_id = " . $this->db_add_param($prestudent_id);
+ }
- if($this->db_query($qry))
- {
- $datum = new datum();
-
- while($row = $this->db_fetch_object())
- {
- $row->insertamum = $datum->convertISODate($row->insertamum);
- $lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id);
- $row->lehrveranstaltung_bez = $lehrveranstaltung->bezeichnung;
- if($row->lehrveranstaltung_id_kompatibel != '')
- {
- $lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id_kompatibel);
- $row->lehrveranstaltung_bez_kompatibel = $lehrveranstaltung->bezeichnung;
- }
- else
- $row->lehrveranstaltung_bez_kompatibel = null;
-
- $this->result[] = $row;
- }
-
- return true;
- }
- else
- {
- $this->errormsg = 'Datensatz konnte nicht geladen werden';
- return false;
- }
+ /**
+ * Speichert eine Anrechnung
+ * @return true wenn ok, false im Fehlerfall
+ */
+ public function save() {
+ if (!$this->validate())
+ return false;
+
+ if ($this->new == "1") {
+ // Neuen Datensatz anlegen
+ $qry = 'INSERT INTO lehre.tbl_anrechnung (prestudent_id, lehrveranstaltung_id, begruendung_id, lehrveranstaltung_id_kompatibel, genehmigt_von, insertamum, insertvon, updateamum, updatevon) VALUES (' .
+ $this->db_add_param($this->prestudent_id) . ', ' .
+ $this->db_add_param($this->lehrveranstaltung_id) . ', ' .
+ $this->db_add_param($this->begruendung_id) . ', ' .
+ $this->db_add_param($this->lehrveranstaltung_id_kompatibel) . ', ' .
+ $this->db_add_param($this->genehmigt_von) . ', ' .
+ 'NOW(),' .
+ $this->db_add_param($this->insertvon) . ', ' .
+ 'NOW(),' .
+ $this->db_add_param($this->updatevon) . ') RETURNING anrechnung_id;';
+ } else {
+ // Datensatz aktualisieren
+ $qry = 'UPDATE lehre.tbl_anrechnung SET '
+ . 'lehrveranstaltung_id = ' . $this->db_add_param($this->lehrveranstaltung_id) . ', '
+ . 'begruendung_id = ' . $this->db_add_param($this->begruendung_id) . ', '
+ . 'lehrveranstaltung_id_kompatibel = ' . $this->db_add_param($this->lehrveranstaltung_id_kompatibel) . ', '
+ . 'genehmigt_von = ' . $this->db_add_param($this->genehmigt_von) . ', '
+ . 'updateamum = NOW(), '
+ . 'updatevon = ' . $this->db_add_param($this->updatevon) . ' '
+ . 'WHERE anrechnung_id = ' . $this->db_add_param($this->anrechnung_id);
}
-
- /**
- * Loescht eine Anrechnung
- * @param $anrechnung_id
- * @return true wenn ok, false im Fehlerfall
- */
- public function delete($anrechnung_id)
- {
- $qry = "DELETE FROM lehre.tbl_anrechnung WHERE anrechnung_id = " . $this->db_add_param($anrechnung_id);
-
- if($this->db_query($qry))
- {
- return true;
- }
- else
- {
- $this->errormsg = 'Datensatz konnte nicht geloescht werden';
- return false;
- }
+
+ if ($this->db_query($qry)) {
+ $this->anrechnung_id = $this->db_fetch_object()->anrechnung_id;
+ return true;
+ } else {
+ $this->errormsg = 'Fehler beim Speichern der Anrechnung: ' . $this->db_last_error();
+ return false;
}
-
- /**
- * Gibt die Anzahl der Notizen für eine Anrechnung zurück
- * @param $anrechung_id
- * @return Anzahl der Notizen, false im Fehlerfall
- */
- public function getAnzahlNotizen($anrechung_id)
- {
- $qry = "SELECT COUNT(*) AS anzahl "
- . "FROM public.tbl_notizzuordnung "
- . "WHERE anrechnung_id = " . $this->db_add_param($anrechung_id);
-
- if($result = $this->db_query($qry))
- {
- if($row = $this->db_fetch_object($result))
- {
- return $row->anzahl;
- }
- else
- {
- $this->errormsg = 'Daten konnten nicht geladen werden';
- return false;
- }
- }
- else
- {
- $this->errormsg = 'Daten konnten nicht geladen werden';
- return false;
- }
- }
-
- /**
- * Gibt alle möglichen Begründungen zurück
- * @return array Array der Begründungen
- */
- public function getAllBegruendung()
- {
- $qry = 'SELECT * FROM lehre.tbl_anrechnung_begruendung';
-
- if($this->db_query($qry))
- {
- while ($row = $this->db_fetch_object())
- {
- $stdobj = new stdClass();
- $stdobj->begruendung_id = $row->begruendung_id;
- $stdobj->bezeichnung = $row->bezeichnung;
- array_push($this->begruendungen, $stdobj);
- }
- return true;
+ }
+
+ /**
+ * Gibt alle Anrechnungen eines Prestudenten zurück
+ * @param $prestudent_id
+ * @return true wenn ok, false im Fehlerfall
+ */
+ public function getAnrechnungPrestudent($prestudent_id) {
+ $qry = "SELECT anrechnung_id, prestudent_id, lehrveranstaltung_id, begruendung_id, bezeichnung AS begruendung, "
+ . "lehrveranstaltung_id_kompatibel, genehmigt_von , insertamum, insertvon, updateamum, updatevon "
+ . "FROM lehre.tbl_anrechnung "
+ . "JOIN lehre.tbl_anrechnung_begruendung USING (begruendung_id) "
+ . "WHERE prestudent_id = " . $this->db_add_param($prestudent_id);
+
+ if ($this->db_query($qry)) {
+ $datum = new datum();
+
+ while ($row = $this->db_fetch_object()) {
+ $row->insertamum = $datum->convertISODate($row->insertamum);
+ $lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id);
+ $row->lehrveranstaltung_bez = $lehrveranstaltung->bezeichnung;
+ if ($row->lehrveranstaltung_id_kompatibel != '') {
+ $lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id_kompatibel);
+ $row->lehrveranstaltung_bez_kompatibel = $lehrveranstaltung->bezeichnung;
+ } else
+ $row->lehrveranstaltung_bez_kompatibel = null;
+
+ $this->result[] = $row;
}
- else
- {
+
+ return true;
+ }
+ else {
+ $this->errormsg = 'Datensatz konnte nicht geladen werden';
+ return false;
+ }
+ }
+
+ /**
+ * Loescht eine Anrechnung
+ * @param $anrechnung_id
+ * @return true wenn ok, false im Fehlerfall
+ */
+ public function delete($anrechnung_id) {
+ $qry = "DELETE FROM lehre.tbl_anrechnung WHERE anrechnung_id = " . $this->db_add_param($anrechnung_id);
+
+ if ($this->db_query($qry)) {
+ return true;
+ } else {
+ $this->errormsg = 'Datensatz konnte nicht geloescht werden';
+ return false;
+ }
+ }
+
+ /**
+ * Gibt die Anzahl der Notizen für eine Anrechnung zurück
+ * @param $anrechung_id
+ * @return Anzahl der Notizen, false im Fehlerfall
+ */
+ public function getAnzahlNotizen($anrechung_id) {
+ $qry = "SELECT COUNT(*) AS anzahl "
+ . "FROM public.tbl_notizzuordnung "
+ . "WHERE anrechnung_id = " . $this->db_add_param($anrechung_id);
+
+ if ($result = $this->db_query($qry)) {
+ if ($row = $this->db_fetch_object($result)) {
+ return $row->anzahl;
+ } else {
$this->errormsg = 'Daten konnten nicht geladen werden';
return false;
}
+ } else {
+ $this->errormsg = 'Daten konnten nicht geladen werden';
+ return false;
}
-}
\ No newline at end of file
+ }
+
+ /**
+ * Gibt alle möglichen Begründungen zurück
+ * @return array Array der Begründungen
+ */
+ public function getAllBegruendung() {
+ $qry = 'SELECT * FROM lehre.tbl_anrechnung_begruendung';
+
+ if ($this->db_query($qry)) {
+ while ($row = $this->db_fetch_object()) {
+ $stdobj = new stdClass();
+ $stdobj->begruendung_id = $row->begruendung_id;
+ $stdobj->bezeichnung = $row->bezeichnung;
+ array_push($this->begruendungen, $stdobj);
+ }
+ return true;
+ } else {
+ $this->errormsg = 'Daten konnten nicht geladen werden';
+ return false;
+ }
+ }
+
+ /**
+ * Lädt eine Anrechnung
+ * @param $anrechnung_id ID der Anrechnung
+ * @return true wenn ok, false im Fehlerfall
+ */
+ public function load($anrechnung_id) {
+ $qry = "SELECT anrechnung_id, prestudent_id, lehrveranstaltung_id, begruendung_id, bezeichnung AS begruendung, "
+ . "lehrveranstaltung_id_kompatibel, genehmigt_von, insertamum, insertvon, updateamum, updatevon "
+ . "FROM lehre.tbl_anrechnung "
+ . "JOIN lehre.tbl_anrechnung_begruendung USING (begruendung_id) "
+ . "WHERE anrechnung_id = " . $this->db_add_param($anrechnung_id);
+
+ if ($result = $this->db_query($qry)) {
+ if ($row = $this->db_fetch_object($result)) {
+ $this->anrechnung_id = $row->anrechnung_id;
+ $this->prestudent_id = $row->prestudent_id;
+ $this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
+ $this->lehrveranstaltung_id_kompatibel = $row->lehrveranstaltung_id_kompatibel;
+ $this->begruendung_id = $row->begruendung_id;
+ $this->begruendung = $row->begruendung;
+ $this->genehmigt_von = $row->genehmigt_von;
+
+ $datum = new datum();
+ $lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id);
+ $this->insertamum = $datum->convertISODate($row->insertamum);
+ $this->lehrveranstaltung_bez = $lehrveranstaltung->bezeichnung;
+ if ($row->lehrveranstaltung_id_kompatibel != '') {
+ $lehrveranstaltung = new lehrveranstaltung($row->lehrveranstaltung_id_kompatibel);
+ $this->lehrveranstaltung_bez_kompatibel = $lehrveranstaltung->bezeichnung;
+ } else
+ $this->lehrveranstaltung_bez_kompatibel = null;
+ }
+ else {
+ $this->errormsg = 'Es wurde kein Datensatz mit dieser ID gefunden';
+ return false;
+ }
+ } else {
+ $this->errormsg = 'Fehler beim Laden der Daten';
+ return false;
+ }
+ }
+
+}
diff --git a/include/pruefungsanmeldung.class.php b/include/pruefungsanmeldung.class.php
index e22ff62c1..a1bcf9c0a 100644
--- a/include/pruefungsanmeldung.class.php
+++ b/include/pruefungsanmeldung.class.php
@@ -1,355 +1,361 @@
-
- */
-
-require_once(dirname(__FILE__) . '/basis_db.class.php');
-
-class pruefungsanmeldung extends basis_db {
- public $new;
- public $result = array();
-
- public $pruefungsanmeldung_id; //bigint
- public $uid; //varchar(32)
- public $pruefungstermin_id; //bigint
- public $lehrveranstaltung_id; //bigint
- public $status_kurzbz; //varchar(32)
- public $wuensche; //text
- public $reihung; //smallint
- public $kommentar; //text
- public $statusupdatevon; //varchar(32)
- public $statusupdateamum; //timestamp
-
- /**
- * Konstruktor
- * @param pruefung_id ID der zu ladenden Prüfung
- */
- public function __construct($pruefungsanmeldung_id = null)
- {
- parent::__construct();
-
- if ($pruefungsanmeldung_id != null)
- $this->load($pruefungsanmeldung_id);
- }
-
- public function __set($name, $value)
- {
- switch ($name) {
- case 'pruefungsanmeldung_id':
- if (!is_numeric($value))
- throw new Exception('Attribute pruefungsanmeldung_id must be numeric!');
- $this->$name = $value;
- break;
- case 'pruefungstermin_id':
- if(!is_numeric($value))
- throw new Exception('Attribute pruefungstermin_id must be numeric!');
- $this->$name = $value;
- break;
- case 'lehrveranstaltung_id':
- if(!is_numeric($value))
- throw new Exception('Attribute lehrveranstaltung_id must be numeric!');
- $this->$name = $value;
- break;
- default:
- $this->$name = $value;
- }
- }
-
- public function __get($name)
- {
- return $this->$name;
- }
-
- /**
- * speichert eine Prüfungsanmeldung
- * @param type $new
- * @return boolean true, wenn erfolgreich; false im Fehlerfall
- */
- public function save($new = null)
- {
- if ($new == null)
- $new = $this->new;
-
- if($new)
- {
- $qry = 'INSERT INTO campus.tbl_pruefungsanmeldung (uid, pruefungstermin_id, lehrveranstaltung_id, status_kurzbz, wuensche, reihung, kommentar) VALUES ('
- . $this->db_add_param($this->uid).', '
- . $this->db_add_param($this->pruefungstermin_id).', '
- . $this->db_add_param($this->lehrveranstaltung_id).', '
- . $this->db_add_param($this->status_kurzbz).', '
- . $this->db_add_param($this->wuensche).', '
- . $this->db_add_param($this->reihung).', '
- . $this->db_add_param($this->kommentar).');';
- }
- else
- {
- $qry = 'UPDATE campus.tbl_pruefungsanmeldung SET '
- . 'uid='.$this->db_add_param($this->uid).', '
- . 'pruefungstermin_id='.$this->db_add_param($this->pruefungstermin_id).', '
- . 'lehrveranstaltung_id='.$this->db_add_param($this->lehrveranstaltung_id).', '
- . 'status_kurzbz='.$this->db_add_param($this->status_kurzbz).', '
- . 'wuensche='.$this->db_add_param($this->wuensche).', '
- . 'reihung='.$this->db_add_param($this->reihung).', '
- . 'kommentar='.$this->db_add_param($this->kommentar)
- . ' WHERE pruefungsanmeldung_id='.$this->db_add_param($this->pruefungsanmeldung_id).';';
- }
-
- if ($this->db_query($qry))
- {
- return true;
- }
- else
- {
- $this->errormsg = 'Fehler beim Speichern der Anmeldung.';
- return false;
- }
- }
-
- /**
- * Lädt eine Prüfungsanmeldung
- * @param type $pruefungsanmeldung_id
- * @return boolean true, wenn erfolgreich; false im Fehlerfall
- */
- public function load($pruefungsanmeldung_id)
- {
- if(!is_numeric($pruefungsanmeldung_id))
- {
- $this->errormsg = "Anmeldung ID muss eine gültige Zahl sein";
- return false;
- }
-
- $qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung WHERE pruefungsanmeldung_id='.$this->db_add_param($pruefungsanmeldung_id).';';
-
- if(!$this->db_query($qry))
- {
- $this->errormsg = 'Anmeldungsdaten konnten nicht geladen werden.';
- return false;
- }
- else
- {
- if($row = $this->db_fetch_object())
- {
- $this->pruefungsanmeldung_id = $row->pruefungsanmeldung_id;
- $this->uid = $row->uid;
- $this->pruefungstermin_id = $row->pruefungstermin_id;
- $this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
- $this->status_kurzbz = $row->status_kurzbz;
- $this->wuensche = $row->wuensche;
- $this->reihung = $row->reihung;
- $this->kommentar = $row->kommentar;
- $this->statusupdateamum = $row->statusupdateamum;
- $this->statusupdatevon = $row->statusupdatevon;
- }
- return true;
- }
- }
-
- /**
- * Lädt alle Prüfungsanmeldungen eines Studenten
- * @param type $uid UID eines Studenten
- * @param type $studiensemester_kurbz Filter nach Studiensemester (zB 'WS2013')
- * @param type $status_kurzbz Filter nach Status (zB 'angemeldet')
- * @return boolean|array false, bei Fehler; Array mit Anmeldungen
- */
- public function getAnmeldungenByStudent($uid, $studiensemester_kurbz=null, $status_kurzbz=null)
- {
- $qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung pa '
- . 'JOIN campus.tbl_pruefungstermin pt ON pa.pruefungstermin_id=pt.pruefungstermin_id '
- . 'JOIN campus.tbl_pruefung p ON p.pruefung_id=pt.pruefung_id '
- . 'WHERE uid='.$this->db_add_param($uid).';';
-
- if(!$this->db_query($qry))
- {
- $this->errormsg = 'Anmeldungen konnten nicht geladen werden.';
- return false;
- }
- else
- {
- $anmeldungen = array();
- while($row = $this->db_fetch_object())
- {
- $anmeldung = new stdClass();
- $anmeldung->pruefungsanmeldung_id = $row->pruefungsanmeldung_id;
- $anmeldung->uid = $row->uid;
- $anmeldung->lehrveranstaltung_id = $row->lehrveranstaltung_id;
- $anmeldung->status_kurzbz = $row->status_kurzbz;
- $anmeldung->pruefungstermin_id = $row->pruefungstermin_id;
- $anmeldung->pruefung_id = $row->pruefung_id;
- $anmeldung->von = $row->von;
- $anmeldung->bis = $row->bis;
- $anmeldung->reihung = $row->reihung;
- $anmeldung->wuensche = $row->wuensche;
- $anmeldung->kommentar = $row->kommentar;
- $anmeldung->statusupdateamum = $row->statusupdateamum;
- $anmeldung->statusupdatevon = $row->statusupdatevon;
- array_push($anmeldungen, $anmeldung);
- }
- return $anmeldungen;
- }
- }
-
- /**
- * Lädt alle Anmeldungen eines Prüfungstermins
- * @param type $pruefungstermin_id ID des Prüfungstermins
- * @param type $lehrveranstaltung_id Filter nach Lehrveranstaltung
- * @param type $studiensemester_kurbz Filter nach Studiensemester (zB 'WS2013')
- * @param type $status_kurzbz Filter nach Status (zB 'angemeldet')
- * @return boolean|array false, bei Fehler; Array mit Anmeldungen
- */
- public function getAnmeldungenByTermin($pruefungstermin_id, $lehrveranstaltung_id=null, $studiensemester_kurbz=null, $status_kurzbz=null)
- {
- $qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung pa '
- . 'JOIN campus.tbl_pruefungstermin pt ON pa.pruefungstermin_id=pt.pruefungstermin_id '
- . 'JOIN campus.tbl_pruefung p ON p.pruefung_id=pt.pruefung_id '
- . 'WHERE pa.pruefungstermin_id='.$this->db_add_param($pruefungstermin_id);
-
- if($lehrveranstaltung_id !== null)
- {
- $qry .= ' AND lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id);
- }
-
- if($status_kurzbz !== null)
- {
- $qry .= ' AND status_kurzbz='.$this->db_add_param($status_kurzbz);
- }
- $qry .=' ORDER BY reihung';
- $qry .=';';
-
- if(!$this->db_query($qry))
- {
- $this->errormsg = "Anmeldungen konnten nicht geladen werden.";
- return false;
- }
- else
- {
- $anmeldungen = array();
- while($row = $this->db_fetch_object())
- {
- $anmeldung = new stdClass();
- $anmeldung->pruefungsanmeldung_id = $row->pruefungsanmeldung_id;
- $anmeldung->uid = $row->uid;
- $anmeldung->lehrveranstaltung_id = $row->lehrveranstaltung_id;
- $anmeldung->status_kurzbz = $row->status_kurzbz;
- $anmeldung->pruefungstermin_id = $row->pruefungstermin_id;
- $anmeldung->pruefung_id = $row->pruefung_id;
- $anmeldung->von = $row->von;
- $anmeldung->bis = $row->bis;
- $anmeldung->reihung = $row->reihung;
- $anmeldung->wuensche = $row->wuensche;
- $anmeldung->kommentar = $row->kommentar;
- $anmeldung->statusupdateamum = $row->statusupdateamum;
- $anmeldung->statusupdatevon = $row->statusupdatevon;
- array_push($anmeldungen, $anmeldung);
- }
- return $anmeldungen;
- }
- }
-
- /**
- * Löscht eine Prüfungsanmeldung
- * @param type $pruefungsanmeldung_id ID der Prüfungsanmeldung
- * @param type $uid UID eines Studenten
- * @return boolean true, wenn ok; false im Fehlerfall
- */
- public function delete($pruefungsanmeldung_id, $uid=null)
- {
- $qry = 'DELETE FROM campus.tbl_pruefungsanmeldung WHERE pruefungsanmeldung_id='.$this->db_add_param($pruefungsanmeldung_id);
-
- if(!is_null($uid))
- {
- $qry .= ' AND uid='.$this->db_add_param($uid);
- }
-
- $qry .= ' ;';
-
- if($this->db_query($qry))
- {
- return true;
- }
- else
- {
- $this->errormsg = 'Anmeldung konnte nicht gelöscht werden.';
- return false;
- }
- }
-
- /**
- * speichert die Reihung eines Anmeldungstermins
- * WICHTIG: Auf den Aufbau des übergebenen arrays muss geachtet werden
- * @param Array $reihung Ein Array mit Objekten (Attribute: lehrveranstaltung_id, reihung, terminId, uid)
- * @return boolean true, wenn ok; false, im Fehlerfall
- */
- public function saveReihung($reihung)
- {
- if(is_array($reihung))
- {
- foreach($reihung as $key=>$anmeldung)
- {
- if($key === 0)
- {
- $qry = 'BEGIN; UPDATE campus.tbl_pruefungsanmeldung SET reihung='.$this->db_add_param($anmeldung["reihung"]).' WHERE '
- . 'uid='.$this->db_add_param($anmeldung["uid"]).' AND '
- . 'pruefungstermin_id='.$this->db_add_param($anmeldung["terminId"]).' AND '
- . 'lehrveranstaltung_id='.$this->db_add_param($anmeldung["lehrveranstaltung_id"]).';';
- } else {
- $qry = 'UPDATE campus.tbl_pruefungsanmeldung SET reihung='.$this->db_add_param($anmeldung["reihung"]).' WHERE '
- . 'uid='.$this->db_add_param($anmeldung["uid"]).' AND '
- . 'pruefungstermin_id='.$this->db_add_param($anmeldung["terminId"]).' AND '
- . 'lehrveranstaltung_id='.$this->db_add_param($anmeldung["lehrveranstaltung_id"]).';';
- }
- if((!$this->db_query($qry)) || ($this->db_affected_rows()===0))
- {
- $this->db_query('ROLLBACK');
- $this->errormsg = "Reihung konnte nicht geändert werden.";
- return false;
- }
- }
- $this->db_query('COMMIT;');
- return true;
- }
- $this->errormsg = "No Array";
- return false;
- }
-
-
- /**
- * Ändert den Status einer Prüfungsanmeldung
- * @param type $pruefungsanmeldung_id ID der Prüfungsanmeldung
- * @param type $status Status auf den geändert werden soll
- * @return boolean true, wenn ok; false, im Fehlerfall
- */
- public function changeState($pruefungsanmeldung_id, $status, $user)
- {
- $qry = 'UPDATE campus.tbl_pruefungsanmeldung SET '
- . 'status_kurzbz='.$this->db_add_param($status).', '
- . 'statusupdatevon='.$this->db_add_param($user).', '
- . 'statusupdateamum=NOW() '
- . ' WHERE pruefungsanmeldung_id='.$this->db_add_param($pruefungsanmeldung_id).';';
-
- if(!$this->db_query($qry))
- {
- $this->errormsg = 'Status konnte nicht geändert werden.';
- return false;
- }
- return true;
- }
-}
+
+ */
+
+require_once(dirname(__FILE__) . '/basis_db.class.php');
+
+class pruefungsanmeldung extends basis_db {
+ public $new;
+ public $result = array();
+
+ public $pruefungsanmeldung_id; //bigint
+ public $uid; //varchar(32)
+ public $pruefungstermin_id; //bigint
+ public $lehrveranstaltung_id; //bigint
+ public $status_kurzbz; //varchar(32)
+ public $wuensche; //text
+ public $reihung; //smallint
+ public $kommentar; //text
+ public $statusupdatevon; //varchar(32)
+ public $statusupdateamum; //timestamp
+ public $anrechnung_id; //integer
+
+ /**
+ * Konstruktor
+ * @param pruefung_id ID der zu ladenden Prüfung
+ */
+ public function __construct($pruefungsanmeldung_id = null)
+ {
+ parent::__construct();
+
+ if ($pruefungsanmeldung_id != null)
+ $this->load($pruefungsanmeldung_id);
+ }
+
+ public function __set($name, $value)
+ {
+ switch ($name) {
+ case 'pruefungsanmeldung_id':
+ if (!is_numeric($value))
+ throw new Exception('Attribute pruefungsanmeldung_id must be numeric!');
+ $this->$name = $value;
+ break;
+ case 'pruefungstermin_id':
+ if(!is_numeric($value))
+ throw new Exception('Attribute pruefungstermin_id must be numeric!');
+ $this->$name = $value;
+ break;
+ case 'lehrveranstaltung_id':
+ if(!is_numeric($value))
+ throw new Exception('Attribute lehrveranstaltung_id must be numeric!');
+ $this->$name = $value;
+ break;
+ default:
+ $this->$name = $value;
+ }
+ }
+
+ public function __get($name)
+ {
+ return $this->$name;
+ }
+
+ /**
+ * speichert eine Prüfungsanmeldung
+ * @param type $new
+ * @return boolean true, wenn erfolgreich; false im Fehlerfall
+ */
+ public function save($new = null)
+ {
+ if ($new == null)
+ $new = $this->new;
+
+ if($new)
+ {
+ $qry = 'INSERT INTO campus.tbl_pruefungsanmeldung (uid, pruefungstermin_id, lehrveranstaltung_id, status_kurzbz, wuensche, reihung, kommentar, anrechnung_id) VALUES ('
+ . $this->db_add_param($this->uid).', '
+ . $this->db_add_param($this->pruefungstermin_id).', '
+ . $this->db_add_param($this->lehrveranstaltung_id).', '
+ . $this->db_add_param($this->status_kurzbz).', '
+ . $this->db_add_param($this->wuensche).', '
+ . $this->db_add_param($this->reihung).', '
+ . $this->db_add_param($this->kommentar).', '
+ . $this->db_add_param($this->anrechnung_id).');';
+ }
+ else
+ {
+ $qry = 'UPDATE campus.tbl_pruefungsanmeldung SET '
+ . 'uid='.$this->db_add_param($this->uid).', '
+ . 'pruefungstermin_id='.$this->db_add_param($this->pruefungstermin_id).', '
+ . 'lehrveranstaltung_id='.$this->db_add_param($this->lehrveranstaltung_id).', '
+ . 'status_kurzbz='.$this->db_add_param($this->status_kurzbz).', '
+ . 'wuensche='.$this->db_add_param($this->wuensche).', '
+ . 'reihung='.$this->db_add_param($this->reihung).', '
+ . 'kommentar='.$this->db_add_param($this->kommentar).', '
+ . 'anrechnung_id='.$this->db_add_param($this->anrechnung_id)
+ . ' WHERE pruefungsanmeldung_id='.$this->db_add_param($this->pruefungsanmeldung_id).';';
+ }
+
+ if ($this->db_query($qry))
+ {
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Speichern der Anmeldung.';
+ return false;
+ }
+ }
+
+ /**
+ * Lädt eine Prüfungsanmeldung
+ * @param type $pruefungsanmeldung_id
+ * @return boolean true, wenn erfolgreich; false im Fehlerfall
+ */
+ public function load($pruefungsanmeldung_id)
+ {
+ if(!is_numeric($pruefungsanmeldung_id))
+ {
+ $this->errormsg = "Anmeldung ID muss eine gültige Zahl sein";
+ return false;
+ }
+
+ $qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung WHERE pruefungsanmeldung_id='.$this->db_add_param($pruefungsanmeldung_id).';';
+
+ if(!$this->db_query($qry))
+ {
+ $this->errormsg = 'Anmeldungsdaten konnten nicht geladen werden.';
+ return false;
+ }
+ else
+ {
+ if($row = $this->db_fetch_object())
+ {
+ $this->pruefungsanmeldung_id = $row->pruefungsanmeldung_id;
+ $this->uid = $row->uid;
+ $this->pruefungstermin_id = $row->pruefungstermin_id;
+ $this->lehrveranstaltung_id = $row->lehrveranstaltung_id;
+ $this->status_kurzbz = $row->status_kurzbz;
+ $this->wuensche = $row->wuensche;
+ $this->reihung = $row->reihung;
+ $this->kommentar = $row->kommentar;
+ $this->statusupdateamum = $row->statusupdateamum;
+ $this->statusupdatevon = $row->statusupdatevon;
+ $this->anrechnung_id = $row->anrechnung_id;
+ }
+ return true;
+ }
+ }
+
+ /**
+ * Lädt alle Prüfungsanmeldungen eines Studenten
+ * @param type $uid UID eines Studenten
+ * @param type $studiensemester_kurbz Filter nach Studiensemester (zB 'WS2013')
+ * @param type $status_kurzbz Filter nach Status (zB 'angemeldet')
+ * @return boolean|array false, bei Fehler; Array mit Anmeldungen
+ */
+ public function getAnmeldungenByStudent($uid, $studiensemester_kurbz=null, $status_kurzbz=null)
+ {
+ $qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung pa '
+ . 'JOIN campus.tbl_pruefungstermin pt ON pa.pruefungstermin_id=pt.pruefungstermin_id '
+ . 'JOIN campus.tbl_pruefung p ON p.pruefung_id=pt.pruefung_id '
+ . 'WHERE uid='.$this->db_add_param($uid).';';
+
+ if(!$this->db_query($qry))
+ {
+ $this->errormsg = 'Anmeldungen konnten nicht geladen werden.';
+ return false;
+ }
+ else
+ {
+ $anmeldungen = array();
+ while($row = $this->db_fetch_object())
+ {
+ $anmeldung = new stdClass();
+ $anmeldung->pruefungsanmeldung_id = $row->pruefungsanmeldung_id;
+ $anmeldung->uid = $row->uid;
+ $anmeldung->lehrveranstaltung_id = $row->lehrveranstaltung_id;
+ $anmeldung->status_kurzbz = $row->status_kurzbz;
+ $anmeldung->pruefungstermin_id = $row->pruefungstermin_id;
+ $anmeldung->pruefung_id = $row->pruefung_id;
+ $anmeldung->von = $row->von;
+ $anmeldung->bis = $row->bis;
+ $anmeldung->reihung = $row->reihung;
+ $anmeldung->wuensche = $row->wuensche;
+ $anmeldung->kommentar = $row->kommentar;
+ $anmeldung->statusupdateamum = $row->statusupdateamum;
+ $anmeldung->statusupdatevon = $row->statusupdatevon;
+ $anmeldung->anrechnung_id = $row->anrechnung_id;
+ array_push($anmeldungen, $anmeldung);
+ }
+ return $anmeldungen;
+ }
+ }
+
+ /**
+ * Lädt alle Anmeldungen eines Prüfungstermins
+ * @param type $pruefungstermin_id ID des Prüfungstermins
+ * @param type $lehrveranstaltung_id Filter nach Lehrveranstaltung
+ * @param type $studiensemester_kurbz Filter nach Studiensemester (zB 'WS2013')
+ * @param type $status_kurzbz Filter nach Status (zB 'angemeldet')
+ * @return boolean|array false, bei Fehler; Array mit Anmeldungen
+ */
+ public function getAnmeldungenByTermin($pruefungstermin_id, $lehrveranstaltung_id=null, $studiensemester_kurbz=null, $status_kurzbz=null)
+ {
+ $qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung pa '
+ . 'JOIN campus.tbl_pruefungstermin pt ON pa.pruefungstermin_id=pt.pruefungstermin_id '
+ . 'JOIN campus.tbl_pruefung p ON p.pruefung_id=pt.pruefung_id '
+ . 'WHERE pa.pruefungstermin_id='.$this->db_add_param($pruefungstermin_id);
+
+ if($lehrveranstaltung_id !== null)
+ {
+ $qry .= ' AND lehrveranstaltung_id='.$this->db_add_param($lehrveranstaltung_id);
+ }
+
+ if($status_kurzbz !== null)
+ {
+ $qry .= ' AND status_kurzbz='.$this->db_add_param($status_kurzbz);
+ }
+ $qry .=' ORDER BY reihung';
+ $qry .=';';
+
+ if(!$this->db_query($qry))
+ {
+ $this->errormsg = "Anmeldungen konnten nicht geladen werden.";
+ return false;
+ }
+ else
+ {
+ $anmeldungen = array();
+ while($row = $this->db_fetch_object())
+ {
+ $anmeldung = new stdClass();
+ $anmeldung->pruefungsanmeldung_id = $row->pruefungsanmeldung_id;
+ $anmeldung->uid = $row->uid;
+ $anmeldung->lehrveranstaltung_id = $row->lehrveranstaltung_id;
+ $anmeldung->status_kurzbz = $row->status_kurzbz;
+ $anmeldung->pruefungstermin_id = $row->pruefungstermin_id;
+ $anmeldung->pruefung_id = $row->pruefung_id;
+ $anmeldung->von = $row->von;
+ $anmeldung->bis = $row->bis;
+ $anmeldung->reihung = $row->reihung;
+ $anmeldung->wuensche = $row->wuensche;
+ $anmeldung->kommentar = $row->kommentar;
+ $anmeldung->statusupdateamum = $row->statusupdateamum;
+ $anmeldung->statusupdatevon = $row->statusupdatevon;
+ $anmeldung->anrechnung_id = $row->anrechnung_id;
+ array_push($anmeldungen, $anmeldung);
+ }
+ return $anmeldungen;
+ }
+ }
+
+ /**
+ * Löscht eine Prüfungsanmeldung
+ * @param type $pruefungsanmeldung_id ID der Prüfungsanmeldung
+ * @param type $uid UID eines Studenten
+ * @return boolean true, wenn ok; false im Fehlerfall
+ */
+ public function delete($pruefungsanmeldung_id, $uid=null)
+ {
+ $qry = 'DELETE FROM campus.tbl_pruefungsanmeldung WHERE pruefungsanmeldung_id='.$this->db_add_param($pruefungsanmeldung_id);
+
+ if(!is_null($uid))
+ {
+ $qry .= ' AND uid='.$this->db_add_param($uid);
+ }
+
+ $qry .= ' ;';
+
+ if($this->db_query($qry))
+ {
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Anmeldung konnte nicht gelöscht werden.';
+ return false;
+ }
+ }
+
+ /**
+ * speichert die Reihung eines Anmeldungstermins
+ * WICHTIG: Auf den Aufbau des übergebenen arrays muss geachtet werden
+ * @param Array $reihung Ein Array mit Objekten (Attribute: lehrveranstaltung_id, reihung, terminId, uid)
+ * @return boolean true, wenn ok; false, im Fehlerfall
+ */
+ public function saveReihung($reihung)
+ {
+ if(is_array($reihung))
+ {
+ foreach($reihung as $key=>$anmeldung)
+ {
+ if($key === 0)
+ {
+ $qry = 'BEGIN; UPDATE campus.tbl_pruefungsanmeldung SET reihung='.$this->db_add_param($anmeldung["reihung"]).' WHERE '
+ . 'uid='.$this->db_add_param($anmeldung["uid"]).' AND '
+ . 'pruefungstermin_id='.$this->db_add_param($anmeldung["terminId"]).' AND '
+ . 'lehrveranstaltung_id='.$this->db_add_param($anmeldung["lehrveranstaltung_id"]).';';
+ } else {
+ $qry = 'UPDATE campus.tbl_pruefungsanmeldung SET reihung='.$this->db_add_param($anmeldung["reihung"]).' WHERE '
+ . 'uid='.$this->db_add_param($anmeldung["uid"]).' AND '
+ . 'pruefungstermin_id='.$this->db_add_param($anmeldung["terminId"]).' AND '
+ . 'lehrveranstaltung_id='.$this->db_add_param($anmeldung["lehrveranstaltung_id"]).';';
+ }
+ if((!$this->db_query($qry)) || ($this->db_affected_rows()===0))
+ {
+ $this->db_query('ROLLBACK');
+ $this->errormsg = "Reihung konnte nicht geändert werden.";
+ return false;
+ }
+ }
+ $this->db_query('COMMIT;');
+ return true;
+ }
+ $this->errormsg = "No Array";
+ return false;
+ }
+
+
+ /**
+ * Ändert den Status einer Prüfungsanmeldung
+ * @param type $pruefungsanmeldung_id ID der Prüfungsanmeldung
+ * @param type $status Status auf den geändert werden soll
+ * @return boolean true, wenn ok; false, im Fehlerfall
+ */
+ public function changeState($pruefungsanmeldung_id, $status, $user)
+ {
+ $qry = 'UPDATE campus.tbl_pruefungsanmeldung SET '
+ . 'status_kurzbz='.$this->db_add_param($status).', '
+ . 'statusupdatevon='.$this->db_add_param($user).', '
+ . 'statusupdateamum=NOW() '
+ . ' WHERE pruefungsanmeldung_id='.$this->db_add_param($pruefungsanmeldung_id).';';
+
+ if(!$this->db_query($qry))
+ {
+ $this->errormsg = 'Status konnte nicht geändert werden.';
+ return false;
+ }
+ return true;
+ }
+}
diff --git a/system/checksystem.php b/system/checksystem.php
index f90c147d1..9f004bc01 100644
--- a/system/checksystem.php
+++ b/system/checksystem.php
@@ -3146,6 +3146,17 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht
}
}
+// Spalte anrechnung_id fuer campus.tbl_pruefungsanmeldung
+if(!$result = @$db->db_query("SELECT anrechnung_id FROM campus.tbl_pruefungsanmeldung"))
+{
+ $qry = 'ALTER TABLE campus.tbl_pruefungsanmeldung ADD COLUMN anrechnung_id integer;';
+
+ if(!$db->db_query($qry))
+ echo 'campus.tbl_pruefungsanmeldung: '.$db->db_last_error().'
';
+ else
+ echo '
campus.tbl_pruefungsanmeldung: neue Spalte anrechnung_id hinzugefuegt';
+}
+
echo '
';
$tabellen=array(