, * Andreas Oesterreicher and * Karl Burkhart . */ /** * Laedt die News und zeigt diese an * * Wenn kein Parameter uebergeben wird, werden nur die allgemeinen News angezeigt * Wenn ein Studiengang uebergeben wird, werden rechts neben den News Studiengangsdetails angezeigt * * Parameter: * stg_kz Studiengangskennzahl * semester Semester * edit Edit Buttons anzeigen * */ require_once('../config/cis.config.inc.php'); require_once('../include/content.class.php'); require_once('../include/template.class.php'); require_once('../include/functions.inc.php'); require_once('../include/news.class.php'); require_once('../include/kontakt.class.php'); require_once('../include/benutzerfunktion.class.php'); require_once('../include/studiengang.class.php'); require_once('../include/mitarbeiter.class.php'); require_once('../include/datum.class.php'); require_once('../include/phrasen.class.php'); require_once('../include/student.class.php'); require_once('../include/benutzer.class.php'); require_once('../include/ort.class.php'); require_once('../include/funktion.class.php'); $sprache = getSprache(); $datum_obj = new datum(); //XML Content laden $content = new content(); $db = new basis_db(); $infoscreen = isset($_GET['infoscreen']); if(!$infoscreen) { $user = get_uid(); //Zum anzeigen der Studiengang-Details neben den News $student = new student(); if($student->load($user)) { $stg_kz=$student->studiengang_kz; $sem=$student->semester; $ver=$student->verband; } else { $stg_kz=0; $sem=NULL; $ver=NULL; } } else { $stg_kz=0; $sem=NULL; $ver=NULL; } $studiengang_kz = (isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:$stg_kz); $semester = (isset($_GET['semester'])?$_GET['semester']:$sem); $mischen = (isset($_GET['mischen'])?$_GET['mischen']:true); $titel = (isset($_GET['titel'])?$_GET['titel']:''); $editable = isset($_GET['edit']); $news = new news(); $all=false; if(isset($_GET['sichtbar']) && ($_GET['sichtbar'])=="false") $sichtbar = false; else $sichtbar = true; //Im Editiermodus werden auch die zukuenftigen News angezeigt if($editable) $all=true; $news->getnews(MAXNEWSALTER, $studiengang_kz, $semester, $all, null, MAXNEWS, $mischen); $xml = ''; foreach($news->result as $row) { $content = new content(); $content->getContent($row->content_id, $sprache,null, $sichtbar, true); //das Datum des News Eintrages ist nicht im XML enthalten, es muss extra hinzugefuegt werden $datum = 'formatDatum($row->datum,'d.m.Y').']]>'; if($studiengang_kz<>0 && $editable && $row->studiengang_kz==0) { continue; } //Wenn der Parameter edit uebergeben wird, dann wird neben dem Datum ein Link zum Editieren des Eintrags angezeigt if($editable) $id = 'news_id.']]>'; else $id=''; $xml .= mb_substr($content->content,0,mb_strlen($content->content)-7).$datum.$id.mb_substr($content->content,-7); //$xml .= $content->content; } if($studiengang_kz!=0 && !$editable && !$infoscreen) // && $studiengang_kz==10006 && !$semester) $xml.=getStgContent($studiengang_kz, $semester, $sprache); if($studiengang_kz!=0) { $stg_obj = new studiengang(); $stg_obj->load($studiengang_kz); $xml .= 'bezeichnung. ']]>'; } if($titel!='') { $xml.=''.$titel.''; } $xml .= ''; $doc = new DOMDocument(); $doc->loadXML($xml); //XSLT Vorlage laden $template = new template(); if($infoscreen) { if(!$template->load('news_infoscreen')) die($template->errormsg); } else { if(!$template->load('news')) die($template->errormsg); } $xsltemplate = new DOMDocument(); $xsltemplate->loadXML($template->xslt_xhtml); //Transformation $processor = new XSLTProcessor(); $processor->importStylesheet($xsltemplate); echo $processor->transformToXML($doc); /** * Liefert ein XML mit den Details eines Studiengangs * welche dann neben den News angezeigt werden * * @param $studiengang_kz * @param $semester * @param $sprache */ function getStgContent($studiengang_kz, $semester, $sprache) { $p = new phrasen($sprache); $xml = ''; $xml .= ''.$studiengang_kz.''; $studiengang = new studiengang(); $studiengang->load($studiengang_kz); //Studiengangsleitung $stg_oe_obj = new studiengang(); $stgl = $stg_oe_obj->getLeitung($studiengang_kz); //$xml.='t('global/studiengangsmanagement').']]>'; $xml.='t('global/studiengangsleitung').']]>'; if(count($stgl)>0) { foreach ($stgl as $uid) { $row_course_leader = new mitarbeiter($uid); $xml.=''; $xml.='titelpre.' '.$row_course_leader->vorname.' '.$row_course_leader->nachname.' '.$row_course_leader->titelpost.']]>'; if(isset($row_course_leader) && $row_course_leader->uid != "") { $alias = new benutzer(); $alias->load($uid); if($alias->alias!='') $xml.='alias.'@'.DOMAIN.']]>'; else $xml.='uid.'@'.DOMAIN.']]>'; $xml.='uid.']]>'; } if(isset($row_course_leader) && $row_course_leader->telefonklappe != "") { $hauptnummer=''; if($row_course_leader->standort_id!='') { $kontakt = new kontakt(); $kontakt->loadFirmaKontakttyp($row_course_leader->standort_id, 'telefon'); $hauptnummer = $kontakt->kontakt; } $xml.= 'telefonklappe.']]>'; } if(isset($row_course_leader) && $row_course_leader->ort_kurzbz != "") { $ort = new ort(); $ort->load($row_course_leader->ort_kurzbz); $xml.='planbezeichnung.']]>'; } $xml.=''; } } //geschaeftsf. Leitung auselesen $xml.='t('global/geschaeftsfuehrendeltg').']]>'; $benutzerfkt = new benutzerfunktion(); $benutzerfkt->getBenutzerFunktionen('gLtg', $studiengang->oe_kurzbz); foreach($benutzerfkt->result as $row) { $ma = new mitarbeiter(); $ma->load($row->uid); if($ma->uid!='' && $ma->bnaktiv) { $xml.=''; $xml.='titelpre.' '.$ma->vorname.' '.$ma->nachname.' '.$ma->titelpost.']]>'; $alias = new benutzer(); $alias->load($ma->uid); if($alias->alias!='') $xml.='alias.'@'.DOMAIN.']]>'; else $xml.='uid.'@'.DOMAIN.']]>'; $xml.='uid.']]>'; if($ma->telefonklappe != '') { if($ma->standort_id!='') { $kontakt = new kontakt(); $kontakt->loadFirmaKontakttyp($ma->standort_id, 'telefon'); $hauptnummer = $kontakt->kontakt; } $xml.= 'telefonklappe.']]>'; } if($ma->ort_kurzbz != "") { $ort = new ort(); $ort->load($ma->ort_kurzbz); $xml.='planbezeichnung.']]>'; } $xml.=''; } } //Studiengangsleiter Stellvertreter auslesen $benutzerfkt = new benutzerfunktion(); $benutzerfkt->getBenutzerFunktionen('stvLtg', $studiengang->oe_kurzbz); $xml.='t('global/stellvertreter').']]>'; foreach($benutzerfkt->result as $row) { $ma = new mitarbeiter(); $ma->load($row->uid); if($ma->uid!='' && $ma->bnaktiv) { $xml.=''; $xml.='titelpre.' '.$ma->vorname.' '.$ma->nachname.' '.$ma->titelpost.']]>'; $alias = new benutzer(); $alias->load($ma->uid); if($alias->alias!='') $xml.='alias.'@'.DOMAIN.']]>'; else $xml.='uid.'@'.DOMAIN.']]>'; $xml.='uid.']]>'; if($ma->telefonklappe != '') { if($ma->standort_id!='') { $kontakt = new kontakt(); $kontakt->loadFirmaKontakttyp($ma->standort_id, 'telefon'); $hauptnummer = $kontakt->kontakt; } $xml.= 'telefonklappe.']]>'; } if($ma->ort_kurzbz != "") { $ort = new ort(); $ort->load($ma->ort_kurzbz); $xml.='planbezeichnung.']]>'; } $xml.=''; } } //Assistenz $benutzerfkt = new benutzerfunktion(); $benutzerfkt->getBenutzerFunktionen('ass', $studiengang->oe_kurzbz); //Sortiert die Funktionen alphabetisch nach uid function sortBenutzer($a, $b) { return strcmp(strtolower($a->uid), strtolower($b->uid)); } usort($benutzerfkt->result, "sortBenutzer"); $xml.='t('global/sekretariat').']]>'; foreach($benutzerfkt->result as $row) { $ma = new mitarbeiter(); $ma->load($row->uid); if($ma->uid!='' && $ma->bnaktiv) { $xml.=''; $xml.='titelpre.' '.$ma->vorname.' '.$ma->nachname.' '.$ma->titelpost.']]>'; $xml.='bezeichnung.']]>'; $alias = new benutzer(); $alias->load($ma->uid); if($alias->alias!='') $xml.='alias.'@'.DOMAIN.']]>'; else $xml.='uid.'@'.DOMAIN.']]>'; $xml.='uid.']]>'; if($ma->telefonklappe != '') { if($ma->standort_id!='') { $kontakt = new kontakt(); $kontakt->loadFirmaKontakttyp($ma->standort_id, 'telefon'); $hauptnummer = $kontakt->kontakt; } $xml.= 'telefonklappe.']]>'; } if($ma->ort_kurzbz != "") { $ort = new ort(); $ort->load($ma->ort_kurzbz); $xml.='planbezeichnung.']]>'; } $xml.=''; } } //Zusatzinfo (Oeffnungszeiten etc) $xml.='zusatzinfo_html.']]>'; //Hochschulvertretung $benutzerfkt = new benutzerfunktion(); $benutzerfkt->getBenutzerFunktionen('hsv'); $xml.='t('global/hochschulvertretung').']]>'; foreach($benutzerfkt->result as $row) { $bn = new benutzer(); $bn->load($row->uid); $funktion = new funktion(); $funktion->load($row->funktion_kurzbz); if($bn->uid!='' && $bn->bnaktiv) { $xml.=''; $xml.='titelpre.' '.$bn->vorname.' '.$bn->nachname.' '.$bn->titelpost.' '.($row->bezeichnung!='' && $row->bezeichnung!=$funktion->beschreibung?'('.$row->bezeichnung.')':'').']]>'; $xml.='uid.'@'.DOMAIN.']]>'; $xml.='uid.']]>'; $xml.=''; } } //Studentenvertretung $benutzerfkt = new benutzerfunktion(); $benutzerfkt->getBenutzerFunktionen('stdv', $studiengang->oe_kurzbz); $xml.='t('global/studentenvertreter').' '.strtoupper($studiengang->oe_kurzbz).']]>'; foreach($benutzerfkt->result as $row) { $bn = new benutzer(); $bn->load($row->uid); $funktion = new funktion(); $funktion->load($row->funktion_kurzbz); if($bn->uid!='' && $bn->bnaktiv) { $xml.=''; $xml.='titelpre.' '.$bn->vorname.' '.$bn->nachname.' '.$bn->titelpost.' '.($row->bezeichnung!='' && $row->bezeichnung!=$funktion->beschreibung?'('.$row->bezeichnung.')':'').']]>'; $xml.='uid.'@'.DOMAIN.']]>'; $xml.='uid.']]>'; $xml.=''; } } //Jahrgangsvertretung $benutzerfkt = new benutzerfunktion(); $benutzerfkt->getBenutzerFunktionen('jgv', $studiengang->oe_kurzbz, $semester); $xml.='t('global/jahrgangsvertretung').' '.$semester.'. '.$p->t('global/semester').']]>'; foreach($benutzerfkt->result as $row) { $bn = new benutzer(); $bn->load($row->uid); $funktion = new funktion(); $funktion->load($row->funktion_kurzbz); if($bn->uid!='' && $bn->bnaktiv) { $xml.=''; $xml.='titelpre.' '.$bn->vorname.' '.$bn->nachname.' '.$bn->titelpost.' '.($row->bezeichnung!='' && $row->bezeichnung!=$funktion->beschreibung?'('.$row->bezeichnung.')':'').']]>'; $xml.='uid.'@'.DOMAIN.']]>'; $xml.='uid.']]>'; $xml.=''; } } if(CIS_EXT_MENU) { $xml.=' t('global/allgemeinerdownload').']]> kuerzel).']]> kurzbzlang).']]> '; } $xml.=''; return $xml; } ?>