mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-24 02:12:17 +00:00
Prüfungsverwaltung; Student kann sich anmelden; Prüfer kann bestätigen
This commit is contained in:
@@ -517,6 +517,11 @@ class organisationseinheit extends basis_db
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Lädt Organisationseinheiten nach ihrem Typ
|
||||
* @param type $oetyp_kurzbz
|
||||
* @return boolean true, wenn ok; false, im Fehlerfall
|
||||
*/
|
||||
public function getByTyp($oetyp_kurzbz)
|
||||
{
|
||||
$qry = 'SELECT * FROM public.tbl_organisationseinheit WHERE organisationseinheittyp_kurzbz='.$this->db_add_param($oetyp_kurzbz).';';
|
||||
|
||||
@@ -571,20 +571,34 @@ class pruefungCis extends basis_db
|
||||
return true;
|
||||
}
|
||||
|
||||
public function getPruefungByLv($lehrveranstaltung_IDs = array())
|
||||
/**
|
||||
* Lädt alle Prüfungen zur angebenen Lehrveranstaltung
|
||||
* @param String|Array $lehrveranstaltung_IDs einzelne ID einer Lehrveranstaltung oder ein Array von IDs
|
||||
* @return boolean true, wenn ok; false, im Fehlerfall
|
||||
*/
|
||||
public function getPruefungByLv($lehrveranstaltung_IDs)
|
||||
{
|
||||
if(empty($lehrveranstaltung_IDs))
|
||||
{
|
||||
$this->errormsg = "Keine Lehrveranstaltungen übergeben.</br>";
|
||||
return false;
|
||||
}
|
||||
|
||||
$in = "";
|
||||
if (is_array($lehrveranstaltung_IDs))
|
||||
{
|
||||
foreach($lehrveranstaltung_IDs as $id)
|
||||
{
|
||||
$in.= $id.', ';
|
||||
}
|
||||
$in = substr($in, 0, -2);
|
||||
}
|
||||
else
|
||||
{
|
||||
$in = $lehrveranstaltung_IDs;
|
||||
}
|
||||
|
||||
|
||||
$in = "";
|
||||
foreach($lehrveranstaltung_IDs as $id)
|
||||
{
|
||||
$in.= $id.', ';
|
||||
}
|
||||
$in = substr($in, 0, -2);
|
||||
|
||||
$qry = 'SELECT * FROM campus.tbl_lehrveranstaltung_pruefung WHERE lehrveranstaltung_id IN ('.$in.');';
|
||||
|
||||
@@ -603,6 +617,10 @@ class pruefungCis extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Lädt alle Prüfung-Lehrveranstaltung Kombinationen
|
||||
* @return boolean true, wenn ok; false, im Fehlerfall
|
||||
*/
|
||||
public function getAll()
|
||||
{
|
||||
$qry = 'SELECT * FROM campus.tbl_lehrveranstaltung_pruefung;';
|
||||
@@ -622,6 +640,11 @@ class pruefungCis extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Lädt den Wert des letzten Studenten in der Anmeldereihung
|
||||
* @param type $pruefungstermin_id Id eines Prüfungstermines
|
||||
* @return boolean|integer Wert des Letzten in der Reihung oder false, wenn ein Fehler auftritt
|
||||
*/
|
||||
public function getLastOfReihung($pruefungstermin_id)
|
||||
{
|
||||
$qry = 'SELECT MAX(reihung) FROM campus.tbl_pruefungsanmeldung WHERE '
|
||||
|
||||
@@ -77,6 +77,11 @@ class pruefungsanmeldung extends basis_db {
|
||||
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)
|
||||
@@ -109,6 +114,11 @@ class pruefungsanmeldung extends basis_db {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 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))
|
||||
@@ -141,6 +151,13 @@ class pruefungsanmeldung extends basis_db {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 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 '
|
||||
@@ -167,12 +184,71 @@ class pruefungsanmeldung extends basis_db {
|
||||
$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;
|
||||
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);
|
||||
}
|
||||
$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;
|
||||
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);
|
||||
@@ -195,4 +271,61 @@ class pruefungsanmeldung extends basis_db {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 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)
|
||||
{
|
||||
$qry = 'UPDATE campus.tbl_pruefungsanmeldung SET status_kurzbz='.$this->db_add_param($status).''
|
||||
. ' 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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,6 +126,10 @@ class pruefungstermin extends basis_db{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Lädt die Anzahl der Anmeldungen zu eine Prüfung
|
||||
* @return boolean|integer Anzahl der Teilnehmer; false, wenn Fehler
|
||||
*/
|
||||
public function getNumberOfParticipants()
|
||||
{
|
||||
$qry = 'SELECT * FROM campus.tbl_pruefungsanmeldung WHERE pruefungstermin_id='.$this->db_add_param($this->pruefungstermin_id).';';
|
||||
|
||||
Reference in New Issue
Block a user