Dokumentvorlage Studienordnung (trunk)

This commit is contained in:
Martin Tatzber
2014-04-11 07:45:42 +00:00
parent 7e68228f2c
commit 90ee5828f8
3 changed files with 3147 additions and 267 deletions
+94
View File
@@ -548,6 +548,41 @@ class lehrveranstaltung extends basis_db
return true;
}
/**
* Zaehlt alle Lehrveranstaltungen einer Organisationsform in einem Studiengang
* @param $studiengang_kz
* @param $orgform_kurzbz
* @return false im Fehlerfall, ansonsten das Ergebnis
*/
public function count_lva_orgform($studiengang_kz, $orgform_kurzbz=null)
{
if(!is_numeric($studiengang_kz) || $studiengang_kz=='')
{
$this->errormsg = 'studiengang_kz muss eine gueltige Zahl sein';
return false;
}
/*
if(is_null($orgform_kurzbz) || $orgform_kurzbz=='')
{
$this->errormsg = 'keine orgform_kurzbz uebergeben';
return false;
}*/
$qry='SELECT count(*) as count FROM lehre.tbl_lehrveranstaltung
WHERE studiengang_kz='.$studiengang_kz.' AND orgform_kurzbz'.(is_null($orgform_kurzbz)?' is null':"='".$orgform_kurzbz."'");
//echo $qry;
$return=array();
if($db_result=$this->db_query($qry))
{
if($row=$this->db_fetch_object($db_result))
{
return $row->count;
}
}
$this->errormsg = 'Fehler bei der Datenbankabfrage';
return false;
}
/**
* Prueft die Gueltigkeit der Variablen
* @return true wenn ok, false im Fehlerfall
@@ -1804,5 +1839,64 @@ class lehrveranstaltung extends basis_db
}
return false;
}
/**
*
* @param type $lv_id
* @param type $semester -> Ausbildungssemester
* @return boolean
*/
public function getALVS($lv_id, $semester)
{
if($semester=='')
{
$this->errormsg = "Kein Semester übergeben";
return false;
}
$ss = ($semester%2==0)?'SS':'WS';
$qry_ss = "SELECT studiensemester_kurzbz, start, ende
FROM public.tbl_studiensemester
WHERE substring(studiensemester_kurzbz from 1 for 2)='$ss'
AND start < now() ORDER BY start DESC LIMIT 1";
if(!$result = $this->db_query($qry_ss))
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
if(!$row= $this->db_fetch_object($result))
{
$this->errormsg = "Kein Semester gefunden";
return false;
}
$qry_alvs = "SELECT sum(lm.semesterstunden) as alvs
FROM lehre.tbl_lehrveranstaltung
JOIN lehre.tbl_lehreinheit USING (lehrveranstaltung_id)
JOIN lehre.tbl_lehreinheitmitarbeiter lm USING (lehreinheit_id)
WHERE lehrveranstaltung_id = ".$this->db_add_param($lv_id, FHC_STRING)."
AND studiensemester_kurzbz = ".$this->db_add_param($row->studiensemester_kurzbz).";";
if(!$result_alvs=$this->db_query($qry_alvs))
{
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
return false;
}
if($row_alvs = $this->db_fetch_object($result_alvs))
{
return $row_alvs->alvs;
}
else
{
$this->errormsg = $qry_alvs;
return false;
}
}
}
?>
+117 -58
View File
@@ -1,6 +1,6 @@
<?php
/* Copyright (C) 2012 FH Technikum-Wien
/* Copyright (C) 2012 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
@@ -25,6 +25,7 @@ require_once('../include/studiengang.class.php');
require_once('../include/lehrveranstaltung.class.php');
require_once('../include/lvinfo.class.php');
require_once('../include/mitarbeiter.class.php');
require_once('../include/lehreinheitgruppe.class.php');
header("Content-type: application/xhtml+xml");
@@ -32,7 +33,9 @@ header("Content-type: application/xhtml+xml");
if(isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
{
if(isset($_REQUEST['stg_kz']))
{
{
$orgform_array=array('VBB','BB','DL','VZ');
// Studiengangsdaten laden
$stg_kz = $_REQUEST['stg_kz'];
//$datum = new datum();
@@ -41,25 +44,24 @@ if(isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
if(!$objStg->load($stg_kz))
die('Fehler beim laden des Studiengangs');
$objLV = new lehrveranstaltung();
$objLVInfo = new lvinfo();
$stg_typ=new studiengang();
$stg_typ->getStudiengangTyp($objStg->typ);
$stg_art=$stg_typ->bezeichnung;
switch($objStg->typ)
{
case 'b':
$titel_kurzbz='BSc';
$stg_art = 'Bachelor';
break;
case 'm':
$titel_kurzbz='MSc';
$titel_kurzbz = 'BSc';
break;
case 'm':
$stg_art = 'Master';
break;
default:
$titel_kurzbz='';
$titel_kurzbz ='MSc';
break;
case 'd':
$stg_art = 'Diplom';
break;
default:
$stg_art ='';
$titel_kurzbz = '';
}
$stgleiter = $objStg->getLeitung($objStg->studiengang_kz);
@@ -72,16 +74,22 @@ if(isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
switch($objStg->orgform_kurzbz)
{
case 'VBB':
$orgform_kurzbz_lang='Vollzeit und Berufsbegleitend';
break;
case 'VZ':
$orgform_kurzbz_lang='Vollzeit';
break;
case 'BB':
$orgform_kurzbz_lang='Berufsbegleitend';
break;
case 'DL':
$orgform_kurzbz_lang='Distance Learning';
break;
default:
$orgform_kurzbz_lang=$objStg->orgform_kurzbz;
}
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
echo '<studiengang>';
echo ' <studiengang_kz><![CDATA['.$objStg->studiengang_kz.']]></studiengang_kz>';
@@ -93,59 +101,110 @@ if(isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
echo ' <bezeichnung_englisch><![CDATA['.$objStg->english.']]></bezeichnung_englisch>';
echo ' <titel_kurzbz><![CDATA['.$titel_kurzbz.']]></titel_kurzbz>';
echo ' <studiengangsleitung><![CDATA['.$stgl.']]></studiengangsleitung>';
echo ' <orgform_kurzbz><![CDATA['.$objStg->orgform_kurzbz.']]></orgform_kurzbz>';
echo ' <orgform_kurzbz_lang><![CDATA['.$orgform_kurzbz_lang.']]></orgform_kurzbz_lang>';
/* echo ' <studienplan>';
echo ' <regelstudiendauer><![CDATA['.$objStg->max_semester.']]></regelstudiendauer>';
echo ' <bezeichnung><![CDATA['.$objStg->bezeichnung.']]></bezeichnung>';
echo ' <bezeichnung_englisch><![CDATA['.$objStg->english.']]></bezeichnung_englisch>';
echo ' <kurzbzlang><![CDATA['.$objStg->kurzbzlang.']]></kurzbzlang>'; */
echo ' <orgform>';
echo ' <orgform_kurzbz><![CDATA['.$objStg->orgform_kurzbz.']]></orgform_kurzbz>';
echo ' <orgform_kurzbz_lang><![CDATA['.$orgform_kurzbz_lang.']]></orgform_kurzbz_lang>';
echo ' <regelstudiendauer><![CDATA['.$objStg->max_semester.']]></regelstudiendauer>';
echo ' <studienplaetze><![CDATA['.$objStg->studienplaetze.']]></studienplaetze>';
// ************ Lehrveranstaltungen ***************
// for($i=1;$i<=$objStg->max_semester;$i++)
$objLV = new lehrveranstaltung();
if(!$objLV->load_lva($objStg->studiengang_kz, null,null,true,true,'orgform_kurzbz,semester,sort,bezeichnung'))
die('Fehler beim laden der Lehrveranstaltungen');
// $count_arr=$objLV->count_lva($objStg->studiengang_kz,'orgform_kurzbz');
foreach ($orgform_array as $orgform_kurzbz)
{
// if(!$objLV->load_lva($objStg->studiengang_kz, $i,null,true,true,'semester'))
if(!$objLV->load_lva($objStg->studiengang_kz, null,null,true,true,'semester'))
die('Fehler beim laden der Lehrveranstaltungen aus Semester '.$i);
// echo '<semester>';
foreach($objLV->lehrveranstaltungen as $lv)
$count=$objLV->count_lva_orgform($objStg->studiengang_kz,$orgform_kurzbz);
if($orgform_kurzbz==$objStg->orgform_kurzbz)
{
echo ' <lehrveranstaltung>';
//
echo ' <lv_semester><![CDATA['.$lv->semester.']]></lv_semester>';
echo ' <lv_bezeichnung><![CDATA['.$lv->bezeichnung.']]></lv_bezeichnung>';
echo ' <lv_kurzbz><![CDATA['.$lv->kurzbz.']]></lv_kurzbz>';
echo ' <lv_lehrform_kurzbz><![CDATA['.$lv->lehrform_kurzbz.']]></lv_lehrform_kurzbz>';
echo ' <lv_ects><![CDATA['.$lv->ects.']]></lv_ects>';
echo ' <lv_semesterstunden><![CDATA['.$lv->semesterstunden.']]></lv_semesterstunden>';
echo ' <lv_anmerkung><![CDATA['.clearHtmlTags($lv->anmerkung).']]></lv_anmerkung>';
// ***************** LV-Info ***************
if ($objLVInfo->exists($lv->lehrveranstaltung_id,'German'))
{
if(!$objLVInfo->load($lv->lehrveranstaltung_id,'German'))
die('Fehler beim laden der Lehrveranstaltungen');
//var_dump($objLVInfo);
echo ' <lvinfo_sprache><![CDATA['.clearHtmlTags($objLVInfo->sprache).']]></lvinfo_sprache>';
echo ' <lvinfo_titel><![CDATA['.clearHtmlTags($objLVInfo->titel).']]></lvinfo_titel>';
echo ' <lvinfo_lehrziele><![CDATA['.clearHtmlTags($objLVInfo->lehrziele).']]></lvinfo_lehrziele>';
echo ' <lvinfo_methodik><![CDATA['.clearHtmlTags($objLVInfo->methodik).']]></lvinfo_methodik>';
echo ' <lvinfo_lehrinhalte><![CDATA['.clearHtmlTags($objLVInfo->lehrinhalte).']]></lvinfo_lehrinhalte>';
echo ' <lvinfo_voraussetzungen><![CDATA['.clearHtmlTags($objLVInfo->voraussetzungen).']]></lvinfo_voraussetzungen>';
echo ' <lvinfo_unterlagen><![CDATA['.clearHtmlTags($objLVInfo->unterlagen).']]></lvinfo_unterlagen>';
echo ' <lvinfo_pruefungsordnung><![CDATA['.clearHtmlTags($objLVInfo->pruefungsordnung).']]></lvinfo_pruefungsordnung>';
echo ' <lvinfo_kurzbeschreibung><![CDATA['.clearHtmlTags($objLVInfo->kurzbeschreibung).']]></lvinfo_kurzbeschreibung>';
echo ' <lvinfo_anmerkungen><![CDATA['.clearHtmlTags($objLVInfo->anmerkungen).']]></lvinfo_anmerkungen>';
}
echo ' </lehrveranstaltung>';
$orgform_match=true;
$count+=$objLV->count_lva_orgform($objStg->studiengang_kz,null);
// echo '<orgform>'.$orgform_kurzbz.' ('.$count.')</orgform>';
}
// echo '</semester>';
// $i++;
else
{
$orgform_match=false;
}
if($count<1)
{
continue;
}
switch($orgform_kurzbz)
{
case 'VBB':
$orgform_kurzbz_lang='Vollzeit und Berufsbegleitend';
break;
case 'VZ':
$orgform_kurzbz_lang='Vollzeit';
break;
case 'BB':
$orgform_kurzbz_lang='Berufsbegleitend';
break;
case 'DL':
$orgform_kurzbz_lang='Distance Learning';
break;
default:
$orgform_kurzbz_lang=$orgform_kurzbz;
}
echo ' <orgform>';
echo ' <orgform_kurzbz><![CDATA['.$orgform_kurzbz.']]></orgform_kurzbz>';
echo ' <orgform_kurzbz_lang><![CDATA['.$orgform_kurzbz_lang.']]></orgform_kurzbz_lang>';
echo ' <regelstudiendauer><![CDATA['.$objStg->max_semester.']]></regelstudiendauer>';
echo ' <studienplaetze><![CDATA['.$objStg->studienplaetze.']]></studienplaetze>';
// ************ Lehrveranstaltungen ***************
for($i=1;$i<=$objStg->max_semester;$i++)
{
echo ' <semester>';
echo ' <semester_nr><![CDATA['.$i.']]></semester_nr>';
foreach($objLV->lehrveranstaltungen as $lv)
{
if(!($lv->semester==$i && ($lv->orgform_kurzbz==$orgform_kurzbz || ($orgform_match && is_null($lv->orgform_kurzbz)))))
continue;
$lv_alvs = new lehrveranstaltung();
if(!$alvs = $lv_alvs->getALVS($lv->lehrveranstaltung_id, $i))
$alvs = '';
echo ' <lehrveranstaltung>';
echo ' <lv_semester><![CDATA['.$lv->semester.']]></lv_semester>';
echo ' <lv_bezeichnung><![CDATA['.$lv->bezeichnung.']]></lv_bezeichnung>';
echo ' <lv_kurzbz><![CDATA['.$lv->kurzbz.']]></lv_kurzbz>';
echo ' <lv_lehrform_kurzbz><![CDATA['.$lv->lehrform_kurzbz.']]></lv_lehrform_kurzbz>';
echo ' <lv_gruppen><![CDATA[]]></lv_gruppen>';
echo ' <lv_ects><![CDATA['.$lv->ects.']]></lv_ects>';
echo ' <lv_semesterstunden><![CDATA['.$lv->semesterstunden.']]></lv_semesterstunden>';
echo ' <lv_alvs><![CDATA['.$alvs.']]></lv_alvs>';
echo ' <lv_anmerkung><![CDATA['.clearHtmlTags($lv->anmerkung).']]></lv_anmerkung>';
// ***************** LV-Info ***************
if ($objLVInfo->exists($lv->lehrveranstaltung_id,'German'))
{
if(!$objLVInfo->load($lv->lehrveranstaltung_id,'German'))
die('Fehler beim laden der Lehrveranstaltungen');
//var_dump($objLVInfo);
echo ' <lvinfo_sprache><![CDATA['.clearHtmlTags($objLVInfo->sprache).']]></lvinfo_sprache>';
echo ' <lvinfo_titel><![CDATA['.clearHtmlTags($objLVInfo->titel).']]></lvinfo_titel>';
echo ' <lvinfo_lehrziele><![CDATA['.clearHtmlTags($objLVInfo->lehrziele).']]></lvinfo_lehrziele>';
echo ' <lvinfo_methodik><![CDATA['.clearHtmlTags($objLVInfo->methodik).']]></lvinfo_methodik>';
echo ' <lvinfo_lehrinhalte><![CDATA['.clearHtmlTags($objLVInfo->lehrinhalte).']]></lvinfo_lehrinhalte>';
echo ' <lvinfo_voraussetzungen><![CDATA['.clearHtmlTags($objLVInfo->voraussetzungen).']]></lvinfo_voraussetzungen>';
echo ' <lvinfo_unterlagen><![CDATA['.clearHtmlTags($objLVInfo->unterlagen).']]></lvinfo_unterlagen>';
echo ' <lvinfo_pruefungsordnung><![CDATA['.clearHtmlTags($objLVInfo->pruefungsordnung).']]></lvinfo_pruefungsordnung>';
echo ' <lvinfo_kurzbeschreibung><![CDATA['.clearHtmlTags($objLVInfo->kurzbeschreibung).']]></lvinfo_kurzbeschreibung>';
echo ' <lvinfo_anmerkungen><![CDATA['.clearHtmlTags($objLVInfo->anmerkungen).']]></lvinfo_anmerkungen>';
}
echo ' </lehrveranstaltung>';
}
echo '</semester>';
}
echo ' </orgform>';
}
echo ' </orgform>';
// echo ' </studienplan>';
echo '</studiengang>';
}
File diff suppressed because it is too large Load Diff