Merge branch 'master' into ci

Conflicts:
	.gitignore
	composer.json
	include/prestudent.class.php
	include/securimage/securimage.php
	include/studienplan.class.php
	system/dbupdate_3.2.php
	tests/codesniffer/FHComplete/Sniffs/Commenting/DocBlockAlignmentSniff.php
	tests/codesniffer/FHComplete/Sniffs/Commenting/FunctionCommentSniff.php
	tests/codesniffer/FHComplete/Sniffs/Commenting/FunctionCommentTypeSniff.php
	tests/codesniffer/FHComplete/Sniffs/ControlStructures/ControlSignatureSniff.php
	tests/codesniffer/FHComplete/Sniffs/ControlStructures/ElseIfDeclarationSniff.php
	tests/codesniffer/FHComplete/Sniffs/ControlStructures/WhileStructuresSniff.php
	tests/codesniffer/FHComplete/Sniffs/Formatting/OneClassPerUseSniff.php
	tests/codesniffer/FHComplete/Sniffs/Formatting/UseInAlphabeticalOrderSniff.php
	tests/codesniffer/FHComplete/Sniffs/Functions/ClosureDeclarationSniff.php
	tests/codesniffer/FHComplete/Sniffs/Functions/FunctionDeclarationArgumentSpacingSniff.php
	tests/codesniffer/FHComplete/Sniffs/NamingConventions/CamelCapsMethodNameSniff.php
	tests/codesniffer/FHComplete/Sniffs/NamingConventions/UpperCaseConstantNameSniff.php
	tests/codesniffer/FHComplete/Sniffs/NamingConventions/ValidClassBracketsSniff.php
	tests/codesniffer/FHComplete/Sniffs/NamingConventions/ValidFunctionNameSniff.php
	tests/codesniffer/FHComplete/Sniffs/NamingConventions/ValidTraitNameSniff.php
	tests/codesniffer/FHComplete/Sniffs/NamingConventions/ValidVariableNameSniff.php
	tests/codesniffer/FHComplete/Sniffs/PHP/DisallowShortOpenTagSniff.php
	tests/codesniffer/FHComplete/Sniffs/PHP/TypeCastingSniff.php
	tests/codesniffer/FHComplete/Sniffs/Strings/ConcatenationSpacingSniff.php
	tests/codesniffer/FHComplete/Sniffs/WhiteSpace/CommaSpacingSniff.php
	tests/codesniffer/FHComplete/Sniffs/WhiteSpace/FunctionCallSpacingSniff.php
	tests/codesniffer/FHComplete/Sniffs/WhiteSpace/FunctionClosingBraceSpaceSniff.php
	tests/codesniffer/FHComplete/Sniffs/WhiteSpace/FunctionOpeningBraceSpaceSniff.php
	tests/codesniffer/FHComplete/Sniffs/WhiteSpace/FunctionSpacingSniff.php
	tests/codesniffer/FHComplete/Sniffs/WhiteSpace/ObjectOperatorSpacingSniff.php
	tests/codesniffer/FHComplete/Sniffs/WhiteSpace/OperatorSpacingSniff.php
	tests/codesniffer/FHComplete/Sniffs/WhiteSpace/ScopeIndentSniff.php
	tests/codesniffer/FHComplete/Sniffs/WhiteSpace/TabAndSpaceSniff.php
	tests/codesniffer/FHComplete/ruleset.xml
	tests/codesniffer/FHComplete/tests/FHCompletePHPStandardTest.php
	tests/codesniffer/FHComplete/tests/TestHelper.php
	tests/codesniffer/FHComplete/tests/bootstrap.php
	tests/codesniffer/FHComplete/tests/files/FHComplete/throws_pass.php
	tests/codesniffer/FHComplete/tests/files/bad_trait_name.php
	tests/codesniffer/FHComplete/tests/files/class_brackets_fail1.php
	tests/codesniffer/FHComplete/tests/files/class_brackets_fail2.php
	tests/codesniffer/FHComplete/tests/files/class_brackets_fail3.php
	tests/codesniffer/FHComplete/tests/files/class_underscore_prefix_pass.php
	tests/codesniffer/FHComplete/tests/files/control_structure_brackets_pass.php
	tests/codesniffer/FHComplete/tests/files/control_structure_dowhile.php
	tests/codesniffer/FHComplete/tests/files/control_structure_elseif.php
	tests/codesniffer/FHComplete/tests/files/control_structure_indentation.php
	tests/codesniffer/FHComplete/tests/files/control_structure_nobrackets.php
	tests/codesniffer/FHComplete/tests/files/control_structure_nospace.php
	tests/codesniffer/FHComplete/tests/files/control_structure_while.php
	tests/codesniffer/FHComplete/tests/files/control_structures_no_newline.php
	tests/codesniffer/FHComplete/tests/files/docblock_align_fail.php
	tests/codesniffer/FHComplete/tests/files/docblock_align_flat_pass.php
	tests/codesniffer/FHComplete/tests/files/docblock_align_pass.php
	tests/codesniffer/FHComplete/tests/files/double_space.php
	tests/codesniffer/FHComplete/tests/files/for_function_comment_pass.php
	tests/codesniffer/FHComplete/tests/files/function_comment_opening_line_fail.php
	tests/codesniffer/FHComplete/tests/files/function_comment_opening_line_pass.php
	tests/codesniffer/FHComplete/tests/files/function_comment_type_fail.php
	tests/codesniffer/FHComplete/tests/files/function_comment_type_pass.php
	tests/codesniffer/FHComplete/tests/files/function_spacing.php
	tests/codesniffer/FHComplete/tests/files/mixing_indent.php
	tests/codesniffer/FHComplete/tests/files/multiple_use.php
	tests/codesniffer/FHComplete/tests/files/multiple_use_pass.php
	tests/codesniffer/FHComplete/tests/files/operator_spacing_pass.php
	tests/codesniffer/FHComplete/tests/files/short_open_tags_fail.php
	tests/codesniffer/FHComplete/tests/files/short_open_tags_pass.php
	tests/codesniffer/FHComplete/tests/files/space_tab.php
	tests/codesniffer/FHComplete/tests/files/tab_space.php
	tests/codesniffer/FHComplete/tests/files/traits_no_order.php
	tests/codesniffer/FHComplete/tests/files/traits_pass.php
	tests/codesniffer/FHComplete/tests/files/type_casting_fail.php
	tests/codesniffer/FHComplete/tests/files/type_casting_pass.php
	tests/codesniffer/FHComplete/tests/files/use_class_and_closure_pass.php
	tests/codesniffer/FHComplete/tests/files/use_closure_pass.php
	tests/codesniffer/FHComplete/tests/files/use_no_order.php
	tests/codesniffer/FHComplete/tests/files/use_ok_pass.php
	tests/codesniffer/FHComplete/tests/files/use_with_commas.php
	tests/codesniffer/FHComplete/tests/files/variable_name_pass.php
	tests/codesniffer/FHComplete/tests/files/whitespace_comma.php
	tests/codesniffer/FHComplete/tests/files/whitespace_comma_before.php
	tests/codesniffer/FHComplete/tests/files/whitespace_comma_pass.php
	tests/codesniffer/FHComplete/tests/ruleset.xml
