This commit is contained in:
Andreas Österreicher
2008-06-05 15:24:30 +00:00
parent f43a0785f2
commit 975ab6d146
12 changed files with 546 additions and 67 deletions
+336 -4
View File
@@ -5,6 +5,7 @@ require_once('../vilesci/config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/benutzerberechtigung.class.php');
require_once('../include/studiensemester.class.php');
require_once('../include/studiengang.class.php');
$rdf_url='http://www.technikum-wien.at/lehrverbandsgruppe/';
@@ -18,6 +19,7 @@ $berechtigung=new benutzerberechtigung($conn);
$berechtigung->getBerechtigungen($uid);
//$berechtigt_studiengang=$berechtigung->getStgKz();
$berechtigt_studiengang=$berechtigung->getStgKz('admin');
$orgform_sequence=array();
if(isset($_GET['prestudent']) && $_GET['prestudent']=='false')
$berechtigt_studiengang = array_merge($berechtigt_studiengang, $berechtigung->getStgKz('lv-plan'));
@@ -58,6 +60,318 @@ else
$stsem_obj = new studiensemester($conn);
$stsem_obj->getAll();
//Bei Mischformen werden die Organisationsformen
//getrennt aufgelistet
function draw_orgformpart($stg_kz)
{
global $conn, $orgform_sequence;
$stg_obj = new studiengang($conn, $stg_kz);
//Zusatzfilterung nur bei Mischformen anzeigen
if($stg_obj->orgform_kurzbz!='VBB')
return true;
$orgform_sequence[$stg_kz]='';
$qry = "SELECT * FROM bis.tbl_orgform WHERE orgform_kurzbz not in('VBB','ZGS')";
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
draw_orgformsubmenu($stg_kz, $row->orgform_kurzbz);
}
}
}
function draw_orgformsubmenu($stg_kz, $orgform)
{
global $conn, $stsem_obj, $rdf_url, $orgform_sequence;
$stg_obj = new studiengang($conn, $stg_kz);
$stg_kurzbz = $stg_obj->kuerzel;
echo '
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'" >
<VERBAND:name>'.$orgform.'</VERBAND:name>
<VERBAND:stg>'.$stg_kz.'</VERBAND:stg>
<VERBAND:stg_kz>'.$stg_kz.'</VERBAND:stg_kz>
<VERBAND:sem></VERBAND:sem>
<VERBAND:orgform>'.$orgform.'</VERBAND:orgform>
</RDF:Description>
';
$orgform_sequence[$stg_kz].='
<RDF:li>
<RDF:Seq RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'">
';
if(!(isset($_GET['prestudent']) && $_GET['prestudent']=='false'))
{
echo '
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/prestudent" >
<VERBAND:name>PreStudent</VERBAND:name>
<VERBAND:stg>'.$stg_kurzbz.'</VERBAND:stg>
<VERBAND:stg_kz>'.$stg_kz.'</VERBAND:stg_kz>
<VERBAND:typ>prestudent</VERBAND:typ>
<VERBAND:orgform>'.$orgform.'</VERBAND:orgform>
</RDF:Description>';
$orgform_sequence[$stg_kz].='
<RDF:li>
<RDF:Seq RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/prestudent">
';
foreach ($stsem_obj->studiensemester as $stsem)
{
echo '
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$stsem->studiensemester_kurzbz.'" >
<VERBAND:name>'.$stsem->studiensemester_kurzbz.'</VERBAND:name>
<VERBAND:stg>'.$stg_kurzbz.'</VERBAND:stg>
<VERBAND:stg_kz>'.$stg_kz.'</VERBAND:stg_kz>
<VERBAND:stsem>'.$stsem->studiensemester_kurzbz.'</VERBAND:stsem>
<VERBAND:typ>prestudent</VERBAND:typ>
<VERBAND:orgform>'.$orgform.'</VERBAND:orgform>
</RDF:Description>
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$stsem->studiensemester_kurzbz.'/interessenten" >
<VERBAND:name>Interessenten</VERBAND:name>
<VERBAND:stg>'.$stg_kurzbz.'</VERBAND:stg>
<VERBAND:stg_kz>'.$stg_kz.'</VERBAND:stg_kz>
<VERBAND:stsem>'.$stsem->studiensemester_kurzbz.'</VERBAND:stsem>
<VERBAND:typ>interessenten</VERBAND:typ>
<VERBAND:orgform>'.$orgform.'</VERBAND:orgform>
</RDF:Description>
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$stsem->studiensemester_kurzbz.'/interessenten/zgv" >
<VERBAND:name>ZGV erfüllt</VERBAND:name>
<VERBAND:stg>'.$stg_kurzbz.'</VERBAND:stg>
<VERBAND:stg_kz>'.$stg_kz.'</VERBAND:stg_kz>
<VERBAND:stsem>'.$stsem->studiensemester_kurzbz.'</VERBAND:stsem>
<VERBAND:typ>zgv</VERBAND:typ>
<VERBAND:orgform>'.$orgform.'</VERBAND:orgform>
</RDF:Description>
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$stsem->studiensemester_kurzbz.'/interessenten/reihungstestangemeldet" >
<VERBAND:name>Reihungstest angemeldet</VERBAND:name>
<VERBAND:stg>'.$stg_kurzbz.'</VERBAND:stg>
<VERBAND:stg_kz>'.$stg_kz.'</VERBAND:stg_kz>
<VERBAND:stsem>'.$stsem->studiensemester_kurzbz.'</VERBAND:stsem>
<VERBAND:typ>reihungstestangemeldet</VERBAND:typ>
<VERBAND:orgform>'.$orgform.'</VERBAND:orgform>
</RDF:Description>
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$stsem->studiensemester_kurzbz.'/interessenten/reihungstestnichtangemeldet" >
<VERBAND:name>Nicht zum Reihungstest angemeldet</VERBAND:name>
<VERBAND:stg>'.$stg_kurzbz.'</VERBAND:stg>
<VERBAND:stg_kz>'.$stg_kz.'</VERBAND:stg_kz>
<VERBAND:stsem>'.$stsem->studiensemester_kurzbz.'</VERBAND:stsem>
<VERBAND:typ>reihungstestnichtangemeldet</VERBAND:typ>
<VERBAND:orgform>'.$orgform.'</VERBAND:orgform>
</RDF:Description>
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$stsem->studiensemester_kurzbz.'/bewerber" >
<VERBAND:name>Bewerber</VERBAND:name>
<VERBAND:stg>'.$stg_kurzbz.'</VERBAND:stg>
<VERBAND:stg_kz>'.$stg_kz.'</VERBAND:stg_kz>
<VERBAND:stsem>'.$stsem->studiensemester_kurzbz.'</VERBAND:stsem>
<VERBAND:typ>bewerber</VERBAND:typ>
<VERBAND:orgform>'.$orgform.'</VERBAND:orgform>
</RDF:Description>
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$stsem->studiensemester_kurzbz.'/aufgenommen" >
<VERBAND:name>Aufgenommen</VERBAND:name>
<VERBAND:stg>'.$stg_kurzbz.'</VERBAND:stg>
<VERBAND:stg_kz>'.$stg_kz.'</VERBAND:stg_kz>
<VERBAND:stsem>'.$stsem->studiensemester_kurzbz.'</VERBAND:stsem>
<VERBAND:typ>aufgenommen</VERBAND:typ>
<VERBAND:orgform>'.$orgform.'</VERBAND:orgform>
</RDF:Description>
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$stsem->studiensemester_kurzbz.'/warteliste" >
<VERBAND:name>Warteliste</VERBAND:name>
<VERBAND:stg>'.$stg_kurzbz.'</VERBAND:stg>
<VERBAND:stg_kz>'.$stg_kz.'</VERBAND:stg_kz>
<VERBAND:stsem>'.$stsem->studiensemester_kurzbz.'</VERBAND:stsem>
<VERBAND:typ>warteliste</VERBAND:typ>
<VERBAND:orgform>'.$orgform.'</VERBAND:orgform>
</RDF:Description>
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$stsem->studiensemester_kurzbz.'/absage" >
<VERBAND:name>Absage</VERBAND:name>
<VERBAND:stg>'.$stg_kurzbz.'</VERBAND:stg>
<VERBAND:stg_kz>'.$stg_kz.'</VERBAND:stg_kz>
<VERBAND:stsem>'.$stsem->studiensemester_kurzbz.'</VERBAND:stsem>
<VERBAND:typ>absage</VERBAND:typ>
<VERBAND:orgform>'.$orgform.'</VERBAND:orgform>
</RDF:Description>
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$stsem->studiensemester_kurzbz.'/incoming" >
<VERBAND:name>Incoming</VERBAND:name>
<VERBAND:stg>'.$stg_kurzbz.'</VERBAND:stg>
<VERBAND:stg_kz>'.$stg_kz.'</VERBAND:stg_kz>
<VERBAND:stsem>'.$stsem->studiensemester_kurzbz.'</VERBAND:stsem>
<VERBAND:typ>incoming</VERBAND:typ>
<VERBAND:orgform>'.$orgform.'</VERBAND:orgform>
</RDF:Description>
';
$orgform_sequence[$stg_kz].= "\t\t\t<RDF:li>\n\t\t\t\t<RDF:Seq RDF:about=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz\">\n";
$orgform_sequence[$stg_kz].= "\t\t\t<RDF:li>";
$orgform_sequence[$stg_kz].= "\n\t\t\t\t<RDF:Seq RDF:about=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/interessenten\">\n";
$orgform_sequence[$stg_kz].= "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/interessenten/zgv\" />\n";
$orgform_sequence[$stg_kz].= "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/interessenten/reihungstestangemeldet\" />\n";
$orgform_sequence[$stg_kz].= "\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/interessenten/reihungstestnichtangemeldet\" />\n";
$orgform_sequence[$stg_kz].= "\t\t\t\t</RDF:Seq>";
$orgform_sequence[$stg_kz].= "\n\t\t\t</RDF:li>\n";
$orgform_sequence[$stg_kz].= "\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/bewerber\" />\n";
$orgform_sequence[$stg_kz].= "\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/aufgenommen\" />\n";
$orgform_sequence[$stg_kz].= "\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/warteliste\" />\n";
$orgform_sequence[$stg_kz].= "\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/absage\" />\n";
$orgform_sequence[$stg_kz].= "\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$stsem->studiensemester_kurzbz/incoming\" />\n";
$orgform_sequence[$stg_kz].= "\t\t\t</RDF:Seq> <!-- $stsem->studiensemester_kurzbz -->\n\t\t\t</RDF:li>\n";
}
$orgform_sequence[$stg_kz].='
</RDF:Seq><!-- Prestudent -->
</RDF:li>
';
}
$data = array();
$qry = "SELECT semester, verband, gruppe,'' as gruppe_kurzbz, bezeichnung, null as sort FROM public.tbl_lehrverband WHERE orgform_kurzbz='$orgform' AND studiengang_kz='$stg_kz' AND aktiv
UNION
SELECT semester, '' as verband, '' as gruppe, gruppe_kurzbz, bezeichnung, sort FROM public.tbl_gruppe WHERE studiengang_kz='$stg_kz' AND orgform_kurzbz='$orgform' AND lehre AND sichtbar
UNION
SELECT semester, verband, gruppe,'' as gruppe_kurzbz, bezeichnung, null as sort FROM public.tbl_lehrverband WHERE studiengang_kz='$stg_kz' AND semester=0 AND aktiv
ORDER BY semester, verband, gruppe, sort, gruppe_kurzbz";
$sem='';
$ver='';
//echo $qry;
if($result = pg_query($conn, $qry))
{
while($row = pg_fetch_object($result))
{
if ($sem!=$row->semester)
{
if($ver!='')
{
//vorhergehenden Verband schliessen
$orgform_sequence[$stg_kz].='
</RDF:Seq><!--VerbandOben-->
</RDF:li>
';
$ver='';
}
if($sem!='')
{
//vorhergehendes Semester schliessen
$orgform_sequence[$stg_kz].='
</RDF:Seq> <!--SemesterOben-->
</RDF:li>
';
}
$sem=$row->semester;
$orgform_sequence[$stg_kz].= "\t\t\t<RDF:li>";
$orgform_sequence[$stg_kz].= "\n\t\t\t\t<RDF:Seq RDF:about=\"$rdf_url$stg_kurzbz/$orgform/$sem\">\n";
$qry_bez = "SELECT bezeichnung FROM public.tbl_lehrverband WHERE studiengang_kz='$stg_kz' AND semester='$sem' AND trim(verband)='' AND trim(gruppe)=''";
$bezeichnung = '';
if($result_bez = pg_query($conn, $qry_bez))
if($row_bez = pg_fetch_object($result_bez))
$bezeichnung = ($row_bez->bezeichnung!=''?'('.$row_bez->bezeichnung.')':'');
echo '
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$sem.'">
<VERBAND:name>'.$stg_kurzbz.'-'.$sem.' '.$bezeichnung.'</VERBAND:name>
<VERBAND:stg>'.$stg_kurzbz.'</VERBAND:stg>
<VERBAND:stg_kz>'.$stg_kz.'</VERBAND:stg_kz>
<VERBAND:sem>'.$sem.'</VERBAND:sem>
<VERBAND:orgform>'.$orgform.'</VERBAND:orgform>
</RDF:Description>
';
}
if($row->gruppe_kurzbz!='')
{
$orgform_sequence[$stg_kz].= "\t\t\t\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$row->semester/$row->gruppe_kurzbz\" />\n";
echo '
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$row->semester.'/'.$row->gruppe_kurzbz.'">
<VERBAND:name>'.$row->gruppe_kurzbz.' ('.$row->bezeichnung.')</VERBAND:name>
<VERBAND:stg><?php echo $stg_kurzbz; ?></VERBAND:stg>
<VERBAND:stg_kz><?php echo $row->studiengang_kz; ?></VERBAND:stg_kz>
<VERBAND:sem><?php echo $row->semester; ?></VERBAND:sem>
<VERBAND:gruppe><?php echo $row->gruppe_kurzbz; ?></VERBAND:gruppe>
<VERBAND:orgform>'.$orgform.'</VERBAND:orgform>
</RDF:Description>
';
}
else
{
//Wenn dieser Eintrag noch nicht geschrieben wurde
if($row->verband!='' && $row->verband!=' ' && trim($row->gruppe)=='')
{
if($ver!='')
{
//vorhergehenden Verband schliessen
$orgform_sequence[$stg_kz].='
</RDF:Seq> <!-- Verband mitte-->
</RDF:li>
';
}
$ver=$row->verband;
$orgform_sequence[$stg_kz].= "\t\t\t<RDF:li>";
$orgform_sequence[$stg_kz].= "\n\t\t\t\t<RDF:Seq RDF:about=\"$rdf_url$stg_kurzbz/$orgform/$row->semester/$row->verband\">\n";
echo '
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$row->semester.'/'.$row->verband.'">
<VERBAND:name>'.$stg_kurzbz.'-'.$row->semester.$row->verband.($row->bezeichnung!=''?' ('.$row->bezeichnung.')':'').'</VERBAND:name>
<VERBAND:stg>'.$stg_kurzbz.'</VERBAND:stg>
<VERBAND:stg_kz>'.$stg_kz.'</VERBAND:stg_kz>
<VERBAND:sem>'.$row->semester.'</VERBAND:sem>
<VERBAND:ver>'.$row->verband.'</VERBAND:ver>
<VERBAND:orgform>'.$orgform.'</VERBAND:orgform>
</RDF:Description>
';
}
else if ($row->gruppe!='' && $row->gruppe!=' ')
{
$orgform_sequence[$stg_kz].= "\t\t\t\t\t\t\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz/$orgform/$row->semester/$row->verband/$row->gruppe\" />\n";
echo '
<RDF:Description RDF:about="'.$rdf_url.$stg_kurzbz.'/'.$orgform.'/'.$row->semester.'/'.$row->verband.'/'.$row->gruppe.'">
<VERBAND:name>'.$stg_kurzbz.'-'.$row->semester.$row->verband.$row->gruppe.($row->bezeichnung!=''?' ('.$row->bezeichnung.')':'').'</VERBAND:name>
<VERBAND:stg>'.$stg_kurzbz.'</VERBAND:stg>
<VERBAND:stg_kz>'.$stg_kz.'</VERBAND:stg_kz>
<VERBAND:sem>'.$row->semester.'</VERBAND:sem>
<VERBAND:ver>'.$row->verband.'</VERBAND:ver>
<VERBAND:grp>'.$row->gruppe.'</VERBAND:grp>
<VERBAND:orgform>'.$orgform.'</VERBAND:orgform>
</RDF:Description>
';
}
}
}
if($ver!='')
{
//Verband schliessen
$orgform_sequence[$stg_kz].='
</RDF:Seq><!--VerbandUnten-->
</RDF:li>
';
}
//Semester schliessen
$orgform_sequence[$stg_kz].='
</RDF:Seq><!--SemesterUnten-->
</RDF:li>
';
}
//Orgform schliessen
$orgform_sequence[$stg_kz].='
</RDF:Seq> <!--Orgform-->
</RDF:li>
';
}
?>
<RDF:RDF
@@ -72,6 +386,8 @@ while ($row=pg_fetch_object($result))
{
if ($stg_kz!=$row->studiengang_kz)
{
draw_orgformpart($stg_kz);
$stg_kz=$row->studiengang_kz;
$stg_kurzbz=strtoupper($row->typ.$row->kurzbz);
?>
@@ -247,6 +563,7 @@ while ($row=pg_fetch_object($result))
<?php
}
}
draw_orgformpart($stg_kz);
?>
<!-- Sequences -->
@@ -263,17 +580,23 @@ while ($row=pg_fetch_object($result))
$row=pg_fetch_object($result,$i);
if ($stg_kz!=$row->studiengang_kz)
{
//Verband schliessen
if ($ver!=null)
echo "\t\t\t\t\t\t</RDF:Seq>\n\t\t\t\t\t</RDF:li>\n";
$ver=null;
//Semester schliessen
if ($sem!=null)
echo "\t\t\t\t</RDF:Seq>\n\t\t\t</RDF:li>\n";
$sem=null;
//Orgform_Sequence schreiben falls vorhanden
if(isset($orgform_sequence[$stg_kz]))
echo $orgform_sequence[$stg_kz];
//Studiengang schliesssen
if ($stg_kz!=null)
echo "\t\t</RDF:Seq>\n\t</RDF:li>\n";
$stg_kz=$row->studiengang_kz;
$stg_kurzbz=strtoupper($row->typ.$row->kurzbz);
echo "\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz\" />\n";
//echo "\t<RDF:li RDF:resource=\"$rdf_url$stg_kurzbz\" />\n";
echo "\t<RDF:li>\n\t\t<RDF:Seq RDF:about=\"$rdf_url$stg_kurzbz\">\n";
if(!(isset($_GET['prestudent']) && $_GET['prestudent']=='false'))
@@ -342,9 +665,18 @@ while ($row=pg_fetch_object($result))
if ($num_rows>0)
{
echo "\t\t\t\t\t\t</RDF:Seq>\n\t\t\t\t\t</RDF:li>\n";
echo "\t\t\t\t</RDF:Seq>\n\t\t\t</RDF:li>\n";
echo "\t\t</RDF:Seq>\n\t</RDF:li>\n";
if($ver!=null)
{
//Verband
echo "\t\t\t\t\t\t</RDF:Seq><!-- verband gesamt -->\n\t\t\t\t\t</RDF:li>\n";
}
//Semester
echo "\t\t\t\t</RDF:Seq><!-- Semester gesamt -->\n\t\t\t</RDF:li>\n";
//Orgform_Sequence schreiben falls vorhanden
if(isset($orgform_sequence[$stg_kz]))
echo $orgform_sequence[$stg_kz];
//Studiengang
echo "\t\t</RDF:Seq><!-- Studiengang -->\n\t</RDF:li>\n";
}
?>