diff --git a/rdf/erfolgsnachweis.rdf.php b/rdf/erfolgsnachweis.rdf.php index 84b423bc8..e814934fd 100755 --- a/rdf/erfolgsnachweis.rdf.php +++ b/rdf/erfolgsnachweis.rdf.php @@ -166,35 +166,46 @@ $lehrveranstaltungen = array(); { $stpllv[$row->studienplan_lehrveranstaltung_id] = $row->lehrveranstaltung_id; } - - foreach($obj->result as $row) - { - if($row->studienplan_lehrveranstaltung_semester==$ausbildungssemester || $row->studienplan_lehrveranstaltung_semester==$ausbildungssemester2) - { - //Gruppieren der Module - //$lvs['1']['childs']['2']=$obj; - if($row->studienplan_lehrveranstaltung_id_parent=='') + + $durchlauf=0; + + // Zweimal durchlaufen weil sonst manche Submodule nicht richtig erfasst werden + while($durchlauf<2) + { + foreach($obj->result as $row) + { + // Nur die betreffenden Semester mitnehmen da sonst ein durcheinander entsteht wenn die gleiche LV in verschiedenen Semester in unterschiedlichen + // Modulen verwendet wird + if($row->studienplan_lehrveranstaltung_semester==$ausbildungssemester || $row->studienplan_lehrveranstaltung_semester==$ausbildungssemester2) { - $lehrveranstaltungen[$row->lehrveranstaltung_id]['data']=$row; - } - else - { - if(isset($lehrveranstaltungen[$stpllv[$row->studienplan_lehrveranstaltung_id_parent]])) + //Gruppieren der Module + //$lvs['1']['childs']['2']=$obj; + if($row->studienplan_lehrveranstaltung_id_parent=='') // 1. Ebene (Module) { - $lehrveranstaltungen[$stpllv[$row->studienplan_lehrveranstaltung_id_parent]]['childs'][$row->lehrveranstaltung_id]['data'] = $row; + $lehrveranstaltungen[$row->lehrveranstaltung_id]['data']=$row; } else - { - foreach($lehrveranstaltungen as $key=>$row_module) + { + // 2. Ebene + if(isset($lehrveranstaltungen[$stpllv[$row->studienplan_lehrveranstaltung_id_parent]])) { - if(isset($lehrveranstaltungen[$key]['childs'][$stpllv[$row->studienplan_lehrveranstaltung_id_parent]])) + $lehrveranstaltungen[$stpllv[$row->studienplan_lehrveranstaltung_id_parent]]['childs'][$row->lehrveranstaltung_id]['data'] = $row; + } + else + { + // 3. Ebene + foreach($lehrveranstaltungen as $key=>$row_module) { - $lehrveranstaltungen[$key]['childs'][$stpllv[$row->studienplan_lehrveranstaltung_id_parent]]['childs'][$row->lehrveranstaltung_id]['data']=$row; + if(isset($lehrveranstaltungen[$key]['childs'][$stpllv[$row->studienplan_lehrveranstaltung_id_parent]])) + { + $lehrveranstaltungen[$key]['childs'][$stpllv[$row->studienplan_lehrveranstaltung_id_parent]]['childs'][$row->lehrveranstaltung_id]['data']=$row; + } } } - } - } - } + } + } + } + $durchlauf++; } $ects_gesamt = 0; diff --git a/system/xsl/FHB_erfolgsnachweis_0_v1.xsl b/system/xsl/FHB_erfolgsnachweis_0_v1.xsl index 50988254a..c2631a630 100755 --- a/system/xsl/FHB_erfolgsnachweis_0_v1.xsl +++ b/system/xsl/FHB_erfolgsnachweis_0_v1.xsl @@ -50,12 +50,12 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - + - + @@ -63,22 +63,22 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - + - + - + - + @@ -87,25 +87,25 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - + - + - + - + - + - + - + @@ -114,28 +114,28 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - + - + - + - + - + - + - + diff --git a/system/xsl/FHB_erfolgsnachweis_head_0.xsl b/system/xsl/FHB_erfolgsnachweis_head_0.xsl index 5ef8d1db7..1a3a1f155 100755 --- a/system/xsl/FHB_erfolgsnachweis_head_0.xsl +++ b/system/xsl/FHB_erfolgsnachweis_head_0.xsl @@ -145,31 +145,31 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - + - + - + - + - + - + - + - +