diff --git a/rdf/diplomasupplement.xml.php b/rdf/diplomasupplement.xml.php
index 4f19566d2..3d313b572 100644
--- a/rdf/diplomasupplement.xml.php
+++ b/rdf/diplomasupplement.xml.php
@@ -100,9 +100,9 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
echo ' '.$studiengang_kz.'';
$prestudent = new prestudent($row->prestudent_id);
+ $studienplan_id = $prestudent->studienplan_id;
if ($prestudent->getLastStatus($row->prestudent_id, null, 'Student'))
{
- $studienplan_id = $prestudent->studienplan_id;
$studienordnung = new studienordnung();
if ($studienordnung->getStudienordnungFromStudienplan($studienplan_id))
{
@@ -116,11 +116,15 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
echo ' ';
echo ' ';
+ if($studienplan_id)
+ {
+ echo ' ';
+ }
+
$prestudent = new prestudent();
$prestudent->getFirstStatus($row->prestudent_id, 'Student');
$semesterNumberStart = $prestudent->ausbildungssemester;
-
//ECTS-Punkte die bei Quereinsteigern angerechnet werden
if($semesterNumberStart>1)
{
@@ -155,39 +159,60 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
//Unterrichtssprache
$sprache_deutsch='';
$sprache_englisch='';
- if($row->mischform=='t')
+ $qry_sprache = "";
+ if($studienplan_id)
{
- //Bei Mischformen, die LVs auf Orgform filtern
- $prestudent = new prestudent();
- $prestudent->getLastStatus($row->prestudent_id);
- if($prestudent->orgform_kurzbz!='')
- $orgform_kurzbz=$prestudent->orgform_kurzbz;
- else
- $orgform_kurzbz=$row->orgform_kurzbz;
+ //Ermittlung Sprache aus den Lehrveranstaltungen des betreffenden Studienplans
$qry_sprache = "
SELECT
sprache
FROM
lehre.tbl_lehrveranstaltung
+ JOIN
+ lehre.tbl_studienplan_lehrveranstaltung USING (lehrveranstaltung_id)
WHERE
- studiengang_kz=".$db->db_add_param($row->studiengang_kz)."
- AND aktiv
- AND orgform_kurzbz=".$db->db_add_param($orgform_kurzbz)."
+ studienplan_id = ".$db->db_add_param($studienplan_id)."
GROUP BY sprache
ORDER BY sprache DESC";
}
else
+ //fallback: Sprache aus Studiengang
{
- $qry_sprache = "
- SELECT
- sprache
- FROM
- lehre.tbl_lehrveranstaltung
- WHERE
- studiengang_kz=".$db->db_add_param($row->studiengang_kz)."
- AND aktiv
- GROUP BY sprache
- ORDER BY sprache DESC";
+ if($row->mischform=='t')
+ {
+ //Bei Mischformen, die LVs auf Orgform filtern
+ $prestudent = new prestudent();
+ $prestudent->getLastStatus($row->prestudent_id);
+ if($prestudent->orgform_kurzbz!='')
+ $orgform_kurzbz=$prestudent->orgform_kurzbz;
+ else
+ $orgform_kurzbz=$row->orgform_kurzbz;
+ $qry_sprache = "
+ SELECT
+ sprache
+ FROM
+ lehre.tbl_lehrveranstaltung
+ WHERE
+ studiengang_kz=".$db->db_add_param($row->studiengang_kz)."
+ AND aktiv
+ AND orgform_kurzbz=".$db->db_add_param($orgform_kurzbz)."
+ GROUP BY sprache
+ ORDER BY sprache DESC";
+ }
+ else
+ {
+
+ $qry_sprache = "
+ SELECT
+ sprache
+ FROM
+ lehre.tbl_lehrveranstaltung
+ WHERE
+ studiengang_kz=".$db->db_add_param($row->studiengang_kz)."
+ AND aktiv
+ GROUP BY sprache
+ ORDER BY sprache DESC";
+ }
}
if($result_sprache = $db->db_query($qry_sprache))