mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-21 08:52:21 +00:00
Merge branch 'master' into eine_uid
This commit is contained in:
Regular → Executable
+379
-375
@@ -1,375 +1,379 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 FH Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
/**
|
||||
* Klasse zur Verwaltung der Abschlusspruefungen
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class abschlusspruefung extends basis_db
|
||||
{
|
||||
public $new;
|
||||
public $result = array();
|
||||
|
||||
//Tabellenspalten
|
||||
public $abschlusspruefung_id;
|
||||
public $student_uid;
|
||||
public $vorsitz;
|
||||
public $pruefer1;
|
||||
public $pruefer2;
|
||||
public $pruefer3;
|
||||
public $abschlussbeurteilung_kurzbz;
|
||||
public $note;
|
||||
public $akadgrad_id;
|
||||
public $datum;
|
||||
public $sponsion;
|
||||
public $pruefungstyp_kurzbz;
|
||||
public $anmerkung;
|
||||
public $updateamum;
|
||||
public $updatevon;
|
||||
public $insertamum;
|
||||
public $insertvon;
|
||||
public $ext_id;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param abschlusspruefung_id ID des zu ladenden Datensatzes
|
||||
*/
|
||||
public function __construct($abschlusspruefung_id=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if(!is_null($abschlusspruefung_id))
|
||||
$this->load($abschlusspruefung_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Datensatz
|
||||
* @param abschlusspruefung_id ID des zu ladenden Datensatzes
|
||||
*/
|
||||
public function load($abschlusspruefung_id)
|
||||
{
|
||||
//id auf Gueltigkeit pruefen
|
||||
if(!is_numeric($abschlusspruefung_id))
|
||||
{
|
||||
$this->errormsg = 'abschlusspruefung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
//laden des Datensatzes
|
||||
$qry = "SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_abschlusspruefung
|
||||
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
|
||||
WHERE abschlusspruefung_id=".$this->db_add_param($abschlusspruefung_id, FHC_INTEGER, false).";";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->abschlusspruefung_id = $row->abschlusspruefung_id;
|
||||
$this->student_uid = $row->student_uid;
|
||||
$this->vorsitz = $row->vorsitz;
|
||||
$this->pruefer1 = $row->pruefer1;
|
||||
$this->pruefer2 = $row->pruefer2;
|
||||
$this->pruefer3 = $row->pruefer3;
|
||||
$this->abschlussbeurteilung_kurzbz = $row->abschlussbeurteilung_kurzbz;
|
||||
$this->note = $row->note;
|
||||
$this->akadgrad_id = $row->akadgrad_id;
|
||||
$this->datum = $row->datum;
|
||||
$this->sponsion = $row->sponsion;
|
||||
$this->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
|
||||
$this->beschreibung = $row->beschreibung;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->ext_id = $row->ext_id;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht einen Datensatz
|
||||
* @param abschlusspruefung_id ID des zu loeschenden Datensatzes
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function delete($abschlusspruefung_id)
|
||||
{
|
||||
//abschlusspruefung_id auf Gueltigkeit pruefen
|
||||
if(!is_numeric($abschlusspruefung_id))
|
||||
{
|
||||
$this->errormsg = 'abschlusspruefung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM lehre.tbl_abschlusspruefung
|
||||
WHERE abschlusspruefung_id=".$this->db_add_param($abschlusspruefung_id, FHC_INTEGER, false).";";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Loeschen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Daten vor dem Speichern
|
||||
*
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
protected function validate()
|
||||
{
|
||||
if($this->akadgrad_id=='')
|
||||
{
|
||||
$this->errormsg = 'AkadGrad muss eingegeben werden';
|
||||
return false;
|
||||
}
|
||||
if($this->pruefungstyp_kurzbz=='')
|
||||
{
|
||||
$this->errormsg = 'Pruefungstyp muss eingetragen werden';
|
||||
return false;
|
||||
}
|
||||
if($this->student_uid=='')
|
||||
{
|
||||
$this->errormsg = 'UID muss eingetragen werden';
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz
|
||||
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
|
||||
* andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function save($new=null)
|
||||
{
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
if($new==null)
|
||||
$new = $this->new;
|
||||
|
||||
if($new)
|
||||
{
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = "BEGIN;INSERT INTO lehre.tbl_abschlusspruefung (student_uid, vorsitz, pruefer1,
|
||||
pruefer2, pruefer3, abschlussbeurteilung_kurzbz, akadgrad_id, datum, sponsion,
|
||||
pruefungstyp_kurzbz, anmerkung, updateamum, updatevon, insertamum, insertvon,
|
||||
note) VALUES (".
|
||||
$this->db_add_param($this->student_uid).', '.
|
||||
$this->db_add_param($this->vorsitz).', '.
|
||||
$this->db_add_param($this->pruefer1).', '.
|
||||
$this->db_add_param($this->pruefer2).', '.
|
||||
$this->db_add_param($this->pruefer3).', '.
|
||||
$this->db_add_param($this->abschlussbeurteilung_kurzbz).', '.
|
||||
$this->db_add_param($this->akadgrad_id, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->datum).', '.
|
||||
$this->db_add_param($this->sponsion).', '.
|
||||
$this->db_add_param($this->pruefungstyp_kurzbz).', '.
|
||||
$this->db_add_param($this->anmerkung).', '.
|
||||
$this->db_add_param($this->updateamum).', '.
|
||||
$this->db_add_param($this->updatevon).', '.
|
||||
$this->db_add_param($this->insertamum).', '.
|
||||
$this->db_add_param($this->insertvon).', '.
|
||||
$this->db_add_param($this->note, FHC_INTEGER).');';
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//Bestehenden Datensatz aktualisieren
|
||||
$qry= "UPDATE lehre.tbl_abschlusspruefung SET".
|
||||
" student_uid=".$this->db_add_param($this->student_uid).",".
|
||||
" vorsitz=".$this->db_add_param($this->vorsitz).",".
|
||||
" pruefer1=".$this->db_add_param($this->pruefer1).",".
|
||||
" pruefer2=".$this->db_add_param($this->pruefer2).",".
|
||||
" pruefer3=".$this->db_add_param($this->pruefer3).",".
|
||||
" abschlussbeurteilung_kurzbz=".$this->db_add_param($this->abschlussbeurteilung_kurzbz).",".
|
||||
" note=".$this->db_add_param($this->note, FHC_INTEGER).",".
|
||||
" akadgrad_id=".$this->db_add_param($this->akadgrad_id, FHC_INTEGER).",".
|
||||
" datum=".$this->db_add_param($this->datum).",".
|
||||
" sponsion=".$this->db_add_param($this->sponsion).",".
|
||||
" pruefungstyp_kurzbz=".$this->db_add_param($this->pruefungstyp_kurzbz).",".
|
||||
" anmerkung=".$this->db_add_param($this->anmerkung).",".
|
||||
" updateamum=".$this->db_add_param($this->updateamum).",".
|
||||
" updatevon=".$this->db_add_param($this->updatevon).
|
||||
" WHERE abschlusspruefung_id=".$this->db_add_param($this->abschlusspruefung_id, FHC_INTEGER, false);
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($new)
|
||||
{
|
||||
$qry = "SELECT currval('lehre.tbl_abschlusspruefung_abschlusspruefung_id') as id";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->abschlusspruefung_id = $row->id;
|
||||
$this->db_query('COMMIT;');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Abschlusspruefungen eines Studenten
|
||||
* @param student_uid UID des Studenten
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function getAbschlusspruefungen($student_uid)
|
||||
{
|
||||
$qry = "SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_abschlusspruefung
|
||||
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
|
||||
WHERE student_uid=".$this->db_add_param($student_uid, FHC_STRING, false)."
|
||||
ORDER BY datum DESC";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new abschlusspruefung();
|
||||
|
||||
$obj->abschlusspruefung_id = $row->abschlusspruefung_id;
|
||||
$obj->student_uid = $row->student_uid;
|
||||
$obj->vorsitz = $row->vorsitz;
|
||||
$obj->pruefer1 = $row->pruefer1;
|
||||
$obj->pruefer2 = $row->pruefer2;
|
||||
$obj->pruefer3 = $row->pruefer3;
|
||||
$obj->abschlussbeurteilung_kurzbz = $row->abschlussbeurteilung_kurzbz;
|
||||
$obj->note = $row->note;
|
||||
$obj->akadgrad_id = $row->akadgrad_id;
|
||||
$obj->datum = $row->datum;
|
||||
$obj->sponsion = $row->sponsion;
|
||||
$obj->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
|
||||
$obj->beschreibung = $row->beschreibung;
|
||||
$obj->anmerkung = $row->anmerkung;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->ext_id = $row->ext_id;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert die letzte Abschlussprüfung eines Studenten
|
||||
* @param type $student_uid
|
||||
*/
|
||||
public function getLastAbschlusspruefung($student_uid)
|
||||
{
|
||||
$qry = "SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_abschlusspruefung
|
||||
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
|
||||
WHERE student_uid=".$this->db_add_param($student_uid, FHC_STRING, false)."
|
||||
ORDER BY datum DESC LIMIT 1";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->abschlusspruefung_id = $row->abschlusspruefung_id;
|
||||
$this->student_uid = $row->student_uid;
|
||||
$this->vorsitz = $row->vorsitz;
|
||||
$this->pruefer1 = $row->pruefer1;
|
||||
$this->pruefer2 = $row->pruefer2;
|
||||
$this->pruefer3 = $row->pruefer3;
|
||||
$this->abschlussbeurteilung_kurzbz = $row->abschlussbeurteilung_kurzbz;
|
||||
$this->note = $row->note;
|
||||
$this->akadgrad_id = $row->akadgrad_id;
|
||||
$this->datum = $row->datum;
|
||||
$this->sponsion = $row->sponsion;
|
||||
$this->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
|
||||
$this->beschreibung = $row->beschreibung;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->ext_id = $row->ext_id;
|
||||
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
<?php
|
||||
/* Copyright (C) 2006 FH Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
|
||||
* Andreas Moik <moik@technikum-wien.at>.
|
||||
*/
|
||||
/**
|
||||
* Klasse zur Verwaltung der Abschlusspruefungen
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class abschlusspruefung extends basis_db
|
||||
{
|
||||
public $new;
|
||||
public $result = array();
|
||||
|
||||
//Tabellenspalten
|
||||
public $abschlusspruefung_id;
|
||||
public $student_uid;
|
||||
public $vorsitz;
|
||||
public $pruefer1;
|
||||
public $pruefer2;
|
||||
public $pruefer3;
|
||||
public $abschlussbeurteilung_kurzbz;
|
||||
public $note;
|
||||
public $akadgrad_id;
|
||||
public $datum;
|
||||
public $uhrzeit;
|
||||
public $sponsion;
|
||||
public $pruefungstyp_kurzbz;
|
||||
public $anmerkung;
|
||||
public $updateamum;
|
||||
public $updatevon;
|
||||
public $insertamum;
|
||||
public $insertvon;
|
||||
public $ext_id;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param abschlusspruefung_id ID des zu ladenden Datensatzes
|
||||
*/
|
||||
public function __construct($abschlusspruefung_id=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if(!is_null($abschlusspruefung_id))
|
||||
$this->load($abschlusspruefung_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Datensatz
|
||||
* @param abschlusspruefung_id ID des zu ladenden Datensatzes
|
||||
*/
|
||||
public function load($abschlusspruefung_id)
|
||||
{
|
||||
//id auf Gueltigkeit pruefen
|
||||
if(!is_numeric($abschlusspruefung_id))
|
||||
{
|
||||
$this->errormsg = 'abschlusspruefung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
//laden des Datensatzes
|
||||
$qry = "SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_abschlusspruefung
|
||||
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
|
||||
WHERE abschlusspruefung_id=".$this->db_add_param($abschlusspruefung_id, FHC_INTEGER, false).";";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->abschlusspruefung_id = $row->abschlusspruefung_id;
|
||||
$this->student_uid = $row->student_uid;
|
||||
$this->vorsitz = $row->vorsitz;
|
||||
$this->pruefer1 = $row->pruefer1;
|
||||
$this->pruefer2 = $row->pruefer2;
|
||||
$this->pruefer3 = $row->pruefer3;
|
||||
$this->abschlussbeurteilung_kurzbz = $row->abschlussbeurteilung_kurzbz;
|
||||
$this->note = $row->note;
|
||||
$this->akadgrad_id = $row->akadgrad_id;
|
||||
$this->datum = $row->datum;
|
||||
$this->uhrzeit = $row->uhrzeit;
|
||||
$this->sponsion = $row->sponsion;
|
||||
$this->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
|
||||
$this->beschreibung = $row->beschreibung;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->ext_id = $row->ext_id;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht einen Datensatz
|
||||
* @param abschlusspruefung_id ID des zu loeschenden Datensatzes
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function delete($abschlusspruefung_id)
|
||||
{
|
||||
//abschlusspruefung_id auf Gueltigkeit pruefen
|
||||
if(!is_numeric($abschlusspruefung_id))
|
||||
{
|
||||
$this->errormsg = 'abschlusspruefung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM lehre.tbl_abschlusspruefung
|
||||
WHERE abschlusspruefung_id=".$this->db_add_param($abschlusspruefung_id, FHC_INTEGER, false).";";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Loeschen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Daten vor dem Speichern
|
||||
*
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
protected function validate()
|
||||
{
|
||||
if($this->akadgrad_id=='')
|
||||
{
|
||||
$this->errormsg = 'AkadGrad muss eingegeben werden';
|
||||
return false;
|
||||
}
|
||||
if($this->pruefungstyp_kurzbz=='')
|
||||
{
|
||||
$this->errormsg = 'Pruefungstyp muss eingetragen werden';
|
||||
return false;
|
||||
}
|
||||
if($this->student_uid=='')
|
||||
{
|
||||
$this->errormsg = 'UID muss eingetragen werden';
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz
|
||||
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
|
||||
* andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function save($new=null)
|
||||
{
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
if($new==null)
|
||||
$new = $this->new;
|
||||
|
||||
if($new)
|
||||
{
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = "BEGIN;INSERT INTO lehre.tbl_abschlusspruefung (student_uid, vorsitz, pruefer1,
|
||||
pruefer2, pruefer3, abschlussbeurteilung_kurzbz, akadgrad_id, datum, uhrzeit, sponsion,
|
||||
pruefungstyp_kurzbz, anmerkung, updateamum, updatevon, insertamum, insertvon,
|
||||
note) VALUES (".
|
||||
$this->db_add_param($this->student_uid).', '.
|
||||
$this->db_add_param($this->vorsitz).', '.
|
||||
$this->db_add_param($this->pruefer1).', '.
|
||||
$this->db_add_param($this->pruefer2).', '.
|
||||
$this->db_add_param($this->pruefer3).', '.
|
||||
$this->db_add_param($this->abschlussbeurteilung_kurzbz).', '.
|
||||
$this->db_add_param($this->akadgrad_id, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->datum).', '.
|
||||
$this->db_add_param($this->uhrzeit, FHC_STRING, false).', '.
|
||||
$this->db_add_param($this->sponsion).', '.
|
||||
$this->db_add_param($this->pruefungstyp_kurzbz).', '.
|
||||
$this->db_add_param($this->anmerkung).', '.
|
||||
$this->db_add_param($this->updateamum).', '.
|
||||
$this->db_add_param($this->updatevon).', '.
|
||||
$this->db_add_param($this->insertamum).', '.
|
||||
$this->db_add_param($this->insertvon).', '.
|
||||
$this->db_add_param($this->note, FHC_INTEGER).');';
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//Bestehenden Datensatz aktualisieren
|
||||
$qry= "UPDATE lehre.tbl_abschlusspruefung SET".
|
||||
" student_uid=".$this->db_add_param($this->student_uid).",".
|
||||
" vorsitz=".$this->db_add_param($this->vorsitz).",".
|
||||
" pruefer1=".$this->db_add_param($this->pruefer1).",".
|
||||
" pruefer2=".$this->db_add_param($this->pruefer2).",".
|
||||
" pruefer3=".$this->db_add_param($this->pruefer3).",".
|
||||
" abschlussbeurteilung_kurzbz=".$this->db_add_param($this->abschlussbeurteilung_kurzbz).",".
|
||||
" note=".$this->db_add_param($this->note, FHC_INTEGER).",".
|
||||
" akadgrad_id=".$this->db_add_param($this->akadgrad_id, FHC_INTEGER).",".
|
||||
" datum=".$this->db_add_param($this->datum).",".
|
||||
" uhrzeit=".$this->db_add_param($this->uhrzeit, FHC_STRING, false).",".
|
||||
" sponsion=".$this->db_add_param($this->sponsion).",".
|
||||
" pruefungstyp_kurzbz=".$this->db_add_param($this->pruefungstyp_kurzbz).",".
|
||||
" anmerkung=".$this->db_add_param($this->anmerkung).",".
|
||||
" updateamum=".$this->db_add_param($this->updateamum).",".
|
||||
" updatevon=".$this->db_add_param($this->updatevon).
|
||||
" WHERE abschlusspruefung_id=".$this->db_add_param($this->abschlusspruefung_id, FHC_INTEGER, false);
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($new)
|
||||
{
|
||||
$qry = "SELECT currval('lehre.tbl_abschlusspruefung_abschlusspruefung_id') as id";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->abschlusspruefung_id = $row->id;
|
||||
$this->db_query('COMMIT;');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Abschlusspruefungen eines Studenten
|
||||
* @param student_uid UID des Studenten
|
||||
* @return true wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function getAbschlusspruefungen($student_uid)
|
||||
{
|
||||
$qry = "SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_abschlusspruefung
|
||||
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
|
||||
WHERE student_uid=".$this->db_add_param($student_uid, FHC_STRING, false)."
|
||||
ORDER BY datum DESC";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new abschlusspruefung();
|
||||
|
||||
$obj->abschlusspruefung_id = $row->abschlusspruefung_id;
|
||||
$obj->student_uid = $row->student_uid;
|
||||
$obj->vorsitz = $row->vorsitz;
|
||||
$obj->pruefer1 = $row->pruefer1;
|
||||
$obj->pruefer2 = $row->pruefer2;
|
||||
$obj->pruefer3 = $row->pruefer3;
|
||||
$obj->abschlussbeurteilung_kurzbz = $row->abschlussbeurteilung_kurzbz;
|
||||
$obj->note = $row->note;
|
||||
$obj->akadgrad_id = $row->akadgrad_id;
|
||||
$obj->datum = $row->datum;
|
||||
$obj->uhrzeit = $row->uhrzeit;
|
||||
$obj->sponsion = $row->sponsion;
|
||||
$obj->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
|
||||
$obj->beschreibung = $row->beschreibung;
|
||||
$obj->anmerkung = $row->anmerkung;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->ext_id = $row->ext_id;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert die letzte Abschlussprüfung eines Studenten
|
||||
* @param type $student_uid
|
||||
*/
|
||||
public function getLastAbschlusspruefung($student_uid)
|
||||
{
|
||||
$qry = "SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_abschlusspruefung
|
||||
JOIN lehre.tbl_pruefungstyp USING (pruefungstyp_kurzbz)
|
||||
WHERE student_uid=".$this->db_add_param($student_uid, FHC_STRING, false)."
|
||||
ORDER BY datum DESC LIMIT 1";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->abschlusspruefung_id = $row->abschlusspruefung_id;
|
||||
$this->student_uid = $row->student_uid;
|
||||
$this->vorsitz = $row->vorsitz;
|
||||
$this->pruefer1 = $row->pruefer1;
|
||||
$this->pruefer2 = $row->pruefer2;
|
||||
$this->pruefer3 = $row->pruefer3;
|
||||
$this->abschlussbeurteilung_kurzbz = $row->abschlussbeurteilung_kurzbz;
|
||||
$this->note = $row->note;
|
||||
$this->akadgrad_id = $row->akadgrad_id;
|
||||
$this->datum = $row->datum;
|
||||
$this->uhrzeit = $row->uhrzeit;
|
||||
$this->sponsion = $row->sponsion;
|
||||
$this->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
|
||||
$this->beschreibung = $row->beschreibung;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->ext_id = $row->ext_id;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
+27
-27
@@ -16,8 +16,9 @@
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
|
||||
* Andreas Moik <moik@technikum-wien.at>.
|
||||
*/
|
||||
/**
|
||||
* Klasse Adresse
|
||||
@@ -279,20 +280,20 @@ class adresse extends basis_db
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry='BEGIN;INSERT INTO public.tbl_adresse (person_id, name, strasse, plz, typ, ort, nation, insertamum, insertvon,
|
||||
gemeinde, heimatadresse, zustelladresse, firma_id, updateamum, updatevon) VALUES('.
|
||||
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->name).', '.
|
||||
$this->db_add_param($this->strasse).', '.
|
||||
$this->db_add_param($this->plz).', '.
|
||||
$this->db_add_param(trim($this->typ)).', '.
|
||||
$this->db_add_param($this->ort).', '.
|
||||
$this->db_add_param($this->nation).', now(), '.
|
||||
$this->db_add_param($this->insertvon).', '.
|
||||
$this->db_add_param($this->gemeinde).', '.
|
||||
$this->db_add_param($this->heimatadresse,FHC_BOOLEAN, false).', '.
|
||||
$this->db_add_param($this->zustelladresse,FHC_BOOLEAN, false).', '.
|
||||
$this->db_add_param($this->firma_id, FHC_INTEGER).', now(), '.
|
||||
$this->db_add_param($this->updatevon).');';
|
||||
gemeinde, heimatadresse, zustelladresse, firma_id, updateamum, updatevon) VALUES('.
|
||||
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->name).', '.
|
||||
$this->db_add_param($this->strasse).', '.
|
||||
$this->db_add_param($this->plz).', '.
|
||||
$this->db_add_param(trim($this->typ)).', '.
|
||||
$this->db_add_param($this->ort).', '.
|
||||
$this->db_add_param($this->nation).', now(), '.
|
||||
$this->db_add_param($this->insertvon).', '.
|
||||
$this->db_add_param($this->gemeinde).', '.
|
||||
$this->db_add_param($this->heimatadresse,FHC_BOOLEAN, false).', '.
|
||||
$this->db_add_param($this->zustelladresse,FHC_BOOLEAN, false).', '.
|
||||
$this->db_add_param($this->firma_id, FHC_INTEGER).', now(), '.
|
||||
$this->db_add_param($this->updatevon).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -307,16 +308,16 @@ class adresse extends basis_db
|
||||
' name='.$this->db_add_param($this->name).', '.
|
||||
' strasse='.$this->db_add_param($this->strasse).', '.
|
||||
' plz='.$this->db_add_param($this->plz).', '.
|
||||
' typ='.$this->db_add_param(trim($this->typ)).', '.
|
||||
' ort='.$this->db_add_param($this->ort).', '.
|
||||
' nation='.$this->db_add_param($this->nation).', '.
|
||||
' gemeinde='.$this->db_add_param($this->gemeinde).', '.
|
||||
' firma_id='.$this->db_add_param($this->firma_id, FHC_INTEGER).','.
|
||||
' updateamum= now(), '.
|
||||
' updatevon='.$this->db_add_param($this->updatevon).', '.
|
||||
' heimatadresse='.$this->db_add_param($this->heimatadresse, FHC_BOOLEAN, false).', '.
|
||||
' zustelladresse='.$this->db_add_param($this->zustelladresse, FHC_BOOLEAN, false).' '.
|
||||
'WHERE adresse_id='.$this->db_add_param($this->adresse_id, FHC_INTEGER, false).';';
|
||||
' typ='.$this->db_add_param(trim($this->typ)).', '.
|
||||
' ort='.$this->db_add_param($this->ort).', '.
|
||||
' nation='.$this->db_add_param($this->nation).', '.
|
||||
' gemeinde='.$this->db_add_param($this->gemeinde).', '.
|
||||
' firma_id='.$this->db_add_param($this->firma_id, FHC_INTEGER).','.
|
||||
' updateamum= now(), '.
|
||||
' updatevon='.$this->db_add_param($this->updatevon).', '.
|
||||
' heimatadresse='.$this->db_add_param($this->heimatadresse, FHC_BOOLEAN, false).', '.
|
||||
' zustelladresse='.$this->db_add_param($this->zustelladresse, FHC_BOOLEAN, false).' '.
|
||||
'WHERE adresse_id='.$this->db_add_param($this->adresse_id, FHC_INTEGER, false).';';
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
@@ -432,7 +433,6 @@ class adresse extends basis_db
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
+165
-159
@@ -1,159 +1,165 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class akadgrad extends basis_db
|
||||
{
|
||||
public $new;
|
||||
public $result = array();
|
||||
|
||||
//Tabellenspalten
|
||||
public $akadgrad_id;
|
||||
public $akadgrad_kurzbz;
|
||||
public $studiengang_kz;
|
||||
public $titel;
|
||||
public $geschlecht;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param akadgrad_id ID des zu ladenden Datensatzes
|
||||
*/
|
||||
public function __construct($akadgrad_id=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if(!is_null($akadgrad_id))
|
||||
$this->load($akadgrad_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Datensatz
|
||||
* @param akadgrad_id ID des zu ladenden Datensatzes
|
||||
*/
|
||||
public function load($akadgrad_id)
|
||||
{
|
||||
//akadgrad_id auf gueltigkeit pruefen
|
||||
if(!is_numeric($akadgrad_id) || $akadgrad_id == '')
|
||||
{
|
||||
$this->errormsg = 'akadgrad_id muss eine gültige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
//laden des Datensatzes
|
||||
$qry = "SELECT * FROM lehre.tbl_akadgrad WHERE akadgrad_id=".$this->db_add_param($akadgrad_id, FHC_INTEGER);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->akadgrad_id = $row->akadgrad_id;
|
||||
$this->akadgrad_kurzbz = $row->akadgrad_kurzbz;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->titel = $row->titel;
|
||||
$this->geschlecht = $row->geschlecht;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Eintraege
|
||||
*/
|
||||
public function getAll()
|
||||
{
|
||||
//laden des Datensatzes
|
||||
$qry = "SELECT * FROM lehre.tbl_akadgrad";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new akadgrad();
|
||||
|
||||
$obj->akadgrad_id = $row->akadgrad_id;
|
||||
$obj->akadgrad_kurzbz = $row->akadgrad_kurzbz;
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->titel = $row->titel;
|
||||
$obj->geschlecht = $row->geschlecht;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert den Akademischen Grad eines Studenten aus der Tabelle Akadgrad
|
||||
* @param student_uid
|
||||
*/
|
||||
public function getAkadgradStudent($student_uid)
|
||||
{
|
||||
//laden des Datensatzes
|
||||
$qry = "SELECT * FROM lehre.tbl_akadgrad WHERE
|
||||
studiengang_kz = ( SELECT studiengang_kz FROM public.tbl_student WHERE student_uid=".$this->db_add_param($student_uid).") AND
|
||||
( geschlecht = ( SELECT geschlecht FROM public.tbl_student
|
||||
JOIN public.tbl_benutzer ON (student_uid=uid)
|
||||
JOIN public.tbl_person USING (person_id)
|
||||
WHERE student_uid=".$this->db_add_param($student_uid).")
|
||||
OR geschlecht IS NULL)
|
||||
LIMIT 1";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->akadgrad_id = $row->akadgrad_id;
|
||||
$this->akadgrad_kurzbz = $row->akadgrad_kurzbz;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->titel = $row->titel;
|
||||
$this->geschlecht = $row->geschlecht;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
|
||||
* Andreas Moik <moik@technikum-wien.at>.
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class akadgrad extends basis_db
|
||||
{
|
||||
public $new;
|
||||
public $result = array();
|
||||
|
||||
//Tabellenspalten
|
||||
public $akadgrad_id;
|
||||
public $akadgrad_kurzbz;
|
||||
public $studiengang_kz;
|
||||
public $titel;
|
||||
public $geschlecht;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param akadgrad_id ID des zu ladenden Datensatzes
|
||||
*/
|
||||
public function __construct($akadgrad_id=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if(!is_null($akadgrad_id))
|
||||
$this->load($akadgrad_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Datensatz
|
||||
* @param akadgrad_id ID des zu ladenden Datensatzes
|
||||
*/
|
||||
public function load($akadgrad_id)
|
||||
{
|
||||
//akadgrad_id auf gueltigkeit pruefen
|
||||
if(!is_numeric($akadgrad_id) || $akadgrad_id == '')
|
||||
{
|
||||
$this->errormsg = 'akadgrad_id muss eine gültige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
//laden des Datensatzes
|
||||
$qry = "SELECT * FROM lehre.tbl_akadgrad WHERE akadgrad_id=".$this->db_add_param($akadgrad_id, FHC_INTEGER);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->akadgrad_id = $row->akadgrad_id;
|
||||
$this->akadgrad_kurzbz = $row->akadgrad_kurzbz;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->titel = $row->titel;
|
||||
$this->geschlecht = $row->geschlecht;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Eintraege
|
||||
*/
|
||||
public function getAll()
|
||||
{
|
||||
//laden des Datensatzes
|
||||
$qry = "SELECT * FROM lehre.tbl_akadgrad";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new akadgrad();
|
||||
|
||||
$obj->akadgrad_id = $row->akadgrad_id;
|
||||
$obj->akadgrad_kurzbz = $row->akadgrad_kurzbz;
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->titel = $row->titel;
|
||||
$obj->geschlecht = $row->geschlecht;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert den Akademischen Grad eines Studenten aus der Tabelle Akadgrad
|
||||
* @param student_uid
|
||||
*/
|
||||
public function getAkadgradStudent($student_uid)
|
||||
{
|
||||
//laden des Datensatzes
|
||||
$qry = "SELECT * FROM lehre.tbl_akadgrad WHERE
|
||||
studiengang_kz = ( SELECT studiengang_kz FROM public.tbl_student WHERE student_uid=".$this->db_add_param($student_uid).") AND
|
||||
( geschlecht = ( SELECT geschlecht FROM public.tbl_student
|
||||
JOIN public.tbl_benutzer ON (student_uid=uid)
|
||||
JOIN public.tbl_person USING (person_id)
|
||||
WHERE student_uid=".$this->db_add_param($student_uid).")
|
||||
OR geschlecht IS NULL)
|
||||
LIMIT 1";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->akadgrad_id = $row->akadgrad_id;
|
||||
$this->akadgrad_kurzbz = $row->akadgrad_kurzbz;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->titel = $row->titel;
|
||||
$this->geschlecht = $row->geschlecht;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function __toString()
|
||||
{
|
||||
return $this->akadgrad_kurzbz;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
+439
-388
@@ -1,388 +1,439 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class akte extends basis_db
|
||||
{
|
||||
public $new;
|
||||
public $result = array();
|
||||
|
||||
//Tabellenspalten
|
||||
public $akte_id;
|
||||
public $person_id;
|
||||
public $dokument_kurzbz;
|
||||
public $inhalt;
|
||||
public $mimetype;
|
||||
public $erstelltam;
|
||||
public $gedruckt;
|
||||
public $titel;
|
||||
public $bezeichnung;
|
||||
public $updateamum;
|
||||
public $updatevon;
|
||||
public $insertamum;
|
||||
public $insertvon;
|
||||
public $uid;
|
||||
public $ext_id;
|
||||
public $dms_id;
|
||||
public $nachgereicht;
|
||||
public $anmerkung;
|
||||
public $titel_intern;
|
||||
public $anmerkung_intern;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param akte_id ID des zu ladenden Datensatzes
|
||||
*/
|
||||
public function __construct($akte_id=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if(!is_null($akte_id))
|
||||
$this->load($akte_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Datensatz
|
||||
* @param akte_id ID des zu ladenden Datensatzes
|
||||
*/
|
||||
public function load($akte_id)
|
||||
{
|
||||
//akte_id auf gueltigkeit pruefen
|
||||
if(!is_numeric($akte_id) || $akte_id == '')
|
||||
{
|
||||
$this->errormsg = 'akte_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
//laden des Datensatzes
|
||||
$qry = "SELECT * FROM public.tbl_akte WHERE akte_id=".$this->db_add_param($akte_id, FHC_INTEGER);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->akte_id = $row->akte_id;
|
||||
$this->person_id = $row->person_id;
|
||||
$this->dokument_kurzbz = $row->dokument_kurzbz;
|
||||
$this->inhalt = $row->inhalt;
|
||||
$this->mimetype = $row->mimetype;
|
||||
$this->erstelltam = $row->erstelltam;
|
||||
$this->gedruckt = $this->db_parse_bool($row->gedruckt);
|
||||
$this->titel = $row->titel;
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->uid = $row->uid;
|
||||
$this->dms_id = $row->dms_id;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->nachgereicht = $this->db_parse_bool($row->nachgereicht);
|
||||
$this->titel_intern = $row->titel_intern;
|
||||
$this->anmerkung_intern = $row->anmerkung_intern;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht einen Datensatz
|
||||
* @param akte_id ID des zu loeschenden Datensatzes
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function delete($akte_id)
|
||||
{
|
||||
//akte_id auf gueltigkeit pruefen
|
||||
if(!is_numeric($akte_id) || $akte_id == '')
|
||||
{
|
||||
$this->errormsg = 'akte_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM public.tbl_akte WHERE akte_id=".$this->db_add_param($akte_id, FHC_INTEGER);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Variablen vor dem Speichern
|
||||
*
|
||||
* @return true wenn ok, sonst false
|
||||
*/
|
||||
protected function validate()
|
||||
{
|
||||
if($this->person_id=='')
|
||||
{
|
||||
$this->errormsg = 'Person ID muss angegeben werden';
|
||||
return false;
|
||||
}
|
||||
if($this->dokument_kurzbz=='')
|
||||
{
|
||||
$this->errormsg = 'DokumentKurzbz muss angegeben werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz
|
||||
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
|
||||
* andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function save($new=null)
|
||||
{
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($new==null)
|
||||
$new = $this->new;
|
||||
|
||||
if($new)
|
||||
{
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = "BEGIN;INSERT INTO public.tbl_akte (person_id, dokument_kurzbz, inhalt, mimetype, erstelltam, gedruckt, titel,
|
||||
bezeichnung, updateamum, updatevon, insertamum, insertvon, uid, dms_id, nachgereicht, anmerkung, titel_intern, anmerkung_intern ) VALUES (".
|
||||
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->dokument_kurzbz).', '.
|
||||
$this->db_add_param($this->inhalt).', '.
|
||||
$this->db_add_param($this->mimetype).', '.
|
||||
$this->db_add_param($this->erstelltam).', '.
|
||||
$this->db_add_param($this->gedruckt, FHC_BOOLEAN).', '.
|
||||
$this->db_add_param($this->titel).', '.
|
||||
$this->db_add_param($this->bezeichnung).', '.
|
||||
$this->db_add_param($this->updateamum).', '.
|
||||
$this->db_add_param($this->updatevon).', '.
|
||||
$this->db_add_param($this->insertamum).', '.
|
||||
$this->db_add_param($this->insertvon).', '.
|
||||
$this->db_add_param($this->uid).','.
|
||||
$this->db_add_param($this->dms_id, FHC_INTEGER).','.
|
||||
$this->db_add_param($this->nachgereicht, FHC_BOOLEAN).','.
|
||||
$this->db_add_param($this->anmerkung).','.
|
||||
$this->db_add_param($this->titel_intern).','.
|
||||
$this->db_add_param($this->anmerkung_intern).');';
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//Bestehenden Datensatz aktualisieren
|
||||
$qry= "UPDATE public.tbl_akte SET".
|
||||
" person_id=".$this->db_add_param($this->person_id, FHC_INTEGER).",".
|
||||
" dokument_kurzbz=".$this->db_add_param($this->dokument_kurzbz).",".
|
||||
" inhalt=".$this->db_add_param($this->inhalt).",".
|
||||
" mimetype=".$this->db_add_param($this->mimetype).",".
|
||||
" erstelltam=".$this->db_add_param($this->erstelltam).",".
|
||||
" gedruckt=".$this->db_add_param($this->gedruckt,FHC_BOOLEAN).",".
|
||||
" titel=".$this->db_add_param($this->titel).",".
|
||||
" bezeichnung=".$this->db_add_param($this->bezeichnung).",".
|
||||
" updateamum=".$this->db_add_param($this->updateamum).",".
|
||||
" updatevon=".$this->db_add_param($this->updatevon).",".
|
||||
" uid=".$this->db_add_param($this->uid).",".
|
||||
" dms_id=".$this->db_add_param($this->dms_id, FHC_INTEGER).",".
|
||||
" nachgereicht=".$this->db_add_param($this->nachgereicht, FHC_BOOLEAN).",".
|
||||
" anmerkung=".$this->db_add_param($this->anmerkung).",".
|
||||
" titel_intern=".$this->db_add_param($this->titel_intern).",".
|
||||
" anmerkung_intern=".$this->db_add_param($this->anmerkung_intern).
|
||||
" WHERE akte_id=".$this->db_add_param($this->akte_id, FHC_INTEGER);
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($new)
|
||||
{
|
||||
$qry = "SELECT currval('public.tbl_akte_akte_id_seq') as id";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->akte_id = $row->id;
|
||||
$this->db_query('COMMIT;');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die Akten einer Person
|
||||
*
|
||||
* @param $person_id
|
||||
* @param $dokument_kurzbz
|
||||
* @param $stg_kz -> wenn gesetzt werden nur Akten angezeigt die ZUSÄTZLICH zum Studiengang abgegeben worden sind ohne Zeugnis
|
||||
* @param $prestudent_id -> gesetzt wenn auch stg_kz gesetzt ist um sicherzugehen, dass Akten, die er schon für seinen Studiengang abgegeben hat,
|
||||
* nicht mehr angezeigt werden
|
||||
* @return true wenn ok, sonst false
|
||||
*/
|
||||
public function getAkten($person_id, $dokument_kurzbz=null, $stg_kz = null, $prestudent_id= null)
|
||||
{
|
||||
$qry = "SELECT
|
||||
akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt, titel_intern, anmerkung_intern,
|
||||
titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid, dms_id, anmerkung, nachgereicht,
|
||||
CASE WHEN inhalt is not null THEN true ELSE false END as inhalt_vorhanden
|
||||
FROM public.tbl_akte WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER);
|
||||
if($dokument_kurzbz!=null)
|
||||
$qry.=" AND dokument_kurzbz=".$this->db_add_param($dokument_kurzbz);
|
||||
if($stg_kz != null && $prestudent_id != null)
|
||||
$qry.=" AND dokument_kurzbz not in (SELECT dokument_kurzbz FROM public.tbl_dokument JOIN public.tbl_dokumentstudiengang USING(dokument_kurzbz)
|
||||
WHERE studiengang_kz= ".$this->db_add_param($stg_kz).") AND dokument_kurzbz NOT IN ('Zeugnis') AND dokument_kurzbz NOT IN
|
||||
(SELECT dokument_kurzbz FROM public.tbl_dokumentprestudent JOIN public.tbl_dokument USING(dokument_kurzbz)
|
||||
WHERE prestudent_id=".$this->db_add_param($prestudent_id).")";
|
||||
|
||||
$qry.=" ORDER BY erstelltam";
|
||||
|
||||
$this->errormsg = $qry;
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$akten = new akte();
|
||||
|
||||
$akten->akte_id = $row->akte_id;
|
||||
$akten->person_id = $row->person_id;
|
||||
$akten->dokument_kurzbz = $row->dokument_kurzbz;
|
||||
//$akte->inhalt = $row->inhalt;
|
||||
$akten->inhalt_vorhanden = $this->db_parse_bool($row->inhalt_vorhanden);
|
||||
$akten->mimetype = $row->mimetype;
|
||||
$akten->erstelltam = $row->erstelltam;
|
||||
$akten->gedruckt = $this->db_parse_bool($row->gedruckt);
|
||||
$akten->titel = $row->titel;
|
||||
$akten->bezeichnung = $row->bezeichnung;
|
||||
$akten->updateamum = $row->updateamum;
|
||||
$akten->updatevon = $row->updatevon;
|
||||
$akten->insertamum = $row->insertamum;
|
||||
$akten->insertvon = $row->insertvon;
|
||||
$akten->uid = $row->uid;
|
||||
$akten->dms_id = $row->dms_id;
|
||||
$akten->nachgereicht = $this->db_parse_bool($row->nachgereicht);
|
||||
$akten->anmerkung = $row->anmerkung;
|
||||
$akten->titel_intern = $row->titel_intern;
|
||||
$akten->anmerkung_intern = $row->anmerkung_intern;
|
||||
|
||||
$this->result[] = $akten;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert die Akten die ein Outgoing sehen darf
|
||||
*
|
||||
* @param $person_id
|
||||
* @return true wenn ok, sonst false
|
||||
*/
|
||||
public function getAktenOutgoing($person_id)
|
||||
{
|
||||
$qry = "SELECT
|
||||
akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt,
|
||||
titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid,
|
||||
dms_id,nachgereicht,anmerkung,titel_intern,anmerkung_intern
|
||||
FROM public.tbl_akte WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER);
|
||||
|
||||
$qry.=" AND dokument_kurzbz IN ('Lebenslf','Motivat','LearnAgr')";
|
||||
$qry.=" ORDER BY erstelltam";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$akten = new akte();
|
||||
|
||||
$akten->akte_id = $row->akte_id;
|
||||
$akten->person_id = $row->person_id;
|
||||
$akten->dokument_kurzbz = $row->dokument_kurzbz;
|
||||
//$akte->inhalt = $row->inhalt;
|
||||
$akten->mimetype = $row->mimetype;
|
||||
$akten->erstelltam = $row->erstelltam;
|
||||
$akten->gedruckt = $this->db_parse_bool($row->gedruckt);
|
||||
$akten->titel = $row->titel;
|
||||
$akten->bezeichnung = $row->bezeichnung;
|
||||
$akten->updateamum = $row->updateamum;
|
||||
$akten->updatevon = $row->updatevon;
|
||||
$akten->insertamum = $row->insertamum;
|
||||
$akten->insertvon = $row->insertvon;
|
||||
$akten->uid = $row->uid;
|
||||
$akten->dms_id = $row->dms_id;
|
||||
$akten->nachgereicht = $this->db_parse_bool($row->nachgereicht);
|
||||
$akten->anmerkung = $row->anmerkung;
|
||||
$akten->titel_intern = $row->titel_intern;
|
||||
$akten->anmerkung_intern = $row->anmerkung_intern;
|
||||
|
||||
$this->result[] = $akten;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at> and
|
||||
* Andreas Moik <moik@technikum-wien.at>.
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class akte extends basis_db
|
||||
{
|
||||
public $new;
|
||||
public $result = array();
|
||||
|
||||
//Tabellenspalten
|
||||
public $akte_id;
|
||||
public $person_id;
|
||||
public $dokument_kurzbz;
|
||||
public $inhalt;
|
||||
public $mimetype;
|
||||
public $erstelltam;
|
||||
public $gedruckt;
|
||||
public $titel;
|
||||
public $bezeichnung;
|
||||
public $updateamum;
|
||||
public $updatevon;
|
||||
public $insertamum;
|
||||
public $insertvon;
|
||||
public $uid;
|
||||
public $ext_id;
|
||||
public $dms_id;
|
||||
public $nachgereicht;
|
||||
public $anmerkung;
|
||||
public $titel_intern;
|
||||
public $anmerkung_intern;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param akte_id ID des zu ladenden Datensatzes
|
||||
*/
|
||||
public function __construct($akte_id=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if(!is_null($akte_id))
|
||||
$this->load($akte_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Datensatz
|
||||
* @param akte_id ID des zu ladenden Datensatzes
|
||||
*/
|
||||
public function load($akte_id)
|
||||
{
|
||||
//akte_id auf gueltigkeit pruefen
|
||||
if(!is_numeric($akte_id) || $akte_id == '')
|
||||
{
|
||||
$this->errormsg = 'akte_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
//laden des Datensatzes
|
||||
$qry = "SELECT * FROM public.tbl_akte WHERE akte_id=".$this->db_add_param($akte_id, FHC_INTEGER);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->akte_id = $row->akte_id;
|
||||
$this->person_id = $row->person_id;
|
||||
$this->dokument_kurzbz = $row->dokument_kurzbz;
|
||||
$this->inhalt = $row->inhalt;
|
||||
$this->mimetype = $row->mimetype;
|
||||
$this->erstelltam = $row->erstelltam;
|
||||
$this->gedruckt = $this->db_parse_bool($row->gedruckt);
|
||||
$this->titel = $row->titel;
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->uid = $row->uid;
|
||||
$this->dms_id = $row->dms_id;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->nachgereicht = $this->db_parse_bool($row->nachgereicht);
|
||||
$this->titel_intern = $row->titel_intern;
|
||||
$this->anmerkung_intern = $row->anmerkung_intern;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht einen Datensatz
|
||||
* @param akte_id ID des zu loeschenden Datensatzes
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function delete($akte_id)
|
||||
{
|
||||
//akte_id auf gueltigkeit pruefen
|
||||
if(!is_numeric($akte_id) || $akte_id == '')
|
||||
{
|
||||
$this->errormsg = 'akte_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE FROM public.tbl_akte WHERE akte_id=".$this->db_add_param($akte_id, FHC_INTEGER);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Variablen vor dem Speichern
|
||||
*
|
||||
* @return true wenn ok, sonst false
|
||||
*/
|
||||
protected function validate()
|
||||
{
|
||||
if($this->person_id=='')
|
||||
{
|
||||
$this->errormsg = 'Person ID muss angegeben werden';
|
||||
return false;
|
||||
}
|
||||
if($this->dokument_kurzbz=='')
|
||||
{
|
||||
$this->errormsg = 'DokumentKurzbz muss angegeben werden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz
|
||||
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
|
||||
* andernfalls wird der Datensatz mit der ID in $akte_id aktualisiert
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function save($new=null)
|
||||
{
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($new==null)
|
||||
$new = $this->new;
|
||||
|
||||
if($new)
|
||||
{
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = "BEGIN;INSERT INTO public.tbl_akte (person_id, dokument_kurzbz, inhalt, mimetype, erstelltam, gedruckt, titel,
|
||||
bezeichnung, updateamum, updatevon, insertamum, insertvon, uid, dms_id, nachgereicht, anmerkung, titel_intern, anmerkung_intern ) VALUES (".
|
||||
$this->db_add_param($this->person_id, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->dokument_kurzbz).', '.
|
||||
$this->db_add_param($this->inhalt).', '.
|
||||
$this->db_add_param($this->mimetype).', '.
|
||||
$this->db_add_param($this->erstelltam).', '.
|
||||
$this->db_add_param($this->gedruckt, FHC_BOOLEAN).', '.
|
||||
$this->db_add_param($this->titel).', '.
|
||||
$this->db_add_param($this->bezeichnung).', '.
|
||||
$this->db_add_param($this->updateamum).', '.
|
||||
$this->db_add_param($this->updatevon).', '.
|
||||
$this->db_add_param($this->insertamum).', '.
|
||||
$this->db_add_param($this->insertvon).', '.
|
||||
$this->db_add_param($this->uid).','.
|
||||
$this->db_add_param($this->dms_id, FHC_INTEGER).','.
|
||||
$this->db_add_param($this->nachgereicht, FHC_BOOLEAN).','.
|
||||
$this->db_add_param($this->anmerkung).','.
|
||||
$this->db_add_param($this->titel_intern).','.
|
||||
$this->db_add_param($this->anmerkung_intern).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
//Bestehenden Datensatz aktualisieren
|
||||
$qry= "UPDATE public.tbl_akte SET".
|
||||
" person_id=".$this->db_add_param($this->person_id, FHC_INTEGER).",".
|
||||
" dokument_kurzbz=".$this->db_add_param($this->dokument_kurzbz).",".
|
||||
" inhalt=".$this->db_add_param($this->inhalt).",".
|
||||
" mimetype=".$this->db_add_param($this->mimetype).",".
|
||||
" erstelltam=".$this->db_add_param($this->erstelltam).",".
|
||||
" gedruckt=".$this->db_add_param($this->gedruckt,FHC_BOOLEAN).",".
|
||||
" titel=".$this->db_add_param($this->titel).",".
|
||||
" bezeichnung=".$this->db_add_param($this->bezeichnung).",".
|
||||
" updateamum=".$this->db_add_param($this->updateamum).",".
|
||||
" updatevon=".$this->db_add_param($this->updatevon).",".
|
||||
" uid=".$this->db_add_param($this->uid).",".
|
||||
" dms_id=".$this->db_add_param($this->dms_id, FHC_INTEGER).",".
|
||||
" nachgereicht=".$this->db_add_param($this->nachgereicht, FHC_BOOLEAN).",".
|
||||
" anmerkung=".$this->db_add_param($this->anmerkung).",".
|
||||
" titel_intern=".$this->db_add_param($this->titel_intern).",".
|
||||
" anmerkung_intern=".$this->db_add_param($this->anmerkung_intern).
|
||||
" WHERE akte_id=".$this->db_add_param($this->akte_id, FHC_INTEGER);
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($new)
|
||||
{
|
||||
$qry = "SELECT currval('public.tbl_akte_akte_id_seq') as id";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->akte_id = $row->id;
|
||||
$this->db_query('COMMIT;');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die Akten einer Person
|
||||
*
|
||||
* @param $person_id
|
||||
* @param $dokument_kurzbz
|
||||
* @param $stg_kz -> wenn gesetzt werden nur Akten angezeigt die ZUSÄTZLICH zum Studiengang abgegeben worden sind ohne Zeugnis
|
||||
* @param $prestudent_id -> gesetzt wenn auch stg_kz gesetzt ist um sicherzugehen, dass Akten, die er schon für seinen Studiengang abgegeben hat,
|
||||
* nicht mehr angezeigt werden
|
||||
* @return true wenn ok, sonst false
|
||||
*/
|
||||
public function getAkten($person_id, $dokument_kurzbz=null, $stg_kz = null, $prestudent_id= null)
|
||||
{
|
||||
$qry = "SELECT
|
||||
akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt, titel_intern, anmerkung_intern,
|
||||
titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid, dms_id, anmerkung, nachgereicht,
|
||||
CASE WHEN inhalt is not null THEN true ELSE false END as inhalt_vorhanden
|
||||
FROM public.tbl_akte WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER);
|
||||
if($dokument_kurzbz!=null)
|
||||
$qry.=" AND dokument_kurzbz=".$this->db_add_param($dokument_kurzbz);
|
||||
if($stg_kz != null && $prestudent_id != null)
|
||||
$qry.=" AND dokument_kurzbz not in (SELECT dokument_kurzbz FROM public.tbl_dokument JOIN public.tbl_dokumentstudiengang USING(dokument_kurzbz)
|
||||
WHERE studiengang_kz= ".$this->db_add_param($stg_kz).") AND dokument_kurzbz NOT IN ('Zeugnis') AND dokument_kurzbz NOT IN
|
||||
(SELECT dokument_kurzbz FROM public.tbl_dokumentprestudent JOIN public.tbl_dokument USING(dokument_kurzbz)
|
||||
WHERE prestudent_id=".$this->db_add_param($prestudent_id).")";
|
||||
|
||||
$qry.=" ORDER BY erstelltam";
|
||||
|
||||
$this->errormsg = $qry;
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$akten = new akte();
|
||||
|
||||
$akten->akte_id = $row->akte_id;
|
||||
$akten->person_id = $row->person_id;
|
||||
$akten->dokument_kurzbz = $row->dokument_kurzbz;
|
||||
//$akte->inhalt = $row->inhalt;
|
||||
$akten->inhalt_vorhanden = $this->db_parse_bool($row->inhalt_vorhanden);
|
||||
$akten->mimetype = $row->mimetype;
|
||||
$akten->erstelltam = $row->erstelltam;
|
||||
$akten->gedruckt = $this->db_parse_bool($row->gedruckt);
|
||||
$akten->titel = $row->titel;
|
||||
$akten->bezeichnung = $row->bezeichnung;
|
||||
$akten->updateamum = $row->updateamum;
|
||||
$akten->updatevon = $row->updatevon;
|
||||
$akten->insertamum = $row->insertamum;
|
||||
$akten->insertvon = $row->insertvon;
|
||||
$akten->uid = $row->uid;
|
||||
$akten->dms_id = $row->dms_id;
|
||||
$akten->nachgereicht = $this->db_parse_bool($row->nachgereicht);
|
||||
$akten->anmerkung = $row->anmerkung;
|
||||
$akten->titel_intern = $row->titel_intern;
|
||||
$akten->anmerkung_intern = $row->anmerkung_intern;
|
||||
|
||||
$this->result[] = $akten;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert die Akten die ein Outgoing sehen darf
|
||||
*
|
||||
* @param $person_id
|
||||
* @return true wenn ok, sonst false
|
||||
*/
|
||||
public function getAktenOutgoing($person_id)
|
||||
{
|
||||
$qry = "SELECT
|
||||
akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt,
|
||||
titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid,
|
||||
dms_id,nachgereicht,anmerkung,titel_intern,anmerkung_intern
|
||||
FROM public.tbl_akte WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER);
|
||||
|
||||
$qry.=" AND dokument_kurzbz IN ('Lebenslf','Motivat','LearnAgr')";
|
||||
$qry.=" ORDER BY erstelltam";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$akten = new akte();
|
||||
|
||||
$akten->akte_id = $row->akte_id;
|
||||
$akten->person_id = $row->person_id;
|
||||
$akten->dokument_kurzbz = $row->dokument_kurzbz;
|
||||
//$akte->inhalt = $row->inhalt;
|
||||
$akten->mimetype = $row->mimetype;
|
||||
$akten->erstelltam = $row->erstelltam;
|
||||
$akten->gedruckt = $this->db_parse_bool($row->gedruckt);
|
||||
$akten->titel = $row->titel;
|
||||
$akten->bezeichnung = $row->bezeichnung;
|
||||
$akten->updateamum = $row->updateamum;
|
||||
$akten->updatevon = $row->updatevon;
|
||||
$akten->insertamum = $row->insertamum;
|
||||
$akten->insertvon = $row->insertvon;
|
||||
$akten->uid = $row->uid;
|
||||
$akten->dms_id = $row->dms_id;
|
||||
$akten->nachgereicht = $this->db_parse_bool($row->nachgereicht);
|
||||
$akten->anmerkung = $row->anmerkung;
|
||||
$akten->titel_intern = $row->titel_intern;
|
||||
$akten->anmerkung_intern = $row->anmerkung_intern;
|
||||
|
||||
$this->result[] = $akten;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die Akten anhand der dms_id
|
||||
*
|
||||
* @param $person_id
|
||||
* @return true wenn ok, sonst false
|
||||
*/
|
||||
public function getAktenDms($dms_id)
|
||||
{
|
||||
$qry = "SELECT
|
||||
akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt,
|
||||
titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid,
|
||||
dms_id,nachgereicht,anmerkung,titel_intern,anmerkung_intern
|
||||
FROM public.tbl_akte WHERE dms_id=".$this->db_add_param($dms_id, FHC_INTEGER)."
|
||||
ORDER BY erstelltam";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$akten = new akte();
|
||||
|
||||
$akten->akte_id = $row->akte_id;
|
||||
$akten->person_id = $row->person_id;
|
||||
$akten->dokument_kurzbz = $row->dokument_kurzbz;
|
||||
//$akte->inhalt = $row->inhalt;
|
||||
$akten->mimetype = $row->mimetype;
|
||||
$akten->erstelltam = $row->erstelltam;
|
||||
$akten->gedruckt = $this->db_parse_bool($row->gedruckt);
|
||||
$akten->titel = $row->titel;
|
||||
$akten->bezeichnung = $row->bezeichnung;
|
||||
$akten->updateamum = $row->updateamum;
|
||||
$akten->updatevon = $row->updatevon;
|
||||
$akten->insertamum = $row->insertamum;
|
||||
$akten->insertvon = $row->insertvon;
|
||||
$akten->uid = $row->uid;
|
||||
$akten->dms_id = $row->dms_id;
|
||||
$akten->nachgereicht = $this->db_parse_bool($row->nachgereicht);
|
||||
$akten->anmerkung = $row->anmerkung;
|
||||
$akten->titel_intern = $row->titel_intern;
|
||||
$akten->anmerkung_intern = $row->anmerkung_intern;
|
||||
|
||||
$this->result[] = $akten;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
+530
-530
File diff suppressed because it is too large
Load Diff
+303
-247
@@ -16,282 +16,338 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Nikolaus Krondraf <nikolaus.krondraf@technikum-wien.at>
|
||||
* Authors: Nikolaus Krondraf <nikolaus.krondraf@technikum-wien.at> and
|
||||
* Andreas Moik <moik@technikum-wien.at>.
|
||||
*/
|
||||
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 {
|
||||
class anrechnung extends basis_db
|
||||
{
|
||||
|
||||
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();
|
||||
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;
|
||||
/**
|
||||
* Konstruktor - Laedt optional eine Anrechnung
|
||||
* @param $anrechnung_id
|
||||
*/
|
||||
public function __construct($anrechnung_id = null)
|
||||
{
|
||||
parent::__construct();
|
||||
if ($anrechnung_id != null)
|
||||
$this->load($anrechnung_id);
|
||||
}
|
||||
|
||||
if (!is_numeric($this->lehrveranstaltung_id)) {
|
||||
$this->errormsg = "Wählen Sie eine Lehrveranstaltung aus";
|
||||
return false;
|
||||
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;
|
||||
}
|
||||
|
||||
if (!is_numeric($this->begruendung_id)) {
|
||||
$this->errormsg = "Wählen Sie eine Begründung aus";
|
||||
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;';
|
||||
}
|
||||
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();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if ($this->begruendung_id == "2" && !is_numeric($this->lehrveranstaltung_id_kompatibel)) {
|
||||
$this->errormsg = "Wählen Sie eine kompatible Lehrveranstaltung aus";
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
if (empty($this->genehmigt_von)) {
|
||||
$this->errormsg = "Wählen Sie die Person aus, die die Anrechnung genehmigt hat";
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
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 {
|
||||
$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;';
|
||||
} 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();
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 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 "
|
||||
/**
|
||||
* 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;
|
||||
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';
|
||||
/**
|
||||
* 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;
|
||||
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, "
|
||||
/**
|
||||
* 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;
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -435,6 +435,38 @@ class anwesenheit extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob Anwesenheiten erfasst wurden
|
||||
* @param $lehreinheit_id ID der Lehreinheit
|
||||
* @param $datum Datum
|
||||
* @param $uid UID des Studierenden
|
||||
* @return boolean true wenn vorhanden, sonst false
|
||||
*/
|
||||
public function AnwesenheitEntryExists($lehreinheit_id, $datum, $uid=null)
|
||||
{
|
||||
$qry = "SELECT
|
||||
1
|
||||
FROM
|
||||
campus.tbl_anwesenheit
|
||||
WHERE
|
||||
lehreinheit_id=".$this->db_add_param($lehreinheit_id)."
|
||||
AND datum=".$this->db_add_param($datum)."
|
||||
AND uid=".$this->db_add_param($uid);
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows($result)>0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Anwesenheiten in Prozent von Studierenden bei Lehrveranstaltungen
|
||||
* Wenn die StudentUID uebergeben wird, werden alle Lehrveranstaltungen zu denen der Studierenden zugeteilt ist inkl Prozent der Anwesenheit
|
||||
@@ -524,4 +556,84 @@ class anwesenheit extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Aendert die bestehende Anwesenheit
|
||||
* @param $lehreinheit_id ID der Lehreinheit
|
||||
* @param $datum Datum
|
||||
* @param $uid UID des Studierenden
|
||||
* @return boolean true ok, sonst false
|
||||
*/
|
||||
public function AnwesenheitToggle($lehreinheit_id, $datum, $uid)
|
||||
{
|
||||
if($this->AnwesenheitEntryExists($lehreinheit_id, $datum, $uid))
|
||||
{
|
||||
$qry = "UPDATE
|
||||
campus.tbl_anwesenheit
|
||||
SET anwesend= NOT anwesend
|
||||
WHERE
|
||||
lehreinheit_id=".$this->db_add_param($lehreinheit_id)."
|
||||
AND datum=".$this->db_add_param($datum)."
|
||||
AND uid=".$this->db_add_param($uid);
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($this->db_affected_rows($result)>0)
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg='Anwesenheitsliste wurde noch nicht erfasst';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Anwesenheitsliste wurde noch nicht erfasst. Eintrag neu anlegen
|
||||
|
||||
// Einheiten ermitteln
|
||||
$qry = "SELECT
|
||||
distinct stunde
|
||||
FROM
|
||||
lehre.tbl_stundenplan
|
||||
WHERE
|
||||
lehreinheit_id=".$this->db_add_param($lehreinheit_id)."
|
||||
AND datum=".$this->db_add_param($datum);
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($anzahl = $this->db_num_rows($result))
|
||||
{
|
||||
$einheiten = $anzahl;
|
||||
}
|
||||
}
|
||||
if($einheiten>0)
|
||||
{
|
||||
$this->lehreinheit_id=$lehreinheit_id;
|
||||
$this->datum = $datum;
|
||||
$this->uid = $uid;
|
||||
$this->anwesend=true;
|
||||
$this->new=true;
|
||||
$this->einheiten=$einheiten;
|
||||
if($this->save())
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Daten';
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Anzahl der Einheiten fuer diesen Tag konnte nicht ermittelt werden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
+14
-13
@@ -16,7 +16,7 @@
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
*
|
||||
*/
|
||||
/**
|
||||
@@ -38,6 +38,7 @@ abstract class db extends basis
|
||||
define('FHC_INTEGER',1);
|
||||
define('FHC_STRING',2);
|
||||
define('FHC_BOOLEAN',3);
|
||||
define('FHC_LANG_ARRAY',4);
|
||||
}
|
||||
if (is_null(db::$db_conn))
|
||||
$this->db_connect();
|
||||
@@ -56,7 +57,7 @@ abstract class db extends basis
|
||||
abstract function db_affected_rows($result=null);
|
||||
abstract function db_result_seek($result=null, $offset);
|
||||
abstract function db_last_error();
|
||||
abstract function db_free_result($result=null);
|
||||
abstract function db_free_result($result=null);
|
||||
abstract function db_version();
|
||||
abstract function db_escape($var);
|
||||
abstract function db_null_value($var, $qoute=true);
|
||||
@@ -67,7 +68,7 @@ abstract class db extends basis
|
||||
abstract function db_getResultJSON($result = null);
|
||||
abstract function db_parse_array($var);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Erzeugt aus den Funktionsparameter eine SQL Abfrage
|
||||
* --- Wird in der Art Sonderzeichen gefunden wird dieses als FunktionsParmeter verarbeitet
|
||||
@@ -95,7 +96,7 @@ abstract class db extends basis
|
||||
$where=(!is_null($pWhere)?trim($pWhere):'');
|
||||
$order=(!is_null($pOrder)?trim($pOrder):'');
|
||||
$limit=(is_numeric($pLimit)?$pLimit:'');
|
||||
|
||||
|
||||
if (empty($sql) && empty($art))
|
||||
{
|
||||
$this->errormsg='die SQL Art fehlt!';
|
||||
@@ -123,7 +124,7 @@ abstract class db extends basis
|
||||
$sql.=($where?' '.trim($where).' ':'');
|
||||
else
|
||||
$sql.=($where?' where '.trim($where).' ':'');
|
||||
if ($art=='select')
|
||||
if ($art=='select')
|
||||
{
|
||||
// FIXME: If $where is e.g. 'orderstatus' because there's a column named orderstatus, this would
|
||||
// fail horribly? Same for the 'where'-stuff above. -MP
|
||||
@@ -131,22 +132,22 @@ abstract class db extends basis
|
||||
$sql.=($order?trim($order).' ':'');
|
||||
else
|
||||
$sql.=($order?' order by '.trim($order).' ':'');
|
||||
}
|
||||
if ($art=='select')
|
||||
}
|
||||
if ($art=='select')
|
||||
{
|
||||
if (strstr('limit',strtolower($where)))
|
||||
$sql.=($limit?trim($limit).' ':'');
|
||||
else
|
||||
else
|
||||
$sql.=($limit?' limit '.trim($limit).' ':'');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (!$results=$this->db_query($sql))
|
||||
{
|
||||
$this->errormsg=$this->db_last_error();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if ($art!='select' && empty($pSql))
|
||||
return true;
|
||||
|
||||
@@ -159,9 +160,9 @@ abstract class db extends basis
|
||||
$rows=array();
|
||||
while($row = $this->db_fetch_object($results))
|
||||
$rows[]=$row;
|
||||
return $rows;
|
||||
}
|
||||
|
||||
return $rows;
|
||||
}
|
||||
|
||||
}
|
||||
require_once(dirname(__FILE__).'/'.DB_SYSTEM.'.class.php');
|
||||
|
||||
|
||||
@@ -0,0 +1,245 @@
|
||||
<?php
|
||||
/* Copyright (C) 2015 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Stefan Puraner <stefan.puraner@technikum-wien.at>
|
||||
*/
|
||||
/**
|
||||
* Klasse Bewerbungstermin
|
||||
* @create 10-01-2007
|
||||
*/
|
||||
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class bewerbungstermin extends basis_db
|
||||
{
|
||||
public $new; // boolean
|
||||
public $result = array();
|
||||
|
||||
//Tabellenspalten
|
||||
public $bewerbungstermin_id;// integer
|
||||
public $studiengang_kz; //integer
|
||||
public $studiensemester_kurzbz; // string
|
||||
public $beginn; // timestamp
|
||||
public $ende; // timestamp
|
||||
public $nachfrist; // boolean
|
||||
public $nachfrist_ende; // timestamp
|
||||
public $anmerkung; // string
|
||||
public $insertamum; // timestamp
|
||||
public $insertvon; // bigint
|
||||
public $updateamum; // timestamp
|
||||
public $updatevon; // bigint
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $reihungstest_id ID der Adresse die geladen werden soll (Default=null)
|
||||
*/
|
||||
public function __construct($bewerbungstermin_id=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if(!is_null($bewerbungstermin_id))
|
||||
$this->load($bewerbungstermin_id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt den Fördervertrag mit der ID $foerdervertrag_id
|
||||
* @param $foerdervertrag_id ID des zu ladenden Fördervertrags
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function load($bewerbungstermin_id)
|
||||
{
|
||||
if(!is_numeric($bewerbungstermin_id))
|
||||
{
|
||||
$this->errormsg = 'bewerbungstermin_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT * FROM public.tbl_bewerbungstermine WHERE bewerbungstermin_id=".$this->db_add_param($bewerbungstermin_id, FHC_INTEGER, false);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->bewerbungstermin_id = $row->bewerbungstermin_id;
|
||||
$this->studiengang_kz = $row->studiengang_kz;
|
||||
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$this->beginn = $row->beginn;
|
||||
$this->ende = $row->ende;
|
||||
$this->nachfrist = $row->nachfrist;
|
||||
$this->nachfrist_ende = $row->nachfrist_ende;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Bewerbungstermin existiert nicht';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden des Bewerbungstermins';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert alle Förderverträge
|
||||
*/
|
||||
public function getBewerbungstermine($studiengang_kz, $studiensemester_kurzbz=null, $sort=null)
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_bewerbungstermine WHERE studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
if($studiensemester_kurzbz!=null)
|
||||
$qry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
|
||||
|
||||
if($sort != null)
|
||||
{
|
||||
$qry.=" ORDER BY ".$sort;
|
||||
}
|
||||
$qry.=";";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new bewerbungstermin();
|
||||
|
||||
$obj->bewerbungstermin_id = $row->bewerbungstermin_id;
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$obj->beginn = $row->beginn;
|
||||
$obj->ende = $row->ende;
|
||||
$obj->nachfrist = $this->db_parse_bool($row->nachfrist);
|
||||
$obj->nachfrist_ende = $row->nachfrist_ende;
|
||||
$obj->anmerkung = $row->anmerkung;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Bewerbungstermine.';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Variablen auf Gueltigkeit
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
private function validate()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz in die Datenbank
|
||||
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
|
||||
* andernfalls wird der Datensatz mit der ID in $reihungstest_id aktualisiert
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function save()
|
||||
{
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
|
||||
$qry='BEGIN; INSERT INTO public.tbl_bewerbungstermine(studiensemester_kurzbz, studiengang_kz, beginn, ende, nachfrist, nachfrist_ende, anmerkung, insertamum, insertvon) VALUES('.
|
||||
$this->db_add_param($this->studiensemester_kurzbz).', '.
|
||||
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->beginn).', '.
|
||||
$this->db_add_param($this->ende).', '.
|
||||
$this->db_add_param($this->nachfrist, FHC_BOOLEAN).', '.
|
||||
$this->db_add_param($this->nachfrist_ende).', '.
|
||||
$this->db_add_param($this->anmerkung).', now(),'.
|
||||
$this->db_add_param($this->insertvon).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry='UPDATE public.tbl_bewerbungstermine SET '.
|
||||
'studiensemester_kurzbz='.$this->db_add_param($this->studiensemester_kurzbz).', '.
|
||||
'studiengang_kz='.$this->db_add_param($this->studiengang_kz,FHC_INTEGER).', '.
|
||||
'beginn='.$this->db_add_param($this->beginn).', '.
|
||||
'ende='.$this->db_add_param($this->ende).', '.
|
||||
'nachfrist='.$this->db_add_param($this->nachfrist, FHC_BOOLEAN).', '.
|
||||
'nachfrist_ende='.$this->db_add_param($this->nachfrist_ende).', '.
|
||||
'anmerkung='.$this->db_add_param($this->anmerkung).', '.
|
||||
'updateamum= now(), '.
|
||||
'updatevon='.$this->db_add_param($this->updatevon).' '.
|
||||
'WHERE bewerbungstermin_id='.$this->db_add_param($this->bewerbungstermin_id, FHC_INTEGER, false).';';
|
||||
}
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->new)
|
||||
{
|
||||
$qry = "SELECT currval('public.tbl_bewerbungstermine_bewerbungstermin_id_seq') as id";
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->foerdervertrag_id = $row->id;
|
||||
$this->db_query('COMMIT');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public function delete($bewerbungstermin_id)
|
||||
{
|
||||
$qry = "DELETE from public.tbl_bewerbungstermine WHERE bewerbungstermin_id=".$this->db_add_param($bewerbungstermin_id);
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen der Daten';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
+121
-121
@@ -1,121 +1,121 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Werner Masik <werner@gefi.at>
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class bisorgform extends basis_db
|
||||
{
|
||||
public $new;
|
||||
public $result = array();
|
||||
|
||||
//Tabellenspalten
|
||||
public $bisorgform_kurzbz;
|
||||
public $code;
|
||||
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param code des zu ladenden Datensatzes
|
||||
*/
|
||||
public function __construct($code=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if(!is_null($code))
|
||||
$this->load($code);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Datensatz
|
||||
* @param code des zu ladenden Datensatzes
|
||||
*/
|
||||
public function load($code)
|
||||
{
|
||||
//code auf gueltigkeit pruefen
|
||||
if(!is_numeric($code) || $code == '')
|
||||
{
|
||||
$this->errormsg = 'code muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
//laden des Datensatzes
|
||||
$qry = "SELECT
|
||||
distinct code,bisorgform_kurzbz
|
||||
FROM
|
||||
bis.tbl_orgform
|
||||
WHERE
|
||||
code=".$this->db_add_param($code, FHC_INTEGER);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->bisorgform_kurzbz = $row->bisorgform_kurzbz;
|
||||
$this->code = $row->code;
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Laedt alle BIS Orgformen
|
||||
* @return List mit Orgformen wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function getList()
|
||||
{
|
||||
//laden des Datensatzes
|
||||
$qry = "SELECT
|
||||
distinct code,bisorgform_kurzbz
|
||||
FROM
|
||||
bis.tbl_bisorgfom
|
||||
ORDER BY code";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
$this->result = array();
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new bisorgform();
|
||||
$obj->bisorgform_kurzbz = $row->bisorgform_kurzbz;
|
||||
$obj->code = $row->code;
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return $this->result;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Werner Masik <werner@gefi.at>
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class bisorgform extends basis_db
|
||||
{
|
||||
public $new;
|
||||
public $result = array();
|
||||
|
||||
//Tabellenspalten
|
||||
public $bisorgform_kurzbz;
|
||||
public $code;
|
||||
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param code des zu ladenden Datensatzes
|
||||
*/
|
||||
public function __construct($code=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if(!is_null($code))
|
||||
$this->load($code);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Datensatz
|
||||
* @param code des zu ladenden Datensatzes
|
||||
*/
|
||||
public function load($code)
|
||||
{
|
||||
//code auf gueltigkeit pruefen
|
||||
if(!is_numeric($code) || $code == '')
|
||||
{
|
||||
$this->errormsg = 'code muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
//laden des Datensatzes
|
||||
$qry = "SELECT
|
||||
distinct code,bisorgform_kurzbz
|
||||
FROM
|
||||
bis.tbl_orgform
|
||||
WHERE
|
||||
code=".$this->db_add_param($code, FHC_INTEGER);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->bisorgform_kurzbz = $row->bisorgform_kurzbz;
|
||||
$this->code = $row->code;
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Laedt alle BIS Orgformen
|
||||
* @return List mit Orgformen wenn ok, false wenn Fehler
|
||||
*/
|
||||
public function getList()
|
||||
{
|
||||
//laden des Datensatzes
|
||||
$qry = "SELECT
|
||||
distinct code,bisorgform_kurzbz
|
||||
FROM
|
||||
bis.tbl_bisorgform
|
||||
ORDER BY code";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
$this->result = array();
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new bisorgform();
|
||||
$obj->bisorgform_kurzbz = $row->bisorgform_kurzbz;
|
||||
$obj->code = $row->code;
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return $this->result;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -237,8 +237,7 @@ class dokument extends basis_db
|
||||
$qry.=$this->db_add_param($value).',';
|
||||
foreach($this->dokumentbeschreibung_mehrsprachig as $key=>$value)
|
||||
$qry.=$this->db_add_param($value).',';
|
||||
$this->db_add_param($this->bezeichnung).');';
|
||||
|
||||
$qry.= $this->db_add_param($this->bezeichnung).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -255,7 +254,7 @@ class dokument extends basis_db
|
||||
$qry.=" dokumentbeschreibung_mehrsprachig[$idx]=".$this->db_add_param($value).",";
|
||||
}
|
||||
$qry = mb_substr($qry,0,-1);
|
||||
$qry.='WHERE dokument_kurzbz = '.$this->db_add_param($this->dokument_kurzbz);
|
||||
$qry.=' WHERE dokument_kurzbz = '.$this->db_add_param($this->dokument_kurzbz);
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
@@ -451,12 +450,19 @@ class dokument extends basis_db
|
||||
|
||||
/**
|
||||
* Liefert alle Dokumenttypen
|
||||
* @param string $not_in Kommagetrennter String von dokument_kurzbz. Optional. Um bestimmte Dokumente (zB Zeugnis, welcher fix im Core vorhanden sein muss) auszuschließen.
|
||||
* @return true wenn ok false im Fehlerfall
|
||||
*/
|
||||
public function getAllDokumente()
|
||||
public function getAllDokumente($not_in='')
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_dokument ORDER BY bezeichnung;";
|
||||
|
||||
$qry = "SELECT * FROM public.tbl_dokument ";
|
||||
|
||||
if($not_in!='')
|
||||
{
|
||||
$qry .= " WHERE dokument_kurzbz NOT IN (".$this->implode4SQL(explode(',', $not_in)).")";
|
||||
}
|
||||
$qry .= " ORDER BY bezeichnung;";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
@@ -744,16 +750,18 @@ class dokument extends basis_db
|
||||
* Optional kann auch eine studiengang_kz uebergeben werden, ob speziell dort das Dokument akzeptiert wurde
|
||||
* @param $dokument_kurzbz
|
||||
* @param $person_id
|
||||
* @param $studiengang_kz integer
|
||||
* @param $studiengang_kz integer oder array aus mehreren studiengang_kz
|
||||
* @return boolean true wenn akzeptiert, false wenn noch nicht akzeptiert
|
||||
*/
|
||||
function akzeptiert($dokument_kurzbz, $person_id, $studiengang_kz=null)
|
||||
{
|
||||
if($studiengang_kz!='' && !is_numeric($studiengang_kz))
|
||||
if(($studiengang_kz!='' && !is_numeric($studiengang_kz)) && !is_array($studiengang_kz))
|
||||
{
|
||||
$this->errormsg = 'Studiengang_kz ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
if(is_array($studiengang_kz))
|
||||
$studiengang_kz = $this->implode4SQL($studiengang_kz);
|
||||
|
||||
$qry = "SELECT
|
||||
*
|
||||
@@ -764,7 +772,8 @@ class dokument extends basis_db
|
||||
dokument_kurzbz=".$this->db_add_param($dokument_kurzbz)."
|
||||
AND tbl_prestudent.person_id=".$this->db_add_param($person_id);
|
||||
if ($studiengang_kz!='')
|
||||
$qry .= " AND studiengang_kz=".$this->db_add_param($dokument_kurzbz, FHC_INTEGER);
|
||||
$qry .= " AND studiengang_kz IN (".$studiengang_kz.")";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows($result)>0)
|
||||
|
||||
@@ -450,14 +450,19 @@ class firma extends basis_db
|
||||
|
||||
/**
|
||||
* Laedt alle Firmen eines bestimmen Firmentyps
|
||||
* @param boolean $aktiv Default NULL
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function getFirmen($firmentyp_kurzbz='')
|
||||
public function getFirmen($firmentyp_kurzbz='', $aktiv=null)
|
||||
{
|
||||
$qry = "SElECT * FROM public.tbl_firma";
|
||||
$qry = "SELECT * FROM public.tbl_firma";
|
||||
|
||||
if($firmentyp_kurzbz!='')
|
||||
$qry.=" WHERE firmentyp_kurzbz=".$this->db_add_param($firmentyp_kurzbz);
|
||||
|
||||
if(!is_null($aktiv))
|
||||
$qry.=" AND aktiv=".$this->db_add_param($aktiv, FHC_BOOLEAN);
|
||||
|
||||
$qry.=" ORDER BY name;";
|
||||
|
||||
if($this->db_query($qry))
|
||||
|
||||
@@ -283,6 +283,7 @@ class gebiet extends basis_db
|
||||
public function check_gebiet($gebiet_id)
|
||||
{
|
||||
$this->errormsg = '';
|
||||
$this->warningmsg = '';
|
||||
$this->load($gebiet_id);
|
||||
|
||||
//wenn levels verwendet werden muss maxfragen gesetzt sein
|
||||
@@ -416,7 +417,7 @@ class gebiet extends basis_db
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->errormsg .= "Frage Nummer $row->nummer (ID: $row->frage_id) Sprache $row->sprache hat mehrere gleiche Antworten.\n";
|
||||
$this->warningmsg .= "Frage Nummer $row->nummer (ID: $row->frage_id) Sprache $row->sprache hat mehrere gleiche Antworten.\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -314,7 +314,7 @@ class jahresplan extends basis_db
|
||||
$this->inhalt='';
|
||||
|
||||
$this->start='';
|
||||
$this->ende='';
|
||||
$this->ende='';
|
||||
|
||||
$this->insertamum='';
|
||||
$this->insertvon='';
|
||||
@@ -324,17 +324,17 @@ class jahresplan extends basis_db
|
||||
$this->freigabevon='';
|
||||
|
||||
// Suchfelder
|
||||
$this->start_jahr='';
|
||||
$this->ende_jahr='';
|
||||
|
||||
$this->start_jahr_monat='';
|
||||
$this->ende_jahr_monat='';
|
||||
|
||||
$this->start_jahr_woche='';
|
||||
$this->ende_jahr_woche='';
|
||||
|
||||
$this->suchtext='';
|
||||
$this->freigabe=false;
|
||||
$this->start_jahr='';
|
||||
$this->ende_jahr='';
|
||||
|
||||
$this->start_jahr_monat='';
|
||||
$this->ende_jahr_monat='';
|
||||
|
||||
$this->start_jahr_woche='';
|
||||
$this->ende_jahr_woche='';
|
||||
|
||||
$this->suchtext='';
|
||||
$this->freigabe=false;
|
||||
|
||||
$this->result=array();
|
||||
}
|
||||
@@ -395,10 +395,11 @@ class jahresplan extends basis_db
|
||||
$fildsValue.="'".addslashes($this->updatevon)."',";
|
||||
$fildsValue.=(is_null($this->freigabeamum) || empty($this->freigabeamum)?'null':"'".addslashes($this->freigabeamum)."'").",";
|
||||
$fildsValue.=(is_null($this->freigabevon) || empty($this->freigabevon)?'null':"'".addslashes($this->freigabevon)."'");
|
||||
$qry.=" insert into ".$this->schemaSQL.".tbl_veranstaltung (".$fildsList.") values (".$fildsValue.") ";
|
||||
$qry.=" insert into ".$this->schemaSQL.".tbl_veranstaltung (".$fildsList.") values (".$fildsValue.") ";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
$fildsValue.=(!empty($fildsValue)?',':'')."veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."'";
|
||||
$fildsValue.=(!empty($fildsValue)?',':'')."beschreibung='".addslashes($this->beschreibung)."'";
|
||||
$fildsValue.=(!empty($fildsValue)?',':'')."inhalt='".addslashes($this->inhalt)."'";
|
||||
@@ -410,41 +411,40 @@ class jahresplan extends basis_db
|
||||
$fildsValue.=(!empty($fildsValue)?',':'')."freigabeamum=null";
|
||||
else
|
||||
$fildsValue.=(!empty($fildsValue)?',':'')."freigabeamum='".addslashes($this->freigabeamum)."'";
|
||||
$fildsValue.=(!empty($fildsValue)?',':'')."freigabevon='".addslashes($this->freigabevon)."'";
|
||||
$fildsValue.=(!empty($fildsValue)?',':'').(is_null($this->freigabevon) || empty($this->freigabevon)?"freigabevon=null":"freigabevon='".addslashes($this->freigabevon)."'");
|
||||
$qry.=" update ".$this->schemaSQL.".tbl_veranstaltung set ";
|
||||
$qry.=$fildsValue;
|
||||
$qry.=" where veranstaltung_id='".addslashes($this->veranstaltung_id)."' ";
|
||||
}
|
||||
}
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
if (empty($this->errormsg))
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
{
|
||||
$qry=" select max(".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id) from ".$this->schemaSQL.".tbl_veranstaltung; ";
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
if (empty($this->errormsg))
|
||||
$this->errormsg = 'Fehler beim lesen des neuen Datensatzes';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$row = $this->db_fetch_object())
|
||||
{
|
||||
if (empty($this->errormsg))
|
||||
$this->errormsg = 'Fehler beim ermitteln des neuen Datensatzes';
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
$this->veranstaltung_id=$row->max;
|
||||
}
|
||||
// Beim Lesen ist ein Fehler aufgetreten
|
||||
|
||||
$this->freigabe=false;
|
||||
$veranstaltung_id=$this->veranstaltung_id;
|
||||
$this->freigabe=false;
|
||||
$veranstaltung_id=$this->veranstaltung_id;
|
||||
$this->InitVeranstaltung();
|
||||
$this->veranstaltung_id=$veranstaltung_id;
|
||||
if (!$this->loadVeranstaltung())
|
||||
@@ -489,7 +489,7 @@ class jahresplan extends basis_db
|
||||
$qry.=" WHERE veranstaltung_id =".$this->veranstaltung_id."; ";
|
||||
|
||||
$qry.=" COMMIT; ";
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
return true;
|
||||
else
|
||||
@@ -499,11 +499,11 @@ class jahresplan extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Lesen der Veranstaltung
|
||||
* @return Array mit Veranstaltungs-Objekt wenn ok, false im Fehlerfall
|
||||
*/
|
||||
*/
|
||||
public function loadVeranstaltung($veranstaltungskategorie_kurzbz="",$veranstaltung_id="",$freigabe="",$show_only_public_kategorie="")
|
||||
{
|
||||
//Init
|
||||
@@ -512,19 +512,19 @@ class jahresplan extends basis_db
|
||||
$this->errormsg='';
|
||||
$this->result=array();
|
||||
|
||||
if ($veranstaltung_id!='')
|
||||
if ($veranstaltung_id!='')
|
||||
$this->veranstaltung_id=$veranstaltung_id;
|
||||
|
||||
if (!empty($veranstaltungskategorie_kurzbz))
|
||||
$this->veranstaltungskategorie_kurzbz=$veranstaltungskategorie_kurzbz;
|
||||
|
||||
if ($freigabe!='')
|
||||
if ($freigabe!='')
|
||||
$this->freigabe=$freigabe;
|
||||
|
||||
if ($show_only_public_kategorie!='')
|
||||
if ($show_only_public_kategorie!='')
|
||||
$this->show_only_public_kategorie=$show_only_public_kategorie;
|
||||
|
||||
$qry.="SELECT tbl_veranstaltung.* ";
|
||||
$qry.="SELECT tbl_veranstaltung.* ";
|
||||
|
||||
$qry.=", to_char(tbl_veranstaltung.start, 'YYYYMMDD') as \"start_jjjjmmtt\" ";
|
||||
$qry.=", to_char(tbl_veranstaltung.ende, 'YYYYMMDD') as \"ende_jjjjmmtt\" ";
|
||||
@@ -570,71 +570,71 @@ class jahresplan extends basis_db
|
||||
$qry.=", to_char(tbl_veranstaltung.freigabeamum, 'HH24:MI') as \"freigabeamum_zeit\" ";
|
||||
$qry.=", EXTRACT(EPOCH FROM tbl_veranstaltung.freigabeamum) as \"freigabeamum_timestamp\" ";
|
||||
|
||||
$qry.=",tbl_veranstaltungskategorie.*,tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz as kategorie_kurzbz ";
|
||||
$qry.=",tbl_veranstaltungskategorie.*,tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz as kategorie_kurzbz ";
|
||||
|
||||
$qry.=" FROM ".$this->schemaSQL.".tbl_veranstaltungskategorie ";
|
||||
$qry.=" LEFT JOIN ".$this->schemaSQL.".tbl_veranstaltung ON ".$this->schemaSQL.".tbl_veranstaltung.veranstaltungskategorie_kurzbz=".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz ";
|
||||
$qry.=" LEFT JOIN ".$this->schemaSQL.".tbl_veranstaltung ON ".$this->schemaSQL.".tbl_veranstaltung.veranstaltungskategorie_kurzbz=".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz ";
|
||||
$qry.=" WHERE ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz>'' ";
|
||||
|
||||
if ($this->freigabe)
|
||||
{
|
||||
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.freigabevon>'' ";
|
||||
}
|
||||
// Suche nach einer einzigen Veranstaltung_id
|
||||
if (!is_array($this->veranstaltung_id) && !empty($this->veranstaltung_id) )
|
||||
// Suche nach einer einzigen Veranstaltung_id
|
||||
if (!is_array($this->veranstaltung_id) && !empty($this->veranstaltung_id) )
|
||||
{
|
||||
if(!is_numeric($this->veranstaltung_id))
|
||||
{
|
||||
$this->errormsg = 'Veranstaltung_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id='".addslashes($this->veranstaltung_id)."' ";
|
||||
}
|
||||
elseif (is_array($this->veranstaltung_id) && count($this->veranstaltung_id)>0 )
|
||||
{
|
||||
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id in (".addslashes(implode(",",$this->veranstaltung_id)).") ";
|
||||
}
|
||||
|
||||
// Suche nach einer einzigen Veranstaltungskategorie_kurzbz
|
||||
if (!is_array($this->veranstaltungskategorie_kurzbz) && $this->veranstaltungskategorie_kurzbz!='' )
|
||||
{
|
||||
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."' ";
|
||||
}
|
||||
elseif (is_array($this->veranstaltungskategorie_kurzbz) && count($this->veranstaltungskategorie_kurzbz)>0 )
|
||||
{
|
||||
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz in ('".implode("','",$this->veranstaltungskategorie_kurzbz)."') ";
|
||||
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id='".addslashes($this->veranstaltung_id)."' ";
|
||||
}
|
||||
elseif (is_array($this->veranstaltung_id) && count($this->veranstaltung_id)>0 )
|
||||
{
|
||||
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.veranstaltung_id in (".addslashes(implode(",",$this->veranstaltung_id)).") ";
|
||||
}
|
||||
|
||||
// Suche nach einer einzigen Veranstaltungskategorie_kurzbz
|
||||
if (!is_array($this->veranstaltungskategorie_kurzbz) && $this->veranstaltungskategorie_kurzbz!='' )
|
||||
{
|
||||
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz='".addslashes($this->veranstaltungskategorie_kurzbz)."' ";
|
||||
}
|
||||
elseif (is_array($this->veranstaltungskategorie_kurzbz) && count($this->veranstaltungskategorie_kurzbz)>0 )
|
||||
{
|
||||
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltungskategorie.veranstaltungskategorie_kurzbz in ('".implode("','",$this->veranstaltungskategorie_kurzbz)."') ";
|
||||
}
|
||||
|
||||
|
||||
if (!empty($this->start) && empty($this->ende) )
|
||||
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.start=to_timestamp(".$this->start.") ";
|
||||
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.start=to_timestamp(".$this->start.") ";
|
||||
else if (empty($this->start) && !empty($this->ende) )
|
||||
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.ende=to_timestamp(".$this->ende.") ";
|
||||
$qry.=" AND ".$this->schemaSQL.".tbl_veranstaltung.ende=to_timestamp(".$this->ende.") ";
|
||||
else if (!empty($this->start) && !empty($this->ende) )
|
||||
{
|
||||
$qry.=" AND to_timestamp(".$this->start.") >=to_timestamp(".$this->schemaSQL.".tbl_veranstaltung.start) ";
|
||||
$qry.=" AND to_timestamp(".$this->ende.") <= to_timestamp(".$this->schemaSQL.".tbl_veranstaltung.ende) ";
|
||||
}
|
||||
$qry.=" AND to_timestamp(".$this->start.") >=to_timestamp(".$this->schemaSQL.".tbl_veranstaltung.start) ";
|
||||
$qry.=" AND to_timestamp(".$this->ende.") <= to_timestamp(".$this->schemaSQL.".tbl_veranstaltung.ende) ";
|
||||
}
|
||||
|
||||
if (!empty($this->start_jahr) && empty($this->ende_jahr))
|
||||
$qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY')='".addslashes($this->start_jahr)."'";
|
||||
$qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY')='".addslashes($this->start_jahr)."'";
|
||||
elseif (empty($this->start_jahr) && !empty($this->ende_jahr) )
|
||||
$qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY')='".addslashes($this->ende_jahr)."'";
|
||||
$qry.=" AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY')='".addslashes($this->ende_jahr)."'";
|
||||
elseif (empty($this->start_jahr) && !empty($this->ende_jahr) )
|
||||
{
|
||||
$qry.=" AND '".addslashes($this->start_jahr)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') ";
|
||||
$qry.=" AND '".addslashes($this->ende_jahr)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') ";
|
||||
$qry.=" AND '".addslashes($this->start_jahr)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') ";
|
||||
$qry.=" AND '".addslashes($this->ende_jahr)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYY') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYY') ";
|
||||
}
|
||||
|
||||
|
||||
if (!empty($this->start_jahr_monat) && empty($this->ende_jahr_monat) )
|
||||
$qry.=" AND '".addslashes($this->start_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM')";
|
||||
$qry.=" AND '".addslashes($this->start_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM')";
|
||||
elseif (empty($this->start_jahr_monat) && !empty($this->ende_jahr_monat) )
|
||||
$qry.=" AND '".addslashes($this->start_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM')";
|
||||
$qry.=" AND '".addslashes($this->start_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') and to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM')";
|
||||
elseif (!empty($this->start_jahr_monat) && !empty($this->ende_jahr_monat) )
|
||||
{
|
||||
$qry.=" AND '".addslashes($this->start_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM') ";
|
||||
$qry.=" AND '".addslashes($this->ende_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM') ";
|
||||
$qry.=" AND '".addslashes($this->start_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM') ";
|
||||
$qry.=" AND '".addslashes($this->ende_jahr_monat)."' between to_char(".$this->schemaSQL.".tbl_veranstaltung.start, 'YYYYMM') AND to_char(".$this->schemaSQL.".tbl_veranstaltung.ende, 'YYYYMM') ";
|
||||
}
|
||||
|
||||
if (!empty($this->start_jahr_woche) && empty($this->ende_jahr_woche) )
|
||||
@@ -868,4 +868,4 @@ class jahresplan extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
||||
+13
-5
@@ -453,8 +453,12 @@ class konto extends basis_db
|
||||
*/
|
||||
public function getDifferenz($buchungsnr)
|
||||
{
|
||||
$qry = "SELECT sum(betrag) as differenz FROM public.tbl_konto
|
||||
WHERE buchungsnr=".$this->db_add_param($buchungsnr, FHC_INTEGER)." OR buchungsnr_verweis=".$this->db_add_param($buchungsnr, FHC_INTEGER);
|
||||
$qry = "SELECT
|
||||
sum(betrag) as differenz FROM public.tbl_konto
|
||||
WHERE
|
||||
(buchungsnr=".$this->db_add_param($buchungsnr, FHC_INTEGER)." OR buchungsnr_verweis=".$this->db_add_param($buchungsnr, FHC_INTEGER).")
|
||||
OR
|
||||
(buchungsnr=(SELECT buchungsnr_verweis FROM public.tbl_konto WHERE buchungsnr=".$this->db_add_param($buchungsnr, FHC_INTEGER).") OR buchungsnr_verweis=(SELECT buchungsnr_verweis FROM public.tbl_konto WHERE buchungsnr=".$this->db_add_param($buchungsnr, FHC_INTEGER)."))";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -489,7 +493,7 @@ class konto extends basis_db
|
||||
AND tbl_benutzer.person_id = tbl_konto.person_id
|
||||
AND tbl_konto.studiengang_kz=tbl_student.studiengang_kz
|
||||
AND tbl_konto.buchungstyp_kurzbz = 'Studiengebuehr' ORDER BY buchungsnr";
|
||||
|
||||
|
||||
if($this->db_query($subqry))
|
||||
{
|
||||
if ($this->db_num_rows()==0)
|
||||
@@ -629,7 +633,7 @@ class konto extends basis_db
|
||||
* student_uid und studiensemester
|
||||
* gibt true/false zurueck und setzt bei true das buchungsdatum $this->buchungsdatum
|
||||
*/
|
||||
public function getLastStSemBuchungstypen($uid, $buchungstyp_kurzbz_array)
|
||||
public function getLastStSemBuchungstypen($uid, $buchungstyp_kurzbz_array, $studiensemester_kurzbz=null)
|
||||
{
|
||||
$subqry = "SELECT tbl_konto.buchungsnr, tbl_konto.buchungsdatum, tbl_konto.buchungsnr_verweis, tbl_konto.studiensemester_kurzbz
|
||||
FROM
|
||||
@@ -640,7 +644,11 @@ class konto extends basis_db
|
||||
WHERE
|
||||
tbl_benutzer.uid = ".$this->db_add_param($uid)."
|
||||
AND tbl_konto.studiengang_kz=tbl_student.studiengang_kz
|
||||
AND tbl_konto.buchungstyp_kurzbz in(".$this->db_implode4SQL($buchungstyp_kurzbz_array).")
|
||||
AND tbl_konto.buchungstyp_kurzbz in(".$this->db_implode4SQL($buchungstyp_kurzbz_array).")";
|
||||
if(!is_null($studiensemester_kurzbz))
|
||||
$subqry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
|
||||
|
||||
$subqry.="
|
||||
ORDER BY tbl_studiensemester.start DESC";
|
||||
|
||||
if($result = $this->db_query($subqry))
|
||||
|
||||
@@ -491,12 +491,13 @@ class lehreinheitmitarbeiter extends basis_db
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Lektoren einer Lehrveranstlatung in einem Studiensemester
|
||||
* Laedt die Lektoren einer Lehrveranstaltung in einem Studiensemester
|
||||
* @param lehrveranstaltung_id
|
||||
* @param studiensemester_kurzbz
|
||||
* @param integer lehreinheit_id Optional Lehreinheit_id
|
||||
* @return array + true wenn ok / false im Fehlerfall
|
||||
*/
|
||||
public function getMitarbeiterLV($lehrveranstaltung_id, $studiensemester_kurzbz)
|
||||
public function getMitarbeiterLV($lehrveranstaltung_id, $studiensemester_kurzbz, $lehreinheit_id=null)
|
||||
{
|
||||
if(!is_numeric($lehrveranstaltung_id))
|
||||
{
|
||||
@@ -504,7 +505,7 @@ class lehreinheitmitarbeiter extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT
|
||||
$qry = "SELECT DISTINCT
|
||||
vw_mitarbeiter.uid, vorname, nachname, titelpre, titelpost
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter
|
||||
@@ -513,6 +514,9 @@ class lehreinheitmitarbeiter extends basis_db
|
||||
WHERE
|
||||
lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
|
||||
AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
|
||||
|
||||
if(!is_null($lehreinheit_id))
|
||||
$qry .=" AND tbl_lehreinheit.lehreinheit_id=".$this->db_add_param($lehreinheit_id, FHC_INTEGER);
|
||||
$qry .=" ORDER BY nachname, vorname;";
|
||||
|
||||
if($this->db_query($qry))
|
||||
|
||||
@@ -950,7 +950,8 @@ class lehrstunde extends basis_db
|
||||
CASE WHEN gruppe_kurzbz is not null THEN gruppe_kurzbz
|
||||
ELSE (SELECT UPPER(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=stpl.studiengang_kz) || COALESCE(stpl.semester,'0') || COALESCE(stpl.verband,'') || COALESCE(stpl.gruppe,'')
|
||||
END) as gruppen, array_agg(mitarbeiter_uid) as lektoren,
|
||||
array_agg(ort_kurzbz) as orte
|
||||
array_agg(ort_kurzbz) as orte,
|
||||
array_agg(titel) as titel
|
||||
FROM
|
||||
lehre.tbl_".$db_stpl_table." as stpl
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
@@ -993,6 +994,7 @@ class lehrstunde extends basis_db
|
||||
|
||||
$qry.="GROUP BY stpl.datum, stpl.unr, stpl.lehreinheit_id, lehrfach.bezeichnung
|
||||
ORDER BY stpl.datum, min(stpl.stunde), stpl.unr, stpl.lehreinheit_id";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
@@ -1005,6 +1007,7 @@ class lehrstunde extends basis_db
|
||||
$obj->gruppen = array_unique($this->db_parse_array($row->gruppen));
|
||||
$obj->lektoren = array_unique($this->db_parse_array($row->lektoren));
|
||||
$obj->orte = array_unique($this->db_parse_array($row->orte));
|
||||
$obj->titel = array_filter(array_unique($this->db_parse_array($row->titel)));
|
||||
$obj->lehrfach_bezeichnung = $row->lehrfach_bezeichnung;
|
||||
$obj->lehreinheit_id = $row->lehreinheit_id;
|
||||
|
||||
|
||||
Regular → Executable
+120
-6
@@ -66,6 +66,7 @@ class lehrveranstaltung extends basis_db
|
||||
public $bezeichnung_arr = array();
|
||||
public $semester_alternativ; // smallint
|
||||
public $farbe;
|
||||
public $lehrauftrag=true;
|
||||
|
||||
public $studienplan_lehrveranstaltung_id;
|
||||
public $studienplan_lehrveranstaltung_id_parent;
|
||||
@@ -79,6 +80,11 @@ class lehrveranstaltung extends basis_db
|
||||
public $lvps;
|
||||
public $las;
|
||||
|
||||
public $benotung=false;
|
||||
public $lvinfo=false;
|
||||
public $curriculum=true;
|
||||
public $export=true;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
* @param $lehrveranstaltung_id ID der zu ladenden Lehrveranstaltung
|
||||
@@ -155,7 +161,14 @@ class lehrveranstaltung extends basis_db
|
||||
$this->lvps = $row->lvps;
|
||||
$this->las = $row->las;
|
||||
|
||||
$this->benotung = $this->db_parse_bool($row->benotung);
|
||||
$this->lvinfo = $this->db_parse_bool($row->lvinfo);
|
||||
$this->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
|
||||
|
||||
// FIXME: LV-Bezeichnung richtig mehrsprachig machen
|
||||
// Zwischenzeitlich 'Italian' zum bezeichnung_arr dazugegeben
|
||||
$this->bezeichnung_arr['German'] = $this->bezeichnung;
|
||||
$this->bezeichnung_arr['Italian'] = $this->bezeichnung;
|
||||
$this->bezeichnung_arr['English'] = $this->bezeichnung_english;
|
||||
if ($this->bezeichnung_arr['English'] == '')
|
||||
$this->bezeichnung_arr['English'] = $this->bezeichnung_arr['German'];
|
||||
@@ -220,6 +233,10 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->semester_alternativ = $row->semester_alternativ;
|
||||
$lv_obj->farbe = $row->farbe;
|
||||
|
||||
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
|
||||
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
|
||||
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
|
||||
|
||||
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
|
||||
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
|
||||
if ($lv_obj->bezeichnung_arr['English'] == '')
|
||||
@@ -351,6 +368,9 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->lvnr = $row->lvnr;
|
||||
$lv_obj->semester_alternativ = $row->semester_alternativ;
|
||||
$lv_obj->farbe = $row->farbe;
|
||||
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
|
||||
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
|
||||
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
|
||||
|
||||
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
|
||||
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
|
||||
@@ -478,6 +498,9 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->lvnr = $row->lvnr;
|
||||
$lv_obj->semester_alternativ = $row->semester_alternativ;
|
||||
$lv_obj->farbe = $row->farbe;
|
||||
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
|
||||
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
|
||||
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
|
||||
|
||||
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
|
||||
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
|
||||
@@ -556,6 +579,9 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->lvnr = $row->lvnr;
|
||||
$lv_obj->semester_alternativ = $row->semester_alternativ;
|
||||
$lv_obj->farbe = $row->farbe;
|
||||
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
|
||||
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
|
||||
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
|
||||
|
||||
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
|
||||
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
|
||||
@@ -714,7 +740,7 @@ class lehrveranstaltung extends basis_db
|
||||
semester, ects, semesterstunden, anmerkung, lehre, lehreverzeichnis, aktiv, insertamum,
|
||||
insertvon, planfaktor, planlektoren, planpersonalkosten, plankostenprolektor, updateamum, updatevon, sort,
|
||||
zeugnis, projektarbeit, sprache, koordinator, bezeichnung_english, orgform_kurzbz, incoming, lehrtyp_kurzbz, oe_kurzbz,
|
||||
raumtyp_kurzbz, anzahlsemester, semesterwochen, lvnr, semester_alternativ, farbe,sws,lvs,alvs,lvps,las) VALUES (' .
|
||||
raumtyp_kurzbz, anzahlsemester, semesterwochen, lvnr, semester_alternativ, farbe,sws,lvs,alvs,lvps,las,benotung,lvinfo, lehrauftrag) VALUES (' .
|
||||
$this->db_add_param($this->studiengang_kz) . ', ' .
|
||||
$this->db_add_param($this->bezeichnung) . ', ' .
|
||||
$this->db_add_param($this->kurzbz) . ', ' .
|
||||
@@ -754,7 +780,11 @@ class lehrveranstaltung extends basis_db
|
||||
$this->db_add_param($this->lvs).','.
|
||||
$this->db_add_param($this->alvs).','.
|
||||
$this->db_add_param($this->lvps).','.
|
||||
$this->db_add_param($this->las).');';
|
||||
$this->db_add_param($this->las).','.
|
||||
$this->db_add_param($this->benotung, FHC_BOOLEAN).','.
|
||||
$this->db_add_param($this->lvinfo, FHC_BOOLEAN).','.
|
||||
$this->db_add_param($this->lehrauftrag, FHC_BOOLEAN)
|
||||
.');';
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -804,7 +834,10 @@ class lehrveranstaltung extends basis_db
|
||||
'lvs = '.$this->db_add_param($this->lvs).', '.
|
||||
'alvs = '.$this->db_add_param($this->alvs).', '.
|
||||
'lvps = '.$this->db_add_param($this->lvps).', '.
|
||||
'las = '.$this->db_add_param($this->las).' '.
|
||||
'las = '.$this->db_add_param($this->las).', '.
|
||||
'benotung = '.$this->db_add_param($this->benotung, FHC_BOOLEAN).', '.
|
||||
'lvinfo = '.$this->db_add_param($this->lvinfo, FHC_BOOLEAN).', '.
|
||||
'lehrauftrag = '.$this->db_add_param($this->lehrauftrag, FHC_BOOLEAN).' '.
|
||||
'WHERE lehrveranstaltung_id = ' . $this->db_add_param($this->lehrveranstaltung_id, FHC_INTEGER, false) . ';';
|
||||
}
|
||||
|
||||
@@ -910,6 +943,9 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->lvnr = $row->lvnr;
|
||||
$lv_obj->semester_alternativ = $row->semester_alternativ;
|
||||
$lv_obj->farbe = $row->farbe;
|
||||
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
|
||||
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
|
||||
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
|
||||
|
||||
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
|
||||
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
|
||||
@@ -1000,6 +1036,9 @@ class lehrveranstaltung extends basis_db
|
||||
$l->lvnr = $row->lvnr;
|
||||
$l->semester_alternativ = $row->semester_alternativ;
|
||||
$l->farbe = $row->farbe;
|
||||
$l->benotung = $this->db_parse_bool($row->benotung);
|
||||
$l->lvinfo = $this->db_parse_bool($row->lvinfo);
|
||||
$l->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
|
||||
|
||||
$l->bezeichnung_arr['German'] = $row->bezeichnung;
|
||||
$l->bezeichnung_arr['English'] = $row->bezeichnung_english;
|
||||
@@ -1115,6 +1154,9 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->lvnr = $row->lvnr;
|
||||
$lv_obj->semester_alternativ = $row->semester_alternativ;
|
||||
$lv_obj->farbe = $row->farbe;
|
||||
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
|
||||
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
|
||||
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
|
||||
|
||||
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
|
||||
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
|
||||
@@ -1148,7 +1190,10 @@ class lehrveranstaltung extends basis_db
|
||||
tbl_studienplan_lehrveranstaltung.pflicht as stpllv_pflicht,
|
||||
tbl_studienplan_lehrveranstaltung.koordinator as stpllv_koordinator,
|
||||
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id_parent,
|
||||
tbl_studienplan_lehrveranstaltung.sort stpllv_sort
|
||||
tbl_studienplan_lehrveranstaltung.sort stpllv_sort,
|
||||
tbl_studienplan_lehrveranstaltung.curriculum,
|
||||
tbl_studienplan_lehrveranstaltung.export,
|
||||
tbl_studienplan_lehrveranstaltung.genehmigung
|
||||
FROM lehre.tbl_lehrveranstaltung
|
||||
JOIN lehre.tbl_studienplan_lehrveranstaltung
|
||||
USING(lehrveranstaltung_id)
|
||||
@@ -1204,6 +1249,9 @@ class lehrveranstaltung extends basis_db
|
||||
$obj->semester_alternativ = $row->semester_alternativ;
|
||||
$obj->farbe = $row->farbe;
|
||||
$obj->stpllv_sort = $row->stpllv_sort;
|
||||
$obj->benotung = $this->db_parse_bool($row->benotung);
|
||||
$obj->lvinfo = $this->db_parse_bool($row->lvinfo);
|
||||
$obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
|
||||
|
||||
$obj->bezeichnung_arr['German'] = $row->bezeichnung;
|
||||
$obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
|
||||
@@ -1215,6 +1263,9 @@ class lehrveranstaltung extends basis_db
|
||||
$obj->stpllv_koordinator = $row->stpllv_koordinator;
|
||||
$obj->studienplan_lehrveranstaltung_id = $row->studienplan_lehrveranstaltung_id;
|
||||
$obj->studienplan_lehrveranstaltung_id_parent = $row->studienplan_lehrveranstaltung_id_parent;
|
||||
$obj->curriculum = $this->db_parse_bool($row->curriculum);
|
||||
$obj->export = $this->db_parse_bool($row->export);
|
||||
$obj->genehmigung = $this->db_parse_bool($row->genehmigung);
|
||||
$obj->new = false;
|
||||
|
||||
$this->lehrveranstaltungen[] = $obj;
|
||||
@@ -1261,6 +1312,31 @@ class lehrveranstaltung extends basis_db
|
||||
}
|
||||
return $childs;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generiert die Subtrees des Lehrveranstaltungstrees
|
||||
*/
|
||||
public function hasChildren($studienplan_lehrveranstaltung_id)
|
||||
{
|
||||
$childs = array();
|
||||
foreach ($this->lehrveranstaltungen as $row)
|
||||
{
|
||||
if ($row->studienplan_lehrveranstaltung_id_parent === $studienplan_lehrveranstaltung_id)
|
||||
{
|
||||
$childs[$row->studienplan_lehrveranstaltung_id] = $row;
|
||||
$childs[$row->studienplan_lehrveranstaltung_id]->childs = $this->getLehrveranstaltungTreeChilds($row->studienplan_lehrveranstaltung_id);
|
||||
}
|
||||
}
|
||||
if(count($childs) > 0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Baut die Datenstruktur für senden als JSON Objekt auf
|
||||
@@ -1288,6 +1364,10 @@ class lehrveranstaltung extends basis_db
|
||||
$obj->stpllv_koordinator = $lv->stpllv_koordinator;
|
||||
$obj->oe_kurzbz = $lv->oe_kurzbz;
|
||||
$obj->lvnr = $lv->lvnr;
|
||||
$obj->benotung = $this->db_parse_bool($lv->benotung);
|
||||
$obj->lvinfo =$this->db_parse_bool( $lv->lvinfo);
|
||||
$obj->zeugnis = $this->db_parse_bool($lv->zeugnis);
|
||||
$obj->lehrauftrag = $this->db_parse_bool($lv->lehrauftrag);
|
||||
|
||||
$values[] = $obj;
|
||||
|
||||
@@ -1309,6 +1389,10 @@ class lehrveranstaltung extends basis_db
|
||||
$obj->stpllv_koordinator = $this->stpllv_koordinator;
|
||||
$obj->oe_kurzbz = $this->oe_kurzbz;
|
||||
$obj->lvnr = $this->lvnr;
|
||||
$obj->benotung = $this->db_parse_bool($this->benotung);
|
||||
$obj->lvinfo =$this->db_parse_bool( $this->lvinfo);
|
||||
$obj->zeugnis = $this->db_parse_bool($this->zeugnis);
|
||||
$obj->lehrauftrag = $this->db_parse_bool($this->lehrauftrag);
|
||||
|
||||
$values[] = $obj;
|
||||
}
|
||||
@@ -1354,7 +1438,13 @@ class lehrveranstaltung extends basis_db
|
||||
$obj->orgform_kurzbz = $lv->orgform_kurzbz;
|
||||
$obj->incoming = $lv->incoming;
|
||||
$obj->sprache = $lv->sprache;
|
||||
|
||||
$obj->benotung = $lv->benotung;
|
||||
$obj->lvinfo = $lv->lvinfo;
|
||||
$obj->zeugnis = $lv->zeugnis;
|
||||
$obj->curriculum = $lv->curriculum;
|
||||
$obj->export = $lv->export;
|
||||
$obj->lehrauftrag = $lv->lehrauftrag;
|
||||
$obj->lehre = $lv->lehre;
|
||||
$obj->children = array();
|
||||
if(count($lv->childs) > 0)
|
||||
{
|
||||
@@ -1379,6 +1469,11 @@ class lehrveranstaltung extends basis_db
|
||||
$obj->stpllv_pflicht = $this->stpllv_pflicht;
|
||||
$obj->stpllv_koordinator = $this->stpllv_koordinator;
|
||||
$obj->lvnr = $this->lvnr;
|
||||
$obj->benotung = $this->db_parse_bool($this->benotung);
|
||||
$obj->lvinfo =$this->db_parse_bool( $this->lvinfo);
|
||||
$obj->zeugnis = $this->db_parse_bool($this->zeugnis);
|
||||
$obj->curriculum = $this->db_parse_bool($this->curriculum);
|
||||
$obj->lehrauftrag = $this->lehrauftrag;
|
||||
|
||||
$values[] = $obj;
|
||||
}
|
||||
@@ -1478,6 +1573,9 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$lv_obj->lehrtyp_kurzbz = $row->lehrtyp_kurzbz;
|
||||
$lv_obj->farbe = $row->farbe;
|
||||
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
|
||||
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
|
||||
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
|
||||
|
||||
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
|
||||
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
|
||||
@@ -1641,6 +1739,9 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->semester_alternativ = $row->semester_alternativ;
|
||||
$lv_obj->farbe = $row->farbe;
|
||||
$lv_obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
|
||||
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
|
||||
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
|
||||
|
||||
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
|
||||
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
|
||||
@@ -1766,6 +1867,9 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->lvnr = $row->lvnr;
|
||||
$lv_obj->semester_alternativ = $row->semester_alternativ;
|
||||
$lv_obj->farbe = $row->farbe;
|
||||
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
|
||||
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
|
||||
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
|
||||
|
||||
$lv_obj->studiengang_kurzbzlang = $row->studiengang_kurzbzlang;
|
||||
|
||||
@@ -1889,6 +1993,9 @@ class lehrveranstaltung extends basis_db
|
||||
$lv_obj->lvnr = $row->lvnr;
|
||||
$lv_obj->semester_alternativ = $row->semester_alternativ;
|
||||
$lv_obj->farbe = $row->farbe;
|
||||
$lv_obj->benotung = $this->db_parse_bool($row->benotung);
|
||||
$lv_obj->lvinfo = $this->db_parse_bool($row->lvinfo);
|
||||
$lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
|
||||
|
||||
$lv_obj->bezeichnung_arr['German'] = $row->bezeichnung;
|
||||
$lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
|
||||
@@ -1912,7 +2019,7 @@ class lehrveranstaltung extends basis_db
|
||||
* @param string $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters
|
||||
* @return boolean|array false, wenn eine Fehler auftritt; Array mit UIDs wenn erfolgreich
|
||||
*/
|
||||
public function getStudentsOfLv($lehrveranstaltung_id, $studiensemester_kurzbz=null)
|
||||
public function getStudentsOfLv($lehrveranstaltung_id, $studiensemester_kurzbz=null, $lehreinheit_id=null)
|
||||
{
|
||||
if(!is_numeric($lehrveranstaltung_id))
|
||||
{
|
||||
@@ -1927,6 +2034,10 @@ class lehrveranstaltung extends basis_db
|
||||
{
|
||||
$qry .= ' AND studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz);
|
||||
}
|
||||
if(!is_null($lehreinheit_id))
|
||||
{
|
||||
$qry .= ' AND lehreinheit_id='.$this->db_add_param($lehreinheit_id);
|
||||
}
|
||||
$qry .= ';';
|
||||
|
||||
if($this->db_query($qry))
|
||||
@@ -2147,6 +2258,9 @@ class lehrveranstaltung extends basis_db
|
||||
$obj->lvnr = $row->lvnr;
|
||||
$obj->semester_alternativ = $row->semester_alternativ;
|
||||
$obj->farbe = $row->farbe;
|
||||
$obj->benotung = $this->db_parse_bool($row->benotung);
|
||||
$obj->lvinfo = $this->db_parse_bool($row->lvinfo);
|
||||
$obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag);
|
||||
|
||||
$obj->bezeichnung_arr['German'] = $row->bezeichnung;
|
||||
$obj->bezeichnung_arr['English'] = $row->bezeichnung_english;
|
||||
|
||||
+79
-78
@@ -43,7 +43,7 @@ class mantis extends basis_db
|
||||
public $issue_summary; //Zusammendassung
|
||||
public $issue_reproducibility; //Reproduzierbar
|
||||
public $issue_date_submitted; //Meldungsdatum
|
||||
public $issue_sponsorship_total;
|
||||
public $issue_sponsorship_total;
|
||||
public $issue_projection; //Projektion
|
||||
public $issue_eta; //Aufwand
|
||||
public $issue_resolution; //Lösung
|
||||
@@ -52,10 +52,11 @@ class mantis extends basis_db
|
||||
public $issue_due_date;
|
||||
public $issue_steps_to_reproduce;
|
||||
public $issue_additional_information;
|
||||
public $issue_tags;
|
||||
|
||||
public $issue_tags;
|
||||
|
||||
public $soapClient;
|
||||
public $errormsg;
|
||||
public $result=array();
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
@@ -71,61 +72,61 @@ class mantis extends basis_db
|
||||
*/
|
||||
public function initSoapClient()
|
||||
{
|
||||
try
|
||||
{
|
||||
$this->soapClient = new SoapClient(MANTIS_PFAD);
|
||||
try
|
||||
{
|
||||
$this->soapClient = new SoapClient(MANTIS_PFAD);
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
{
|
||||
echo $e->getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @param type $issue_tags
|
||||
* @return type
|
||||
*/
|
||||
public function setTags($issue_tags)
|
||||
{
|
||||
|
||||
$tags = array();
|
||||
|
||||
$tags = array();
|
||||
$tags_array = explode(',', $issue_tags);
|
||||
|
||||
// Hole alle Tags
|
||||
$params_tags=array('username' => MANTIS_USERNAME, 'password' => MANTIS_PASSWORT, 'page_number'=>1, 'per_page'=>20);
|
||||
$result_tags = $this->soapClient->__soapCall('mc_tag_get_all',$params_tags);
|
||||
|
||||
|
||||
$test = array();
|
||||
$test = $result_tags->results;
|
||||
|
||||
|
||||
|
||||
$test = array();
|
||||
$test = $result_tags->results;
|
||||
|
||||
|
||||
foreach($tags_array as $t)
|
||||
{
|
||||
$tags_help = new stdClass();
|
||||
$tags_help->name = trim($t);
|
||||
|
||||
$tags_help->name = trim($t);
|
||||
|
||||
foreach($result_tags->results as $rt)
|
||||
{
|
||||
|
||||
if($rt->name == $tags_help->name)
|
||||
{
|
||||
$tags_help->id = $rt->id;
|
||||
$tags_help->id = $rt->id;
|
||||
}
|
||||
|
||||
}
|
||||
//$tags_help->id = 10;
|
||||
$tags[] = $tags_help;
|
||||
//$tags_help->id = 10;
|
||||
$tags[] = $tags_help;
|
||||
}
|
||||
|
||||
|
||||
$params=array('username' => MANTIS_USERNAME, 'password' => MANTIS_PASSWORT,'issue_id' =>$this->issue_id, $tags);
|
||||
$result = $this->soapClient->__soapCall('mc_issue_set_tags',$params);
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Ticket Update
|
||||
*/
|
||||
@@ -140,13 +141,13 @@ class mantis extends basis_db
|
||||
'priority'=>array('id'=>$this->issue_priority->id),
|
||||
'additional_information'=>$this->issue_additional_information,
|
||||
'reporter'=>array('id'=>$this->issue_reporter_id),
|
||||
);
|
||||
);
|
||||
|
||||
$params=array('username' => MANTIS_USERNAME, 'password' => MANTIS_PASSWORT,'issueId' => $this->issue_id, $issue);
|
||||
$result = $this->soapClient->__soapCall('mc_issue_update',$params);
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Neues Ticket anlegen
|
||||
*/
|
||||
@@ -161,84 +162,84 @@ class mantis extends basis_db
|
||||
'priority'=>array('id'=>$this->issue_priority->id),
|
||||
'additional_information'=>$this->issue_additional_information,
|
||||
);
|
||||
|
||||
|
||||
$params=array('username' => MANTIS_USERNAME, 'password' => MANTIS_PASSWORT, $issue);
|
||||
$result = $this->soapClient->__soapCall('mc_issue_add',$params);
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Ticket holen
|
||||
*/
|
||||
public function getIssue($issue_id=1)
|
||||
{
|
||||
try
|
||||
try
|
||||
{
|
||||
$params=array('username' => MANTIS_USERNAME, 'password' => MANTIS_PASSWORT,'issue_id' => $issue_id);
|
||||
$result = $this->soapClient->__soapCall('mc_issue_get',$params);
|
||||
|
||||
$this->issue_id = $result->id;
|
||||
|
||||
$this->issue_id = $result->id;
|
||||
$this->issue_view_state = new stdclass();
|
||||
$this->issue_view_state->id = $result->view_state->id;
|
||||
$this->issue_view_state->name = $result->view_state->name;
|
||||
$this->issue_last_updated = $result->last_updated;
|
||||
$this->issue_view_state->id = $result->view_state->id;
|
||||
$this->issue_view_state->name = $result->view_state->name;
|
||||
$this->issue_last_updated = $result->last_updated;
|
||||
$this->issue_project = new stdclass();
|
||||
$this->issue_project->id = $result->project->id;
|
||||
$this->issue_project->name = $result->project->name;
|
||||
$this->issue_category = $result->category;
|
||||
$this->issue_project->id = $result->project->id;
|
||||
$this->issue_project->name = $result->project->name;
|
||||
$this->issue_category = $result->category;
|
||||
$this->issue_priority = new stdclass();
|
||||
$this->issue_priority->id = $result->priority->id;
|
||||
$this->issue_priority->name = $result->priority->name;
|
||||
$this->issue_priority->name = $result->priority->name;
|
||||
$this->issue_severity = new stdclass();
|
||||
$this->issue_severity->id = $result->severity->id;
|
||||
$this->issue_severity->name = $result->severity->name;
|
||||
$this->issue_severity->id = $result->severity->id;
|
||||
$this->issue_severity->name = $result->severity->name;
|
||||
$this->issue_status = new stdclass();
|
||||
$this->issue_status->id = $result->status->id;
|
||||
$this->issue_status->name = $result->status->name;
|
||||
$this->issue_status->id = $result->status->id;
|
||||
$this->issue_status->name = $result->status->name;
|
||||
$this->issue_reporter = new stdclass();
|
||||
$this->issue_reporter->id = $result->reporter->id;
|
||||
$this->issue_reporter->name = $result->reporter->name;
|
||||
$this->issue_reporter->real_name = $result->reporter->real_name;
|
||||
$this->issue_reporter->email = $result->reporter->email;
|
||||
$this->issue_summary = $result->summary;
|
||||
$this->issue_reporter->id = $result->reporter->id;
|
||||
$this->issue_reporter->name = $result->reporter->name;
|
||||
$this->issue_reporter->real_name = $result->reporter->real_name;
|
||||
$this->issue_reporter->email = $result->reporter->email;
|
||||
$this->issue_summary = $result->summary;
|
||||
$this->issue_reproducibility = new stdclass();
|
||||
$this->issue_reproducibility->id = $result->reproducibility->id;
|
||||
$this->issue_reproducibility->name = $result->reproducibility->name;
|
||||
$this->issue_date_submitted = $result->date_submitted;
|
||||
$this->issue_sponsorship_total = $result->sponsorship_total;
|
||||
$this->issue_reproducibility->name = $result->reproducibility->name;
|
||||
$this->issue_date_submitted = $result->date_submitted;
|
||||
$this->issue_sponsorship_total = $result->sponsorship_total;
|
||||
$this->issue_projection = new stdclass();
|
||||
$this->issue_projection->id = $result->projection->id;
|
||||
$this->issue_projection->name = $result->projection->name;
|
||||
$this->issue_projection->id = $result->projection->id;
|
||||
$this->issue_projection->name = $result->projection->name;
|
||||
$this->issue_eta = new stdclass();
|
||||
$this->issue_eta->id = $result->eta->id;
|
||||
$this->issue_eta->id = $result->eta->id;
|
||||
$this->issue_eta->name = $result->eta->name;
|
||||
$this->issue_resolution = new stdclass();
|
||||
$this->issue_resolution->id = $result->resolution->id;
|
||||
$this->issue_resolution->name = $result->resolution->name;
|
||||
$this->issue_tags = new stdclass();
|
||||
$anzTags = count($result->tags);
|
||||
$i = 1;
|
||||
$this->issue_resolution->id = $result->resolution->id;
|
||||
$this->issue_resolution->name = $result->resolution->name;
|
||||
$this->issue_tags = new stdclass();
|
||||
$anzTags = count($result->tags);
|
||||
$i = 1;
|
||||
foreach($result->tags as $r)
|
||||
{
|
||||
if($i == $anzTags)
|
||||
$this->issue_tags->name.= $r->name;
|
||||
$this->issue_tags->name.= $r->name;
|
||||
else
|
||||
$this->issue_tags->name.=$r->name.',';
|
||||
|
||||
$i++;
|
||||
$this->issue_tags->name.=$r->name.',';
|
||||
|
||||
$i++;
|
||||
}
|
||||
if($anzTags == 0)
|
||||
$this->issue_tags->name = '';
|
||||
$this->issue_tags->name = '';
|
||||
|
||||
$this->issue_description = $result->description;
|
||||
//$this->issue_attachments = $result->attachments;
|
||||
$this->issue_due_date = $result->due_date;
|
||||
$this->issue_description = $result->description;
|
||||
//$this->issue_attachments = $result->attachments;
|
||||
$this->issue_due_date = $result->due_date;
|
||||
$this->issue_steps_to_reproduce = (isset($result->steps_to_reproduce)?$result->steps_to_reproduce:'');
|
||||
$this->issue_additional_information = (isset($result->additional_information)?$result->additional_information:'');
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
catch (SoapFault $fault)
|
||||
}
|
||||
catch (SoapFault $fault)
|
||||
{
|
||||
$this->errormsg="SOAP-Fehler: ".$fault->faultstring;
|
||||
return false;
|
||||
@@ -254,7 +255,7 @@ class mantis extends basis_db
|
||||
try
|
||||
{
|
||||
$params=array('username' => MANTIS_USERNAME, 'password' => MANTIS_PASSWORT);
|
||||
|
||||
|
||||
$result = $this->soapClient->__soapCall('mc_projects_get_user_accessible',$params);
|
||||
|
||||
foreach($result as $row)
|
||||
@@ -265,7 +266,7 @@ class mantis extends basis_db
|
||||
$obj->issue_project->id = $row->id;
|
||||
|
||||
$this->result[] = $obj;
|
||||
|
||||
|
||||
if(isset($row->subprojects))
|
||||
{
|
||||
foreach($row->subprojects as $row_sub)
|
||||
@@ -274,15 +275,15 @@ class mantis extends basis_db
|
||||
$obj->issue_project = new stdclass();
|
||||
$obj->issue_project->name = $row_sub->name;
|
||||
$obj->issue_project->id = $row_sub->id;
|
||||
|
||||
|
||||
$this->result[] = $obj;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
catch (SoapFault $fault)
|
||||
}
|
||||
catch (SoapFault $fault)
|
||||
{
|
||||
$this->errormsg="SOAP-Fehler: ".$fault->faultstring;
|
||||
return false;
|
||||
@@ -307,8 +308,8 @@ class mantis extends basis_db
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
catch (SoapFault $fault)
|
||||
}
|
||||
catch (SoapFault $fault)
|
||||
{
|
||||
$this->errormsg="SOAP-Fehler: ".$fault->faultstring;
|
||||
return false;
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
/* Copyright (C) 2016 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Moik <moik@technikum-wien.at>
|
||||
*/
|
||||
//require_once(dirname(__FILE__).'/config/vilesci.config.inc.php'); Muss vor dieser Datei eingebunden werden!
|
||||
|
||||
$dr = DOC_ROOT;
|
||||
$dr = str_replace($_SERVER["DOCUMENT_ROOT"], "", $dr);
|
||||
if($dr=='')
|
||||
$dr='/';
|
||||
|
||||
//Originaldateien des Herstellers
|
||||
echo '<link rel="stylesheet" type="text/css" href="'.$dr.'vendor/FHC-vendor/angular-tablesort/tablesort.css">';
|
||||
|
||||
echo '<script src="'.$dr.'vendor/FHC-vendor/angular-tablesort/js/angular-tablesort.js"></script>';
|
||||
|
||||
//Anpassungen
|
||||
echo '<link rel="stylesheet" type="text/css" href="'.$dr.'include/vendor_custom/angular-tablesorter/tablesort.css">';
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,31 @@
|
||||
<?php
|
||||
/* Copyright (C) 2015 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Moik <moik@technikum-wien.at>
|
||||
*/
|
||||
//require_once(dirname(__FILE__).'/config/vilesci.config.inc.php'); Muss vor dieser Datei eingebunden werden!
|
||||
|
||||
$dr = DOC_ROOT;
|
||||
$dr = str_replace($_SERVER["DOCUMENT_ROOT"], "", $dr);
|
||||
if($dr=='')
|
||||
$dr='/';
|
||||
|
||||
//Originaldateien des Herstellers
|
||||
echo '<script src="'.$dr.'vendor/components/angular.js/angular.min.js"></script>';
|
||||
|
||||
|
||||
?>
|
||||
@@ -21,7 +21,8 @@
|
||||
|
||||
$dr = DOC_ROOT;
|
||||
$dr = str_replace($_SERVER["DOCUMENT_ROOT"], "", $dr);
|
||||
|
||||
if($dr=='')
|
||||
$dr='/';
|
||||
|
||||
//Originaldateien des Herstellers
|
||||
echo '<link rel="stylesheet" type="text/css" href="'.$dr.'vendor/FHC-vendor/easyui/themes/icon.css">';
|
||||
|
||||
@@ -21,7 +21,8 @@
|
||||
|
||||
$dr = DOC_ROOT;
|
||||
$dr = str_replace($_SERVER["DOCUMENT_ROOT"], "", $dr);
|
||||
|
||||
if($dr=='')
|
||||
$dr='/';
|
||||
|
||||
//Originaldateien des Herstellers
|
||||
echo '<link rel="stylesheet" type="text/css" href="'.$dr.'vendor/FHC-vendor/jquery-tablesorter/css/theme.default.css">';
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
|
||||
$dr = DOC_ROOT;
|
||||
$dr = str_replace($_SERVER["DOCUMENT_ROOT"], "", $dr);
|
||||
if($dr=='')
|
||||
$dr='/';
|
||||
|
||||
//Originaldateien des Herstellers
|
||||
echo '<script src="'.$dr.'vendor/components/jquery/jquery.min.js"></script>';
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
<?php
|
||||
/* Copyright (C) 2016 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Moik <moik@technikum-wien.at>
|
||||
*/
|
||||
|
||||
require_once(dirname(__FILE__)."/jquery.php");
|
||||
echo '
|
||||
<script>
|
||||
var SERVICE_TARGET = "";
|
||||
function _GET()
|
||||
{
|
||||
var url = window.location.href;
|
||||
|
||||
if(url.slice(-1) === "#")
|
||||
url = url.slice(0,-1);
|
||||
|
||||
var vars = {};
|
||||
var parts = url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value)
|
||||
{
|
||||
vars[key] = value;
|
||||
});
|
||||
return vars;
|
||||
}
|
||||
|
||||
function AJAXCall(action, successfunction)
|
||||
{
|
||||
if(SERVICE_TARGET == "")
|
||||
die("Es wurde kein AJAX-Target angegeben");
|
||||
$.ajax(
|
||||
{
|
||||
url: SERVICE_TARGET,
|
||||
type: "POST",
|
||||
dataType: "html",
|
||||
data: action,
|
||||
timeout: 5000
|
||||
|
||||
}).done(function(result)
|
||||
{
|
||||
try
|
||||
{
|
||||
var res = JSON.parse(result);
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
die(result);
|
||||
return false;
|
||||
}
|
||||
if(res.return)
|
||||
{
|
||||
if(res.action != "")
|
||||
{
|
||||
try
|
||||
{
|
||||
var ret = JSON.parse(res.action);
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
die(action.action + "<br><br>" + res.action);
|
||||
}
|
||||
}
|
||||
successfunction(ret);
|
||||
}
|
||||
else
|
||||
{
|
||||
die(res.message);
|
||||
}
|
||||
|
||||
}).fail(function(jqXHR, status)
|
||||
{
|
||||
die("AJAX failed: " + status);
|
||||
});
|
||||
}
|
||||
|
||||
function die(msg)
|
||||
{
|
||||
var full = "<h1 style=\'color:#900;\'>Fehler:</h1><div>"+msg+"</div>";
|
||||
document.body.innerHTML = full;
|
||||
throw new Error(msg);
|
||||
}
|
||||
|
||||
function isObject(val)
|
||||
{
|
||||
if (val === null) { return false;}
|
||||
return ( (typeof val === "function") || (typeof val === "object") );
|
||||
}
|
||||
</script>';
|
||||
|
||||
?>
|
||||
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
/* Copyright (C) 2015 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Moik <moik@technikum-wien.at>
|
||||
*/
|
||||
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/datum.class.php');
|
||||
require_once('../../include/person.class.php');
|
||||
require_once('../../include/benutzer.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
|
||||
|
||||
function returnAJAX($success, $obj)
|
||||
{
|
||||
//if there is an error
|
||||
if(error_get_last())
|
||||
$ret = array(
|
||||
"return" => false,
|
||||
);
|
||||
else if(!$success)
|
||||
{
|
||||
$ret = array(
|
||||
"return" => false,
|
||||
"message" => $obj,
|
||||
);
|
||||
}
|
||||
//if we dont have a valid user
|
||||
else if (!$getuid = get_uid())
|
||||
{
|
||||
$ret = array(
|
||||
"return" => false,
|
||||
);
|
||||
}
|
||||
//if everything worked fine
|
||||
else
|
||||
{
|
||||
$ret = array(
|
||||
"return" => true,
|
||||
"action" => $obj,
|
||||
);
|
||||
}
|
||||
echo json_encode($ret);
|
||||
if($ret["return"] === false)
|
||||
die("");
|
||||
}
|
||||
?>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -499,5 +499,67 @@ class ort extends basis_db
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt einen Ort (Limit 1) anhand seiner Planbezeichnung
|
||||
* @param boolean aktiv (optional) default:true
|
||||
* @param boolean lehre (optional) default:true
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function getOrtByPlanbezeichnung($planbezeichnung, $aktiv=true, $lehre=true)
|
||||
{
|
||||
$qry = 'SELECT * FROM public.tbl_ort WHERE planbezeichnung='.$this->db_add_param($planbezeichnung);
|
||||
|
||||
if(!is_null($aktiv))
|
||||
{
|
||||
$qry .= ' AND aktiv='.$this->db_add_param($aktiv, FHC_BOOLEAN);
|
||||
}
|
||||
if(!is_null($lehre))
|
||||
{
|
||||
$qry .= ' AND lehre='.$this->db_add_param($lehre, FHC_BOOLEAN);
|
||||
}
|
||||
|
||||
$qry .= ' ORDER BY ort_kurzbz LIMIT 1;';
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Datensaetze';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$ort_obj = new ort();
|
||||
|
||||
$ort_obj->ort_kurzbz = $row->ort_kurzbz;
|
||||
$ort_obj->bezeichnung = $row->bezeichnung;
|
||||
$ort_obj->planbezeichnung = $row->planbezeichnung;
|
||||
$ort_obj->max_person = $row->max_person;
|
||||
$ort_obj->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
$ort_obj->lehre = $this->db_parse_bool($row->lehre);
|
||||
$ort_obj->lageplan = $row->lageplan;
|
||||
$ort_obj->dislozierung = $row->dislozierung;
|
||||
$ort_obj->kosten = $row->kosten;
|
||||
$ort_obj->reservieren = $this->db_parse_bool($row->reservieren);
|
||||
$ort_obj->ausstattung = $row->ausstattung;
|
||||
$ort_obj->stockwerk = $row->stockwerk;
|
||||
$ort_obj->standort_id = $row->standort_id;
|
||||
$ort_obj->telefonklappe = $row->telefonklappe;
|
||||
$ort_obj->content_id = $row->content_id;
|
||||
$ort_obj->m2 = $row->m2;
|
||||
$ort_obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$ort_obj->gebteil = $row->gebteil;
|
||||
$this->result[] = $ort_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Datensaetze';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -47,7 +47,7 @@ class person extends basis_db
|
||||
public $foto; // text
|
||||
public $anmerkungen; // varchar(256)
|
||||
public $homepage; // varchar(256)
|
||||
public $svnr; // char(10)
|
||||
public $svnr; // varchar(16)
|
||||
public $ersatzkennzeichen; // char(10)
|
||||
public $familienstand; // char(1)
|
||||
public $anzahlkinder; // smalint
|
||||
@@ -239,9 +239,9 @@ class person extends basis_db
|
||||
$this->errormsg = 'Homepage darf nicht laenger als 256 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(mb_strlen($this->svnr)>10)
|
||||
if(mb_strlen($this->svnr)>16)
|
||||
{
|
||||
$this->errormsg = 'SVNR darf nicht laenger als 10 Zeichen sein';
|
||||
$this->errormsg = 'SVNR darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -251,13 +251,14 @@ class person extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
if($this->svnr!='')
|
||||
if($this->svnr!='' && mb_strlen($this->svnr) != 16 && mb_strlen($this->svnr) != 10)
|
||||
{
|
||||
$this->errormsg = 'SVNR muss 10 oder 16 Zeichen lang sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($this->svnr!='' && mb_strlen($this->svnr)==10)
|
||||
{
|
||||
if(mb_strlen($this->svnr)!=10)
|
||||
{
|
||||
$this->errormsg = 'Sozialversicherungsnummer muss 10stellig sein';
|
||||
return false;
|
||||
}
|
||||
//SVNR mit Pruefziffer pruefen
|
||||
//Die 4. Stelle in der SVNR ist die Pruefziffer
|
||||
//(Summe von (gewichtung[i]*svnr[i])) modulo 11 ergibt diese Pruefziffer
|
||||
|
||||
+62
-7
@@ -22,6 +22,7 @@
|
||||
/**
|
||||
* Datenbank Abstraktionsklasse fuer Postgresql Datenbank
|
||||
*/
|
||||
require_once('sprache.class.php');
|
||||
|
||||
class basis_db extends db
|
||||
{
|
||||
@@ -292,6 +293,27 @@ class basis_db extends db
|
||||
$var = $this->db_null_value($var, false);
|
||||
break;
|
||||
|
||||
case FHC_LANG_ARRAY:
|
||||
|
||||
$sprache = new sprache();
|
||||
$sprache->getAll(true);
|
||||
$buf = $var;
|
||||
$var = array();
|
||||
$languages = $sprache->getAllIndexesSorted();
|
||||
|
||||
foreach($languages as $sk => $sp)
|
||||
{
|
||||
if(!$sp || !isset($buf[$sp]))
|
||||
$var[$sk] = "";
|
||||
else
|
||||
$var[$sk] = $this->db_escape($buf[$sp]);
|
||||
}
|
||||
$var = str_replace('\\', '\\\\', $var);
|
||||
$var = str_replace('"', '\\\"', $var);
|
||||
$var = '\'{"' . join('","', $var) . '"}\'';
|
||||
|
||||
break;
|
||||
|
||||
case FHC_BOOLEAN:
|
||||
if($var===true)
|
||||
$var='true';
|
||||
@@ -350,15 +372,48 @@ class basis_db extends db
|
||||
*/
|
||||
public function db_parse_array($var)
|
||||
{
|
||||
if ($var == '')
|
||||
if ($var == '')
|
||||
return;
|
||||
preg_match_all('/(?<=^\{|,)(([^,"{]*)|\s*"((?:[^"\\\\]|\\\\(?:.|[0-9]+|x[0-9a-f]+))*)"\s*)(,|(?<!^\{)(?=\}$))/i', $var, $matches, PREG_SET_ORDER);
|
||||
$values = array();
|
||||
foreach ($matches as $match)
|
||||
preg_match_all('/(?<=^\{|,)(([^,"{]*)|\s*"((?:[^"\\\\]|\\\\(?:.|[0-9]+|x[0-9a-f]+))*)"\s*)(,|(?<!^\{)(?=\}$))/i', $var, $matches, PREG_SET_ORDER);
|
||||
$values = array();
|
||||
foreach ($matches as $match)
|
||||
{
|
||||
$values[] = $match[3] != '' ? stripcslashes($match[3]) : (strtolower($match[2]) == 'null' ? null : $match[2]);
|
||||
}
|
||||
return $values;
|
||||
$values[] = $match[3] != '' ? stripcslashes($match[3]) : (strtolower($match[2]) == 'null' ? null : $match[2]);
|
||||
}
|
||||
return $values;
|
||||
}
|
||||
|
||||
/**
|
||||
* Erstellt aus einem DB Array ein PHP Array
|
||||
* @param $var DB Result Array Spalte
|
||||
* @return php array
|
||||
*/
|
||||
public function db_parse_lang_array($var)
|
||||
{
|
||||
|
||||
if ($var == '')
|
||||
return;
|
||||
preg_match_all('/(?<=^\{|,)(([^,"{]*)|\s*"((?:[^"\\\\]|\\\\(?:.|[0-9]+|x[0-9a-f]+))*)"\s*)(,|(?<!^\{)(?=\}$))/i', $var, $matches, PREG_SET_ORDER);
|
||||
$values = array();
|
||||
|
||||
$sprache = new sprache();
|
||||
$sprache->loadIndexArray();
|
||||
|
||||
$sprache = new sprache();
|
||||
$sprache->getAll(true);
|
||||
$languages = $sprache->getAllIndexesSorted();
|
||||
|
||||
|
||||
foreach ($matches as $mk => $match)
|
||||
{
|
||||
$values[$languages[$mk+1]] = $match[3] != '' ? stripcslashes($match[3]) : (strtolower($match[2]) == 'null' ? null : $match[2]);
|
||||
}
|
||||
return $values;
|
||||
}
|
||||
}
|
||||
|
||||
function indexSort($a, $b)
|
||||
{
|
||||
return strcmp($a->index, $b->index);
|
||||
}
|
||||
?>
|
||||
|
||||
+132
-61
@@ -20,6 +20,7 @@
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/person.class.php');
|
||||
require_once(dirname(__FILE__).'/log.class.php');
|
||||
|
||||
class prestudent extends person
|
||||
{
|
||||
@@ -46,17 +47,17 @@ class prestudent extends person
|
||||
public $punkte; //rt_gesamtpunkte
|
||||
public $rt_punkte1;
|
||||
public $rt_punkte2;
|
||||
public $rt_punkte3 = 0;
|
||||
public $bismelden = true;
|
||||
public $rt_punkte3 = 0;
|
||||
public $bismelden = true;
|
||||
public $anmerkung;
|
||||
public $anmerkung_status;
|
||||
public $mentor;
|
||||
public $ext_id_prestudent;
|
||||
public $dual = false;
|
||||
public $zgvdoktor_code;
|
||||
public $zgvdoktorort;
|
||||
public $zgvdoktordatum;
|
||||
public $zgvdoktornation;
|
||||
public $dual = false;
|
||||
public $zgvdoktor_code;
|
||||
public $zgvdoktorort;
|
||||
public $zgvdoktordatum;
|
||||
public $zgvdoktornation;
|
||||
|
||||
public $status_kurzbz;
|
||||
public $studiensemester_kurzbz;
|
||||
@@ -565,8 +566,8 @@ class prestudent extends person
|
||||
(
|
||||
SELECT
|
||||
*, (SELECT status_kurzbz FROM tbl_prestudentstatus
|
||||
WHERE prestudent_id=prestudent.prestudent_id $stsemqry
|
||||
ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) AS rolle
|
||||
WHERE prestudent_id=prestudent.prestudent_id $stsemqry
|
||||
ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) AS rolle
|
||||
FROM tbl_prestudent prestudent ORDER BY prestudent_id
|
||||
) a, tbl_prestudentstatus, tbl_person
|
||||
WHERE a.rolle=tbl_prestudentstatus.status_kurzbz AND
|
||||
@@ -587,8 +588,11 @@ class prestudent extends person
|
||||
case "interessenten":
|
||||
$qry.=" AND a.rolle='Interessent'";
|
||||
break;
|
||||
case "bewerbungnichtabgeschickt":
|
||||
$qry.=" AND a.rolle='Interessent' AND bewerbung_abgeschicktamum is null";
|
||||
break;
|
||||
case "bewerbungabgeschickt":
|
||||
$qry.=" AND a.rolle='Interessent' AND bewerbung_abgeschicktamum is not null";
|
||||
$qry.=" AND a.rolle='Interessent' AND bewerbung_abgeschicktamum is not null AND bestaetigtam is null";
|
||||
break;
|
||||
case "statusbestaetigt":
|
||||
$qry.=" AND a.rolle='Interessent' AND bestaetigtam is not null";
|
||||
@@ -1115,9 +1119,9 @@ class prestudent extends person
|
||||
$obj->ext_id_prestudent = $row->ext_id;
|
||||
$obj->dual = $this->db_parse_bool($row->dual);
|
||||
$obj->ausstellungsstaat = $row->ausstellungsstaat;
|
||||
$obj->zgvdoktor_code = $row->zgvdoktor_code;
|
||||
$obj->zgvdoktorort = $row->zgvdoktorort;
|
||||
$obj->zgvdoktordatum = $row->zgvdoktordatum;
|
||||
$obj->zgvdoktor_code = $row->zgvdoktor_code;
|
||||
$obj->zgvdoktorort = $row->zgvdoktorort;
|
||||
$obj->zgvdoktordatum = $row->zgvdoktordatum;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
@@ -1130,56 +1134,60 @@ class prestudent extends person
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt die eingetragenen ZGV zurück
|
||||
* @return array
|
||||
*/
|
||||
public function getZgv() {
|
||||
/**
|
||||
* Gibt die eingetragenen ZGV zurück
|
||||
* @return array
|
||||
*/
|
||||
public function getZgv()
|
||||
{
|
||||
|
||||
$zgv = array(
|
||||
'bachelor' => array(),
|
||||
'master' => array(),
|
||||
// 'doktor' => array(),
|
||||
);
|
||||
$attribute = array(
|
||||
'art',
|
||||
'ort',
|
||||
'datum',
|
||||
'nation',
|
||||
);
|
||||
$db_attribute = array(
|
||||
'zgv_code',
|
||||
'zgvort',
|
||||
'zgvdatum',
|
||||
'zgvnation',
|
||||
'zgvmas_code',
|
||||
'zgvmaort',
|
||||
'zgvmadatum',
|
||||
'zgvmanation',
|
||||
'zgvdoktor_code',
|
||||
'zgvdoktorort',
|
||||
'zgvdoktordatum',
|
||||
'zgvdoktornation',
|
||||
);
|
||||
$zgv = array
|
||||
(
|
||||
'bachelor' => array(),
|
||||
'master' => array(),
|
||||
//'doktor' => array(),
|
||||
);
|
||||
$attribute = array
|
||||
(
|
||||
'art',
|
||||
'ort',
|
||||
'datum',
|
||||
'nation',
|
||||
);
|
||||
$db_attribute = array
|
||||
(
|
||||
'zgv_code',
|
||||
'zgvort',
|
||||
'zgvdatum',
|
||||
'zgvnation',
|
||||
'zgvmas_code',
|
||||
'zgvmaort',
|
||||
'zgvmadatum',
|
||||
'zgvmanation',
|
||||
'zgvdoktor_code',
|
||||
'zgvdoktorort',
|
||||
'zgvdoktordatum',
|
||||
'zgvdoktornation',
|
||||
);
|
||||
|
||||
foreach($this->result as $prestudent) {
|
||||
|
||||
foreach($zgv as &$value) {
|
||||
|
||||
foreach($attribute as $attribut) {
|
||||
$db_attribute_name = current($db_attribute);
|
||||
|
||||
if($prestudent->$db_attribute_name) {
|
||||
$value[$attribut] = $prestudent->$db_attribute_name;
|
||||
}
|
||||
next($db_attribute);
|
||||
}
|
||||
}
|
||||
reset($db_attribute);
|
||||
}
|
||||
|
||||
return $zgv;
|
||||
}
|
||||
foreach($this->result as $prestudent)
|
||||
{
|
||||
foreach($zgv as &$value)
|
||||
{
|
||||
foreach($attribute as $attribut)
|
||||
{
|
||||
$db_attribute_name = current($db_attribute);
|
||||
if($prestudent->$db_attribute_name)
|
||||
{
|
||||
$value[$attribut] = $prestudent->$db_attribute_name;
|
||||
}
|
||||
next($db_attribute);
|
||||
}
|
||||
}
|
||||
reset($db_attribute);
|
||||
}
|
||||
return $zgv;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die Anzahl der Bewerber im ausgewaehlten Bereich
|
||||
@@ -1708,4 +1716,67 @@ class prestudent extends person
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt alle Studenten eines Studienplans und eines Studiensemesters
|
||||
* @param $studienplan_id
|
||||
* @param $studiensemester_kurzbz
|
||||
* @param $studiengang_kz
|
||||
* @return array mit allen Prestudenten, welche sich für den angegebenen Studienplan im angegebenen Semester beworben haben
|
||||
*/
|
||||
public function getAllStudentenFromStudienplanAndStudsem($studienplan_id, $studiensemester_kurzbz, $studiengang_kz)
|
||||
{
|
||||
if(!is_numeric($studienplan_id))
|
||||
{
|
||||
$this->errormsg = 'studienplan_id ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!$studiensemester_kurzbz || $studiensemester_kurzbz == "")
|
||||
{
|
||||
$this->errormsg = 'studiensemester_kurzbz ist ungueltig';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT DISTINCT prestudent_id, vorname, nachname, gebdatum, rt_gesamtpunkte, tbl_prestudent.studiengang_kz, bis.tbl_zgvgruppe.bezeichnung, get_rolle_prestudent(prestudent_id, null) as laststatus
|
||||
FROM
|
||||
public.tbl_prestudent
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
LEFT JOIN bis.tbl_zgvgruppe_zuordnung USING(zgv_code)
|
||||
LEFT JOIN bis.tbl_zgvgruppe USING(gruppe_kurzbz)
|
||||
WHERE
|
||||
tbl_prestudent.studiengang_kz=". $this->db_add_param($studiengang_kz)."
|
||||
AND EXISTS(
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
public.tbl_prestudentstatus
|
||||
WHERE
|
||||
tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id
|
||||
AND studiensemester_kurzbz=". $this->db_add_param($studiensemester_kurzbz)."
|
||||
AND status_kurzbz='Bewerber'
|
||||
AND (
|
||||
studienplan_id=". $this->db_add_param($studienplan_id)."
|
||||
OR
|
||||
(anmerkung like '%' || (SELECT orgform_kurzbz || '_' || sprache FROM lehre.tbl_studienplan WHERE studienplan_id=". $this->db_add_param($studienplan_id).") || '%')
|
||||
)
|
||||
);";
|
||||
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
$ret = array();
|
||||
|
||||
while($row = $this->db_fetch_object($result))
|
||||
$ret[] = $row;
|
||||
|
||||
return $ret;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+32
-15
@@ -42,8 +42,11 @@ class projekt extends basis_db
|
||||
public $insertvon; // string
|
||||
public $updateamum; // timestamp
|
||||
public $updatevon; // string
|
||||
public $budget;
|
||||
public $farbe;
|
||||
public $budget;
|
||||
public $farbe;
|
||||
public $anzahl_ma; // integer
|
||||
public $aufwand_pt; // integer
|
||||
|
||||
|
||||
|
||||
/**
|
||||
@@ -79,7 +82,9 @@ class projekt extends basis_db
|
||||
$this->ende = $row->ende;
|
||||
$this->oe_kurzbz= $row->oe_kurzbz;
|
||||
$this->budget= $row->budget;
|
||||
$this->farbe= $row->farbe;
|
||||
$this->farbe= $row->farbe;
|
||||
$this->anzahl_ma = $row->anzahl_ma;
|
||||
$this->aufwand_pt = $row->aufwand_pt;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -129,8 +134,10 @@ class projekt extends basis_db
|
||||
$obj->ende = $row->ende;
|
||||
$obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$obj->budget = $row->budget;
|
||||
$obj->farbe = $row->farbe;
|
||||
$obj->aufwandstyp_kurzbz = $row->aufwandstyp_kurzbz;
|
||||
$obj->farbe = $row->farbe;
|
||||
$obj->aufwandstyp_kurzbz = $row->aufwandstyp_kurzbz;
|
||||
$obj->anzahl_ma = $row->anzahl_ma;
|
||||
$obj->aufwand_pt = $row->aufwand_pt;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
@@ -171,8 +178,10 @@ class projekt extends basis_db
|
||||
$obj->ende = $row->ende;
|
||||
$obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$obj->budget = $row->budget;
|
||||
$obj->farbe = $row->farbe;
|
||||
|
||||
$obj->farbe = $row->farbe;
|
||||
$obj->anzahl_ma = $row->anzahl_ma;
|
||||
$obj->aufwand_pt = $row->aufwand_pt;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
@@ -211,9 +220,11 @@ class projekt extends basis_db
|
||||
$obj->ende = $row->ende;
|
||||
$obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$obj->budget = $row->budget;
|
||||
$obj->farbe = $row->farbe;
|
||||
$obj->aufwandstyp_kurzbz = $row->aufwandstyp_kurzbz;
|
||||
|
||||
$obj->farbe = $row->farbe;
|
||||
$obj->aufwandstyp_kurzbz = $row->aufwandstyp_kurzbz;
|
||||
$obj->anzahl_ma = $row->anzahl_ma;
|
||||
$obj->aufwand_pt = $row->aufwand_pt;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
@@ -280,7 +291,7 @@ class projekt extends basis_db
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
|
||||
$qry='INSERT INTO fue.tbl_projekt (projekt_kurzbz, nummer, titel,beschreibung, beginn, ende, budget, farbe, oe_kurzbz, aufwandstyp_kurzbz) VALUES('.
|
||||
$qry='INSERT INTO fue.tbl_projekt (projekt_kurzbz, nummer, titel,beschreibung, beginn, ende, budget, farbe, oe_kurzbz, aufwand_pt, anzahl_ma, aufwandstyp_kurzbz) VALUES('.
|
||||
$this->db_add_param($this->projekt_kurzbz).', '.
|
||||
$this->db_add_param($this->nummer).', '.
|
||||
$this->db_add_param($this->titel).', '.
|
||||
@@ -289,7 +300,9 @@ class projekt extends basis_db
|
||||
$this->db_add_param($this->ende).', '.
|
||||
$this->db_add_param($this->budget).', '.
|
||||
$this->db_add_param($this->farbe).', '.
|
||||
$this->db_add_param($this->oe_kurzbz).','.
|
||||
$this->db_add_param($this->oe_kurzbz).','.
|
||||
$this->db_add_param($this->aufwand_pt).','.
|
||||
$this->db_add_param($this->anzahl_ma).','.
|
||||
$this->db_add_param($this->aufwandstyp_kurzbz).');';
|
||||
}
|
||||
else
|
||||
@@ -305,7 +318,9 @@ class projekt extends basis_db
|
||||
'ende='.$this->db_add_param($this->ende).', '.
|
||||
'budget='.$this->db_add_param($this->budget).', '.
|
||||
'farbe='.$this->db_add_param($this->farbe).', '.
|
||||
'oe_kurzbz='.$this->db_add_param($this->oe_kurzbz).', '.
|
||||
'oe_kurzbz='.$this->db_add_param($this->oe_kurzbz).', '.
|
||||
'anzahl_ma='.$this->db_add_param($this->anzahl_ma).', '.
|
||||
'aufwand_pt='.$this->db_add_param($this->aufwand_pt).', '.
|
||||
'aufwandstyp_kurzbz='.$this->db_add_param($this->aufwandstyp_kurzbz).' '.
|
||||
'WHERE projekt_kurzbz='.$this->db_add_param($this->projekt_kurzbz).';';
|
||||
}
|
||||
@@ -416,8 +431,10 @@ class projekt extends basis_db
|
||||
$this->ende = $row->ende;
|
||||
$this->oe_kurzbz= $row->oe_kurzbz;
|
||||
$this->budget= $row->budget;
|
||||
$this->farbe= $row->farbe;
|
||||
|
||||
$this->farbe= $row->farbe;
|
||||
$this->anzahl_ma = $row->anzahl_ma;
|
||||
$this->aufwand_pt = $row->aufwand_pt;
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
|
||||
+58
-52
@@ -15,7 +15,7 @@
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
@@ -30,12 +30,12 @@ class pruefling extends basis_db
|
||||
public $registriert;
|
||||
public $prestudent_id;
|
||||
public $semester;
|
||||
|
||||
|
||||
// ErgebnisArray
|
||||
public $result=array();
|
||||
public $num_rows=0;
|
||||
public $new;
|
||||
|
||||
|
||||
/**
|
||||
* Konstruktor - Laedt optional einen pruefling
|
||||
* @param $frage_id Frage die geladen werden soll (default=null)
|
||||
@@ -47,7 +47,7 @@ class pruefling extends basis_db
|
||||
if($pruefling_id != null)
|
||||
$this->load($pruefling_id);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt Pruefling mit der uebergebenen ID
|
||||
* @param $pruefling_id ID der Frage die geladen werden soll
|
||||
@@ -55,7 +55,7 @@ class pruefling extends basis_db
|
||||
public function load($pruefling_id)
|
||||
{
|
||||
$qry = "SELECT * FROM testtool.tbl_pruefling WHERE pruefling_id=".$this->db_add_param($pruefling_id, FHC_INTEGER);
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
@@ -68,21 +68,21 @@ class pruefling extends basis_db
|
||||
$this->semester = $row->semester;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Kein Eintrag gefunden fuer $pruefling_id";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler beim Laden";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Prueft die Variablen vor dem Speichern
|
||||
* Prueft die Variablen vor dem Speichern
|
||||
* auf Gueltigkeit.
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
@@ -90,7 +90,7 @@ class pruefling extends basis_db
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Speichert die Benutzerdaten in die Datenbank
|
||||
* Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt
|
||||
@@ -102,7 +102,7 @@ class pruefling extends basis_db
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
|
||||
if($this->new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE
|
||||
{
|
||||
$qry = 'BEGIN;INSERT INTO testtool.tbl_pruefling (studiengang_kz, idnachweis, registriert, prestudent_id, semester) VALUES('.
|
||||
@@ -113,7 +113,7 @@ class pruefling extends basis_db
|
||||
$this->db_add_param($this->semester).");";
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
$qry = 'UPDATE testtool.tbl_pruefling SET'.
|
||||
' studiengang_kz='.$this->db_add_param($this->studiengang_kz, FHC_INTEGER).','.
|
||||
' idnachweis='.$this->db_add_param($this->idnachweis).','.
|
||||
@@ -122,7 +122,7 @@ class pruefling extends basis_db
|
||||
' prestudent_id='.$this->db_add_param($this->prestudent_id, FHC_INTEGER).
|
||||
" WHERE pruefling_id=".$this->db_add_param($this->pruefling_id, FHC_INTEGER, false).";";
|
||||
}
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->new)
|
||||
@@ -136,7 +136,7 @@ class pruefling extends basis_db
|
||||
$this->db_query('COMMIT;');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->db_query('ROLLBACK;');
|
||||
$this->errormsg = 'Fehler beim Lesen der Sequence';
|
||||
@@ -150,19 +150,19 @@ class pruefling extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
else
|
||||
{
|
||||
$this->db_query('ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim Speichern der Frage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt einen Puefling anhand der Prestudent_id
|
||||
*
|
||||
@@ -172,7 +172,7 @@ class pruefling extends basis_db
|
||||
public function getPruefling($prestudent_id)
|
||||
{
|
||||
$qry = "SELECT * FROM testtool.tbl_pruefling WHERE prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER);
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
@@ -185,21 +185,21 @@ class pruefling extends basis_db
|
||||
$this->semester = $row->semester;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Kein Eintrag gefunden";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler beim Laden";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Ermittelt den aktuellen Level (schwierigkeitsgrad der Frage)
|
||||
* Ermittelt den aktuellen Level (schwierigkeitsgrad der Frage)
|
||||
* des Prueflings fuer das uebergebene Gebiet
|
||||
*
|
||||
* @param $pruefling_id
|
||||
@@ -208,17 +208,17 @@ class pruefling extends basis_db
|
||||
public function getPrueflingLevel($pruefling_id, $gebiet_id)
|
||||
{
|
||||
$gebiet = new gebiet($gebiet_id);
|
||||
|
||||
|
||||
//wenn Levelsystem fuer dieses Gebiet aktiviert ist
|
||||
if($gebiet->level_start!='')
|
||||
{
|
||||
//Maximal und Minimal Level fuer dieses Gebiet ermitteln
|
||||
$max_level = 0;
|
||||
$min_level = 0;
|
||||
|
||||
$qry = "SELECT max(level) as max, min(level) as min FROM testtool.tbl_frage
|
||||
|
||||
$qry = "SELECT max(level) as max, min(level) as min FROM testtool.tbl_frage
|
||||
WHERE gebiet_id=".$this->db_add_param($gebiet_id, FHC_INTEGER);
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
@@ -226,24 +226,24 @@ class pruefling extends basis_db
|
||||
$max_level = $row->max;
|
||||
$min_level = $row->min;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'unbekannter Fehler in getPrueflingLevel';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Ermitteln des Pruefling-Levels';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//alle bisherigen Antworten fuer dieses Gebiet holen
|
||||
$qry = "SELECT
|
||||
tbl_vorschlag.punkte
|
||||
FROM
|
||||
testtool.tbl_pruefling_frage
|
||||
JOIN testtool.tbl_vorschlag USING(frage_id)
|
||||
FROM
|
||||
testtool.tbl_pruefling_frage
|
||||
JOIN testtool.tbl_vorschlag USING(frage_id)
|
||||
JOIN testtool.tbl_antwort USING(vorschlag_id)
|
||||
JOIN testtool.tbl_frage USING(frage_id)
|
||||
WHERE
|
||||
@@ -251,7 +251,7 @@ class pruefling extends basis_db
|
||||
tbl_pruefling_frage.pruefling_id=".$this->db_add_param($pruefling_id, FHC_INTEGER)." AND
|
||||
tbl_antwort.pruefling_id = tbl_pruefling_frage.pruefling_id
|
||||
ORDER BY tbl_pruefling_frage.nummer ASC";
|
||||
|
||||
|
||||
$aktueller_level=$gebiet->level_start;
|
||||
$anzahl_richtig=0;
|
||||
$anzahl_falsch=0;
|
||||
@@ -265,13 +265,13 @@ class pruefling extends basis_db
|
||||
$anzahl_richtig++;
|
||||
$anzahl_falsch=0;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
//wenn die Frage falsch beantwortet wurde dann falsch-zaehler erhoehen
|
||||
$anzahl_richtig=0;
|
||||
$anzahl_falsch++;
|
||||
}
|
||||
|
||||
|
||||
//wenn einer der Zaehler das Sprunglevel erreicht hat, dann
|
||||
//in ein anderes Level springen
|
||||
if($anzahl_richtig==$gebiet->level_sprung_auf)
|
||||
@@ -286,54 +286,60 @@ class pruefling extends basis_db
|
||||
$anzahl_richtig=0;
|
||||
$anzahl_falsch=0;
|
||||
}
|
||||
|
||||
|
||||
//aktueller level darf nicht kleiner/groesser als der minimal/maximal Level sein
|
||||
if($aktueller_level<$min_level)
|
||||
$aktueller_level=$min_level;
|
||||
if($aktueller_level>$max_level)
|
||||
$aktueller_level=$max_level;
|
||||
}
|
||||
|
||||
|
||||
return $aktueller_level;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Abfrage';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Berechnet das Reihungstestergebnis fuer einen Prestudenten
|
||||
*
|
||||
* @param $prestudent_id
|
||||
* @return Endpunkte des Reihungstests
|
||||
*/
|
||||
public function getReihungstestErgebnis($prestudent_id)
|
||||
public function getReihungstestErgebnis($prestudent_id, $punkte=false)
|
||||
{
|
||||
$qry = "SELECT * FROM testtool.vw_auswertung
|
||||
$qry = "SELECT * FROM testtool.vw_auswertung
|
||||
WHERE prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER);
|
||||
|
||||
|
||||
$ergebnis=0;
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
//wenn maxpunkte ueberschritten wurde -> 100%
|
||||
if($row->punkte>=$row->maxpunkte)
|
||||
{
|
||||
$prozent=100;
|
||||
$row->punkte = $row->maxpunkte;
|
||||
}
|
||||
else
|
||||
$prozent = ($row->punkte/$row->maxpunkte)*100;
|
||||
|
||||
$ergebnis+=$prozent*$row->gewicht;
|
||||
|
||||
if($punkte)
|
||||
$ergebnis +=$row->punkte;
|
||||
else
|
||||
$ergebnis+=$prozent*$row->gewicht;
|
||||
}
|
||||
return $ergebnis;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Abfrage';
|
||||
return false;
|
||||
|
||||
@@ -227,7 +227,7 @@ class reihungstest extends basis_db
|
||||
'studiensemester_kurzbz='.$this->db_add_param($this->studiensemester_kurzbz).' '.
|
||||
'WHERE reihungstest_id='.$this->db_add_param($this->reihungstest_id, FHC_INTEGER, false).';';
|
||||
}
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->new)
|
||||
@@ -277,11 +277,11 @@ class reihungstest extends basis_db
|
||||
|
||||
if ($studiensemester_kurzbz!=null)
|
||||
$qry .=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz, FHC_STRING, false);
|
||||
|
||||
|
||||
if ($order!=null)
|
||||
$qry .=" ORDER BY ".$order;
|
||||
|
||||
|
||||
|
||||
|
||||
$qry.= ";";
|
||||
|
||||
if($this->db_query($qry))
|
||||
@@ -326,12 +326,16 @@ class reihungstest extends basis_db
|
||||
*/
|
||||
public function getZukuenftige($include_id, $studiengang_kz)
|
||||
{
|
||||
$qry = "SELECT *, '1' as sortierung,(SELECT upper(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_reihungstest.studiengang_kz) as stg FROM public.tbl_reihungstest WHERE datum>=now()-'1 days'::interval AND studiengang_kz=".$this->db_add_param($studiengang_kz)."
|
||||
$qry = "
|
||||
SELECT *, (SELECT count(*) FROM public.tbl_prestudent WHERE reihungstest_id=a.reihungstest_id) as angemeldete_teilnehmer
|
||||
FROM (
|
||||
SELECT *, '1' as sortierung,(SELECT upper(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_reihungstest.studiengang_kz) as stg FROM public.tbl_reihungstest WHERE datum>=now()-'1 days'::interval AND studiengang_kz=".$this->db_add_param($studiengang_kz)."
|
||||
UNION
|
||||
SELECT *, '2' as sortierung,(SELECT upper(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_reihungstest.studiengang_kz) as stg FROM public.tbl_reihungstest WHERE datum>=now()-'1 days'::interval AND studiengang_kz!=".$this->db_add_param($studiengang_kz)."
|
||||
UNION
|
||||
SELECT *, '0' as sortierung,(SELECT upper(typ || kurzbz) FROM public.tbl_studiengang WHERE studiengang_kz=tbl_reihungstest.studiengang_kz) as stg FROM public.tbl_reihungstest WHERE reihungstest_id=".$this->db_add_param($include_id)."
|
||||
ORDER BY sortierung, stg, datum";
|
||||
ORDER BY sortierung, stg, datum
|
||||
) a";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -354,6 +358,7 @@ class reihungstest extends basis_db
|
||||
$obj->oeffentlich = $this->db_parse_bool($row->oeffentlich);
|
||||
$obj->freigeschaltet = $this->db_parse_bool($row->freigeschaltet);
|
||||
$obj->studiensemester_kurzbz =$row->studiensemester_kurzbz;
|
||||
$obj->angemeldete_teilnehmer = $row->angemeldete_teilnehmer;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
@@ -416,17 +421,17 @@ class reihungstest extends basis_db
|
||||
|
||||
return $obj->anzahl;
|
||||
}
|
||||
|
||||
|
||||
public function delete($reihungstest_id)
|
||||
{
|
||||
$qry = "DELETE from public.tbl_reihungstest WHERE reihungstest_id=".$this->db_add_param($reihungstest_id);
|
||||
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen der Daten';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Regular → Executable
+149
-111
@@ -17,7 +17,7 @@
|
||||
*
|
||||
* Authors: Karl Burkhart <burkhart@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class ressource extends basis_db
|
||||
@@ -31,13 +31,13 @@ class ressource extends basis_db
|
||||
public $beschreibung; //string
|
||||
public $mitarbeiter_uid; //string
|
||||
public $student_uid; //string
|
||||
public $betriebsmittel_id; //integer
|
||||
public $firma_id; //integer
|
||||
public $betriebsmittel_id; //integer
|
||||
public $firma_id; //integer
|
||||
public $insertamum; //timestamp
|
||||
public $insertvon; //string
|
||||
public $updateamum; //timestamp
|
||||
public $updatevon; //string
|
||||
|
||||
|
||||
// zwischentabelle projekt_ressource
|
||||
public $projekt_ressource_id;
|
||||
public $projektphase_id;
|
||||
@@ -53,7 +53,7 @@ class ressource extends basis_db
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if($ressource_id != null)
|
||||
if($ressource_id != null)
|
||||
$this->load($ressource_id);
|
||||
}
|
||||
|
||||
@@ -69,9 +69,9 @@ class ressource extends basis_db
|
||||
$this->errormsg = 'Ressource_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$qry = "SELECT * FROM fue.tbl_ressource WHERE ressource_id=".$this->db_add_param($ressource_id, FHC_INTEGER);
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
@@ -86,16 +86,17 @@ class ressource extends basis_db
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->funktion_kurzbz = $row->funktion_kurzbz;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Datensatz wurde nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
@@ -104,21 +105,21 @@ class ressource extends basis_db
|
||||
|
||||
/**
|
||||
* Laedt alle Ressourcen
|
||||
* @param $projekt_kurzbz, wenn null -> werden alle ressourcen geladen
|
||||
* @param $projekt_kurzbz, wenn null -> werden alle ressourcen geladen
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function getAllRessourcen()
|
||||
{
|
||||
$qry = "SELECT * FROM fue.tbl_ressource order by bezeichnung";
|
||||
|
||||
|
||||
$this->result=array();
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new ressource();
|
||||
|
||||
|
||||
$obj->ressource_id = $row->ressource_id;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->beschreibung = $row->beschreibung;
|
||||
@@ -129,39 +130,39 @@ class ressource extends basis_db
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
//var_dump($this->result);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Lädt alle Ressourcen zu einem Projekt
|
||||
* @param $project_kurzbz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function getProjectRessourcen($project_kurzbz)
|
||||
{
|
||||
$qry = "SELECT ressource.*, project.projekt_ressource_id, project.aufwand FROM fue.tbl_ressource as ressource
|
||||
JOIN fue.tbl_projekt_ressource project ON(project.ressource_id = ressource.ressource_id)
|
||||
$qry = "SELECT ressource.*, project.projekt_ressource_id, project.aufwand, project.funktion_kurzbz FROM fue.tbl_ressource as ressource
|
||||
JOIN fue.tbl_projekt_ressource project ON(project.ressource_id = ressource.ressource_id)
|
||||
WHERE project.projekt_kurzbz =".$this->db_add_param($project_kurzbz).";";
|
||||
|
||||
|
||||
$this->result=array();
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new ressource();
|
||||
|
||||
|
||||
$obj->ressource_id = $row->ressource_id;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->beschreibung = $row->beschreibung;
|
||||
@@ -173,41 +174,77 @@ class ressource extends basis_db
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->aufwand = $row->aufwand;
|
||||
$obj->aufwand = $row->aufwand;
|
||||
$obj->funktion_kurzbz = $row->funktion_kurzbz;
|
||||
$obj->projekt_ressource_id= $row->projekt_ressource_id;
|
||||
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
//var_dump($this->result);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* Lädt die Projektressource
|
||||
* @param $project_ressource_id
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function getSingleProjektRessource($projekt_ressource_id)
|
||||
{
|
||||
$qry = "select * from fue.tbl_projekt_ressource where projekt_ressource_id = ".$this->db_add_param($projekt_ressource_id);
|
||||
$this->result=array();
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->ressource_id = $row->ressource_id;
|
||||
$this->beschreibung = $row->beschreibung;
|
||||
$this->aufwand = $row->aufwand;
|
||||
$this->funktion_kurzbz = $row->funktion_kurzbz;
|
||||
$this->projekt_ressource_id= $row->projekt_ressource_id;
|
||||
$this->projekt_kurzbz = $row->projekt_kurzbz;
|
||||
$this->projektphase_id = $row->projektphase_id;
|
||||
return true;
|
||||
}
|
||||
//var_dump($this->result);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Lädt alle Ressourcen zu einer Phase
|
||||
* @param $project_kurzbz
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function getPhaseRessourcen($projektphase_id)
|
||||
{
|
||||
$qry = "SELECT ressource.*, project.aufwand, project.projekt_ressource_id FROM fue.tbl_ressource as ressource
|
||||
JOIN fue.tbl_projekt_ressource project ON(project.ressource_id = ressource.ressource_id)
|
||||
$qry = "SELECT ressource.*, project.aufwand, project.funktion_kurzbz, project.projekt_ressource_id FROM fue.tbl_ressource as ressource
|
||||
JOIN fue.tbl_projekt_ressource project ON(project.ressource_id = ressource.ressource_id)
|
||||
WHERE project.projektphase_id =".$this->db_add_param($projektphase_id, FHC_INTEGER).";";
|
||||
|
||||
|
||||
$this->result=array();
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new ressource();
|
||||
|
||||
|
||||
$obj->ressource_id = $row->ressource_id;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->beschreibung = $row->beschreibung;
|
||||
@@ -219,20 +256,21 @@ class ressource extends basis_db
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->aufwand = $row->aufwand;
|
||||
$obj->aufwand = $row->aufwand;
|
||||
$obj->funktion_kurzbz = $row->funktion_kurzbz;
|
||||
$obj->projekt_ressource_id = $row->projekt_ressource_id;
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
//var_dump($this->result);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz in die Datenbank
|
||||
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
|
||||
@@ -240,14 +278,14 @@ class ressource extends basis_db
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function saveProjektRessource($new=null)
|
||||
{
|
||||
{
|
||||
if($new==null)
|
||||
$new = $this->new;
|
||||
|
||||
|
||||
if($new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry='BEGIN; INSERT INTO fue.tbl_projekt_ressource (projektphase_id, projekt_kurzbz,
|
||||
$qry='BEGIN; INSERT INTO fue.tbl_projekt_ressource (projektphase_id, projekt_kurzbz,
|
||||
ressource_id, funktion_kurzbz, beschreibung, aufwand) VALUES ('.
|
||||
$this->db_add_param($this->projektphase_id, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->projekt_kurzbz).', '.
|
||||
@@ -268,7 +306,7 @@ class ressource extends basis_db
|
||||
'aufwand='.$this->db_add_param($this->aufwand).' '.
|
||||
'WHERE projekt_ressource_id='.$this->db_add_param($this->projekt_ressource_id, FHC_INTEGER).';';
|
||||
}
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($new)
|
||||
@@ -283,21 +321,21 @@ class ressource extends basis_db
|
||||
$this->db_query('COMMIT');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK;');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK;');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
@@ -305,7 +343,7 @@ class ressource extends basis_db
|
||||
$this->errormsg = $qry;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz in die Datenbank
|
||||
@@ -314,14 +352,14 @@ class ressource extends basis_db
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function save($new=null)
|
||||
{
|
||||
{
|
||||
if($new==null)
|
||||
$new = $this->new;
|
||||
|
||||
|
||||
if($new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry='BEGIN; INSERT INTO fue.tbl_ressource (bezeichnung, beschreibung,
|
||||
$qry='BEGIN; INSERT INTO fue.tbl_ressource (bezeichnung, beschreibung,
|
||||
mitarbeiter_uid, student_uid, betriebsmittel_id, firma_id, insertvon, insertamum, updatevon, updateamum) VALUES ('.
|
||||
$this->db_add_param($this->bezeichnung).', '.
|
||||
$this->db_add_param($this->beschreibung).', '.
|
||||
@@ -346,7 +384,7 @@ class ressource extends basis_db
|
||||
'updatevon='.$this->db_add_param($this->updatevon).' '.
|
||||
'WHERE ressource_id='.$this->db_add_param($this->ressource_id, FHC_INTEGER).';';
|
||||
}
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($new)
|
||||
@@ -361,21 +399,21 @@ class ressource extends basis_db
|
||||
$this->db_query('COMMIT');
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK;');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
$this->db_query('ROLLBACK;');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
@@ -384,8 +422,8 @@ class ressource extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Laedt die Ressource mit der ID $ressource_id
|
||||
* @param $ressource_id ID der zu ladenden Ressource
|
||||
@@ -398,9 +436,9 @@ class ressource extends basis_db
|
||||
$this->errormsg = 'Ressource_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$qry = "SELECT * FROM fue.tbl_projekt_ressource WHERE projekt_ressource_id=".$this->db_add_param($projekt_ressource_id, FHC_INTEGER);
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
@@ -414,13 +452,13 @@ class ressource extends basis_db
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Datensatz wurde nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
@@ -429,26 +467,26 @@ class ressource extends basis_db
|
||||
|
||||
/**
|
||||
* Liefert die Ressourcen aller Projekte die zu einem bestimmten Datum aktiv sind
|
||||
*
|
||||
*
|
||||
* @param $datum
|
||||
*/
|
||||
public function getProjektRessourceDatum($datum, $endedatum)
|
||||
{
|
||||
$qry = "
|
||||
SELECT
|
||||
SELECT
|
||||
distinct
|
||||
tbl_projekt_ressource.*, tbl_projekt.beginn as start, tbl_projekt.ende,
|
||||
tbl_ressource.student_uid, tbl_ressource.mitarbeiter_uid, tbl_ressource.betriebsmittel_id, tbl_ressource.firma_id,
|
||||
tbl_projekt_ressource.*, tbl_projekt.beginn as start, tbl_projekt.ende,
|
||||
tbl_ressource.student_uid, tbl_ressource.mitarbeiter_uid, tbl_ressource.betriebsmittel_id, tbl_ressource.firma_id,
|
||||
tbl_ressource.bezeichnung, tbl_ressource.beschreibung
|
||||
FROM
|
||||
FROM
|
||||
fue.tbl_ressource
|
||||
JOIN fue.tbl_projekt_ressource USING(ressource_id)
|
||||
JOIN fue.tbl_projekt USING(projekt_kurzbz)
|
||||
WHERE
|
||||
(tbl_projekt.beginn<=".$this->db_add_param($endedatum)." OR tbl_projekt.beginn is null) AND
|
||||
(tbl_projekt.ende>=".$this->db_add_param($datum)." OR tbl_projekt.ende is null)
|
||||
(tbl_projekt.beginn<=".$this->db_add_param($endedatum)." OR tbl_projekt.beginn is null) AND
|
||||
(tbl_projekt.ende>=".$this->db_add_param($datum)." OR tbl_projekt.ende is null)
|
||||
ORDER BY bezeichnung";
|
||||
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
@@ -459,7 +497,7 @@ class ressource extends basis_db
|
||||
$obj->projektphase_id = $row->projektphase_id;
|
||||
$obj->start = $row->start;
|
||||
$obj->ende = $row->ende;
|
||||
|
||||
|
||||
$obj->ressource_id = $row->ressource_id;
|
||||
$obj->student_uid = $row->student_uid;
|
||||
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
@@ -468,39 +506,39 @@ class ressource extends basis_db
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->beschreibung = $row->beschreibung;
|
||||
$obj->aufwand = $row->aufwand;
|
||||
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert die Ressourcen aller Projektphasen die zu einem bestimmten Datum aktiv sind
|
||||
*
|
||||
*
|
||||
* @param $datum
|
||||
*/
|
||||
public function getProjektphaseRessourceDatum($datum, $endedatum, $projekt_kurzbz=null)
|
||||
{
|
||||
$qry = "
|
||||
SELECT
|
||||
SELECT
|
||||
distinct
|
||||
tbl_projekt_ressource.*, tbl_projektphase.start, tbl_projektphase.ende,
|
||||
tbl_ressource.student_uid, tbl_ressource.mitarbeiter_uid, tbl_ressource.betriebsmittel_id, tbl_ressource.firma_id,
|
||||
tbl_projekt_ressource.*, tbl_projektphase.start, tbl_projektphase.ende,
|
||||
tbl_ressource.student_uid, tbl_ressource.mitarbeiter_uid, tbl_ressource.betriebsmittel_id, tbl_ressource.firma_id,
|
||||
tbl_ressource.bezeichnung, tbl_ressource.beschreibung
|
||||
FROM
|
||||
FROM
|
||||
fue.tbl_ressource
|
||||
JOIN fue.tbl_projekt_ressource USING(ressource_id)
|
||||
JOIN fue.tbl_projektphase USING(projektphase_id)
|
||||
WHERE
|
||||
(tbl_projektphase.start<=".$this->db_add_param($endedatum)." OR tbl_projektphase.start is null) AND
|
||||
(tbl_projektphase.ende>=".$this->db_add_param($datum)." OR tbl_projektphase.ende is null)
|
||||
(tbl_projektphase.start<=".$this->db_add_param($endedatum)." OR tbl_projektphase.start is null) AND
|
||||
(tbl_projektphase.ende>=".$this->db_add_param($datum)." OR tbl_projektphase.ende is null)
|
||||
";
|
||||
if(!is_null($projekt_kurzbz))
|
||||
{
|
||||
$qry.=" AND tbl_projektphase.projekt_kurzbz=".$this->db_add_param($projekt_kurzbz);
|
||||
}
|
||||
$qry.=" ORDER BY tbl_ressource.bezeichnung";
|
||||
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
@@ -511,7 +549,7 @@ class ressource extends basis_db
|
||||
$obj->projektphase_id = $row->projektphase_id;
|
||||
$obj->start = $row->start;
|
||||
$obj->ende = $row->ende;
|
||||
|
||||
|
||||
$obj->ressource_id = $row->ressource_id;
|
||||
$obj->student_uid = $row->student_uid;
|
||||
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
@@ -520,7 +558,7 @@ class ressource extends basis_db
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->beschreibung = $row->beschreibung;
|
||||
$obj->aufwand = $row->aufwand;
|
||||
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
}
|
||||
@@ -530,7 +568,7 @@ class ressource extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert die Ressourcen aller Projektphasen die zu einem bestimmten Datum aktiv sind
|
||||
*
|
||||
@@ -555,12 +593,12 @@ class ressource extends basis_db
|
||||
((tbl_projektphase.ende>=".$this->db_add_param($datum)." OR tbl_projektphase.ende is null) AND
|
||||
(tbl_projekttask.ende>=".$this->db_add_param($datum)." OR tbl_projekttask.ende is null))
|
||||
";
|
||||
|
||||
|
||||
if(!is_null($projekt_kurzbz))
|
||||
{
|
||||
$qry.=" AND projekt_kurzbz=".$this->db_add_param($projekt_kurzbz);
|
||||
}
|
||||
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
@@ -571,7 +609,7 @@ class ressource extends basis_db
|
||||
$obj->projektphase_id = $row->projektphase_id;
|
||||
$obj->start = $row->start;
|
||||
$obj->ende = $row->ende;
|
||||
|
||||
|
||||
$obj->ressource_id = $row->ressource_id;
|
||||
$obj->student_uid = $row->student_uid;
|
||||
$obj->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
@@ -580,7 +618,7 @@ class ressource extends basis_db
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->beschreibung = $row->beschreibung;
|
||||
$obj->aufwand = $row->aufwand;
|
||||
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
}
|
||||
@@ -590,64 +628,64 @@ class ressource extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Löscht eine Ressource zu Projekt Zuordnung
|
||||
* @param type $ressource_id
|
||||
* @param type $projekt_kurzbz
|
||||
* @return boolean
|
||||
* @return boolean
|
||||
*/
|
||||
public function deleteFromProjekt($ressource_id, $projekt_kurzbz)
|
||||
{
|
||||
if($ressource_id == '' || !is_numeric($ressource_id))
|
||||
{
|
||||
$this->errormsg = 'Ressource Id ist keine gültige Zahl';
|
||||
return false;
|
||||
$this->errormsg = 'Ressource Id ist keine gültige Zahl';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry="DELETE FROM fue.tbl_projekt_ressource WHERE ressource_id =".$this->db_add_param($ressource_id, FHC_INTEGER, false)."
|
||||
AND projekt_kurzbz=".$this->db_add_param($projekt_kurzbz, FHC_STRING, false).';';
|
||||
|
||||
|
||||
$qry="DELETE FROM fue.tbl_projekt_ressource WHERE ressource_id =".$this->db_add_param($ressource_id, FHC_INTEGER, false)."
|
||||
AND projekt_kurzbz=".$this->db_add_param($projekt_kurzbz, FHC_STRING, false).';';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen der Daten';
|
||||
return false;
|
||||
$this->errormsg = 'Fehler beim Löschen der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Löscht eine Ressource zu Phase Zuordnung
|
||||
* @param type $ressource_id
|
||||
* @param type $projekt_kurzbz
|
||||
* @return boolean
|
||||
* @return boolean
|
||||
*/
|
||||
public function deleteFromPhase($ressource_id, $projektphase_id)
|
||||
{
|
||||
if($ressource_id == '' || !is_numeric($ressource_id))
|
||||
{
|
||||
$this->errormsg = 'Ressource Id ist keine gültige Zahl';
|
||||
return false;
|
||||
$this->errormsg = 'Ressource Id ist keine gültige Zahl';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if($projektphase_id == '' || !is_numeric($projektphase_id))
|
||||
{
|
||||
$this->errormsg = 'Ressource Id ist keine gültige Zahl';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry="DELETE FROM fue.tbl_projekt_ressource WHERE ressource_id =".$this->db_add_param($ressource_id, FHC_INTEGER, false)."
|
||||
AND projektphase_id=".$this->db_add_param($projektphase_id, FHC_INTEGER, false).';';
|
||||
|
||||
$this->errormsg = 'Ressource Id ist keine gültige Zahl';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry="DELETE FROM fue.tbl_projekt_ressource WHERE ressource_id =".$this->db_add_param($ressource_id, FHC_INTEGER, false)."
|
||||
AND projektphase_id=".$this->db_add_param($projektphase_id, FHC_INTEGER, false).';';
|
||||
|
||||
if($this->db_query($qry))
|
||||
return true;
|
||||
return true;
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Löschen der Daten';
|
||||
return false;
|
||||
$this->errormsg = 'Fehler beim Löschen der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,7 +283,7 @@ class Securimage
|
||||
* The character set to use for generating the captcha code
|
||||
* @var string
|
||||
*/
|
||||
public $charset = 'ABCDEFGHKLMNPRSTUVWYZabcdefghklmnprstuvwyz23456789';
|
||||
public $charset = 'ABCDEFGHKLMNPRSTUVWYZabcdefghkmnprstuvwyz23456789';
|
||||
/**
|
||||
* How long in seconds a captcha remains valid, after this time it will not be accepted
|
||||
* @var unknown_type
|
||||
|
||||
+13
-22
@@ -182,27 +182,18 @@ class service extends basis_db
|
||||
else
|
||||
$zeit = "";
|
||||
|
||||
$qry = " SELECT service_id,oe_kurzbz,bezeichnung,beschreibung,ext_id,content_id, sum(a.anzahl) AS anzahl FROM (
|
||||
SELECT
|
||||
tbl_service.*,
|
||||
(SELECT COUNT (tbl_zeitaufzeichnung.service_id) FROM campus.tbl_zeitaufzeichnung
|
||||
WHERE tbl_service.service_id=tbl_zeitaufzeichnung.service_id AND tbl_zeitaufzeichnung.uid=".$this->db_add_param($user)."
|
||||
$zeit
|
||||
) AS anzahl
|
||||
FROM public.tbl_service
|
||||
WHERE
|
||||
(SELECT COUNT (tbl_zeitaufzeichnung.service_id) FROM campus.tbl_zeitaufzeichnung
|
||||
WHERE tbl_service.service_id=tbl_zeitaufzeichnung.service_id AND tbl_zeitaufzeichnung.uid=".$this->db_add_param($user)."
|
||||
$zeit
|
||||
) > $anzahl_ereignisse
|
||||
GROUP BY tbl_service.service_id,tbl_service.beschreibung,tbl_service.ext_id,tbl_service.oe_kurzbz,tbl_service.bezeichnung,tbl_service.content_id,anzahl
|
||||
|
||||
UNION
|
||||
SELECT tbl_service.*, '0' AS anzahl
|
||||
FROM public.tbl_service
|
||||
) AS a
|
||||
GROUP BY service_id,oe_kurzbz,bezeichnung,beschreibung,ext_id,content_id
|
||||
ORDER BY anzahl DESC,bezeichnung,oe_kurzbz";
|
||||
$qry = " SELECT tbl_service.*, count(tbl_zeitaufzeichnung.service_id)
|
||||
FROM campus.tbl_zeitaufzeichnung
|
||||
JOIN public.tbl_service USING (service_id)
|
||||
WHERE tbl_zeitaufzeichnung.uid=".$this->db_add_param($user)."
|
||||
$zeit
|
||||
GROUP BY tbl_service.service_id HAVING COUNT(*) > $anzahl_ereignisse
|
||||
|
||||
UNION
|
||||
SELECT tbl_service.*, '0' AS anzahl
|
||||
FROM public.tbl_service
|
||||
|
||||
ORDER BY count DESC,bezeichnung,oe_kurzbz";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
@@ -215,7 +206,7 @@ class service extends basis_db
|
||||
$obj->beschreibung = $row->beschreibung;
|
||||
$obj->ext_id = $row->ext_id;
|
||||
$obj->oe_kurzbz = $row->oe_kurzbz;
|
||||
$obj->anzahl = $row->anzahl;
|
||||
$obj->anzahl = $row->count;
|
||||
$obj->content_id = $row->content_id;
|
||||
|
||||
$this->result[] = $obj;
|
||||
|
||||
+317
-271
@@ -1,271 +1,317 @@
|
||||
<?php
|
||||
/* Copyright (C) 2010 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Karl Burkhart <burkhart@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Klasse Sprache
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class sprache extends basis_db
|
||||
{
|
||||
public $result;
|
||||
public static $index_arr = array();
|
||||
public $sprache; // string
|
||||
public $locale;
|
||||
public $index; // int, id des array index
|
||||
public $content; // boolean
|
||||
public $bezeichnung_arr;
|
||||
|
||||
/**
|
||||
*
|
||||
* Konstruktor
|
||||
* @param Sprache die geladen werden soll (Default=null)
|
||||
*/
|
||||
public function __construct($sprache = null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if(!is_null($sprache))
|
||||
$this->load($sprache);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Lädt die Sprache
|
||||
* @param $sprache die geladen werden soll
|
||||
* @return true bei Erfolg, false wenn ein Fehler aufgetreten ist
|
||||
*/
|
||||
public function load($sprache)
|
||||
{
|
||||
$qry = "SELECT *,".$this->getSprachQuery('bezeichnung')." FROM public.tbl_sprache WHERE sprache=".$this->db_add_param($sprache, FHC_STRING, false).";";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->sprache = $row->sprache;
|
||||
$this->locale = $row->locale;
|
||||
$this->index = $row->index;
|
||||
$this->content = $this->db_parse_bool($row->content);
|
||||
$this->bezeichnung_arr=$this->parseSprachResult('bezeichnung',$row);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Sprache nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler bei der Abfrage.";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Lädt alle verfügbaren Sprachen
|
||||
* @return true bei Erfolg, false wenn ein Fehler aufgetreten ist.
|
||||
*/
|
||||
public function getAll($content=null)
|
||||
{
|
||||
$qry = "SELECT *,".$this->getSprachQuery('bezeichnung')." FROM public.tbl_sprache";
|
||||
|
||||
if(!is_null($content))
|
||||
$qry.= " WHERE content=".$this->db_add_param($content, FHC_BOOLEAN);
|
||||
$qry.=" ORDER BY sprache";
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg ="Fehler bei der Abfrage.";
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$sprache = new sprache();
|
||||
$sprache->sprache = $row->sprache;
|
||||
$sprache->locale = $row->locale;
|
||||
$sprache->index = $row->index;
|
||||
$sprache->content = $this->db_parse_bool($row->content);
|
||||
$sprache->bezeichnung_arr=$this->parseSprachResult('bezeichnung',$row);
|
||||
|
||||
$this->result[] = $sprache;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Lädt das Index Array
|
||||
* @return true bei Erfolg, false wenn ein Fehler aufgetreten ist.
|
||||
*/
|
||||
public function loadIndexArray()
|
||||
{
|
||||
$qry = "SELECT sprache, index FROM public.tbl_sprache WHERE index is not null ORDER BY index";
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg ="Fehler bei der Abfrage.";
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
self::$index_arr[$row->sprache]=$row->index;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Löscht die übergebene Sprache
|
||||
* @param $sprache die gelöscht werden soll
|
||||
*/
|
||||
public function delete($sprache)
|
||||
{
|
||||
$qry = "DELETE FROM public.tbl_sprache WHERE sprache = ".$this->db_add_param($sprache, FHC_STRING, false).";";
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = "Fehler beim löschen der Sprache aufgetreten.";
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Liefert die Anzahl aller aktiven Sprachen zurück
|
||||
* @return $anzahl der Sprachen, false im Fehlerfall
|
||||
*/
|
||||
public function getAnzahl()
|
||||
{
|
||||
$anzahl = 0;
|
||||
$qry = 'SELECT count(sprache) as anzahl FROM public.tbl_sprache WHERE content = true;';
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler aufgetreten';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$anzahl = $row->anzahl;
|
||||
}
|
||||
|
||||
return $anzahl;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Liefert die Sprache eines Index zurück
|
||||
* @param $index der Sprache die gesucht wird
|
||||
* @return $sprache, false im Fehlerfall
|
||||
*/
|
||||
public function getSpracheFromIndex($index)
|
||||
{
|
||||
$sprache = '';
|
||||
$qry = "SELECT sprache FROM public.tbl_sprache WHERE index=".$this->db_add_param($index, FHC_INTEGER, false).";";
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = "Fehler aufgetreten.";
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$sprache = $row->sprache;
|
||||
}
|
||||
return $sprache;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert einen String mit den aufgespaltenen Elementen fuer mehrsprachige Arrays
|
||||
* Der Result der Query kann dann mittels parseSprachResult wieder in ein Array umgewandelt werden
|
||||
*
|
||||
* @param $feldname
|
||||
* @return string mit den aufgeschluesselten Arrayelementen der Sprache
|
||||
*/
|
||||
public function getSprachQuery($feldname)
|
||||
{
|
||||
$result = '';
|
||||
|
||||
if(!isset(self::$index_arr) || count(self::$index_arr)==0)
|
||||
$this->loadIndexArray();
|
||||
|
||||
foreach(self::$index_arr as $sprache=>$index)
|
||||
{
|
||||
$result .= $feldname.'['.$index.'] as '.$feldname.'_'.$index.',';
|
||||
}
|
||||
return mb_substr($result,0,-1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Wandelt den Result von mehrsprachigen Arrays in einer SQL Query in ein PHP Array um
|
||||
*
|
||||
* @param $feldname name der Datenbankspalte
|
||||
* @param $row row des SQL Results
|
||||
* @return array mit den Sprachen der Spalte
|
||||
*/
|
||||
public function parseSprachResult($feldname, $row)
|
||||
{
|
||||
$result = array();
|
||||
|
||||
if(!isset(self::$index_arr) || count(self::$index_arr)==0)
|
||||
$this->getAll();
|
||||
|
||||
foreach(self::$index_arr as $sprache=>$index)
|
||||
{
|
||||
$name = $feldname.'_'.$index;
|
||||
if(isset($row->$name))
|
||||
$result[$sprache] = $row->$name;
|
||||
else
|
||||
$result[$sprache] = null;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Liefert die Bezeichnung einer Sprache in der angegebenen Sprache
|
||||
* @param $sprache Kurzbezeichnung der Sprache dessen Bezeichnung geladen werden soll
|
||||
* @param $anzeigesprache Sprache in der die bezeichnung geladen werden soll
|
||||
*/
|
||||
public function getBezeichnung($sprache, $anzeigesprache)
|
||||
{
|
||||
$qry = "SELECT bezeichnung[(SELECT index FROM public.tbl_sprache WHERE sprache=".$this->db_add_param($anzeigesprache).")]
|
||||
FROM public.tbl_sprache WHERE sprache=".$this->db_add_param($sprache);
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
return $row->bezeichnung;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
<?php
|
||||
/* Copyright (C) 2010 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Karl Burkhart <burkhart@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Klasse Sprache
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class sprache extends basis_db
|
||||
{
|
||||
public $result;
|
||||
public static $index_arr = array();
|
||||
public $sprache; // string
|
||||
public $locale;
|
||||
public $index; // int, id des array index
|
||||
public $content; // boolean
|
||||
public $bezeichnung_arr;
|
||||
|
||||
/**
|
||||
*
|
||||
* Konstruktor
|
||||
* @param Sprache die geladen werden soll (Default=null)
|
||||
*/
|
||||
public function __construct($sprache = null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if(!is_null($sprache))
|
||||
$this->load($sprache);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Lädt die Sprache
|
||||
* @param $sprache die geladen werden soll
|
||||
* @return true bei Erfolg, false wenn ein Fehler aufgetreten ist
|
||||
*/
|
||||
public function load($sprache)
|
||||
{
|
||||
$qry = "SELECT *,".$this->getSprachQuery('bezeichnung')." FROM public.tbl_sprache WHERE sprache=".$this->db_add_param($sprache, FHC_STRING, false).";";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->sprache = $row->sprache;
|
||||
$this->locale = $row->locale;
|
||||
$this->index = $row->index;
|
||||
$this->content = $this->db_parse_bool($row->content);
|
||||
$this->bezeichnung_arr=$this->parseSprachResult('bezeichnung',$row);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Sprache nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler bei der Abfrage.";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Lädt alle verfügbaren Sprachen
|
||||
* @return true bei Erfolg, false wenn ein Fehler aufgetreten ist.
|
||||
*/
|
||||
public function getAll($content=null)
|
||||
{
|
||||
$qry = "SELECT *,".$this->getSprachQuery('bezeichnung')." FROM public.tbl_sprache";
|
||||
|
||||
if(!is_null($content))
|
||||
$qry.= " WHERE content=".$this->db_add_param($content, FHC_BOOLEAN);
|
||||
$qry.=" ORDER BY sprache";
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg ="Fehler bei der Abfrage.";
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$sprache = new sprache();
|
||||
$sprache->sprache = $row->sprache;
|
||||
$sprache->locale = $row->locale;
|
||||
$sprache->index = $row->index;
|
||||
$sprache->content = $this->db_parse_bool($row->content);
|
||||
$sprache->bezeichnung_arr=$this->parseSprachResult('bezeichnung',$row);
|
||||
|
||||
$this->result[] = $sprache;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Lädt das Index Array
|
||||
* @return true bei Erfolg, false wenn ein Fehler aufgetreten ist.
|
||||
*/
|
||||
public function loadIndexArray()
|
||||
{
|
||||
$qry = "SELECT sprache, index FROM public.tbl_sprache WHERE index is not null ORDER BY index";
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg ="Fehler bei der Abfrage.";
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
self::$index_arr[$row->sprache]=$row->index;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Löscht die übergebene Sprache
|
||||
* @param $sprache die gelöscht werden soll
|
||||
*/
|
||||
public function delete($sprache)
|
||||
{
|
||||
$qry = "DELETE FROM public.tbl_sprache WHERE sprache = ".$this->db_add_param($sprache, FHC_STRING, false).";";
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = "Fehler beim löschen der Sprache aufgetreten.";
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Liefert die Anzahl aller aktiven Sprachen zurück
|
||||
* @return $anzahl der Sprachen, false im Fehlerfall
|
||||
*/
|
||||
public function getAnzahl()
|
||||
{
|
||||
$anzahl = 0;
|
||||
$qry = 'SELECT count(sprache) as anzahl FROM public.tbl_sprache WHERE content = true;';
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler aufgetreten';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$anzahl = $row->anzahl;
|
||||
}
|
||||
|
||||
return $anzahl;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Liefert die Sprache eines Index zurück
|
||||
* @param $index der Sprache die gesucht wird
|
||||
* @return $sprache, false im Fehlerfall
|
||||
*/
|
||||
public function getSpracheFromIndex($index)
|
||||
{
|
||||
$sprache = '';
|
||||
$qry = "SELECT sprache FROM public.tbl_sprache WHERE index=".$this->db_add_param($index, FHC_INTEGER, false).";";
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = "Fehler aufgetreten.";
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$sprache = $row->sprache;
|
||||
}
|
||||
return $sprache;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Liefert den Index einer Sprache zurück
|
||||
* @param $sprache der Sprache die gesucht wird
|
||||
* @return $index, false im Fehlerfall
|
||||
*/
|
||||
public function getIndexFromSprache($sprache)
|
||||
{
|
||||
$index = false;
|
||||
$qry = "SELECT * FROM public.tbl_sprache WHERE sprache=".$this->db_add_param($sprache).";";
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = "Fehler aufgetreten.";
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$index = $row->index;
|
||||
}
|
||||
return $index;
|
||||
}
|
||||
|
||||
public function getAllIndexesSorted()
|
||||
{
|
||||
$languages = array();
|
||||
|
||||
if(!isset($this->result))
|
||||
$this->getAll(true);
|
||||
|
||||
foreach($this->result as $s)
|
||||
{
|
||||
$languages[$s->index] = $s->sprache;
|
||||
}
|
||||
ksort($languages);
|
||||
|
||||
//lücken im sprachenarray füllen
|
||||
for($i = 1; $i<=max(array_keys($languages));$i++)
|
||||
{
|
||||
if(!isset($languages[$i]))
|
||||
$languages[$i] = false;
|
||||
}
|
||||
return $languages;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert einen String mit den aufgespaltenen Elementen fuer mehrsprachige Arrays
|
||||
* Der Result der Query kann dann mittels parseSprachResult wieder in ein Array umgewandelt werden
|
||||
*
|
||||
* @param $feldname
|
||||
* @return string mit den aufgeschluesselten Arrayelementen der Sprache
|
||||
*/
|
||||
public function getSprachQuery($feldname)
|
||||
{
|
||||
$result = '';
|
||||
|
||||
if(!isset(self::$index_arr) || count(self::$index_arr)==0)
|
||||
$this->loadIndexArray();
|
||||
|
||||
foreach(self::$index_arr as $sprache=>$index)
|
||||
{
|
||||
$result .= $feldname.'['.$index.'] as '.$feldname.'_'.$index.',';
|
||||
}
|
||||
return mb_substr($result,0,-1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Wandelt den Result von mehrsprachigen Arrays in einer SQL Query in ein PHP Array um
|
||||
*
|
||||
* @param $feldname name der Datenbankspalte
|
||||
* @param $row row des SQL Results
|
||||
* @return array mit den Sprachen der Spalte
|
||||
*/
|
||||
public function parseSprachResult($feldname, $row)
|
||||
{
|
||||
$result = array();
|
||||
|
||||
if(!isset(self::$index_arr) || count(self::$index_arr)==0)
|
||||
$this->getAll();
|
||||
|
||||
foreach(self::$index_arr as $sprache=>$index)
|
||||
{
|
||||
$name = $feldname.'_'.$index;
|
||||
if(isset($row->$name))
|
||||
$result[$sprache] = $row->$name;
|
||||
else
|
||||
$result[$sprache] = null;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Liefert die Bezeichnung einer Sprache in der angegebenen Sprache
|
||||
* @param $sprache Kurzbezeichnung der Sprache dessen Bezeichnung geladen werden soll
|
||||
* @param $anzeigesprache Sprache in der die bezeichnung geladen werden soll
|
||||
*/
|
||||
public function getBezeichnung($sprache, $anzeigesprache)
|
||||
{
|
||||
$qry = "SELECT bezeichnung[(SELECT index FROM public.tbl_sprache WHERE sprache=".$this->db_add_param($anzeigesprache).")]
|
||||
FROM public.tbl_sprache WHERE sprache=".$this->db_add_param($sprache);
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
return $row->bezeichnung;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Regular → Executable
+5
-3
@@ -152,6 +152,7 @@ class studiengang extends basis_db
|
||||
|
||||
$this->bezeichnung_arr['German'] = $this->bezeichnung;
|
||||
$this->bezeichnung_arr['English'] = $this->english;
|
||||
$this->bezeichnung_arr['Italian'] = $this->bezeichnung;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -241,6 +242,7 @@ class studiengang extends basis_db
|
||||
. 'FROM lehre.vw_studienplan '
|
||||
. 'LEFT JOIN bis.tbl_lgartcode USING (lgartcode) '
|
||||
. 'WHERE onlinebewerbung IS TRUE '
|
||||
. 'AND aktiv IS TRUE '
|
||||
. 'ORDER BY typ, studiengangbezeichnung, tbl_lgartcode.bezeichnung ASC';
|
||||
|
||||
if(!$result = $this->db_query($qry))
|
||||
@@ -280,13 +282,13 @@ class studiengang extends basis_db
|
||||
*/
|
||||
public function getOrgForm($studiengang_kz)
|
||||
{
|
||||
$qry = 'SELECT distinct orgform_kurzbz '
|
||||
$qry = 'SELECT distinct tbl_studienplan.orgform_kurzbz '
|
||||
. 'FROM lehre.tbl_studienordnung '
|
||||
. 'JOIN lehre.tbl_studienplan '
|
||||
. 'USING (studienordnung_id) '
|
||||
. 'WHERE aktiv '
|
||||
. 'AND studiengang_kz = ' . $this->db_add_param($studiengang_kz, FHC_INTEGER)
|
||||
. ' AND orgform_kurzbz!='. $this->db_add_param('DDP');
|
||||
. ' AND tbl_studienplan.orgform_kurzbz!='. $this->db_add_param('DDP');
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
@@ -891,7 +893,7 @@ class studiengang extends basis_db
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->beantragung = $this->db_parse_bool($row->beantragung);
|
||||
$obj->lgart_biscode = $row->lgart_biscode;
|
||||
|
||||
|
||||
$this->result[]= $obj;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -0,0 +1,167 @@
|
||||
<?php
|
||||
/* Copyright (C) 2009 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Stefan Puraner <stefan.puraner@technikum-wien.at>,
|
||||
*/
|
||||
require_once('basis_db.class.php');
|
||||
|
||||
class studienjahr extends basis_db
|
||||
{
|
||||
public $new; // boolean
|
||||
public $result = array(); // studienjahr Objekt
|
||||
|
||||
//Tabellenspalten
|
||||
public $studienjahr_kurzbz;// varchar(16)
|
||||
public $bezeichnung; // varchar(64)
|
||||
|
||||
/**
|
||||
* Konstruktor - Laedt optional ein StSem
|
||||
*
|
||||
* @param $studienjahr_kurzbz StSem das geladen werden soll (default=null)
|
||||
*/
|
||||
public function __construct($studienjahr_kurzbz=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
if($studienjahr_kurzbz != null)
|
||||
$this->load($studienjahr_kurzbz);
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt das Studienjahr mit der uebergebenen Kurzbz
|
||||
*
|
||||
* @param $studienjahr_kurzbz Stsem das geladen werden soll
|
||||
*/
|
||||
public function load($studienjahr_kurzbz)
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_studienjahr WHERE studienjahr_kurzbz=".$this->db_add_param($studienjahr_kurzbz);
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Lesen des Studienjahrs';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->studienjahr_kurzbz = $row->studienjahr_kurzbz;
|
||||
$this->bezeichnung = $row->bezeichnung;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Es ist kein Studienjahr mit dieser Kurzbezeichung vorhanden";
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Variablen vor dem Speichern
|
||||
* auf Gueltigkeit.
|
||||
*
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
private function validate()
|
||||
{
|
||||
if(mb_strlen($this->studienjahr_kurzbz)>16)
|
||||
{
|
||||
$this->errormsg = 'Studienjahr Kurzbezeichnung darf nicht laenger als 16 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(mb_strlen($this->bezeichnung)>64)
|
||||
{
|
||||
$this->errormsg = 'Studienjahr Bezeichnung darf nicht laenger als 64 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if($this->studienjahr_kurzbz=='')
|
||||
{
|
||||
$this->errormsg = 'Es muss eine Kurzbezeichnung eingegeben werden';
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert das Studienjahr 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
|
||||
*/
|
||||
public function save()
|
||||
{
|
||||
//Variablen auf Gueltigkeit pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
$qry = "INSERT INTO public.tbl_studienjahr (studienjahr_kurzbz, bezeichnung)
|
||||
VALUES(".$this->db_add_param($this->studienjahr_kurzbz).",".
|
||||
$this->db_add_param($this->bezeichnung).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'UPDATE public.tbl_studienjahr SET'.
|
||||
' start='.$this->db_add_param($this->start).','.
|
||||
' ende='.$this->db_add_param($this->ende).
|
||||
" WHERE studienjahr_kurzbz=".$this->db_add_param($this->studienjahr_kurzbz);
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
//Log schreiben
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Studienjahrs';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert alle Studienjahr
|
||||
*
|
||||
* @return true wenn ok, sonst false
|
||||
*/
|
||||
public function getAll()
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_studienjahr ORDER BY studienjahr_kurzbz;";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$stsem_obj = new studienjahr();
|
||||
|
||||
$stsem_obj->studienjahr_kurzbz = $row->studienjahr_kurzbz;
|
||||
$stsem_obj->bezeichnung = $row->bezeichnung;
|
||||
|
||||
$this->result[] = $stsem_obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Studienjahr';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,24 +1,24 @@
|
||||
<?php
|
||||
/*
|
||||
* studienordnung.class.php
|
||||
*
|
||||
*
|
||||
* Copyright 2013 fhcomplete.org
|
||||
*
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>
|
||||
* Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
@@ -44,6 +44,9 @@ class studienordnung extends basis_db
|
||||
protected $studiengangbezeichnung_englisch; // varchar (256)
|
||||
protected $studiengangkurzbzlang; // varchar (256)
|
||||
protected $akadgrad_id; // integer (FK akadgrad)
|
||||
protected $status_kurzbz; //varchar(32)
|
||||
protected $standort_id;
|
||||
protected $orgform_kurzbz;
|
||||
protected $updateamum; // timestamp
|
||||
protected $updatevon; // varchar
|
||||
protected $insertamum; // timestamp
|
||||
@@ -56,7 +59,7 @@ class studienordnung extends basis_db
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
|
||||
public function __set($name,$value)
|
||||
{
|
||||
switch ($name)
|
||||
@@ -75,7 +78,7 @@ class studienordnung extends basis_db
|
||||
{
|
||||
return $this->$name;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt die Studienordnung mit der ID $studienordnung_id
|
||||
* @param $studienordnung_id ID der zu ladenden Studienordnung
|
||||
@@ -112,6 +115,8 @@ class studienordnung extends basis_db
|
||||
$this->studiengangbezeichnung_englisch = $row->studiengangbezeichnung_englisch;
|
||||
$this->studiengangkurzbzlang = $row->studiengangkurzbzlang;
|
||||
$this->akadgrad_id = $row->akadgrad_id;
|
||||
$this->status_kurzbz = $row->status_kurzbz;
|
||||
$this->standort_id = $row->standort_id;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
@@ -144,22 +149,16 @@ class studienordnung extends basis_db
|
||||
|
||||
if(is_null($studiensemester_kurzbz))
|
||||
{
|
||||
$qry = 'SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_studienordnung
|
||||
WHERE
|
||||
studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
|
||||
$qry = 'SELECT sto.*, s.bezeichnung as status_bezeichnung FROM lehre.tbl_studienordnung sto
|
||||
JOIN lehre.tbl_studienordnungstatus s USING(status_kurzbz)
|
||||
WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = 'SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_studienordnung
|
||||
LEFT JOIN lehre.tbl_studienordnung_semester USING (studienordnung_id)
|
||||
WHERE
|
||||
studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
|
||||
$qry = 'SELECT sto.*, s.bezeichnung as status_bezeichnung, sem.* FROM lehre.tbl_studienordnung sto
|
||||
JOIN lehre.tbl_studienordnungstatus s USING(status_kurzbz)
|
||||
LEFT JOIN lehre.tbl_studienordnung_semester sem USING (studienordnung_id)
|
||||
WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
|
||||
|
||||
if (!is_null($studiensemester_kurzbz))
|
||||
$qry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz, FHC_STRING,false);
|
||||
@@ -188,6 +187,9 @@ class studienordnung extends basis_db
|
||||
$obj->studiengangbezeichnung_englisch = $row->studiengangbezeichnung_englisch;
|
||||
$obj->studiengangkurzbzlang = $row->studiengangkurzbzlang;
|
||||
$obj->akadgrad_id = $row->akadgrad_id;
|
||||
$obj->status_kurzbz = $row->status_kurzbz;
|
||||
$obj->status_bezeichnung = $row->status_bezeichnung;
|
||||
$obj->standort_id = $row->standort_id;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
@@ -269,7 +271,7 @@ class studienordnung extends basis_db
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz in die Datenbank
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
@@ -283,7 +285,7 @@ class studienordnung extends basis_db
|
||||
if($this->new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry='BEGIN;INSERT INTO lehre.tbl_studienordnung (studiengang_kz, version, bezeichnung, ects, gueltigvon, gueltigbis, studiengangbezeichnung, studiengangbezeichnung_englisch, studiengangkurzbzlang, akadgrad_id, insertamum, insertvon) VALUES ('.
|
||||
$qry='BEGIN;INSERT INTO lehre.tbl_studienordnung (studiengang_kz, version, bezeichnung, ects, gueltigvon, gueltigbis, studiengangbezeichnung, studiengangbezeichnung_englisch, studiengangkurzbzlang, akadgrad_id, standort_id, status_kurzbz, insertamum, insertvon) VALUES ('.
|
||||
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->version).', '.
|
||||
$this->db_add_param($this->bezeichnung).', '.
|
||||
@@ -294,6 +296,8 @@ class studienordnung extends basis_db
|
||||
$this->db_add_param($this->studiengangbezeichnung_englisch).', '.
|
||||
$this->db_add_param($this->studiengangkurzbzlang).', '.
|
||||
$this->db_add_param($this->akadgrad_id,FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->standort_id,FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->status_kurzbz).', '.
|
||||
' now(), '.
|
||||
$this->db_add_param($this->insertvon).');';
|
||||
}
|
||||
@@ -316,11 +320,13 @@ class studienordnung extends basis_db
|
||||
' studiengangbezeichnung_englisch='.$this->db_add_param($this->studiengangbezeichnung_englisch).', '.
|
||||
' studiengangkurzbzlang='.$this->db_add_param($this->studiengangkurzbzlang).','.
|
||||
' akadgrad_id='.$this->db_add_param($this->akadgrad_id, FHC_INTEGER).', '.
|
||||
' standort_id='.$this->db_add_param($this->standort_id, FHC_INTEGER).', '.
|
||||
' status_kurzbz='.$this->db_add_param($this->status_kurzbz).', '.
|
||||
' updateamum= now(), '.
|
||||
' updatevon='.$this->db_add_param($this->updatevon).' '.
|
||||
' WHERE studienordnung_id='.$this->db_add_param($this->studienordnung_id, FHC_INTEGER, false).';';
|
||||
}
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->new)
|
||||
@@ -410,6 +416,8 @@ class studienordnung extends basis_db
|
||||
$obj->studiengangbezeichnung_englisch = $row->studiengangbezeichnung_englisch;
|
||||
$obj->studiengangkurzbzlang = $row->studiengangkurzbzlang;
|
||||
$obj->akadgrad_id = $row->akadgrad_id;
|
||||
$obj->standort_id = $row->standort_id;
|
||||
$obj->status_kurzbz = $row->status_kurzbz;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
@@ -433,6 +441,8 @@ class studienordnung extends basis_db
|
||||
$obj->studiengangbezeichnung_englisch = $this->studiengangbezeichnung_englisch;
|
||||
$obj->studiengangkurzbzlang = $this->studiengangkurzbzlang;
|
||||
$obj->akadgrad_id = $this->akadgrad_id;
|
||||
$obj->standort_id = $this->standort_id;
|
||||
$obj->status_kurzbz = $this->status_kurzbz;
|
||||
$obj->updateamum = $this->updateamum;
|
||||
$obj->updatevon = $this->updatevon;
|
||||
$obj->insertamum = $this->insertamum;
|
||||
@@ -441,7 +451,7 @@ class studienordnung extends basis_db
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* speichert die Semesterzuordnung für die Studieordnung
|
||||
* @param int $studienordnung_id Die ID der Studienordnung
|
||||
@@ -455,21 +465,21 @@ class studienordnung extends basis_db
|
||||
$this->errormsg = 'studienordnung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if(!is_string($studiensemester_kurzbz) || strlen($studiensemester_kurzbz)!=6)
|
||||
{
|
||||
$this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if(!is_numeric($ausbildungssemester))
|
||||
{
|
||||
$this->errormsg = 'ausbildungssemester muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//lvar_dump($this->isZuordnungGuelitg($studiensemester_kurzbz));
|
||||
|
||||
|
||||
//Prüfung ob Zuordnung im Gültigkeitszeitraum der Studienordnung
|
||||
//if(($studiensemester_kurzbz >= $this->gueltigvon && $studiensemester_kurzbz <= $this->gueltigbis) || ($studiensemester_kurzbz >= $this->gueltigvon && $this->gueltigbis == null))
|
||||
if($this->isZuordnungGuelitg($studiensemester_kurzbz))
|
||||
@@ -502,7 +512,7 @@ class studienordnung extends basis_db
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* prüft ob die Semesterzuordnung für die Studieordnung bereits vorhanden ist
|
||||
* @param int $studienordnung_id Die ID der Studienordnung
|
||||
@@ -516,24 +526,24 @@ class studienordnung extends basis_db
|
||||
$this->errormsg = 'studienordnung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if(!is_string($studiensemester_kurzbz) || strlen($studiensemester_kurzbz)!=6)
|
||||
{
|
||||
$this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if(!is_numeric($ausbildungssemester))
|
||||
{
|
||||
$this->errormsg = 'ausbildungssemester muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'SELECT * FROM lehre.tbl_studienordnung_semester WHERE
|
||||
studienordnung_id='.$this->db_add_param($studienordnung_id).' AND
|
||||
studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).' AND
|
||||
$qry = 'SELECT * FROM lehre.tbl_studienordnung_semester WHERE
|
||||
studienordnung_id='.$this->db_add_param($studienordnung_id).' AND
|
||||
studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).' AND
|
||||
semester='.$this->db_add_param($ausbildungssemester).';';
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows() == 1)
|
||||
@@ -548,7 +558,7 @@ class studienordnung extends basis_db
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* prüft ob die Studienordnung aktiv ist
|
||||
* @param int $studienordnung_id Die ID der Studienordnung
|
||||
@@ -563,9 +573,9 @@ class studienordnung extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'SELECT * FROM lehre.tbl_studienordnung_semester WHERE
|
||||
$qry = 'SELECT * FROM lehre.tbl_studienordnung_semester WHERE
|
||||
studienordnung_id='.$this->db_add_param($studienordnung_id).';';
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows() >= 1)
|
||||
@@ -576,7 +586,7 @@ class studienordnung extends basis_db
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* lädt alle zugeordneten Semester einer Studienordnung
|
||||
* @param int $studienordnung_id ID der Studienordnung
|
||||
@@ -588,24 +598,24 @@ class studienordnung extends basis_db
|
||||
$this->errormsg = 'studienordnung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/* $qry = 'SELECT DISTINCT studiensemester_kurzbz, MAX(semester)
|
||||
FROM lehre.tbl_studienordnung_semester
|
||||
FROM lehre.tbl_studienordnung_semester
|
||||
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).' GROUP BY studiensemester_kurzbz ORDER BY MAX(semester);';
|
||||
*/
|
||||
$qry = 'SELECT DISTINCT studiensemester_kurzbz, tbl_studiensemester.start
|
||||
FROM
|
||||
lehre.tbl_studienordnung_semester
|
||||
FROM
|
||||
lehre.tbl_studienordnung_semester
|
||||
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
|
||||
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).'
|
||||
ORDER BY tbl_studiensemester.start, studiensemester_kurzbz';
|
||||
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$data = array();
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
@@ -614,20 +624,20 @@ class studienordnung extends basis_db
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
|
||||
public function loadAusbildungsemesterFromStudiensemester($studienordnung_id, $studiensemester_kurzbz)
|
||||
{
|
||||
$qry = 'SELECT semester
|
||||
FROM lehre.tbl_studienordnung_semester
|
||||
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).' AND
|
||||
studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).'
|
||||
$qry = 'SELECT semester
|
||||
FROM lehre.tbl_studienordnung_semester
|
||||
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).' AND
|
||||
studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).'
|
||||
ORDER BY semester;';
|
||||
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$data = array();
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
@@ -635,7 +645,7 @@ class studienordnung extends basis_db
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
|
||||
public function deleteSemesterZuordnung($studienordnung_id, $studiensemester_kurzbz, $studiensemester=NULL)
|
||||
{
|
||||
if(!is_numeric($studienordnung_id))
|
||||
@@ -643,21 +653,21 @@ class studienordnung extends basis_db
|
||||
$this->errormsg = 'studienordnung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
if(!is_string($studiensemester_kurzbz) || strlen($studiensemester_kurzbz)!=6)
|
||||
{
|
||||
$this->errormsg = 'studiensemester_kurzbz muss ein String mit 6 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'DELETE FROM lehre.tbl_studienordnung_semester
|
||||
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).' AND
|
||||
|
||||
$qry = 'DELETE FROM lehre.tbl_studienordnung_semester
|
||||
WHERE studienordnung_id='.$this->db_add_param($studienordnung_id).' AND
|
||||
studiensemester_kurzbz='.$this->db_add_param($studiensemester_kurzbz).'';
|
||||
if($studiensemester !== null)
|
||||
$qry.=' AND semester='.$this->db_add_param ($studiensemester).'';
|
||||
|
||||
|
||||
$qry.=';';
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
@@ -668,7 +678,7 @@ class studienordnung extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected function isZuordnungGuelitg($studiensemester_kurzbz)
|
||||
{
|
||||
$studiensemester = new studiensemester();
|
||||
@@ -676,12 +686,12 @@ class studienordnung extends basis_db
|
||||
|
||||
$semGueltigVon = $studiensemester->begin->start;
|
||||
//$semGueltigBis = $studiensemester->ende->ende;
|
||||
|
||||
|
||||
$studiensemester = new studiensemester();
|
||||
$studiensemester->getTimestamp($this->gueltigvon);
|
||||
|
||||
$stoGueltigVon = $studiensemester->begin->start;
|
||||
|
||||
|
||||
if($this->gueltigbis != null)
|
||||
{
|
||||
$studiensemester = new studiensemester();
|
||||
@@ -698,7 +708,7 @@ class studienordnung extends basis_db
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt die Studienordnung zu der uebergebenen studienplan_id
|
||||
* @param $studienplan_id der zu ladenden Studienordnung
|
||||
@@ -735,6 +745,8 @@ class studienordnung extends basis_db
|
||||
$this->studiengangbezeichnung_englisch = $row->studiengangbezeichnung_englisch;
|
||||
$this->studiengangkurzbzlang = $row->studiengangkurzbzlang;
|
||||
$this->akadgrad_id = $row->akadgrad_id;
|
||||
$this->standort_id = $row->standort_id;
|
||||
$this->status_kurzbz = $row->status_kurzbz;
|
||||
$this->updateamum = $row->updateamum;
|
||||
$this->updatevon = $row->updatevon;
|
||||
$this->insertamum = $row->insertamum;
|
||||
@@ -748,7 +760,7 @@ class studienordnung extends basis_db
|
||||
$this->new=false;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt alle Studienordnungen zu einem Studiengang der uebergeben wird, die noch nicht aktiv sind
|
||||
* @param $studiengang_kz Kennzahl des Studiengangs
|
||||
@@ -765,13 +777,13 @@ class studienordnung extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_studienordnung
|
||||
WHERE
|
||||
$qry = 'SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_studienordnung
|
||||
WHERE
|
||||
studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
|
||||
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
@@ -793,6 +805,8 @@ class studienordnung extends basis_db
|
||||
$obj->studiengangbezeichnung_englisch = $row->studiengangbezeichnung_englisch;
|
||||
$obj->studiengangkurzbzlang = $row->studiengangkurzbzlang;
|
||||
$obj->akadgrad_id = $row->akadgrad_id;
|
||||
$this->standort_id = $row->standort_id;
|
||||
$this->status_kurzbz = $row->status_kurzbz;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
@@ -800,7 +814,7 @@ class studienordnung extends basis_db
|
||||
$obj->new = false;
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
|
||||
|
||||
foreach($this->result as $key => $obj)
|
||||
{
|
||||
if($this->isAktiv($obj->studienordnung_id))
|
||||
@@ -809,8 +823,65 @@ class studienordnung extends basis_db
|
||||
}
|
||||
}
|
||||
array_values($this->result);
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function loadStudienordnungWithStatus($studiengang_kz, $status_kurzbz)
|
||||
{
|
||||
$qry = "SELECT sto.*, s.bezeichnung as status_bezeichnung "
|
||||
. "FROM lehre.tbl_studienordnung sto "
|
||||
. "JOIN lehre.tbl_studienordnungstatus s USING(status_kurzbz) "
|
||||
. "WHERE status_kurzbz=" . $this->db_add_param($status_kurzbz, FHC_STRING) . ""
|
||||
. " AND studiengang_kz=" . $this->db_add_param($studiengang_kz, FHC_INTEGER) . ";";
|
||||
|
||||
if (!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
|
||||
while ($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new studienordnung();
|
||||
|
||||
$obj->studienordnung_id = $row->studienordnung_id;
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->version = $row->version;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->ects = $row->ects;
|
||||
$obj->gueltigvon = $row->gueltigvon;
|
||||
$obj->gueltigbis = $row->gueltigbis;
|
||||
$obj->studiengangbezeichnung = $row->studiengangbezeichnung;
|
||||
$obj->studiengangbezeichnung_englisch = $row->studiengangbezeichnung_englisch;
|
||||
$obj->studiengangkurzbzlang = $row->studiengangkurzbzlang;
|
||||
$obj->akadgrad_id = $row->akadgrad_id;
|
||||
$obj->status_kurzbz = $row->status_kurzbz;
|
||||
$obj->status_bezeichnung = $row->status_bezeichnung;
|
||||
$obj->begruendung = json_decode($row->begruendung);
|
||||
$obj->studiengangsart = $row->studiengangsart;
|
||||
$obj->standort_id = $row->standort_id;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->new = false;
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public function changeState($studienordnung_id, $status_kurzbz)
|
||||
{
|
||||
$qry = "UPDATE lehre.tbl_studienordnung SET status_kurzbz=" . $this->db_add_param($status_kurzbz)
|
||||
. " WHERE studienordnung_id=" . $this->db_add_param($studienordnung_id) . ";";
|
||||
|
||||
if (!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = "Status konnte nicht geändert werden.";
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
+1021
-778
File diff suppressed because it is too large
Load Diff
+191
-93
@@ -1,24 +1,24 @@
|
||||
<?php
|
||||
/*
|
||||
* studienplatz.class.php
|
||||
*
|
||||
*
|
||||
* Copyright 2013 Technikum-Wien
|
||||
*
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty oferr
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>
|
||||
* Werner Masik <werner@gefi.at>
|
||||
@@ -29,35 +29,39 @@ require_once(__DIR__ .'/functions.inc.php');
|
||||
class studienplatz extends basis_db
|
||||
{
|
||||
/** @var $new boolean */
|
||||
private $new = true;
|
||||
private $new = true;
|
||||
/** @var DB-Result */
|
||||
private $result;
|
||||
/** @var object */
|
||||
public $studienplatz = array();
|
||||
public $studienplatz = array();
|
||||
|
||||
//Tabellenspalten
|
||||
/** @var integer */
|
||||
private $studienplatz_id;
|
||||
private $studienplatz_id;
|
||||
/** @var integer */
|
||||
private $studiengang_kz;
|
||||
private $studiengang_kz;
|
||||
/** @var string */
|
||||
private $orgform_kurzbz;
|
||||
private $orgform_kurzbz;
|
||||
/** @var string */
|
||||
private $studiensemester_kurzbz;
|
||||
/** @var integer */
|
||||
private $ausbildungssemester;
|
||||
private $ausbildungssemester;
|
||||
/** @var integer */
|
||||
private $gpz;
|
||||
private $gpz;
|
||||
/** @var integer */
|
||||
private $npz;
|
||||
private $npz;
|
||||
/** @var timestamp */
|
||||
private $updateamum;
|
||||
private $updateamum;
|
||||
/** @var string */
|
||||
private $updatevon;
|
||||
private $updatevon;
|
||||
/** @var timestamp */
|
||||
private $insertamum;
|
||||
private $insertamum;
|
||||
/** @var string */
|
||||
private $insertvon;
|
||||
private $insertvon;
|
||||
/** @var integer */
|
||||
private $apz;
|
||||
/** @var integer */
|
||||
private $studienplan_id;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
@@ -66,7 +70,7 @@ class studienplatz extends basis_db
|
||||
public function __construct($studienplatz_id=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
|
||||
if(!is_null($studienplatz_id))
|
||||
$this->load($studienplatz_id);
|
||||
}
|
||||
@@ -76,9 +80,10 @@ class studienplatz extends basis_db
|
||||
switch ($name)
|
||||
{
|
||||
case 'gpz':
|
||||
case 'npz':
|
||||
case 'ausbildungssemester':
|
||||
case 'npz':
|
||||
case 'ausbildungssemester':
|
||||
case 'studienplatz_id':
|
||||
case 'studienplan_id':
|
||||
if ($value != null && !is_numeric($value))
|
||||
throw new Exception("Attribute $name must be numeric! ($value)");
|
||||
$this->$name=$value;
|
||||
@@ -92,8 +97,8 @@ class studienplatz extends basis_db
|
||||
{
|
||||
return $this->$name;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Laedt einzelnen Studienplatz der ID $studienplatz_id
|
||||
* @param integer $studienplatz_id ID des zu ladenden Studienplatzes
|
||||
@@ -126,7 +131,6 @@ class studienplatz extends basis_db
|
||||
$this->errormsg = 'Es ist kein Datensatz mit dieser ID vorhanden';
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -135,31 +139,33 @@ class studienplatz extends basis_db
|
||||
* @param type $target
|
||||
* @param type $row
|
||||
*/
|
||||
private function mapRow($target,$row) {
|
||||
$target->studienplatz_id = $row->studienplatz_id;
|
||||
$target->studiengang_kz = $row->studiengang_kz;
|
||||
$target->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$target->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$target->ausbildungssemester = $row->ausbildungssemester;
|
||||
$target->gpz = $row->gpz;
|
||||
$target->npz = $row->npz;
|
||||
$target->updateamum = $row->updateamum;
|
||||
$target->updatevon = $row->updatevon;
|
||||
$target->insertamum = $row->insertamum;
|
||||
$target->insertvon = $row->insertvon;
|
||||
$target->new = false;
|
||||
private function mapRow($target,$row) {
|
||||
$target->studienplatz_id = $row->studienplatz_id;
|
||||
$target->studiengang_kz = $row->studiengang_kz;
|
||||
$target->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$target->studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||
$target->ausbildungssemester = $row->ausbildungssemester;
|
||||
$target->gpz = $row->gpz;
|
||||
$target->npz = $row->npz;
|
||||
$target->updateamum = $row->updateamum;
|
||||
$target->updatevon = $row->updatevon;
|
||||
$target->insertamum = $row->insertamum;
|
||||
$target->insertvon = $row->insertvon;
|
||||
$target->apz = $row->apz;
|
||||
$target->studienplan_id = $row->studienplan_id;
|
||||
$target->new = false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Laedt alle Studienplaetze zu einem Studiengang und Semester. Ergebnis
|
||||
* steht in result, wobei es nur einen Datensatz geben kann, wenn
|
||||
* keinAusbildungssemester = true ist.
|
||||
* @param integer $studiengang_kz
|
||||
* @param integer $studiengang_kz
|
||||
* @param string studiensemester_kurzbz
|
||||
* @param string orgform_kurzbz
|
||||
* @param boolean Ausbildungssemester ist optional. Wenn true werden
|
||||
* nur Datensätze geladen wo das Ausbildungssemester null ist. Wenn
|
||||
* false werden alle geladen wo ein Ausbildungssemester eingetragen
|
||||
* nur Datensätze geladen wo das Ausbildungssemester null ist. Wenn
|
||||
* false werden alle geladen wo ein Ausbildungssemester eingetragen
|
||||
* ist.
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
@@ -179,22 +185,63 @@ class studienplatz extends basis_db
|
||||
//" AND art=".$this->db_add_param($art, FHC_STRING, false).
|
||||
" AND orgform_kurzbz=".$this->db_add_param($orgform, FHC_STRING, false).
|
||||
" AND ausbildungssemester ".($keinAusbildungssemester ? 'is null':'is not null');
|
||||
$this->result = array();
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->result = array();
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$rec = new studienplatz();
|
||||
$this->mapRow($rec, $row);
|
||||
$this->result[] = $rec;
|
||||
}
|
||||
$rec = new studienplatz();
|
||||
$this->mapRow($rec, $row);
|
||||
$this->result[] = $rec;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Laedt alle Studienplaetze zu einem Studiengang und Semester. Ergebnis
|
||||
* steht in result, wobei es nur einen Datensatz geben kann, wenn
|
||||
* keinAusbildungssemester = true ist.
|
||||
* @param integer $studiengang_kz
|
||||
* @param string studiensemester_kurzbz
|
||||
* @param boolean Ausbildungssemester ist optional. Wenn true werden
|
||||
* nur Datensätze geladen wo das Ausbildungssemester null ist. Wenn
|
||||
* false werden alle geladen wo ein Ausbildungssemester eingetragen
|
||||
* ist.
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function load_studiengang_studiensemester($studiengang_kz, $studiensemester_kurzbz, $keinAusbildungssemester = true)
|
||||
{
|
||||
//Pruefen ob $studiengang_kz eine gueltige Zahl ist
|
||||
if(!is_numeric($studiengang_kz) || $studiengang_kz == '')
|
||||
{
|
||||
$this->errormsg = 'studiengang_kz muss eine gültige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
//Lesen der Daten aus der Datenbank
|
||||
$qry = "SELECT * FROM lehre.tbl_studienplatz RIGHT JOIN lehre.tbl_studienplan using(studienplan_id) WHERE studiengang_kz=".
|
||||
$this->db_add_param($studiengang_kz, FHC_INTEGER, false).
|
||||
" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz, FHC_STRING, false).
|
||||
" AND ausbildungssemester ".($keinAusbildungssemester ? 'is null':'is not null').
|
||||
" AND studienplan_id IS NOT NULL;";
|
||||
|
||||
$this->result = array();
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->result[] = $row;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert Array mit GPZ und NPZ für die FÖBis relevanten Orgformen (BB, VZ, VBB).
|
||||
* Dient als Ersatz für load_studiengang_studiensemester_orgform weil hiermit
|
||||
@@ -207,10 +254,10 @@ class studienplatz extends basis_db
|
||||
{
|
||||
|
||||
// Semesterliste für where klausel erzeugen:
|
||||
$startSemester= 'WS'.substr($studienjahr,0,4);
|
||||
$startSemester= 'WS'.substr($studienjahr,0,4);
|
||||
$semesterList = generateSemesterList($startSemester,($zeitraum*2)-1);
|
||||
$semesterList_comma_separated = "'".join("','",$semesterList)."'";
|
||||
|
||||
|
||||
//Lesen der Daten aus der Datenbank
|
||||
$qry = "SELECT studiensemester_kurzbz,studiengang_kz,
|
||||
sum(case when orgform_kurzbz='VZ' then npz else 0 end) as npz_vz,
|
||||
@@ -220,30 +267,69 @@ class studienplatz extends basis_db
|
||||
sum(case when orgform_kurzbz='VZ' then gpz else 0 end) as gpz_vz,
|
||||
sum(case when orgform_kurzbz='BB' then gpz else 0 end) as gpz_bb,
|
||||
sum(case when orgform_kurzbz='VBB' then gpz else 0 end) as gpz_vbb,
|
||||
sum(gpz) as gpz_gesamt
|
||||
FROM lehre.tbl_studienplatz
|
||||
WHERE ausbildungssemester is null and studiensemester_kurzbz IN ($semesterList_comma_separated)
|
||||
group by studiensemester_kurzbz,studiengang_kz";
|
||||
$this->result = array();
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
sum(gpz) as gpz_gesamt
|
||||
FROM lehre.tbl_studienplatz
|
||||
WHERE ausbildungssemester is null and studiensemester_kurzbz IN ($semesterList_comma_separated)
|
||||
group by studiensemester_kurzbz,studiengang_kz";
|
||||
$this->result = array();
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
$result = array();
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['BB']['NPZ'] = $row->npz_bb;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VZ']['NPZ'] = $row->npz_vz;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VBB']['NPZ'] = $row->npz_vbb;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['gesamt']['NPZ'] = $row->npz_gesamt;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['BB']['GPZ'] = $row->gpz_bb;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VZ']['GPZ'] = $row->gpz_vz;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VBB']['GPZ'] = $row->gpz_vbb;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['gesamt']['GPZ'] = $row->gpz_gesamt;
|
||||
}
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['BB']['NPZ'] = $row->npz_bb;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VZ']['NPZ'] = $row->npz_vz;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VBB']['NPZ'] = $row->npz_vbb;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['gesamt']['NPZ'] = $row->npz_gesamt;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['BB']['GPZ'] = $row->gpz_bb;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VZ']['GPZ'] = $row->gpz_vz;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['VBB']['GPZ'] = $row->gpz_vbb;
|
||||
$result[$row->studiensemester_kurzbz][$row->studiengang_kz]['gesamt']['GPZ'] = $row->gpz_gesamt;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Liefert alle Studienplätze eines Studiengangs und Semesters
|
||||
* @param string $stg_kz z.B: -16
|
||||
* @param string $studiensemester_kurzbz z.B: WS2015
|
||||
* @return boolean|array false bei Fehler
|
||||
*/
|
||||
public function getFromStgKzAndStudsem($stg_kz, $studiensemester_kurzbz)
|
||||
{
|
||||
|
||||
if(!is_numeric($stg_kz))
|
||||
{
|
||||
$this->errormsg='stg_kz muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
if($studiensemester_kurzbz == "")
|
||||
{
|
||||
$this->errormsg='Es wurde kein gueltiges studiensemester_kurzbz uerbergeben';
|
||||
return false;
|
||||
}
|
||||
|
||||
//Lesen der Daten aus der Datenbank
|
||||
$qry = "SELECT * FROM lehre.tbl_studienplatz
|
||||
JOIN public.tbl_studiengang using(studiengang_kz)
|
||||
WHERE studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
|
||||
AND studiengang_kz=".$this->db_add_param($stg_kz, FHC_INTEGER);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
$result = array();
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$result[] = $row;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft die Variablen auf Gueltigkeit
|
||||
@@ -260,7 +346,7 @@ class studienplatz extends basis_db
|
||||
{
|
||||
$this->errormsg='studiengang_kz enthaelt ungueltige Zeichen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if(mb_strlen($this->orgform_kurzbz)>3)
|
||||
{
|
||||
$this->errormsg = 'orgform_kurzbz darf nicht länger als 3 Zeichen sein';
|
||||
@@ -284,11 +370,19 @@ class studienplatz extends basis_db
|
||||
{
|
||||
$this->errormsg='npz enthaelt ungueltige Zeichen';
|
||||
return false;
|
||||
}if(!is_numeric($this->apz) && $this->apz!='')
|
||||
{
|
||||
$this->errormsg='apz enthaelt ungueltige Zeichen';
|
||||
return false;
|
||||
}if(!is_numeric($this->studienplan_id) && $this->studienplan_id!='')
|
||||
{
|
||||
$this->errormsg='studienplan_id enthaelt ungueltige Zeichen';
|
||||
return false;
|
||||
}
|
||||
$this->errormsg = '';
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Speichert den aktuellen Datensatz in die Datenbank
|
||||
* Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt
|
||||
@@ -305,20 +399,22 @@ class studienplatz extends basis_db
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry='BEGIN;INSERT INTO lehre.tbl_studienplatz ('.
|
||||
'studiengang_kz, orgform_kurzbz, studiensemester_kurzbz, '.
|
||||
'ausbildungssemester, gpz, npz, insertamum, insertvon, '.
|
||||
'updateamum, updatevon) VALUES('.
|
||||
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->orgform_kurzbz).', '.
|
||||
$this->db_add_param($this->studiensemester_kurzbz).', '.
|
||||
$this->db_add_param($this->ausbildungssemester, FHC_INTEGER).', '.
|
||||
//$this->db_add_param($this->art).', '.
|
||||
$this->db_add_param($this->gpz, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->npz, FHC_INTEGER).', '.
|
||||
'now(), '.
|
||||
$this->db_add_param($this->insertvon).', '.
|
||||
'now(), '.
|
||||
$this->db_add_param($this->updatevon).');';
|
||||
'studiengang_kz, orgform_kurzbz, studiensemester_kurzbz, '.
|
||||
'ausbildungssemester, gpz, npz, apz, studienplan_id insertamum, insertvon, '.
|
||||
'updateamum, updatevon) VALUES('.
|
||||
$this->db_add_param($this->studiengang_kz, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->orgform_kurzbz).', '.
|
||||
$this->db_add_param($this->studiensemester_kurzbz).', '.
|
||||
$this->db_add_param($this->ausbildungssemester, FHC_INTEGER).', '.
|
||||
//$this->db_add_param($this->art).', '.
|
||||
$this->db_add_param($this->gpz, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->npz, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->apz, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->studienplan_id, FHC_INTEGER).', '.
|
||||
'now(), '.
|
||||
$this->db_add_param($this->insertvon).', '.
|
||||
'now(), '.
|
||||
$this->db_add_param($this->updatevon).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -328,19 +424,21 @@ class studienplatz extends basis_db
|
||||
$this->errormsg = 'studienplatz_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
$qry='UPDATE lehre.tbl_studienplatz SET'.
|
||||
$qry='UPDATE lehre.tbl_studienplatz SET'.
|
||||
' studiengang_kz='.$this->db_add_param($this->studiengang_kz).', '.
|
||||
' orgform_kurzbz='.$this->db_add_param($this->orgform_kurzbz).', '.
|
||||
' studiensemester_kurzbz='.$this->db_add_param($this->studiensemester_kurzbz).', '.
|
||||
' ausbildungssemester='.$this->db_add_param($this->ausbildungssemester).', '.
|
||||
' ausbildungssemester='.$this->db_add_param($this->ausbildungssemester).', '.
|
||||
//' art='.$this->db_add_param($this->art).', '.
|
||||
' gpz='.$this->db_add_param($this->gpz).', '.
|
||||
' npz='.$this->db_add_param($this->npz).', '.
|
||||
' updateamum= now(), '.
|
||||
' updatevon='.$this->db_add_param($this->updatevon).
|
||||
' WHERE studienplatz_id='.$this->db_add_param($this->studienplatz_id, FHC_INTEGER, false).';';
|
||||
' gpz='.$this->db_add_param($this->gpz).', '.
|
||||
' npz='.$this->db_add_param($this->npz).', '.
|
||||
' apz='.$this->db_add_param($this->apz, FHC_INTEGER).', '.
|
||||
' studienplan_id='.$this->db_add_param($this->studienplan_id, FHC_INTEGER).', '.
|
||||
' updateamum= now(), '.
|
||||
' updatevon='.$this->db_add_param($this->updatevon).
|
||||
' WHERE studienplatz_id='.$this->db_add_param($this->studienplatz_id, FHC_INTEGER, false).';';
|
||||
}
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->new)
|
||||
@@ -371,7 +469,7 @@ class studienplatz extends basis_db
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return $this->studienplatz_id;
|
||||
@@ -399,7 +497,7 @@ class studienplatz extends basis_db
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -426,7 +426,7 @@ else
|
||||
$pdf->MultiCell(0,15,$stgtyp.'studiengang '.$studiengang);
|
||||
$pdf->SetFont('Arial','',14);
|
||||
$pdf->SetXY(30,150-$titelabzug);
|
||||
$pdf->MultiCell(0,15,'Beurteilung Master Thesis - 1. BegutachterIn');
|
||||
$pdf->MultiCell(0,15,'Beurteilung Masterarbeit - 1. BegutachterIn');
|
||||
|
||||
$qry_beu="SELECT * FROM public.tbl_person JOIN public.tbl_benutzer using(person_id) WHERE uid=".$db->db_add_param($getuid).";";
|
||||
if(!$erg_beu=@$db->db_query($qry_beu))
|
||||
@@ -490,7 +490,7 @@ else
|
||||
$maxX +=291;
|
||||
$pdf->SetFont('Arial','',9);
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(159,18,'Datum (dd.MM.yyyy): ',1,'L',0);
|
||||
$pdf->MultiCell(159,18,'Datum (dd.mm.yyyy): ',1,'L',0);
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(159,18,date('d.m.Y',mktime(0, 0, 0, date("m") , date("d"), date("Y"))),1,'R',0);
|
||||
|
||||
@@ -561,7 +561,7 @@ else
|
||||
$pdf->MultiCell(170,12,mb_convert_encoding("Form / Stil\n\n\n\n\n\n\n",'ISO-8859-15','UTF-8'),0,'L',0);
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->SetFont('Arial','',9);
|
||||
$pdf->MultiCell(170,12,mb_convert_encoding("\n - Hat die Master Thesis eine klare\n Struktur, entspricht der Vorgabe\n - Wird einwandfrei zitiert?\n - Abbildungen?\n - Sprache: benötigte Überarbeitung\n seitens seitens des Betreuers/ der\n Betreuerin",'ISO-8859-15','UTF-8'),0,'L',0);
|
||||
$pdf->MultiCell(170,12,mb_convert_encoding("\n - Hat die Masterarbeit eine klare\n Struktur, entspricht der Vorgabe\n - Wird einwandfrei zitiert?\n - Abbildungen?\n - Sprache: benötigte Überarbeitung\n seitens seitens des Betreuers/ der\n Betreuerin",'ISO-8859-15','UTF-8'),0,'L',0);
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(170,100,'',1,'L',0);
|
||||
$maxX +=170;
|
||||
@@ -660,7 +660,7 @@ else
|
||||
$maxY=$pdf->GetY();
|
||||
$maxX=160;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(240,12,'1 Gruppe < 50 Punkte => Master Thesis gesamt negativ','LB','L',0);
|
||||
$pdf->MultiCell(240,12,'1 Gruppe < 50 Punkte => Masterarbeit gesamt negativ','LB','L',0);
|
||||
$maxX +=240;
|
||||
$pdf->SetXY($maxX,$maxY);
|
||||
$pdf->MultiCell(80,12,'','TB','C',0);
|
||||
@@ -981,7 +981,7 @@ else
|
||||
if($row->projekttyp_kurzbz!='Bachelor')
|
||||
{
|
||||
$htmlstr .= '<td width="40%"><b>Form / Stil</b><br>
|
||||
Hat die Diplomarbeit eine klare Stuktur, entspricht der Vorgabe?<br>
|
||||
Hat die Masterarbeit eine klare Stuktur, entspricht der Vorgabe?<br>
|
||||
Wird einwandfrei zitiert?<br>
|
||||
Abbildungen<br>
|
||||
Sprache: benötigte Überarbeitungen seitens der Betreuerin / des Betreuers</td>
|
||||
@@ -1046,7 +1046,7 @@ else
|
||||
$htmlstr .= "<tr><td>Ergebnis <=50 Punkte : Note 5</td><td>50< Ergebnis <65 : Note 4</td><td>65<= Ergebnis <78 : Note 3</td><td>78<= Ergebnis <91 : Note 2</td><td>91<= Ergebnis : Note 1</td></tr>";
|
||||
if($row->projekttyp_kurzbz!='Bachelor')
|
||||
{
|
||||
$htmlstr .= "<tr><td colspan='5'>Ein Kriterium mit weniger als 50 Punkten ⇒ Diplomarbeit gesamt negativ</td></tr>";
|
||||
$htmlstr .= "<tr><td colspan='5'>Ein Kriterium mit weniger als 50 Punkten ⇒ Masterarbeit gesamt negativ</td></tr>";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
+413
-453
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
/* Copyright (C) 2016 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Nikolaus Krondraf <nikolaus.krondraf@technikum-wien.at>
|
||||
*/
|
||||
|
||||
/**
|
||||
* Funktion zur Generierung der Matrikelnummer
|
||||
* Default: es wird keine Matrikelnummer generiert
|
||||
*/
|
||||
|
||||
require_once(dirname(__FILE__).'/../addon.class.php');
|
||||
|
||||
// die aktiven Addons werden durchsucht, ob eines davon eine eigene Matrikelnummern-Generierung vorsieht
|
||||
// falls ja, wird die Version des Addons genommen, ansonsten die Default Generierung
|
||||
$generateuid_addon_found=false;
|
||||
$generateuid_addons = new addon();
|
||||
|
||||
foreach($generateuid_addons->aktive_addons as $addon)
|
||||
{
|
||||
$generateuid_addon_filename = dirname(__FILE__).'/../../addons/'.$addon.'/vilesci/generatematrikelnr.inc.php';
|
||||
|
||||
if(file_exists($generateuid_addon_filename))
|
||||
{
|
||||
include($generateuid_addon_filename);
|
||||
$generateuid_addon_found=true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(!$generateuid_addon_found)
|
||||
{
|
||||
function generateMatrikelnr($oe_kurzbz)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -48,21 +48,21 @@ $menu=array
|
||||
'Incoming loeschen'=>array('name'=>'Incoming löschen', 'link'=>'lehre/incoming_delete.php', 'target'=>'main'),
|
||||
),
|
||||
'Raummitteilung'=>array('name'=>'Raummitteilung', 'link'=>'lehre/raummitteilung.php', 'target'=>'main'),
|
||||
|
||||
|
||||
'Mitarbeiter'=>array
|
||||
(
|
||||
'name'=>'Mitarbeiter','permissions'=>array('admin','lv-plan','support'),
|
||||
'Übersicht'=>array('name'=>'Zeitwünsche', 'link'=>'personen/lektor_uebersicht.php', 'target'=>'main'),
|
||||
'Zeitsperren'=>array('name'=>'Zeitsperren', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main'),
|
||||
'Übersicht'=>array('name'=>'Zeitwünsche', 'link'=>'personen/lektor_uebersicht.php', 'target'=>'main','permissions'=>array('mitarbeiter')),
|
||||
'Zeitsperren'=>array('name'=>'Zeitsperren', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main','permissions'=>array('mitarbeiter/zeitsperre')),
|
||||
),
|
||||
|
||||
|
||||
'Vorrueckung'=> array
|
||||
(
|
||||
'name'=>'Vorrueckung', 'permissions'=>array('admin','lv-plan','support'),
|
||||
'Lehreinheiten'=>array('name'=>'Lehreinheiten', 'link'=>'lehre/lehreinheiten_vorrueckung.php', 'target'=>'main'),
|
||||
'Studenten'=>array('name'=>'Studenten', 'link'=>'personen/student_vorrueckung.php', 'target'=>'main')
|
||||
'name'=>'Vorrueckung', 'permissions'=>array('lehre/vorrueckung','student/vorrueckung'),
|
||||
'Lehreinheiten'=>array('name'=>'Lehreinheiten', 'link'=>'lehre/lehreinheiten_vorrueckung.php', 'target'=>'main', 'permissions'=>array('lehre/vorrueckung'),),
|
||||
'Studenten'=>array('name'=>'Studenten', 'link'=>'personen/student_vorrueckung.php', 'target'=>'main','permissions'=>array('student/vorrueckung'),)
|
||||
),
|
||||
|
||||
|
||||
),
|
||||
'Lehre'=> array
|
||||
(
|
||||
@@ -71,10 +71,10 @@ $menu=array
|
||||
'Gruppenverwaltung'=>array('name'=>'Gruppen', 'permissions'=>array('admin','lv-plan','support'), 'link'=>'stammdaten/lvbgruppenverwaltung.php', 'target'=>'main'),
|
||||
'Lehrveranstaltung'=>array('name'=>'Lehrveranstaltung', 'link'=>'lehre/lehrveranstaltung_frameset.html', 'target'=>'main'),
|
||||
'Studienordnung'=>array('name'=>'Studienordnung', 'link'=>'lehre/studienordnung.php', 'target'=>'_blank','permissions'=>array('lehre/studienordnung')),
|
||||
|
||||
|
||||
'Moodle'=>array
|
||||
(
|
||||
'name'=>'Moodle', 'permissions'=>array('admin','lv-plan','support','basis/moodle'),
|
||||
'name'=>'Moodle', 'permissions'=>array('basis/moodle'),
|
||||
'Account'=>array('name'=>'Accountverwaltung', 'link'=>'moodle/account_verwaltung24.php', 'target'=>'main'),
|
||||
'Kursverwaltung'=>array('name'=>'Kurs entfernen', 'link'=>'moodle/kurs_verwaltung24.php', 'target'=>'main'),
|
||||
'Rollenzuteilung'=>array('name'=>'Rollenzuteilung', 'link'=>'moodle/rollenzuteilung24.php', 'target'=>'main'),
|
||||
@@ -106,13 +106,13 @@ $menu=array
|
||||
'name'=>'Personen', 'opener'=>'true', 'hide'=>'true', 'image'=>'vilesci_personen.png', 'permissions'=>array('admin','lv-plan','support','mitarbeiter','basis/person'),
|
||||
'link'=>'left.php?categorie=Personen', 'target'=>'nav',
|
||||
'Suche'=>array('name'=>'Suche', 'link'=>'personen/suche.php', 'target'=>'main','permissions'=>array('admin','lv-plan','support','basis/person')),
|
||||
'Zusammenlegen'=>array('name'=>'Zusammenlegen', 'link'=>'stammdaten/personen_wartung.php', 'target'=>'main', 'permissions'=>array('admin','lv-plan','support')),
|
||||
'Zusammenlegen'=>array('name'=>'Zusammenlegen', 'link'=>'stammdaten/personen_wartung.php', 'target'=>'main', 'permissions'=>array('basis/person')),
|
||||
'Wiederholer'=>array('name'=>'Stg-Wiederholer', 'link'=>'personen/wiederholer.php', 'target'=>'main', 'permissions'=>array('basis/person')),
|
||||
'Gruppen'=>array
|
||||
(
|
||||
'name'=>'Gruppen', 'permissions'=>array('admin','lv-plan','support'),
|
||||
'Übersicht'=>array('name'=>'Übersicht', 'link'=>'lehre/einheit_menu.php', 'target'=>'main'),
|
||||
'Neu'=>array('name'=>'Neu', 'link'=>'lehre/einheit_menu.php?newFrm=true', 'target'=>'main')
|
||||
'name'=>'Gruppen', 'permissions'=>array('lehre/gruppe'),
|
||||
'Übersicht'=>array('name'=>'Übersicht', 'link'=>'lehre/einheit_menu.php', 'target'=>'main','permissions'=>array('lehre/gruppe')),
|
||||
'Neu'=>array('name'=>'Neu', 'link'=>'lehre/einheit_menu.php?newFrm=true', 'target'=>'main','permissions'=>array('lehre/gruppe'))
|
||||
),
|
||||
'Benutzer'=>array
|
||||
(
|
||||
@@ -126,12 +126,12 @@ $menu=array
|
||||
(
|
||||
'name'=>'Mitarbeiter','permissions'=>array('admin','mitarbeiter','support'),
|
||||
'Übersicht'=>array('name'=>'Übersicht', 'link'=>'personen/lektor_uebersicht.php', 'target'=>'main'),
|
||||
'Zeitsperren'=>array('name'=>'Zeitsperren', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main'),
|
||||
'Resturlaub'=>array('name'=>'Urlaub', 'link'=>'personen/resturlaub_frameset.html', 'target'=>'main')
|
||||
'Zeitsperren'=>array('name'=>'Zeitsperren', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main','permissions'=>array('mitarbeiter/zeitsperre')),
|
||||
'Resturlaub'=>array('name'=>'Urlaub', 'link'=>'personen/resturlaub_frameset.html', 'target'=>'main','permissions'=>array('mitarbeiter/zeitsperre'))
|
||||
),
|
||||
'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.php', 'target'=>'main','permissions'=>array('admin','lv-plan','support','basis/betriebsmittel')),
|
||||
'AnwesenheitslistenBarcode'=>array('name'=>'Anwesenheitslisten mit Barcodes', 'link'=>'personen/anwesenheitslisten_barcode.php', 'target'=>'main','permissions'=>array('admin','lv-plan','support','preinteressent')),
|
||||
'Preinteressenten'=>array('name'=>'Preinteressenten', 'link'=>'personen/preinteressent_frameset.html', 'target'=>'_blank','permissions'=>array('admin','lv-plan','support','preinteressent')),
|
||||
'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.php', 'target'=>'main','permissions'=>array('basis/betriebsmittel')),
|
||||
'AnwesenheitslistenBarcode'=>array('name'=>'Anwesenheitslisten mit Barcodes', 'link'=>'personen/anwesenheitslisten_barcode.php', 'target'=>'main','permissions'=>array('basis/person')),
|
||||
'Preinteressenten'=>array('name'=>'Preinteressenten', 'link'=>'personen/preinteressent_frameset.html', 'target'=>'_blank','permissions'=>array('admin','preinteressent')),
|
||||
'Incoming'=>array('name'=>'Incoming', 'link'=>'personen/incoming_frameset.php', 'target'=>'_blank','permissions'=>array('inout/incoming')),
|
||||
'Outgoing'=>array('name'=>'Outgoing', 'link'=>'personen/outgoing_frameset.php', 'target'=>'_blank','permissions'=>array('inout/outgoing'))
|
||||
),
|
||||
@@ -141,7 +141,7 @@ $menu=array
|
||||
'link'=>'left.php?categorie=Stammdaten', 'target'=>'nav',
|
||||
'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.php', 'target'=>'main','permissions'=>array('basis/betriebsmittel')),
|
||||
'Reihungstest'=>array('name'=>'Reihungstest', 'link'=>'stammdaten/reihungstestverwaltung.php', 'target'=>'main','permissions'=>array('admin','assistenz')),
|
||||
|
||||
|
||||
'User'=>array
|
||||
(
|
||||
'name'=>'User', 'permissions'=>array('basis/variable','basis/berechtigung'),
|
||||
@@ -154,7 +154,7 @@ $menu=array
|
||||
'name'=>'Personal', 'permissions'=>array('buchung/typen','vertrag/typen'),
|
||||
'Buchungstypen'=>array('name'=>'Buchungstypen', 'link'=>'stammdaten/buchung_typ.php', 'target'=>'main','permissions'=>array('buchung/typen')),
|
||||
'Vertragstypen'=>array('name'=>'Vertragstypen', 'link'=>'stammdaten/vertrag_typ.php', 'target'=>'main','permissions'=>array('vertrag/typen'))
|
||||
),
|
||||
),
|
||||
'Studiengang'=>array('name'=>'Studiengang', 'link'=>'stammdaten/studiengang_frameset.html', 'target'=>'main','permissions'=>array('basis/studiengang')),
|
||||
'Ort'=>array('name'=>'Ort (Raum)', 'link'=>'stammdaten/raum_frameset.html', 'target'=>'main','permissions'=>array('basis/ort')),
|
||||
'Firmen'=>array('name'=>'Firmen', 'link'=>'stammdaten/firma_frameset.html', 'target'=>'main','permissions'=>array('basis/firma')),
|
||||
@@ -180,20 +180,19 @@ $menu=array
|
||||
),
|
||||
'Wartung'=> array
|
||||
(
|
||||
'name'=>'Wartung', 'opener'=>'true', 'hide'=>'true', 'image'=>'vilesci_wartung.png', 'link'=>'left.php?categorie=Wartung', 'target'=>'nav',
|
||||
'name'=>'Wartung', 'opener'=>'true', 'hide'=>'true', 'image'=>'vilesci_wartung.png', 'link'=>'left.php?categorie=Wartung', 'target'=>'nav',
|
||||
|
||||
'DokumenteZuteilung'=>array('name'=>'Dokumente Zuteilung', 'link'=>'stammdaten/studiengang_dokumente.php', 'target'=>'main', 'permissions'=>array('basis/studiengang')),
|
||||
'DokumenteZuteilung'=>array('name'=>'Dokumente Zuteilung', 'link'=>'stammdaten/studiengang_dokumente.php', 'target'=>'main', 'permissions'=>array('basis/studiengang')),
|
||||
'Vorrueckung'=> array
|
||||
(
|
||||
'name'=>'Vorrueckung', 'permissions'=>array('admin','lv-plan','support'),
|
||||
'Lehreinheiten'=>array('name'=>'Lehreinheiten', 'link'=>'lehre/lehreinheiten_vorrueckung.php', 'target'=>'main'),
|
||||
'Studenten'=>array('name'=>'Studenten', 'link'=>'personen/student_vorrueckung.php', 'target'=>'main')
|
||||
'name'=>'Vorrueckung', 'permissions'=>array('lehre/vorrueckung','student/vorrueckung'),
|
||||
'Lehreinheiten'=>array('name'=>'Lehreinheiten', 'link'=>'lehre/lehreinheiten_vorrueckung.php', 'target'=>'main','permissions'=>array('lehre/vorrueckung'),),
|
||||
'Studenten'=>array('name'=>'Studenten', 'link'=>'personen/student_vorrueckung.php', 'target'=>'main','permissions'=>array('student/vorrueckung'),)
|
||||
),
|
||||
'LVWartung'=>array('name'=>'LVwartung', 'link'=>'stammdaten/lv_wartung.php', 'target'=>'main'),
|
||||
'Kreuzerllistekopieren'=>array('name'=>'Kreuzerllisten kopieren', 'link'=>CIS_ROOT.'cis/private/lehre/benotungstool/copy_uebung.php', 'target'=>'_blank'),
|
||||
'Firmenwartung'=>array('name'=>'Firmenwartung', 'link'=>'stammdaten/firma_zusammen_uebersicht.php', 'target'=>'main'),
|
||||
'Kreuzerllistekopieren'=>array('name'=>'Kreuzerllisten kopieren', 'link'=>CIS_ROOT.'cis/private/lehre/benotungstool/copy_uebung.php', 'target'=>'_blank','permissions'=>array('admin')),
|
||||
'Firmenwartung'=>array('name'=>'Firmenwartung', 'link'=>'stammdaten/firma_zusammen_uebersicht.php', 'target'=>'main','permissions'=>array('basis/firma')),
|
||||
'checkStudenten'=>array('name'=>'CheckStudenten', 'link'=>'../system/checkStudenten.php', 'target'=>'main'),
|
||||
'StudienplanZuteilung'=>array('name'=>'Studienplan Zuteilung', 'link'=>'lehre/studienplan_zuteilung.php', 'target'=>'main'),
|
||||
'StudienplanZuteilung'=>array('name'=>'Studienplan Zuteilung', 'link'=>'lehre/studienplan_zuteilung.php', 'target'=>'main','permissions'=>array('assistenz')),
|
||||
),
|
||||
'Auswertung'=> array
|
||||
(
|
||||
@@ -212,17 +211,17 @@ $menu=array
|
||||
'link'=>'left.php?categorie=Inventar', 'target'=>'nav',
|
||||
'Inventar'=> array
|
||||
(
|
||||
'name'=>'Inventar', 'permissions'=>array('admin','wawi','support','wawi/inventar'),
|
||||
'name'=>'Inventar', 'permissions'=>array('admin','wawi','support','wawi/inventar'),
|
||||
'Neu'=>array('name'=>'Neu', 'link'=>'inventar/inventar_pflege.php?vorlage=false', 'target'=>'main'),
|
||||
'Suche'=>array('name'=>'Suche', 'link'=>'inventar/inventar.php', 'target'=>'main'),
|
||||
'AfA'=>array('name'=>'AfA', 'link'=>'inventar/inventar_afa.php', 'target'=>'main'),
|
||||
'Inventur'=>array('name'=>'Inventur', 'link'=>'inventar/inventar_inventur.php', 'target'=>'main'),
|
||||
'Etiketten'=>array('name'=>'Etiketten', 'link'=>'inventar/etiketten.php', 'target'=>'main'),
|
||||
)
|
||||
),
|
||||
),
|
||||
'Admin'=> array
|
||||
(
|
||||
'name'=>'Admin', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('admin','lv-plan','support'), 'image'=>'vilesci_admin.png',
|
||||
'name'=>'Admin', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('basis/cronjob'), 'image'=>'vilesci_admin.png',
|
||||
'link'=>'left.php?categorie=Admin', 'target'=>'nav',
|
||||
'Cronjobs'=>array('name'=>'Cronjobs', 'link'=>'stammdaten/cronjobverwaltung.php', 'target'=>'main','permissions'=>array('basis/cronjob')),
|
||||
),
|
||||
@@ -231,7 +230,7 @@ $menu=array
|
||||
'name'=>'SD-Tools', 'opener'=>'true', 'hide'=>'true', 'permissions'=>array('sdTools'), 'image'=>'vilesci_sdtools.png',
|
||||
'link'=>'https://sdtools.technikum-wien.at', 'target'=>'_blank',
|
||||
)
|
||||
|
||||
|
||||
);
|
||||
|
||||
require_once(dirname(__FILE__).'/../statistik.class.php');
|
||||
@@ -253,7 +252,7 @@ if($addon_obj->loadAddons())
|
||||
);
|
||||
|
||||
foreach($addon_obj->result as $row)
|
||||
{
|
||||
{
|
||||
$menu['Addons'][$row->kurzbz]=array('name'=>$row->addon_name, 'link'=>'../addons/'.$row->kurzbz.'/vilesci/index.php', 'target'=>'main');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
/* tables */
|
||||
table {
|
||||
background-color: #EFEFEF;
|
||||
margin:10px 0pt 15px;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
}
|
||||
table thead tr th, table tfoot tr th {
|
||||
border: 1px solid #FFF;
|
||||
padding: 4px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
th[ts-criteria]{
|
||||
background-color: #DCE4EF;
|
||||
cursor: pointer;
|
||||
}
|
||||
th.tablesort-asc,th.tablesort-desc{
|
||||
border-bottom: #000 2px solid;
|
||||
}
|
||||
|
||||
tbody tr:nth-child(2n){
|
||||
background-color: #D3D3D3;
|
||||
}
|
||||
@@ -42,3 +42,9 @@ TD,TH
|
||||
{
|
||||
font-size: 9pt;
|
||||
}
|
||||
table.tablesorter tbody td
|
||||
{
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
@@ -495,11 +495,13 @@ class wochenplan extends basis_db
|
||||
//global $kalender_begin_ws, $kalender_ende_ws, $kalender_begin_ss, $kalender_ende_ss;
|
||||
$kal_link_ws=$this->kal_link.'&begin='.$this->studiensemester_now->start.'&ende='.$this->studiensemester_now->ende;
|
||||
$kal_link_ss=$this->kal_link.'&begin='.$this->studiensemester_next->start.'&ende='.$this->studiensemester_next->ende;
|
||||
|
||||
//echo ' <strong>'.$p->t('global/kalender').': </strong>'.$this->crlf;
|
||||
echo $this->crlf;
|
||||
//echo ' '.$p->t('lvplan/uebersicht').': <A href="'.$kal_link_ws.'&format=html" target="_blank" title="HTML">'.$this->studiensemester_now->name.'</A> '.$this->crlf;
|
||||
echo $this->studiensemester_now->name.'<br>'.$this->crlf;
|
||||
echo ' <A href="'.$kal_link_ws.'&format=html" target="_blank" title="HTML"><IMG src="../../../skin/images/html.png" height="30" alt="HTML" border="0"></A>'.$this->crlf;
|
||||
echo ' <A href="'.$kal_link_ws.'&format=excel" title="excel"><IMG src="../../../skin/images/xls.png" height="30" alt="Excel" border="0"></A>'.$this->crlf;
|
||||
echo ' <A href="'.$kal_link_ws.'&format=csv" title="CSV"><IMG src="../../../skin/images/csv.png" height="30" alt="CSV" border="0"></A>'.$this->crlf;
|
||||
echo ' <A href="'.$kal_link_ws.'&format=csv&target=outlook" title="CSV-Outlook"><IMG src="../../../skin/images/outlook.png" height="30" alt="CSV-Outlook" border="0"></A>'.$this->crlf;
|
||||
echo ' <A href="'.$kal_link_ws.'&format=ical&version=1&target=ical" title="iCal Version 1.0"><IMG src="../../../skin/images/ical1.0.png" height="30" alt="vCal Version 1.0" border="0"></A>'.$this->crlf;
|
||||
@@ -508,6 +510,7 @@ class wochenplan extends basis_db
|
||||
//echo ' '.$p->t('lvplan/uebersicht').': <A href="'.$kal_link_ss.'&format=html" target="_blank" title="HTML">'.$this->studiensemester_next->name.'</A> '.$this->crlf;
|
||||
echo ' <span style="color:#999">'.$this->studiensemester_next->name.'</span><br>'.$this->crlf;
|
||||
echo ' <A href="'.$kal_link_ss.'&format=html" target="_blank" title="HTML"><IMG src="../../../skin/images/html_light.png" height="30" alt="HTML" border="0"></A>'.$this->crlf;
|
||||
echo ' <A href="'.$kal_link_ss.'&format=excel" title="excel"><IMG src="../../../skin/images/xls_light.png" height="30" alt="Excel" border="0"></A>'.$this->crlf;
|
||||
echo ' <A href="'.$kal_link_ss.'&format=csv" title="CSV"><IMG src="../../../skin/images/csv_light.png" height="30" alt="CSV" border="0"></A>'.$this->crlf;
|
||||
echo ' <A href="'.$kal_link_ss.'&format=csv&target=outlook" title="CSV-Outlook"><IMG src="../../../skin/images/outlook_light.png" height="30" alt="CSV-Outlook" border="0"></A>'.$this->crlf;
|
||||
echo ' <A href="'.$kal_link_ss.'&format=ical&version=1&target=ical" title="iCal Version 1.0"><IMG src="../../../skin/images/ical1.0_light.png" height="30" alt="iCal Version 1.0" border="0"></A>'.$this->crlf;
|
||||
@@ -2264,6 +2267,7 @@ class wochenplan extends basis_db
|
||||
{
|
||||
$blocked=array();
|
||||
$gruppiert=array();
|
||||
|
||||
for ($k=0; $k<$num_rows_stunde; $k++)
|
||||
{
|
||||
$row = $this->db_fetch_object($this->stunde, $k);
|
||||
@@ -2280,14 +2284,20 @@ class wochenplan extends basis_db
|
||||
unset($lehrverband);
|
||||
if (isset($lehrfach))
|
||||
unset($lehrfach);
|
||||
if (isset($lektor_uids))
|
||||
unset($lektor_uids);
|
||||
if (isset($stunden_arr))
|
||||
unset($stunden_arr);
|
||||
foreach ($this->std_plan[$i][$j] as $lehrstunde)
|
||||
{
|
||||
|
||||
$unr[]=$lehrstunde->unr;
|
||||
// Lektoren
|
||||
$lektor[]=$lehrstunde->lektor;
|
||||
$lektor_uids[]=$lehrstunde->lektor_uid;
|
||||
// Lehrverband
|
||||
$lvb=$lehrstunde->stg.'-'.$lehrstunde->sem;
|
||||
$stunden_arr[]=$j;
|
||||
if ($lehrstunde->ver!=null && $lehrstunde->ver!='0' && $lehrstunde->ver!='')
|
||||
{
|
||||
$lvb.=$lehrstunde->ver;
|
||||
@@ -2383,49 +2393,38 @@ class wochenplan extends basis_db
|
||||
if(!$blockcontinue)
|
||||
{
|
||||
// Blockungen ueber mehrere Stunden erkennen
|
||||
if (isset($this->std_plan[$i][$j+1][$idx]) && isset($this->std_plan[$i][$j+1][$idx]->stundenplan_id)
|
||||
&& ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+1][$idx]->unr)
|
||||
&& $this->std_plan[$i][$j][$idx]!='0' && $k<($num_rows_stunde-1)
|
||||
&& !($this->std_plan[$i][$j][$idx]->reservierung && $this->std_plan[$i][$j][$idx]->lektor!=$this->std_plan[$i][$j+1][$idx]->lektor))
|
||||
|
||||
$blockflag=false;
|
||||
for($blockstunden=1;$blockstunden<=$num_rows_stunde;$blockstunden++)
|
||||
{
|
||||
//2er Block
|
||||
if(isset($blocked[$this->std_plan[$i][$j][$idx]->unr]))
|
||||
$blocked[$this->std_plan[$i][$j][$idx]->unr]++;
|
||||
else
|
||||
$blocked[$this->std_plan[$i][$j][$idx]->unr]=1;
|
||||
$row = $this->db_fetch_object($this->stunde, ($k+1));
|
||||
$end_time=$row->ende;
|
||||
|
||||
if (isset($this->std_plan[$i][$j+2][$idx]) && isset($this->std_plan[$i][$j+2][$idx]->stundenplan_id)
|
||||
&& ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+2][$idx]->unr)
|
||||
&& $k<($num_rows_stunde-2)
|
||||
&& !($this->std_plan[$i][$j][$idx]->reservierung && $this->std_plan[$i][$j][$idx]->lektor!=$this->std_plan[$i][$j+2][$idx]->lektor))
|
||||
if (isset($this->std_plan[$i][$j+$blockstunden][$idx]) && isset($this->std_plan[$i][$j+$blockstunden][$idx]->stundenplan_id)
|
||||
&& ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+$blockstunden][$idx]->unr)
|
||||
&& $this->std_plan[$i][$j][$idx]!='0' && $k<($num_rows_stunde-$blockstunden)
|
||||
&& !($this->std_plan[$i][$j][$idx]->reservierung && $this->std_plan[$i][$j][$idx]->lektor!=$this->std_plan[$i][$j+$blockstunden][$idx]->lektor))
|
||||
{
|
||||
//3er Block
|
||||
$blocked[$this->std_plan[$i][$j][$idx]->unr]++;
|
||||
$row = $this->db_fetch_object($this->stunde, ($k+2));
|
||||
$end_time=$row->ende;
|
||||
|
||||
if (isset($this->std_plan[$i][$j+3][$idx]) && isset($this->std_plan[$i][$j+3][$idx]->stundenplan_id)
|
||||
&& ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+3][$idx]->unr)
|
||||
&& $k<($num_rows_stunde-3)
|
||||
&& !($this->std_plan[$i][$j][$idx]->reservierung && $this->std_plan[$i][$j][$idx]->lektor!=$this->std_plan[$i][$j+3][$idx]->lektor))
|
||||
{
|
||||
//4er Block
|
||||
if(isset($blocked[$this->std_plan[$i][$j][$idx]->unr]))
|
||||
$blocked[$this->std_plan[$i][$j][$idx]->unr]++;
|
||||
$row = $this->db_fetch_object($this->stunde, ($k+3));
|
||||
else
|
||||
$blocked[$this->std_plan[$i][$j][$idx]->unr]=1;
|
||||
$row = $this->db_fetch_object($this->stunde, ($k+$blockstunden));
|
||||
$stunden_arr[]=$row->stunde;
|
||||
$end_time=$row->ende;
|
||||
$blockflag=true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!$blockflag)
|
||||
{
|
||||
$row = $this->db_fetch_object($this->stunde, $k);
|
||||
$stunden_arr[]=$row->stunde;
|
||||
$end_time=$row->ende;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$row = $this->db_fetch_object($this->stunde, $k);
|
||||
$end_time=$row->ende;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Wenn im selben Raum mehrere Lektoren sind bzw mehrere Gruppen
|
||||
//dann werden diese zusammengruppiert und als ein Eintrag angezeigt
|
||||
for($idx1=0;$idx1<count($this->std_plan[$i][$j]);$idx1++)
|
||||
@@ -2544,9 +2543,19 @@ class wochenplan extends basis_db
|
||||
$description = str_replace(',',' ',$description);
|
||||
|
||||
$return[]=array('UID'=>$UID,
|
||||
'lehrfach_id'=>(isset($this->std_plan[$i][$j][$idx]->lehrfach_id)?$this->std_plan[$i][$j][$idx]->lehrfach_id:''),
|
||||
'ort'=>$this->std_plan[$i][$j][$idx]->ort,
|
||||
'lektor_uid'=>array_unique($lektor_uids),
|
||||
'gruppen'=>array_unique($lehrverband),
|
||||
'stunden'=>array_unique($stunden_arr),
|
||||
'titel'=>$this->std_plan[$i][$j][$idx]->titel,
|
||||
'unr'=>$unr,
|
||||
'Summary'=>$Summary,
|
||||
'Description'=>$description,
|
||||
'start_date'=>$start_date,
|
||||
'end_date'=>$end_date,
|
||||
'start_time'=>$start_time,
|
||||
'end_time'=>$end_time,
|
||||
'dtstart'=>$start_date_time_ical,
|
||||
'dtend'=>$end_date_time_ical,
|
||||
'reservierung'=>$this->std_plan[$i][$j][$idx]->reservierung,
|
||||
|
||||
@@ -133,7 +133,22 @@ class zeitaufzeichnung extends basis_db
|
||||
//Variablen pruefen
|
||||
if(!$this->validate())
|
||||
return false;
|
||||
|
||||
|
||||
// check ob identischer eintrag existiert
|
||||
$check_qry = 'SELECT count(*) from campus.tbl_zeitaufzeichnung where uid='.$this->db_add_param($this->uid).' and start = '.$this->db_add_param($this->start).' and ende = '.$this->db_add_param($this->ende);
|
||||
if($this->db_query($check_qry) && $this->new)
|
||||
{
|
||||
if($row = $this->db_fetch_object())
|
||||
{
|
||||
if ($row->count)
|
||||
{
|
||||
$this->errormsg = 'Identischer Eintrag existiert!';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if($this->new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
|
||||
Reference in New Issue
Block a user