This commit is contained in:
Paminger
2016-04-28 18:14:40 +02:00
184 changed files with 20625 additions and 14946 deletions
+11 -12
View File
@@ -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 zur Verwaltung der Abschlusspruefungen
@@ -327,12 +328,12 @@ class abschlusspruefung extends basis_db
}
/**
* Liefert die letzte Abschlussprüfung eines Studenten
* @param type $student_uid
*/
public function getLastAbschlusspruefung($student_uid)
{
/**
* Liefert die letzte Abschlussprüfung eines Studenten
* @param type $student_uid
*/
public function getLastAbschlusspruefung($student_uid)
{
$qry = "SELECT
*
FROM
@@ -341,7 +342,7 @@ class abschlusspruefung extends basis_db
WHERE student_uid=".$this->db_add_param($student_uid, FHC_STRING, false)."
ORDER BY datum DESC LIMIT 1";
if($this->db_query($qry))
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
@@ -365,7 +366,6 @@ class abschlusspruefung extends basis_db
$this->insertamum = $row->insertamum;
$this->insertvon = $row->insertvon;
$this->ext_id = $row->ext_id;
}
return true;
}
@@ -374,7 +374,6 @@ class abschlusspruefung extends basis_db
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
}
?>
+27 -27
View File
@@ -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;
}
}
+7 -5
View File
@@ -15,9 +15,10 @@
* 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>.
* 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');
@@ -156,8 +157,9 @@ class akadgrad extends basis_db
}
}
public function __toString(){
return $this->akadgrad_kurzbz;
public function __toString()
{
return $this->akadgrad_kurzbz;
}
}
?>
+439 -388
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+315 -247
View File
@@ -16,282 +16,350 @@
* 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, $lehrveranstaltung_id=null, $lehrveranstaltung_id_kompatibel=null)
{
$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($lehrveranstaltung_id != NULL)
{
$qry .= " AND lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id);
}
if($lehrveranstaltung_id_kompatibel != NULL)
{
$qry .= " AND lehrveranstaltung_id_kompatibel=".$this->db_add_param($lehrveranstaltung_id_kompatibel);
}
$qry .= ";";
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;
}
}
}
}
+7 -2
View File
@@ -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))
Regular → Executable
+92 -73
View File
@@ -1,73 +1,92 @@
<?php
// Auth: Benutzer des Webportals
define ('USER_UID','strtolower(trim($_SERVER["REMOTE_USER"]))');
// fuer Testzwecke
//define ('USER_UID','pam');
// Hintergrundfarben fuer Tabellen beim Zeitwunsch
global $cfgStdBgcolor;
$cfgStdBgcolor=array();
$cfgStdBgcolor[0]="#CC0000";
$cfgStdBgcolor[1]="#FF2200";
$cfgStdBgcolor[2]="#FF9922";
$cfgStdBgcolor[3]="#FFFF55";
$cfgStdBgcolor[4]="#C0ECC3";
$cfgStdBgcolor[5]="#48FA66";
$cfgStdBgcolor[6]="#CCFFCC";
// Mehrsprachige Wochentage
global $tagbez;
$tagbez=array();
$tagbez[1][1]="Montag";
$tagbez[1][2]="Dienstag";
$tagbez[1][3]="Mittwoch";
$tagbez[1][4]="Donnerstag";
$tagbez[1][5]="Freitag";
$tagbez[1][6]="Samstag";
$tagbez[1][7]="Sonntag";
$tagbez[2][1]="Monday";
$tagbez[2][2]="Tuesday";
$tagbez[2][3]="Wednesday";
$tagbez[2][4]="Thursday";
$tagbez[2][5]="Friday";
$tagbez[2][6]="Saturday";
$tagbez[2][7]="Sunday";
// Mehrsprache Monatstage
global $monatsname;
$monatsname = array();
$monatsname[1][0]="Januar";
$monatsname[1][1]="Februar";
$monatsname[1][2]="März";
$monatsname[1][3]="April";
$monatsname[1][4]="Mai";
$monatsname[1][5]="Juni";
$monatsname[1][6]="Juli";
$monatsname[1][7]="August";
$monatsname[1][8]="September";
$monatsname[1][9]="Oktober";
$monatsname[1][10]="November";
$monatsname[1][11]="Dezember";
$monatsname[2][0]="January";
$monatsname[2][1]="February";
$monatsname[2][2]="March";
$monatsname[2][3]="April";
$monatsname[2][4]="May";
$monatsname[2][5]="June";
$monatsname[2][6]="July";
$monatsname[2][7]="August";
$monatsname[2][8]="September";
$monatsname[2][9]="October";
$monatsname[2][10]="November";
$monatsname[2][11]="December";
//$monatsname = array("Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
// Studiengaenge die keine Alias Email Adressen erhalten
$noalias=array();
//$noalias[0]='330';
//$noalias[1]='331';
//$noalias[2]='204';
?>
<?php
// Auth: Benutzer des Webportals
define ('USER_UID','strtolower(trim($_SERVER["REMOTE_USER"]))');
// fuer Testzwecke
//define ('USER_UID','pam');
// Hintergrundfarben fuer Tabellen beim Zeitwunsch
global $cfgStdBgcolor;
$cfgStdBgcolor=array();
$cfgStdBgcolor[0]="#CC0000";
$cfgStdBgcolor[1]="#FF2200";
$cfgStdBgcolor[2]="#FF9922";
$cfgStdBgcolor[3]="#FFFF55";
$cfgStdBgcolor[4]="#C0ECC3";
$cfgStdBgcolor[5]="#48FA66";
$cfgStdBgcolor[6]="#CCFFCC";
// Mehrsprachige Wochentage
global $tagbez;
$tagbez=array();
$tagbez[1][1]="Montag";
$tagbez[1][2]="Dienstag";
$tagbez[1][3]="Mittwoch";
$tagbez[1][4]="Donnerstag";
$tagbez[1][5]="Freitag";
$tagbez[1][6]="Samstag";
$tagbez[1][7]="Sonntag";
$tagbez[2][1]="Monday";
$tagbez[2][2]="Tuesday";
$tagbez[2][3]="Wednesday";
$tagbez[2][4]="Thursday";
$tagbez[2][5]="Friday";
$tagbez[2][6]="Saturday";
$tagbez[2][7]="Sunday";
$tagbez[4][1]="Lunedì";
$tagbez[4][2]="Martedì";
$tagbez[4][3]="Mercoledì";
$tagbez[4][4]="Giovedì";
$tagbez[4][5]="Venerdì";
$tagbez[4][6]="Sabato";
$tagbez[4][7]="Domenica";
// Mehrsprache Monatstage
global $monatsname;
$monatsname = array();
$monatsname[1][0]="Januar";
$monatsname[1][1]="Februar";
$monatsname[1][2]="März";
$monatsname[1][3]="April";
$monatsname[1][4]="Mai";
$monatsname[1][5]="Juni";
$monatsname[1][6]="Juli";
$monatsname[1][7]="August";
$monatsname[1][8]="September";
$monatsname[1][9]="Oktober";
$monatsname[1][10]="November";
$monatsname[1][11]="Dezember";
$monatsname[2][0]="January";
$monatsname[2][1]="February";
$monatsname[2][2]="March";
$monatsname[2][3]="April";
$monatsname[2][4]="May";
$monatsname[2][5]="June";
$monatsname[2][6]="July";
$monatsname[2][7]="August";
$monatsname[2][8]="September";
$monatsname[2][9]="October";
$monatsname[2][10]="November";
$monatsname[2][11]="December";
$monatsname[4][0]="Gennaio";
$monatsname[4][1]="Febbraio";
$monatsname[4][2]="Marzo";
$monatsname[4][3]="Aprile";
$monatsname[4][4]="Maggio";
$monatsname[4][5]="Giunio";
$monatsname[4][6]="Luglio";
$monatsname[4][7]="Agosto";
$monatsname[4][8]="Settembre";
$monatsname[4][9]="Ottobre";
$monatsname[4][10]="Novembre";
$monatsname[4][11]="Dicembre";
//$monatsname = array("Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
// Studiengaenge die keine Alias Email Adressen erhalten
$noalias=array();
//$noalias[0]='330';
//$noalias[1]='331';
//$noalias[2]='204';
?>
+6 -2
View File
@@ -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))
{
+118 -11
View File
@@ -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;
@@ -78,10 +79,11 @@ class lehrveranstaltung extends basis_db
public $alvs;
public $lvps;
public $las;
public $benotung=false;
public $lvinfo=false;
public $benotung=true;
public $lvinfo=true;
public $curriculum=true;
public $export=true;
/**
* Konstruktor
@@ -158,11 +160,15 @@ class lehrveranstaltung extends basis_db
$this->alvs = $row->alvs;
$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'];
@@ -226,9 +232,10 @@ 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;
@@ -363,6 +370,7 @@ class lehrveranstaltung extends basis_db
$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;
@@ -492,6 +500,7 @@ class lehrveranstaltung extends basis_db
$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;
@@ -572,6 +581,7 @@ class lehrveranstaltung extends basis_db
$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;
@@ -730,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,benotung,lvinfo) 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) . ', ' .
@@ -772,7 +782,8 @@ class lehrveranstaltung extends basis_db
$this->db_add_param($this->lvps).','.
$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->lvinfo, FHC_BOOLEAN).','.
$this->db_add_param($this->lehrauftrag, FHC_BOOLEAN)
.');';
}
else
@@ -825,7 +836,8 @@ class lehrveranstaltung extends basis_db
'lvps = '.$this->db_add_param($this->lvps).', '.
'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).' '.
'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) . ';';
}
@@ -933,6 +945,7 @@ class lehrveranstaltung extends basis_db
$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;
@@ -1025,6 +1038,7 @@ class lehrveranstaltung extends basis_db
$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;
@@ -1142,6 +1156,7 @@ class lehrveranstaltung extends basis_db
$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;
@@ -1176,7 +1191,9 @@ class lehrveranstaltung extends basis_db
tbl_studienplan_lehrveranstaltung.koordinator as stpllv_koordinator,
tbl_studienplan_lehrveranstaltung.studienplan_lehrveranstaltung_id_parent,
tbl_studienplan_lehrveranstaltung.sort stpllv_sort,
tbl_studienplan_lehrveranstaltung.curriculum
tbl_studienplan_lehrveranstaltung.curriculum,
tbl_studienplan_lehrveranstaltung.export,
tbl_studienplan_lehrveranstaltung.genehmigung
FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_studienplan_lehrveranstaltung
USING(lehrveranstaltung_id)
@@ -1234,18 +1251,27 @@ class lehrveranstaltung extends basis_db
$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;
if ($obj->bezeichnung_arr['English'] == '')
$obj->bezeichnung_arr['English'] = $obj->bezeichnung_arr['German'];
$obj->sws = $row->sws;
$obj->lvs = $row->lvs;
$obj->alvs = $row->alvs;
$obj->lvps = $row->lvps;
$obj->las = $row->las;
$obj->stpllv_semester = $row->stpllv_semester;
$obj->stpllv_pflicht = $this->db_parse_bool($row->stpllv_pflicht);
$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;
@@ -1279,7 +1305,7 @@ class lehrveranstaltung extends basis_db
/**
* Generiert die Subtrees des Lehrveranstaltungstrees
*/
protected function getLehrveranstaltungTreeChilds($studienplan_lehrveranstaltung_id)
public function getLehrveranstaltungTreeChilds($studienplan_lehrveranstaltung_id)
{
$childs = array();
foreach ($this->lehrveranstaltungen as $row)
@@ -1293,6 +1319,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
*/
@@ -1322,6 +1373,7 @@ class lehrveranstaltung extends basis_db
$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;
@@ -1346,6 +1398,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->lehrauftrag = $this->db_parse_bool($this->lehrauftrag);
$values[] = $obj;
}
@@ -1395,7 +1448,9 @@ class lehrveranstaltung extends basis_db
$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)
{
@@ -1424,6 +1479,7 @@ class lehrveranstaltung extends basis_db
$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;
}
@@ -1525,6 +1581,7 @@ class lehrveranstaltung extends basis_db
$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;
@@ -1690,6 +1747,7 @@ class lehrveranstaltung extends basis_db
$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;
@@ -1817,6 +1875,7 @@ class lehrveranstaltung extends basis_db
$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;
@@ -1942,6 +2001,7 @@ class lehrveranstaltung extends basis_db
$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;
@@ -2206,6 +2266,7 @@ class lehrveranstaltung extends basis_db
$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;
@@ -2381,5 +2442,51 @@ class lehrveranstaltung extends basis_db
return false;
}
}
/**
* Prüft ob eine Lehrvernstaltung in Studienplordnungen verwendet wird die
* nicht mehr in bearbeitung sind. Diese sind fuer die bearbeitung gesperrt
* @param integer $lehrveranstaltung_id
* @return boolean true wenn gesperrt
* @return boolean false wenn nicht gesperrt
* @return boolean false und errormsg im Fehlerfall
*/
public function isGesperrt($lehrveranstaltung_id)
{
$qry = "SELECT
count(*) as anzahl
FROM
lehre.tbl_studienplan
JOIN lehre.tbl_studienplan_lehrveranstaltung USING(studienplan_id)
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
WHERE
tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
AND tbl_studienordnung.status_kurzbz<>'development'";
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
if($row->anzahl>0)
{
return true;
}
else
{
return false;
}
}
else
{
$this->errormsg='Fehler beim Laden der Daten';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
+79 -78
View File
@@ -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;
+20 -16
View File
@@ -21,7 +21,7 @@
require_once(dirname(__FILE__)."/jquery.php");
echo '
<script>
var TARGET = "";
var SERVICE_TARGET = "";
function _GET()
{
var url = window.location.href;
@@ -37,16 +37,16 @@ echo '
return vars;
}
function AJAXCall(info, successfunction)
function AJAXCall(action, successfunction)
{
if(TARGET == "")
if(SERVICE_TARGET == "")
die("Es wurde kein AJAX-Target angegeben");
$.ajax(
{
url: TARGET,
url: SERVICE_TARGET,
type: "POST",
dataType: "html",
data: info,
data: action,
timeout: 5000
}).done(function(result)
@@ -60,32 +60,36 @@ echo '
die(result);
return false;
}
if(res.erfolg)
if(res.return)
{
try
if(res.action != "")
{
var ret = JSON.parse(res.info);
successfunction(ret);
}
catch(e)
{
die(res.info);
try
{
var ret = JSON.parse(res.action);
}
catch(e)
{
die(action.action + "<br><br>" + res.action);
}
}
successfunction(ret);
}
else
{
die(result);
die(res.message);
}
}).fail(function(jqXHR, status)
{
die(status);
die("AJAX failed: " + status);
});
}
function die(msg)
{
document.body.innerHTML = msg;
var full = "<h1 style=\'color:#900;\'>Fehler:</h1><div>"+msg+"</div>";
document.body.innerHTML = full;
throw new Error(msg);
}
+6 -7
View File
@@ -31,12 +31,12 @@ function returnAJAX($success, $obj)
//if there is an error
if(error_get_last())
$ret = array(
"erfolg" => false,
"return" => false,
);
else if(!$success)
{
$ret = array(
"erfolg" => false,
"return" => false,
"message" => $obj,
);
}
@@ -44,20 +44,19 @@ function returnAJAX($success, $obj)
else if (!$getuid = get_uid())
{
$ret = array(
"erfolg" => false,
"return" => false,
);
}
//if everything worked fine
else
{
$ret = array(
"erfolg" => true,
"user" => $getuid,
"info" => $obj,
"return" => true,
"action" => $obj,
);
}
echo json_encode($ret);
if($ret["erfolg"] === false)
if($ret["return"] === false)
die("");
}
?>
File diff suppressed because it is too large Load Diff
+62
View File
@@ -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;
}
}
}
?>
Regular → Executable
+137 -63
View File
@@ -20,6 +20,8 @@
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
*/
require_once(dirname(__FILE__).'/datum.class.php');
// require_once(dirname(__FILE__).'/person.class.php');
// require_once(dirname(__FILE__).'/log.class.php');
// CI
require_once(dirname(__FILE__).'/../ci_hack.php');
@@ -53,17 +55,17 @@ class prestudent extends Person_model
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;
@@ -572,8 +574,8 @@ class prestudent extends Person_model
(
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
@@ -979,9 +981,13 @@ class prestudent extends Person_model
return false;
}
$qry = "SELECT tbl_prestudentstatus.*, bezeichnung AS studienplan_bezeichnung
FROM public.tbl_prestudentstatus LEFT JOIN lehre.tbl_studienplan USING (studienplan_id)
WHERE prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER);
$qry = "SELECT tbl_prestudentstatus.*, bezeichnung AS studienplan_bezeichnung,
tbl_status.bezeichnung_mehrsprachig
FROM public.tbl_prestudentstatus
LEFT JOIN lehre.tbl_studienplan USING (studienplan_id)
JOIN public.tbl_status USING (status_kurzbz)
WHERE tbl_status.status_kurzbz = tbl_prestudentstatus.status_kurzbz
AND prestudent_id=".$this->db_add_param($prestudent_id, FHC_INTEGER);
if($studiensemester_kurzbz!='')
$qry.=" AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz);
@@ -996,6 +1002,7 @@ class prestudent extends Person_model
{
$this->prestudent_id = $row->prestudent_id;
$this->status_kurzbz = $row->status_kurzbz;
$this->status_mehrsprachig = $this->db_parse_lang_array($row->bezeichnung_mehrsprachig);
$this->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$this->ausbildungssemester = $row->ausbildungssemester;
$this->datum = $row->datum;
@@ -1125,9 +1132,9 @@ class prestudent extends Person_model
$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;
}
@@ -1140,56 +1147,60 @@ class prestudent extends Person_model
}
}
/**
* 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
@@ -1718,4 +1729,67 @@ class prestudent extends Person_model
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;
}
}
}
+455 -437
View File
@@ -1,437 +1,455 @@
<?php
/* Copyright (C) 2011 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 Österreicher <andreas.oesterreicher@technikum-wien.at>
*/
/**
* Klasse projekt
*
* Verwaltet die Projekte
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class projekt extends basis_db
{
public $new; // boolean
public $result = array(); // projekt Objekt
//Tabellenspalten
public $projekt_kurzbz; // string
public $nummer; // string
public $titel; // string
public $beschreibung; // string
public $beginn; // date
public $ende; // date
public $oe_kurzbz; // string
public $insertamum; // timestamp
public $insertvon; // string
public $updateamum; // timestamp
public $updatevon; // string
public $budget;
public $farbe;
/**
* Konstruktor
* @param $projekt_kurzbz ID der Projektarbeit, die geladen werden soll (Default=null)
*/
public function __construct($projekt_kurzbz=null)
{
parent::__construct();
if($projekt_kurzbz != null)
$this->load($projekt_kurzbz);
}
/**
* Laedt die Projek mit der Kurzbezeichnung $projekt_kurzbz
* @param $projekt_kurzbz Kurzbz des Projekts
* @return true wenn ok, false im Fehlerfall
*/
public function load($projekt_kurzbz)
{
$qry = "SELECT * FROM fue.tbl_projekt WHERE projekt_kurzbz=".$this->db_add_param($projekt_kurzbz);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->projekt_kurzbz = $row->projekt_kurzbz;
$this->nummer= $row->nummer;
$this->titel= $row->titel;
$this->beschreibung= $row->beschreibung;
$this->beginn= $row->beginn;
$this->ende = $row->ende;
$this->oe_kurzbz= $row->oe_kurzbz;
$this->budget= $row->budget;
$this->farbe= $row->farbe;
return true;
}
else
{
$this->errormsg = 'Datensatz wurde nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt alle aktuellen Projekte
* @param $kommend lädt auch alle zukünftigen
* @return boolean
*/
public function getProjekteAktuell($filter_kommende = false, $oe=null)
{
$qry = 'SELECT * FROM fue.tbl_projekt WHERE ';
if($filter_kommende)
$qry.= " ((beginn < CURRENT_TIMESTAMP AND ende > CURRENT_TIMESTAMP) OR beginn > CURRENT_TIMESTAMP)";
else
$qry.=" (beginn < CURRENT_TIMESTAMP AND ende > CURRENT_TIMESTAMP)";
if(!is_null($oe))
$qry.= ' AND oe_kurzbz='.$this->db_add_param($oe);
$qry.= ' ORDER BY oe_kurzbz;';
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new projekt();
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->nummer = $row->nummer;
$obj->titel = $row->titel;
$obj->beschreibung = $row->beschreibung;
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->budget = $row->budget;
$obj->farbe = $row->farbe;
$obj->aufwandstyp_kurzbz = $row->aufwandstyp_kurzbz;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt alle Projekte die zwischen beginn und ende liegen
* @param $beginn
* @param $ende
* @param $oe
* @return boolean
*/
public function getProjekteInZeitraum($beginn, $ende, $oe=null)
{
$qry = 'select * from fue.tbl_projekt where beginn <= '.$this->db_add_param($ende).' and ende >= '.$this->db_add_param($beginn);
if (!is_null($oe))
$qry.= " AND oe_kurzbz=".$this->db_add_param($oe);
$qry.= ' ORDER BY oe_kurzbz;';
//echo $qry;
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new projekt();
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->nummer = $row->nummer;
$obj->titel = $row->titel;
$obj->beschreibung = $row->beschreibung;
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->budget = $row->budget;
$obj->farbe = $row->farbe;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt die Projeke einer Organisationseinheit
* @param $projekt_kurzbz Kurzbezeichnung des Projekts
* @return true wenn ok, false im Fehlerfall
*/
public function getProjekte($oe=null)
{
$qry = 'SELECT * FROM fue.tbl_projekt';
if (!is_null($oe))
$qry.= " WHERE oe_kurzbz=".$this->db_add_param($oe);
$qry.= ' ORDER BY oe_kurzbz;';
//echo $qry;
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
{
$obj = new projekt();
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->nummer = $row->nummer;
$obj->titel = $row->titel;
$obj->beschreibung = $row->beschreibung;
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->budget = $row->budget;
$obj->farbe = $row->farbe;
$obj->aufwandstyp_kurzbz = $row->aufwandstyp_kurzbz;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
//Gesamtlaenge pruefen
if ($this->projekt_kurzbz==null)
{
$this->errormsg='Projekt kurzbz darf nicht NULL sein!';
}
if ($this->oe_kurzbz==null)
{
$this->errormsg='OE kurbz darf nicht NULL sein!';
}
if(mb_strlen($this->projekt_kurzbz)>16)
{
$this->errormsg = 'Projektyp_kurzbz darf nicht länger als 16 Zeichen sein';
return false;
}
if(mb_strlen($this->nummer)>8)
{
$this->errormsg = 'Nummer darf nicht länger als 8 Zeichen sein';
return false;
}
if(mb_strlen($this->titel)>256)
{
$this->errormsg = 'Titel darf nicht länger als 256 Zeichen sein';
return false;
}
$this->errormsg = '';
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 $projekt_kurzbz aktualisiert
* @return true wenn ok, false im Fehlerfall
*/
public function save($new=null)
{
//Variablen pruefen
if(!$this->validate())
return false;
if($new==null)
$new = $this->new;
if($new)
{
//Neuen Datensatz einfuegen
$qry='INSERT INTO fue.tbl_projekt (projekt_kurzbz, nummer, titel,beschreibung, beginn, ende, budget, farbe, oe_kurzbz, aufwandstyp_kurzbz) VALUES('.
$this->db_add_param($this->projekt_kurzbz).', '.
$this->db_add_param($this->nummer).', '.
$this->db_add_param($this->titel).', '.
$this->db_add_param($this->beschreibung).', '.
$this->db_add_param($this->beginn).', '.
$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->aufwandstyp_kurzbz).');';
}
else
{
//Updaten des bestehenden Datensatzes
$qry='UPDATE fue.tbl_projekt SET '.
'projekt_kurzbz='.$this->db_add_param($this->projekt_kurzbz).', '.
'nummer='.$this->db_add_param($this->nummer).', '.
'titel='.$this->db_add_param($this->titel).', '.
'beschreibung='.$this->db_add_param($this->beschreibung).', '.
'beginn='.$this->db_add_param($this->beginn).', '.
'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).', '.
'aufwandstyp_kurzbz='.$this->db_add_param($this->aufwandstyp_kurzbz).' '.
'WHERE projekt_kurzbz='.$this->db_add_param($this->projekt_kurzbz).';';
}
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
/**
* Loescht den Datenensatz
* @param $projekt_kurzbz Projekt das geloescht werden soll
* @return true wenn ok, false im Fehlerfall
*/
public function delete($projekt_kurzbz)
{
$qry = "DELETE FROM lehre.tbl_projek WHERE projekt_kurzbz=".$this->db_add_param($projekt_kurzbz);
if($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Loeschen des Datensatzes';
return false;
}
}
/**
* Liefert die Projekte zu denen ein Mitarbeiter zugeordnet ist.
* Optional auch mit den Zuteilungen zu Projektphasen.
* @param $mitarbeiter_uid
* @param $projektphasen boolean Default false. Wenn true, werden auch Zuteilungen zu Projektphasen geliefert.
*/
function getProjekteMitarbeiter($mitarbeiter_uid, $projektphasen=false)
{
$qry = "SELECT DISTINCT
tbl_projekt.*
FROM
fue.tbl_ressource
JOIN fue.tbl_projekt_ressource USING(ressource_id)
JOIN fue.tbl_projekt USING(projekt_kurzbz)
WHERE (beginn<=now() or beginn is null)
AND (ende>=now() OR ende is null)
AND mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid);
if ($projektphasen==true)
$qry.= "UNION
SELECT DISTINCT
tbl_projekt.*
FROM
fue.tbl_projektphase
JOIN fue.tbl_projekt USING (projekt_kurzbz)
JOIN fue.tbl_projekt_ressource USING (projektphase_id)
JOIN fue.tbl_ressource ON (tbl_ressource.ressource_id=tbl_projekt_ressource.ressource_id)
WHERE (tbl_projekt.beginn<=now() or tbl_projekt.beginn is null)
AND (tbl_projekt.ende>=now() OR tbl_projekt.ende is null)
AND mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid);
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new projekt();
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->nummer = $row->nummer;
$obj->titel = $row->titel;
$obj->beschreibung = $row->beschreibung;
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
$obj->oe_kurzbz = $row->oe_kurzbz;
$this->result[] = $obj;
}
return true;
}
else
{
$this->erromsg = 'Fehler beim Laden der Daten';
return false;
}
}
public function getProjektFromBestellung($bestellung_id)
{
$qry ="select * from fue.tbl_projekt
join wawi.tbl_projekt_bestellung USING (projekt_kurzbz)
where bestellung_id= ".$this->db_add_param($bestellung_id);
if($this->db_query($qry))
{
if($row = $this->db_fetch_object())
{
$this->projekt_kurzbz = $row->projekt_kurzbz;
$this->nummer= $row->nummer;
$this->titel= $row->titel;
$this->beschreibung= $row->beschreibung;
$this->beginn= $row->beginn;
$this->ende = $row->ende;
$this->oe_kurzbz= $row->oe_kurzbz;
$this->budget= $row->budget;
$this->farbe= $row->farbe;
return true;
}
else
{
$this->errormsg = 'Datensatz wurde nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
<?php
/* Copyright (C) 2011 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 Österreicher <andreas.oesterreicher@technikum-wien.at>
*/
/**
* Klasse projekt
*
* Verwaltet die Projekte
* @param string $projekt_kurzbz primary key Projektname.
*/
require_once(dirname(__FILE__).'/basis_db.class.php');
class projekt extends basis_db
{
public $new; // boolean
public $result = array(); // projekt Objekt
//Tabellenspalten
public $projekt_kurzbz; // string
public $nummer; // string
public $titel; // string
public $beschreibung; // string
public $beginn; // date
public $ende; // date
public $oe_kurzbz; // string
public $insertamum; // timestamp
public $insertvon; // string
public $updateamum; // timestamp
public $updatevon; // string
public $budget;
public $farbe;
public $anzahl_ma; // integer
public $aufwand_pt; // integer
/**
* Konstruktor
* @param string $projekt_kurzbz ID der Projektarbeit, die geladen werden soll (Default=null).
*/
public function __construct($projekt_kurzbz = null)
{
parent::__construct();
if($projekt_kurzbz != null)
$this->load($projekt_kurzbz);
}
/**
* Laedt die Projek mit der Kurzbezeichnung $projekt_kurzbz
* @param string $projekt_kurzbz Kurzbz des Projekts.
* @return true wenn ok, false im Fehlerfall
*/
public function load($projekt_kurzbz)
{
$qry = "SELECT * FROM fue.tbl_projekt WHERE projekt_kurzbz=".$this->db_add_param($projekt_kurzbz);
if ($this->db_query($qry))
{
if ($row = $this->db_fetch_object())
{
$this->projekt_kurzbz = $row->projekt_kurzbz;
$this->nummer = $row->nummer;
$this->titel = $row->titel;
$this->beschreibung = $row->beschreibung;
$this->beginn = $row->beginn;
$this->ende = $row->ende;
$this->oe_kurzbz = $row->oe_kurzbz;
$this->budget = $row->budget;
$this->farbe = $row->farbe;
$this->anzahl_ma = $row->anzahl_ma;
$this->aufwand_pt = $row->aufwand_pt;
return true;
}
else
{
$this->errormsg = 'Datensatz wurde nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt alle aktuellen Projekte
* @param bool $filter_kommende Lädt auch alle zukünftigen.
* @param string $oe Organisationseinheit.
* @return bool
*/
public function getProjekteAktuell($filter_kommende = false, $oe = null)
{
$qry = 'SELECT * FROM fue.tbl_projekt WHERE ';
if($filter_kommende)
$qry .= " ((beginn < CURRENT_TIMESTAMP AND ende > CURRENT_TIMESTAMP) OR beginn > CURRENT_TIMESTAMP)";
else
$qry .= " (beginn < CURRENT_TIMESTAMP AND ende > CURRENT_TIMESTAMP)";
if (!is_null($oe))
$qry .= ' AND oe_kurzbz='.$this->db_add_param($oe);
$qry .= ' ORDER BY oe_kurzbz;';
if ($this->db_query($qry))
{
while ($row = $this->db_fetch_object())
{
$obj = new projekt();
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->nummer = $row->nummer;
$obj->titel = $row->titel;
$obj->beschreibung = $row->beschreibung;
$obj->beginn = $row->beginn;
$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->anzahl_ma = $row->anzahl_ma;
$obj->aufwand_pt = $row->aufwand_pt;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt alle Projekte die zwischen beginn und ende liegen
* @param date $beginn Anfang.
* @param date $ende Ende.
* @param string $oe Organisationseinheit.
* @return bool
*/
public function getProjekteInZeitraum($beginn, $ende, $oe = null)
{
$qry = 'select * from fue.tbl_projekt where beginn <= '.$this->db_add_param($ende).' and ende >= '.$this->db_add_param($beginn);
if (!is_null($oe))
$qry .= " AND oe_kurzbz=".$this->db_add_param($oe);
$qry .= ' ORDER BY oe_kurzbz;';
//echo $qry;
if ($this->db_query($qry))
{
while ($row = $this->db_fetch_object())
{
$obj = new projekt();
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->nummer = $row->nummer;
$obj->titel = $row->titel;
$obj->beschreibung = $row->beschreibung;
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
$obj->oe_kurzbz = $row->oe_kurzbz;
$obj->budget = $row->budget;
$obj->farbe = $row->farbe;
$obj->anzahl_ma = $row->anzahl_ma;
$obj->aufwand_pt = $row->aufwand_pt;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Laedt die Projeke einer Organisationseinheit
* @param string $oe Organisationseinheit.
* @return true wenn ok, false im Fehlerfall
*/
public function getProjekte($oe = null)
{
$qry = 'SELECT * FROM fue.tbl_projekt';
if (!is_null($oe))
$qry .= " WHERE oe_kurzbz=".$this->db_add_param($oe);
$qry .= ' ORDER BY oe_kurzbz;';
//echo $qry;
if ($this->db_query($qry))
{
while ($row = $this->db_fetch_object())
{
$obj = new projekt();
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->nummer = $row->nummer;
$obj->titel = $row->titel;
$obj->beschreibung = $row->beschreibung;
$obj->beginn = $row->beginn;
$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->anzahl_ma = $row->anzahl_ma;
$obj->aufwand_pt = $row->aufwand_pt;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Prueft die Variablen auf Gueltigkeit
* @return true wenn ok, false im Fehlerfall
*/
protected function validate()
{
//Gesamtlaenge pruefen
if ($this->projekt_kurzbz == null)
{
$this->errormsg = 'Projekt kurzbz darf nicht NULL sein!';
}
if ($this->oe_kurzbz == null)
{
$this->errormsg = 'OE kurbz darf nicht NULL sein!';
}
if (mb_strlen($this->projekt_kurzbz) > 16)
{
$this->errormsg = 'Projektyp_kurzbz darf nicht länger als 16 Zeichen sein';
return false;
}
if (mb_strlen($this->nummer) > 8)
{
$this->errormsg = 'Nummer darf nicht länger als 8 Zeichen sein';
return false;
}
if (mb_strlen($this->titel) > 256)
{
$this->errormsg = 'Titel darf nicht länger als 256 Zeichen sein';
return false;
}
$this->errormsg = '';
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 $projekt_kurzbz aktualisiert
* @param bool $new Neu ja/nein.
* @return true wenn ok, false im Fehlerfall
*/
public function save($new = null)
{
//Variablen pruefen
if(!$this->validate())
return false;
if ($new == null)
$new = $this->new;
if ($new)
{
//Neuen Datensatz einfuegen
$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).', '.
$this->db_add_param($this->beschreibung).', '.
$this->db_add_param($this->beginn).', '.
$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->aufwand_pt).','.
$this->db_add_param($this->anzahl_ma).','.
$this->db_add_param($this->aufwandstyp_kurzbz).');';
}
else
{
//Updaten des bestehenden Datensatzes
$qry = 'UPDATE fue.tbl_projekt SET '.
'projekt_kurzbz='.$this->db_add_param($this->projekt_kurzbz).', '.
'nummer='.$this->db_add_param($this->nummer).', '.
'titel='.$this->db_add_param($this->titel).', '.
'beschreibung='.$this->db_add_param($this->beschreibung).', '.
'beginn='.$this->db_add_param($this->beginn).', '.
'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).', '.
'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).';';
}
if ($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
/**
* Loescht den Datenensatz
* @param string $projekt_kurzbz Projekt das geloescht werden soll.
* @return true wenn ok, false im Fehlerfall
*/
public function delete($projekt_kurzbz)
{
$qry = "DELETE FROM lehre.tbl_projek WHERE projekt_kurzbz=".$this->db_add_param($projekt_kurzbz);
if ($this->db_query($qry))
{
return true;
}
else
{
$this->errormsg = 'Fehler beim Loeschen des Datensatzes';
return false;
}
}
/**
* Liefert die Projekte zu denen ein Mitarbeiter zugeordnet ist.
* Optional auch mit den Zuteilungen zu Projektphasen.
* @param string $mitarbeiter_uid MitarbeiterUID.
* @param bool $projektphasen Default false. Wenn true, werden auch Zuteilungen zu Projektphasen geliefert.
* @return true wenn ok, false im Fehlerfall
*/
function getProjekteMitarbeiter($mitarbeiter_uid, $projektphasen = false)
{
$qry = "SELECT DISTINCT
tbl_projekt.*
FROM
fue.tbl_ressource
JOIN fue.tbl_projekt_ressource USING(ressource_id)
JOIN fue.tbl_projekt USING(projekt_kurzbz)
WHERE (beginn<=now() or beginn is null)
AND (ende>=now() OR ende is null)
AND mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid);
if ($projektphasen == true)
$qry .= "UNION
SELECT DISTINCT
tbl_projekt.*
FROM
fue.tbl_projektphase
JOIN fue.tbl_projekt USING (projekt_kurzbz)
JOIN fue.tbl_projekt_ressource USING (projektphase_id)
JOIN fue.tbl_ressource ON (tbl_ressource.ressource_id=tbl_projekt_ressource.ressource_id)
WHERE (tbl_projekt.beginn<=now() or tbl_projekt.beginn is null)
AND (tbl_projekt.ende>=now() OR tbl_projekt.ende is null OR 1=1)
AND mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid);
if ($result = $this->db_query($qry))
{
while ($row = $this->db_fetch_object($result))
{
$obj = new projekt();
$obj->projekt_kurzbz = $row->projekt_kurzbz;
$obj->nummer = $row->nummer;
$obj->titel = $row->titel;
$obj->beschreibung = $row->beschreibung;
$obj->beginn = $row->beginn;
$obj->ende = $row->ende;
$obj->oe_kurzbz = $row->oe_kurzbz;
$this->result[] = $obj;
}
return true;
}
else
{
$this->erromsg = 'Fehler beim Laden der Daten';
return false;
}
}
public function getProjektFromBestellung($bestellung_id)
{
$qry = "select * from fue.tbl_projekt
join wawi.tbl_projekt_bestellung USING (projekt_kurzbz)
where bestellung_id= ".$this->db_add_param($bestellung_id);
if ($this->db_query($qry))
{
if ($row = $this->db_fetch_object())
{
$this->projekt_kurzbz = $row->projekt_kurzbz;
$this->nummer = $row->nummer;
$this->titel = $row->titel;
$this->beschreibung = $row->beschreibung;
$this->beginn = $row->beginn;
$this->ende = $row->ende;
$this->oe_kurzbz = $row->oe_kurzbz;
$this->budget = $row->budget;
$this->farbe = $row->farbe;
$this->anzahl_ma = $row->anzahl_ma;
$this->aufwand_pt = $row->aufwand_pt;
return true;
}
else
{
$this->errormsg = 'Datensatz wurde nicht gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
?>
Regular → Executable
View File
+8 -2
View File
@@ -39,6 +39,7 @@ class pruefungsanmeldung extends basis_db {
public $statusupdatevon; //varchar(32)
public $statusupdateamum; //timestamp
public $anrechnung_id; //integer
public $pruefungstyp_kurzbz; //varchar(32)
/**
* Konstruktor
@@ -92,7 +93,7 @@ class pruefungsanmeldung extends basis_db {
if($new)
{
$qry = 'INSERT INTO campus.tbl_pruefungsanmeldung (uid, pruefungstermin_id, lehrveranstaltung_id, status_kurzbz, wuensche, reihung, kommentar, anrechnung_id) VALUES ('
$qry = 'INSERT INTO campus.tbl_pruefungsanmeldung (uid, pruefungstermin_id, lehrveranstaltung_id, status_kurzbz, wuensche, reihung, kommentar, anrechnung_id, pruefungstyp_kurzbz) VALUES ('
. $this->db_add_param($this->uid).', '
. $this->db_add_param($this->pruefungstermin_id).', '
. $this->db_add_param($this->lehrveranstaltung_id).', '
@@ -100,7 +101,8 @@ class pruefungsanmeldung extends basis_db {
. $this->db_add_param($this->wuensche).', '
. $this->db_add_param($this->reihung).', '
. $this->db_add_param($this->kommentar).', '
. $this->db_add_param($this->anrechnung_id).');';
. $this->db_add_param($this->anrechnung_id).', '
. $this->db_add_param($this->pruefungstyp_kurzbz).');';
}
else
{
@@ -113,6 +115,7 @@ class pruefungsanmeldung extends basis_db {
. 'reihung='.$this->db_add_param($this->reihung).', '
. 'kommentar='.$this->db_add_param($this->kommentar).', '
. 'anrechnung_id='.$this->db_add_param($this->anrechnung_id)
. 'pruefungstyp_kurzbz='.$this->db_add_param($this->pruefungstyp_kurzbz)
. ' WHERE pruefungsanmeldung_id='.$this->db_add_param($this->pruefungsanmeldung_id).';';
}
@@ -162,6 +165,7 @@ class pruefungsanmeldung extends basis_db {
$this->statusupdateamum = $row->statusupdateamum;
$this->statusupdatevon = $row->statusupdatevon;
$this->anrechnung_id = $row->anrechnung_id;
$this->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
}
return true;
}
@@ -206,6 +210,7 @@ class pruefungsanmeldung extends basis_db {
$anmeldung->statusupdateamum = $row->statusupdateamum;
$anmeldung->statusupdatevon = $row->statusupdatevon;
$anmeldung->anrechnung_id = $row->anrechnung_id;
$anmeldung->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
array_push($anmeldungen, $anmeldung);
}
return $anmeldungen;
@@ -264,6 +269,7 @@ class pruefungsanmeldung extends basis_db {
$anmeldung->statusupdateamum = $row->statusupdateamum;
$anmeldung->statusupdatevon = $row->statusupdatevon;
$anmeldung->anrechnung_id = $row->anrechnung_id;
$anmeldung->pruefungstyp_kurzbz = $row->pruefungstyp_kurzbz;
array_push($anmeldungen, $anmeldung);
}
return $anmeldungen;
Regular → Executable
+149 -111
View File
@@ -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;
}
}
}
File diff suppressed because it is too large Load Diff
Regular → Executable
+2 -1
View File
@@ -162,6 +162,7 @@ class studiengang extends Studiengang_model
$this->bezeichnung_arr['German'] = $this->bezeichnung;
$this->bezeichnung_arr['English'] = $this->english;
$this->bezeichnung_arr['Italian'] = $this->bezeichnung;
}
}
else
@@ -896,7 +897,7 @@ class studiengang extends Studiengang_model
$obj->bezeichnung = $row->bezeichnung;
$obj->beantragung = $this->db_parse_bool($row->beantragung);
$obj->lgart_biscode = $row->lgart_biscode;
$this->result[]= $obj;
}
return true;
+167
View File
@@ -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;
}
}
}
?>
+162 -121
View File
@@ -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>
@@ -59,7 +59,7 @@ class studienordnung extends basis_db
{
parent::__construct();
}
public function __set($name,$value)
{
switch ($name)
@@ -78,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
@@ -115,7 +115,7 @@ 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->status_kurzbz = $row->status_kurzbz;
$this->standort_id = $row->standort_id;
$this->updateamum = $row->updateamum;
$this->updatevon = $row->updatevon;
@@ -150,14 +150,15 @@ class studienordnung extends basis_db
if(is_null($studiensemester_kurzbz))
{
$qry = 'SELECT sto.*, s.bezeichnung as status_bezeichnung FROM lehre.tbl_studienordnung sto
JOIN lehre.tbl_studienordnungstatus s USING(status_kurzbz)
LEFT JOIN lehre.tbl_studienordnungstatus s USING(status_kurzbz)
WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
}
else
{
$qry = 'SELECT sto.*, s.bezeichnung as status_bezeichnung FROM lehre.tbl_studienordnung
JOIN lehre.tbl_studienordnungstatus s USING(status_kurzbz)
LEFT JOIN lehre.tbl_studienordnung_semester USING (studienordnung_id)
$qry = 'SELECT distinct sto.*, s.bezeichnung as status_bezeichnung, sem.* FROM lehre.tbl_studienordnung sto
JOIN lehre.tbl_studienordnungstatus s USING(status_kurzbz)
LEFT JOIN lehre.tbl_studienplan USING(studienordnung_id)
LEFT JOIN lehre.tbl_studienplan_semester sem USING (studienplan_id)
WHERE studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
if (!is_null($studiensemester_kurzbz))
@@ -200,7 +201,8 @@ class studienordnung extends basis_db
{
$obj->studiensemester_kurzbz = $row->studiensemester_kurzbz;
$obj->semester = $row->semester;
$obj->studienordnung_semester_id = $row->studienordnung_semester_id;
//$obj->studienordnung_semester_id = $row->studienordnung_semester_id;
$obj->studienplan_semester_id = $row->studienplan_semester_id;
}
$this->result[] = $obj;
}
@@ -271,7 +273,7 @@ class studienordnung extends basis_db
$this->errormsg = '';
return true;
}
/**
* Speichert den aktuellen Datensatz in die Datenbank
* @return true wenn ok, false im Fehlerfall
@@ -314,19 +316,19 @@ class studienordnung extends basis_db
' version='.$this->db_add_param($this->version).', '.
' bezeichnung='.$this->db_add_param($this->bezeichnung).', '.
' ects='.$this->db_add_param($this->ects).', '.
' gueltigvon='.$this->db_add_param($this->gueltigvon).', '.
' gueltigbis='.$this->db_add_param($this->gueltigbis).', '.
' studiengangbezeichnung='.$this->db_add_param($this->studiengangbezeichnung).', '.
' 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, FHC_INTEGER).', '.
' updateamum= now(), '.
' updatevon='.$this->db_add_param($this->updatevon).' '.
' WHERE studienordnung_id='.$this->db_add_param($this->studienordnung_id, FHC_INTEGER, false).';';
' gueltigvon='.$this->db_add_param($this->gueltigvon).', '.
' gueltigbis='.$this->db_add_param($this->gueltigbis).', '.
' studiengangbezeichnung='.$this->db_add_param($this->studiengangbezeichnung).', '.
' 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)
@@ -451,7 +453,7 @@ class studienordnung extends basis_db
}
return $data;
}
/**
* speichert die Semesterzuordnung für die Studieordnung
* @param int $studienordnung_id Die ID der Studienordnung
@@ -465,21 +467,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))
@@ -512,7 +514,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
@@ -526,24 +528,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)
@@ -558,7 +560,7 @@ class studienordnung extends basis_db
}
return false;
}
/**
* prüft ob die Studienordnung aktiv ist
* @param int $studienordnung_id Die ID der Studienordnung
@@ -573,9 +575,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)
@@ -586,7 +588,7 @@ class studienordnung extends basis_db
}
return false;
}
/**
* lädt alle zugeordneten Semester einer Studienordnung
* @param int $studienordnung_id ID der Studienordnung
@@ -598,24 +600,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())
{
@@ -624,20 +626,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())
{
@@ -645,7 +647,7 @@ class studienordnung extends basis_db
}
return $data;
}
public function deleteSemesterZuordnung($studienordnung_id, $studiensemester_kurzbz, $studiensemester=NULL)
{
if(!is_numeric($studienordnung_id))
@@ -653,21 +655,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;
@@ -678,7 +680,7 @@ class studienordnung extends basis_db
return false;
}
}
protected function isZuordnungGuelitg($studiensemester_kurzbz)
{
$studiensemester = new studiensemester();
@@ -686,12 +688,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();
@@ -708,7 +710,7 @@ class studienordnung extends basis_db
}
return false;
}
/**
* Laedt die Studienordnung zu der uebergebenen studienplan_id
* @param $studienplan_id der zu ladenden Studienordnung
@@ -760,7 +762,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
@@ -777,13 +779,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';
@@ -814,7 +816,7 @@ class studienordnung extends basis_db
$obj->new = false;
$this->result[] = $obj;
}
foreach($this->result as $key => $obj)
{
if($this->isAktiv($obj->studienordnung_id))
@@ -823,65 +825,104 @@ class studienordnung extends basis_db
}
}
array_values($this->result);
return true;
}
/**
* Laedt die Studienordnungen eines Studiengangs inklusive Status
* @param $studiengang_kz Kennzahl des Studiengangs
* @param $status_kurzbz Status
* @return boolean true wenn ok, false im Fehlerfall
*/
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) . ";";
$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;
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;
}
while ($row = $this->db_fetch_object())
/**
* Aendert den Status einer Studienordnung
* @param $studienordnung_id ID der Studienordnung
* @param $status_kurzbz Kurzbezeichnung des Status
* @return boolean true wenn erfolgreich, false im Fehlerfall
*/
public function changeState($studienordnung_id, $status_kurzbz)
{
$obj = new studienordnung();
$qry = "UPDATE lehre.tbl_studienordnung SET status_kurzbz=" . $this->db_add_param($status_kurzbz)
. " WHERE studienordnung_id=" . $this->db_add_param($studienordnung_id) . ";";
$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;
if (!$this->db_query($qry))
{
$this->errormsg = "Status konnte nicht geändert werden.";
return false;
}
return true;
}
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))
/**
* Laedt alle vorhandenen Studienordnungsstatus Einträge
* @return boolean true wenn ok, false im Fehlerfall
*/
public function getStatus()
{
$this->errormsg = "Status konnte nicht geändert werden.";
return false;
$qry = "SELECT * FROM lehre.tbl_studienordnungstatus order by reihenfolge";
if($result = $this->db_query($qry))
{
while($row = $this->db_fetch_object($result))
{
$obj = new stdClass();
$obj->status_kurzbz = $row->status_kurzbz;
$obj->bezeichnung = $row->bezeichnung;
$obj->reihenfolge = $row->reihenfolge;
$this->result[] = $obj;
}
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
return true;
}
}
?>
File diff suppressed because it is too large Load Diff
+191 -93
View File
@@ -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;
}
}
@@ -42,3 +42,9 @@ TD,TH
{
font-size: 9pt;
}
table.tablesorter tbody td
{
margin: 0;
padding: 0;
vertical-align: middle;
}
+8 -1
View File
@@ -482,7 +482,14 @@ class wochenplan extends basis_db
$this->link.='&stg_kz='.$this->stg_kz.'&sem='.$this->sem.'&ver='.$this->ver.'&grp='.$this->grp;
}
if ($this->type=='ort' && $this->ort_kurzbz != 'all')
echo '<strong>'.$p->t('lvplan/raum').': </strong>'.$this->ort_kurzbz.' - '.$this->ort_bezeichnung.' - '.($this->ort_max_person!=''?'( '.$this->ort_max_person.' '.$p->t('lvplan/personen').' )':'').($this->ort_content_id!=''?' - <a href="../../../cms/content.php?content_id='.$this->ort_content_id.'" target="_self">'.$p->t('lvplan/rauminformationenAnzeigen').'</a>':'').'<br>'.$this->ort_ausstattung;
{
echo '<strong>'.$p->t('lvplan/raum').': </strong>'.$this->ort_kurzbz;
echo ' - '.$this->ort_bezeichnung;
echo ($this->ort_max_person!=''?' - ( '.$this->ort_max_person.' '.$p->t('lvplan/personen').' )':'');
echo ($this->ort_content_id!=''?' - <a href="../../../cms/content.php?content_id='.$this->ort_content_id.'" target="_self">'.$p->t('lvplan/rauminformationenAnzeigen').'</a>':'');
echo '<span id="software"></span>';
echo '<br>'.$this->ort_ausstattung;
}
if ($this->type=='lva')
$this->link.='&lva='.$this->lva;
echo '</P>'.$this->crlf;