# Conflicts:
#	include/lehreinheitmitarbeiter.class.php
This commit is contained in:
kindlm
2016-02-23 19:30:08 +01:00
42 changed files with 2913 additions and 2098 deletions
+380 -375
View File
@@ -1,375 +1,380 @@
<?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> 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 $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;
}
}
}
?>
+121 -121
View File
@@ -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;
}
}
}
?>
+62 -62
View File
@@ -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
}
}
}
?>
?>
+7 -3
View File
@@ -489,7 +489,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 +629,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 +640,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))
+4 -1
View File
@@ -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;
+6 -1
View File
@@ -81,6 +81,7 @@ class lehrveranstaltung extends basis_db
public $benotung=false;
public $lvinfo=false;
public $curriculum=true;
/**
* Konstruktor
@@ -1174,7 +1175,8 @@ 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
FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_studienplan_lehrveranstaltung
USING(lehrveranstaltung_id)
@@ -1243,6 +1245,7 @@ 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->new = false;
$this->lehrveranstaltungen[] = $obj;
@@ -1391,6 +1394,7 @@ class lehrveranstaltung extends basis_db
$obj->benotung = $lv->benotung;
$obj->lvinfo = $lv->lvinfo;
$obj->zeugnis = $lv->zeugnis;
$obj->curriculum = $lv->curriculum;
$obj->children = array();
if(count($lv->childs) > 0)
@@ -1419,6 +1423,7 @@ class lehrveranstaltung extends basis_db
$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);
$values[] = $obj;
}
+10 -9
View File
@@ -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(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
+2 -1
View File
@@ -159,6 +159,7 @@ function checkZeilenUmbruch()
'name'=>$p->t('lehre/semesterplan'),
'icon'=>'../../../skin/images/button_semplan.png',
'link'=>$link,
'link_target'=>'_blank',
'text'=>$text
);
}
@@ -734,4 +735,4 @@ function isDirectoryEmpty($DOC_ROOT, $kurzbz, $semester, $short_short_name, $typ
}
?>
</tr>
</table>
</table>
+42 -33
View File
@@ -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 ' &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>'.$p->t('global/kalender').':&nbsp;&nbsp;&nbsp;</strong>'.$this->crlf;
echo $this->crlf;
//echo ' '.$p->t('lvplan/uebersicht').':&nbsp;<A href="'.$kal_link_ws.'&format=html" target="_blank" title="HTML">'.$this->studiensemester_now->name.'</A>&nbsp;'.$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 ' &nbsp;&nbsp;&nbsp;&nbsp;'.$p->t('lvplan/uebersicht').':&nbsp;<A href="'.$kal_link_ss.'&format=html" target="_blank" title="HTML">'.$this->studiensemester_next->name.'</A>&nbsp;'.$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,
+14 -1
View File
@@ -133,7 +133,20 @@ class zeitaufzeichnung extends basis_db
//Variablen pruefen
if(!$this->validate())
return false;
$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))
{
if($row = $this->db_fetch_object())
{
if ($row->count)
{
$this->errormsg = 'Identischer Eintrag existiert!';
return false;
}
}
}
if($this->new)
{
//Neuen Datensatz einfuegen