diff --git a/cis/private/lehre/abgabe_lektor.php b/cis/private/lehre/abgabe_lektor.php index 0e84bb5e9..2e6dd28b0 100644 --- a/cis/private/lehre/abgabe_lektor.php +++ b/cis/private/lehre/abgabe_lektor.php @@ -33,11 +33,20 @@ require_once('../../../include/person.class.php'); require_once('../../../include/benutzer.class.php'); require_once('../../../include/mitarbeiter.class.php'); require_once('../../../include/phrasen.class.php'); +require_once('../../../include/benutzerberechtigung.class.php'); if (!$db = new basis_db()) die('Fehler beim Herstellen der Datenbankverbindung'); $getuid=get_uid(); +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($getuid); + +if (isset($_GET['user'])) +{ + if ($rechte->isBerechtigt('admin',null,'suid')) + $getuid = $_GET['user']; +} $sprache = getSprache(); diff --git a/cis/private/lehre/abgabe_lektor_details.php b/cis/private/lehre/abgabe_lektor_details.php index e46d40dd2..abf17fc8c 100644 --- a/cis/private/lehre/abgabe_lektor_details.php +++ b/cis/private/lehre/abgabe_lektor_details.php @@ -76,6 +76,13 @@ $stg_arr = array(); $error = false; $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); + +if (isset($_GET['user'])) +{ + if ($rechte->isBerechtigt('admin',null,'suid')) + $user = $_GET['user']; +} + $htmlstr=''; if(!check_lektor($user)) diff --git a/cis/private/lehre/anwesenheitsliste.pdf.php b/cis/private/lehre/anwesenheitsliste.pdf.php old mode 100644 new mode 100755 index 063bc9edd..5a352cd18 --- a/cis/private/lehre/anwesenheitsliste.pdf.php +++ b/cis/private/lehre/anwesenheitsliste.pdf.php @@ -129,7 +129,7 @@ $qry = "SELECT tbl_studentlehrverband.semester, tbl_studentlehrverband.verband, tbl_studentlehrverband.gruppe, (SELECT status_kurzbz FROM public.tbl_prestudentstatus WHERE prestudent_id=tbl_student.prestudent_id ORDER BY datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status, tbl_bisio.bisio_id, tbl_bisio.von, tbl_bisio.bis, tbl_student.studiengang_kz AS stg_kz_student, - tbl_zeugnisnote.note, tbl_mitarbeiter.mitarbeiter_uid + tbl_zeugnisnote.note, tbl_mitarbeiter.mitarbeiter_uid, tbl_person.matr_nr FROM campus.vw_student_lehrveranstaltung JOIN public.tbl_benutzer USING(uid) JOIN public.tbl_person USING(person_id) LEFT JOIN public.tbl_student ON(uid=student_uid) @@ -186,6 +186,7 @@ if($result = $db->db_query($qry)) 'vorname'=>$row->vorname, 'nachname'=>$row->nachname, 'personenkennzeichen'=>trim($row->matrikelnr), + 'matr_nr'=>$row->matr_nr, 'semester'=>$row->semester, 'verband'=>trim($row->verband), 'gruppe'=>trim($row->gruppe), diff --git a/cis/private/lehre/anwesenheitsliste_bilder.pdf.php b/cis/private/lehre/anwesenheitsliste_bilder.pdf.php old mode 100644 new mode 100755 index bec92f46f..6a44d8daf --- a/cis/private/lehre/anwesenheitsliste_bilder.pdf.php +++ b/cis/private/lehre/anwesenheitsliste_bilder.pdf.php @@ -99,5 +99,9 @@ function getmax($val1,$val2) return ($val1>$val2)?$val1:$val2; } -require_once('../../../include/'.EXT_FKT_PATH.'/anwesenheitsliste_bilder.inc.php'); +if (file_exists('../../../addons/sfu-milano/include/'.EXT_FKT_PATH.'/anwesenheitsliste_bilder.inc.php')) + require_once('../../../addons/sfu-milano/include/'.EXT_FKT_PATH.'/anwesenheitsliste_bilder.inc.php'); +else + require_once('../../../include/'.EXT_FKT_PATH.'/anwesenheitsliste_bilder.inc.php'); + ?> diff --git a/cis/private/lehre/benotungstool/verwaltung_listen.php b/cis/private/lehre/benotungstool/verwaltung_listen.php index 4c0f30e30..57a149caa 100644 --- a/cis/private/lehre/benotungstool/verwaltung_listen.php +++ b/cis/private/lehre/benotungstool/verwaltung_listen.php @@ -497,8 +497,17 @@ if(isset($_POST['uebung_neu']) || isset($_POST['abgabe_neu'])) if ($angabedatei_up) { $name_up = pathinfo($_FILES["angabedatei"]["name"]); + //Handle double file extensions (e.g.: .tar.gz) + //Array of possible double extensions + $ext_array = array('.tar.gz','.tar.bz2','.tar.xz','.tar.lzma','.tar.Z'); + //Find occurence of extensions ending with ".tar." + if (in_array(substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"], '.tar.')), $ext_array)) + $extension = substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"]+1, '.tar.')); + else + $extension = $name_up["extension"]; + $name_neu = makeUploadName($db, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem); - $angabedatei = $name_neu.".".$name_up["extension"]; + $angabedatei = $name_neu.".".$extension; $angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei; //$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei; @@ -661,8 +670,16 @@ if(isset($_POST['uebung_edit'])) if ($angabedatei_up) { $name_up = pathinfo($_FILES["angabedatei"]["name"]); + //Handle double file extensions (e.g.: .tar.gz) + //Array of possible double extensions + $ext_array = array('.tar.gz','.tar.bz2','.tar.xz','.tar.lzma','.tar.Z'); + //Find occurence of extensions ending with ".tar." + if (in_array(substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"], '.tar.')), $ext_array)) + $extension = substr($_FILES["angabedatei"]["name"], strripos($_FILES["angabedatei"]["name"]+1, '.tar.')); + else + $extension = $name_up["extension"]; $name_neu = makeUploadName($db, $which='angabe', $lehreinheit_id=$lehreinheit_id, $uebung_id=$uebung_id, $ss=$stsem); - $angabedatei_neu = $name_neu.".".$name_up["extension"]; + $angabedatei_neu = $name_neu.".".$extension; $angabepfad = BENOTUNGSTOOL_PATH."angabe/".$angabedatei_neu; //$angabepfad = BENOTUNGSTOOL_PATH.$angabedatei; diff --git a/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.php b/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.php index bd95242d3..85126e44a 100755 --- a/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.php @@ -229,6 +229,8 @@ $rechte->getBerechtigungen($uid); t('global/nachname'); ?> t('global/matrikelnummer'); ?> t('global/datum'); ?> + t('benotungstool/note'); ?> + t('global/anmerkung'); ?> @@ -256,8 +258,10 @@ $rechte->getBerechtigungen($uid); echo ''.$anmeldung->reihung.''; echo ''.$student->vorname.''; echo ''.$student->nachname.''; - echo ''.$student->matrikelnr.''; + echo ''.$student->matr_nr.''; echo ''.$date.''; + echo ''; + echo ''; echo ''; } ?> @@ -274,6 +278,19 @@ $rechte->getBerechtigungen($uid); } ?> +
+ + + + + + + + + + + diff --git a/cis/private/lvplan/stpl_kalender.php b/cis/private/lvplan/stpl_kalender.php index 47258eab2..bae1b5795 100644 --- a/cis/private/lvplan/stpl_kalender.php +++ b/cis/private/lvplan/stpl_kalender.php @@ -231,7 +231,8 @@ if(!isset($begin) || !isset($ende)) } } -if($ende-$begin>31536000) + +if($ende-$begin>34560000) // = 400 Tage { die($p->t('lvplan/datumsbereichZuGross')."!"); } diff --git a/cis/private/profile/studienplan.php b/cis/private/profile/studienplan.php index 5ae32db11..409d0a87b 100755 --- a/cis/private/profile/studienplan.php +++ b/cis/private/profile/studienplan.php @@ -1,729 +1,728 @@ - - * - * Zeigt den Studienplan eines Studierenden an - * und bietet die Möglichkeit zur Anmeldung zu Lehrveranstaltungen. - * Dabei werden Regeln und Anmeldezeiträume der Lehrveranstaltungen berücksichtigt. - */ -require_once('../../../config/cis.config.inc.php'); -require_once('../../../config/global.config.inc.php'); -require_once('../../../include/functions.inc.php'); -require_once('../../../include/studienordnung.class.php'); -require_once('../../../include/studienplan.class.php'); -require_once('../../../include/lvregel.class.php'); -require_once('../../../include/studiensemester.class.php'); -require_once('../../../include/lehrveranstaltung.class.php'); -require_once('../../../include/prestudent.class.php'); -require_once('../../../include/zeugnisnote.class.php'); -require_once('../../../include/lvangebot.class.php'); -require_once('../../../include/datum.class.php'); -require_once('../../../include/phrasen.class.php'); -require_once('../../../include/note.class.php'); -require_once('../../../include/benutzerberechtigung.class.php'); -require_once('../../../include/benutzergruppe.class.php'); -require_once('../../../include/konto.class.php'); -require_once('../../../include/lvinfo.class.php'); -require_once('../../../include/addon.class.php'); -require_once('../../../include/anrechnung.class.php'); - -$uid = get_uid(); - -if(isset($_GET['uid'])) -{ - // Administratoren duerfen die UID als Parameter uebergeben um den Studienplan - // von anderen Personen anzuzeigen - - $rechte = new benutzerberechtigung(); - $rechte->getBerechtigungen($uid); - if($rechte->isBerechtigt('admin')) - $uid=$_GET['uid']; -} - -$p = new phrasen(getSprache()); -$datum_obj = new datum(); -$db = new basis_db(); - -if(isset($_GET['getAnmeldung'])) -{ - // Liefert das Formular zur Anmeldung zu Lehrveranstaltungen zurueck - - $lehrveranstaltung_id=$_GET['lehrveranstaltung_id']; - $stsem = $_GET['stsem']; - - echo $p->t('studienplan/LehrveranstalungWaehlen').' - - - '; - $lehrveranstaltung = new lehrveranstaltung(); - $anzahl=0; - - // Die Anmeldung ist zur Lehrveranstaltung selbst und zu den dazu kompatiblen Lehrveranstaltungen moeglich - $kompatibel = $lehrveranstaltung->loadLVkompatibel($lehrveranstaltung_id); - - $datum = new datum(); - $kompatibel[]=$lehrveranstaltung_id; - $kompatibel = array_unique($kompatibel); - foreach($kompatibel as $lvid) - { - $lvangebot = new lvangebot(); - $lvangebot->getAllFromLvId($lvid, $stsem); - if(isset($lvangebot->result[0])) - { - $lv = new lehrveranstaltung(); - $lv->load($lvid); - - $angebot = $lvangebot->result[0]; - if($angebot->AnmeldungMoeglich()) - { - $anzahl++; - // LV wird angeboten und Anmeldefenster ist offen - - $bngruppe = new benutzergruppe(); - if(!$bngruppe->load($uid, $lvangebot->result[0]->gruppe_kurzbz, $stsem)) - { - // User ist noch nicht angemeldet - //Pruefen ob genug Credit Points zur Verfuegung stehen zur Anmeldung - - $konto = new konto(); - $cp = $konto->getCreditPoints($uid, $stsem); - if($cp===false || $cp>=$lv->ects) - echo '
'.$lv->bezeichnung.' (Anmeldung bis '.$datum->formatDatum($angebot->anmeldefenster_ende,"d.m.Y").')'; - else - echo '
'.$lv->bezeichnung.''; - } - else - { - // Bereits angemeldet - echo '
'.$lv->bezeichnung.''; - } - } -/* else - { - // LV wird angeboten, Anmeldefenster ist aber nicht offen oder keine Gruppe zugeteilt - echo '
'.$lv->bezeichnung.''; - }*/ - } - } - - if($anzahl>0) - echo '

'; - else - echo '

'.$p->t('studienplan/AnmeldungDerzeitNichtMoeglich'); - exit(); -} -echo ' - - - - '.$p->t('studienplan/studienplan').' - - - - - '; - - // ADDONS laden - $addon_obj = new addon(); - $addon_obj->loadAddons(); - foreach($addon_obj->result as $addon) - { - if(file_exists('../../../addons/'.$addon->kurzbz.'/cis/init.js.php')) - echo ''; - } - - // Wenn Seite fertig geladen ist Addons aufrufen - echo ' - - '; - -echo ' - - - -
'.$p->t('studienplan/Anmeldung').'
-'; - -if(isset($_POST['action']) && $_POST['action']=='anmeldung') -{ - $lehrveranstaltung_id = $_POST['lv']; - $stsem = $_POST['stsem']; - - $lvangebot = new lvangebot(); - $lvangebot->getAllFromLvId($lehrveranstaltung_id, $stsem); - - if(isset($lvangebot->result[0])) - { - if($lvangebot->result[0]->AnmeldungMoeglich()) - { - // Benutzer einschreiben - $bngruppe = new benutzergruppe(); - - if(!$bngruppe->load($uid, $lvangebot->result[0]->gruppe_kurzbz, $stsem)) - { - - // Pruefen ob genug CP zur Verfuegung stehen falls diese reduziert sind - $konto = new konto(); - $cp = $konto->getCreditPoints($uid, $stsem); - if($cp===false || $cp>=$lv->ects) - { - $bngruppe->uid = $uid; - $bngruppe->gruppe_kurzbz = $lvangebot->result[0]->gruppe_kurzbz; - $bngruppe->studiensemester_kurzbz = $stsem; - $bngruppe->new=true; - if($bngruppe->save()) - { - echo ''.$p->t('studienplan/einschreibungErfolgreich').''; - // Menue neu Laden damit die LV unter Meine LV gleich angezeigt wird - echo ''; - } - } - else - echo ''.$p->t('studienplan/zuWenigCP').''; - } - else - { - echo ''.$p->t('studienplan/bereitsAngemeldet').''; - } - } - else - echo $lvangebot->result[0]->errormsg; - } - else - echo $p->t('studienplan/AnmeldungNichtMoeglich'); -} - -$db = new basis_db(); -$datum_obj = new datum(); -// Student Laden -$student = new student(); -$student->load($uid); - -// ersten Status holen -$prestudent = new prestudent(); -$prestudent->getFirstStatus($student->prestudent_id, 'Student'); - -$studiensemester_start = $prestudent->studiensemester_kurzbz; -$ausbildungssemester_start = $prestudent->ausbildungssemester; -$orgform_kurzbz = $prestudent->orgform_kurzbz; - -$prestudent->getLastStatus($student->prestudent_id, 'Student'); -$studienplan_id = $prestudent->studienplan_id; - -$studienplan = new studienplan(); -$studienplan->loadStudienplan($studienplan_id); - -// Studienplan laden -$lehrveranstaltung = new lehrveranstaltung(); -$lehrveranstaltung->loadLehrveranstaltungStudienplan($studienplan_id); -$tree = $lehrveranstaltung->getLehrveranstaltungTree(); - - -/* - Vom Semesterstart des Studierenden ausgehend werden die Studiensemester geladen. - Es werden mindestens so viele Studiensemester geladen wie die Regelstudiendauer des - Studienplanes angibt. -*/ -// Angezeigte Studiensemester holen -$stsem = new studiensemester(); -$stsem_arr[0]=$studiensemester_start; -$studiensemester_prev=$studiensemester_start; -for($i=1;$i<$studienplan->regelstudiendauer;$i++) -{ - $stsem_arr[$i]=$stsem->getNextFrom($studiensemester_prev); - $studiensemester_prev=$stsem_arr[$i]; -} - -/* - Wenn Studierende ueber der Regelstudiendauer hinaus studierenen, wird das aktuelle Studiensemester - nicht angezeigt. Deshalb wird in solchen faellen immer bis zum aktuellen+2 Studiensemester geladen. -*/ -$stsem_obj = new studiensemester(); -$aktornext = $stsem_obj->getaktorNext(); -$stsemToShow = $stsem_obj->jump($aktornext,2); - -if(!in_array($stsemToShow,$stsem_arr)) -{ - for($i=count($stsem_arr);$i<50;$i++) - { - if(!$stsem_arr[$i]=$stsem->getNextFrom($studiensemester_prev)) - { - unset($stsem_arr[$i]); - break; - } - $studiensemester_prev=$stsem_arr[$i]; - if($stsemToShow==$studiensemester_prev) - { - break; - } - } -} - -// Noten des Studierenden holen -$noten_arr=array(); -$zeugnisnote = new zeugnisnote(); -if($zeugnisnote->getZeugnisnoten('',$uid,'')) -{ - foreach($zeugnisnote->result as $row_note) - { - if($row_note->note!='') - { - $noten_arr[$row_note->lehrveranstaltung_id][$row_note->studiensemester_kurzbz]=$row_note->note; - } - } -} - -$note_pruef_arr = array(); -$note = new note(); -$note->getAll(); -foreach($note->result as $row_note) - $note_pruef_arr[$row_note->note]=$row_note; - -// LV Angebot holen -$lvangebot_arr = array(); -$lvangebot = new lvangebot(); -$lvangebot->getLVAngebotFromStudienplan($studienplan_id, $stsem_arr,true); -foreach($lvangebot->result as $row_lvangebot) - $lvangebot_arr[$row_lvangebot->lehrveranstaltung_id][$row_lvangebot->studiensemester_kurzbz]=$row_lvangebot; - -// LVs des Studienplans laden -$lv_arr = array(); -$lv = new lehrveranstaltung(); -$lv->loadLehrveranstaltungStudienplan($studienplan_id); -foreach($lv->lehrveranstaltungen as $row_lva) - $lv_arr[$row_lva->lehrveranstaltung_id]=$row_lva; - -echo '

'.$p->t('studienplan/studienplan').": $studienplan->bezeichnung ($studienplan_id) - $student->vorname $student->nachname ( $student->uid )

"; - -echo '
t('pruefung/derLektor'); ?>getFullName(FALSE); ?>
t('pruefung/dieKommission'); ?>
- - - '; - -if(CIS_STUDIENPLAN_SEMESTER_ANZEIGEN) - echo ''; - -echo ' - '; - -foreach($stsem_arr as $stsem) -{ - echo ''; -} -echo ' - - - '; - -// Lehrveranstaltungen anzeigen -drawTree($tree,0); - -function drawTree($tree, $depth) -{ - global $uid, $stsem_arr, $noten_arr, $lvangebot_arr; - global $datum_obj, $db, $lv_arr, $p, $note_pruef_arr, $student; - - foreach($tree as $row_tree) - { - $style=''; - if(!empty($row_tree->childs)) - { - $bstart='';$bende=''; - $style=' style="background-color:#EEEEEE"'; - } - else - { - $bstart='';$bende=''; - } - - switch($row_tree->lehrtyp_kurzbz) - { - case 'modul': - $icon=' '; - $style=' style="background-color:#CCCCCC"'; - $termine=''; - break; - case 'lv': - $icon=' '; - $termine="Termine"; - break; - default: - $icon=''; - } - - - echo ' - '; - - // Semester - if(CIS_STUDIENPLAN_SEMESTER_ANZEIGEN) - echo ''; - - // ECTS Punkte - echo ''; - - // Status der LV (absolviert, offen) - echo ''; - - // Spalten für die einzelnen Studiensemester - foreach($stsem_arr as $key=>$stsem) - { - $semester=$key+1; - - $tdclass=array(); - //Empfehlung holen -// if(isset($lv_arr[$row_tree->lehrveranstaltung_id])) -// { -// $empfohlenesSemester = $lv_arr[$row_tree->lehrveranstaltung_id]->semester; -// if($semester==$empfohlenesSemester) -// $tdclass[]='empfehlung'; -// } - - - - $tdinhalt=''; - // Ist bereits eine Note für diese LV in diesem Stsem vorhanden? - if(isset($noten_arr[$row_tree->lehrveranstaltung_id][$stsem])) - { - if($note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->positiv) - $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->anmerkung.''; - else - $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->anmerkung.''; - } - elseif(count($kompatibleLVs) > 0) - { - $found = false; - $i = 0; - while(!$found && $i < count($kompatibleLVs)) - { - foreach($kompatibleLVs as $komp) - { - $anrechnung = new anrechnung(); - $anrechnung->getAnrechnungPrestudent($student->prestudent_id, $row_tree->lehrveranstaltung_id, $komp); - - if(count($anrechnung->result) == 1) - { - $lv = $anrechnung->result[0]->lehrveranstaltung_id_kompatibel; - if(isset($noten_arr[$lv][$stsem])) - { - $found = true; - if($note_pruef_arr[$noten_arr[$lv][$stsem]]->positiv) - $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$lv][$stsem]]->anmerkung.''; - else - $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$lv][$stsem]]->anmerkung.''; - } - } - $i++; - } - - if(!$found) - { - $tdinhalt.= '-'; - } - } - } - else - { - // Angebot der LV und der Kompatiblen pruefen - $anmeldungmoeglich=false; - $angemeldet=false; - $semesterlock=false; - $regelerfuellt=true; - $anmeldeinformation=''; - $angebot_vorhanden=false; - - // Regeln Pruefen - $lvregel = new lvregel(); - - // Pruefen ob Semestersperre vorhanden ist - if(!$lvregel->checkSemester($row_tree->studienplan_lehrveranstaltung_id, $semester)) - { - $semesterlock=true; - } - else - { - if(!$lvregel->isZugangsberechtigt($uid, $row_tree->studienplan_lehrveranstaltung_id, $stsem)) - { - $regelerfuellt=false; - } - } - - foreach($lvkompatibel_arr as $row_lvid) - { - // Angebot der LV pruefen - if(isset($lvangebot_arr[$row_lvid]) - && isset($lvangebot_arr[$row_lvid][$stsem])) - { - $angebot_vorhanden=true; - // LV findet statt - $angebot = $lvangebot_arr[$row_lvid][$stsem]; - - if($angebot->gruppe_kurzbz!='') - { - // Pruefen ob bereits angemeldet - $bngruppe = new benutzergruppe(); - if($bngruppe->load($uid, $angebot->gruppe_kurzbz, $stsem)) - { - // Bereits angemeldet - $angemeldet=true; - } - } - - // Pruefen ob eine Anmeldung möglich ist - if($angebot->AnmeldungMoeglich()) - { - if(!$angemeldet) - $anmeldungmoeglich=true; - } - else - $anmeldeinformation.=$angebot->errormsg; - } - } - - if($semesterlock) - { - $tdinhalt.= ''; - } - else - { - if($angebot_vorhanden) - { - $tdclass[]='angebot'; - if($angemeldet) - { - $tdinhalt.= ''; - } - else - { - if($anmeldungmoeglich) - $tdinhalt.= ''; - else - $tdinhalt.= '-'; - - if(!$regelerfuellt) - $tdinhalt.= 'X'; - } - } - else - { - // LV wird nicht angeboten - $tdinhalt.= '-'; - } - } - } - $class=implode(' ',$tdclass); - echo ''; - } - echo ''; - - // Wenn Subtree vorhanden, dann anzeigen - if(!empty($row_tree->childs)) - drawTree($row_tree->childs, $depth+1); - } -} -echo '
'.$p->t('global/lehrveranstaltung').''.$p->t('global/semester').''.$p->t('studienplan/ects').''.$p->t('studienplan/status').''; - - echo $stsem; - $konto = new konto(); - $cp = $konto->getCreditPoints($uid, $stsem); - if($cp!==false) - echo '
Information
'; - echo '
'.$bstart; - - // Einrückung für Subtree - for($i=0;$i<$depth;$i++) - echo '    '; - - $lvkompatibel = new lehrveranstaltung(); - $lvkompatibel_arr = $lvkompatibel->loadLVkompatibel($row_tree->lehrveranstaltung_id); - $lvkompatibel_arr[]=$row_tree->lehrveranstaltung_id; - - $abgeschlossen=false; - $lvregel = new lvregel(); - if($lvregel->exists($row_tree->studienplan_lehrveranstaltung_id)) - { - if($lvregel->isAbgeschlossen($uid, $row_tree->studienplan_lehrveranstaltung_id)) - $abgeschlossen=true; - else - $abgeschlossen=false; - } - $lvinfo = new lvinfo(); - switch(getSprache()) - { - case 'German': - $sprache = 'de'; - break; - case 'English': - $sprache = 'en'; - break; - default: - $sprache = 'de'; - } - if($lvinfo->exists($row_tree->lehrveranstaltung_id, getSprache())) - echo $icon." ".$termine." lehrveranstaltung_id&language=$sprache','Lehrveranstaltungsinformation','width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes');\">".$row_tree->kurzbz.' - '.$row_tree->bezeichnung.""; - else - // Bezeichnung der Lehrveranstaltung - echo $icon." ".$termine." ".$row_tree->kurzbz.' - '.$row_tree->bezeichnung.'('.$row_tree->lehrveranstaltung_id.')'; - echo $bende.''.$row_tree->semester.''.$row_tree->ects.''; - - // Note zu dieser LV vorhanden? - - $lv_kompatibel = new lehrveranstaltung(); - $kompatibleLVs = $lv_kompatibel->loadLVkompatibel($row_tree->lehrveranstaltung_id); - - if(isset($noten_arr[$row_tree->lehrveranstaltung_id])) - { - // Positive Note fuer diese LV vorhanden? - $positiv=false; - foreach($noten_arr[$row_tree->lehrveranstaltung_id] as $note) - { - if($note_pruef_arr[$note]->positiv) - $positiv=true; - } - - if($positiv) - echo ''.$p->t('studienplan/abgeschlossen').''; - else - echo ''.$p->t('studienplan/negativ').''; - } - //check if compatible course has grade - elseif(count($kompatibleLVs) > 0) - { - $positiv = false; - $found = false; - $i = 0; - while(!$found && $i < count($kompatibleLVs)) - { - foreach($kompatibleLVs as $komp) - { - - $anrechnung = new anrechnung(); - $anrechnung->getAnrechnungPrestudent($student->prestudent_id, $row_tree->lehrveranstaltung_id, $komp); - - if(count($anrechnung->result) == 1) - { - $lv = $anrechnung->result[0]->lehrveranstaltung_id_kompatibel; - if(isset($noten_arr[$lv])) - { - $positiv=false; - foreach($noten_arr[$lv] as $note) - { - if($note_pruef_arr[$note]->positiv) - $positiv=true; - } - - $found = true; - } - else - { - /* wenn zu mehreren kompatiblen lvs eine Anrechnung existiert - * darf found nicht auf false gesetzt werden wenn es zuvor bereits auf true gesetzt wurde - */ - if(!$found) - $found = false; - } - } - $i++; - } - } - - if($found) - { - if($positiv) - echo ''.$p->t('studienplan/abgeschlossen').''; - else - echo ''.$p->t('studienplan/negativ').''; - } - elseif(!$found) - { - if($abgeschlossen) - echo ''.$p->t('studienplan/regelabgeschlossen'),''; - elseif(!$row_tree->stpllv_pflicht) - echo ''.$p->t('studienplan/optional').''; - else - echo ''.$p->t('studienplan/offen').''; - } - } - else - { - if($abgeschlossen) - echo ''.$p->t('studienplan/regelabgeschlossen'),''; - elseif(!$row_tree->stpllv_pflicht) - echo ''.$p->t('studienplan/optional').''; - else - echo ''.$p->t('studienplan/offen').''; - } - echo ''; - echo $tdinhalt; - echo '
'; -echo '

'.$p->t('studienplan/legende').':
- - - - - - - - - - - - - - - - - - - - - - -
      '.$p->t('studienplan/legendeLVwirdAngeboten').'
'.$p->t('studienplan/Anmeldung').'
'.$p->t('studienplan/legendeAngemeldet').'
'.$p->t('studienplan/legendeLock').'
-'; - -echo ' -'; -?> + + * + * Zeigt den Studienplan eines Studierenden an + * und bietet die Möglichkeit zur Anmeldung zu Lehrveranstaltungen. + * Dabei werden Regeln und Anmeldezeiträume der Lehrveranstaltungen berücksichtigt. + */ +require_once('../../../config/cis.config.inc.php'); +require_once('../../../config/global.config.inc.php'); +require_once('../../../include/functions.inc.php'); +require_once('../../../include/studienordnung.class.php'); +require_once('../../../include/studienplan.class.php'); +require_once('../../../include/lvregel.class.php'); +require_once('../../../include/studiensemester.class.php'); +require_once('../../../include/lehrveranstaltung.class.php'); +require_once('../../../include/prestudent.class.php'); +require_once('../../../include/zeugnisnote.class.php'); +require_once('../../../include/lvangebot.class.php'); +require_once('../../../include/datum.class.php'); +require_once('../../../include/phrasen.class.php'); +require_once('../../../include/note.class.php'); +require_once('../../../include/benutzerberechtigung.class.php'); +require_once('../../../include/benutzergruppe.class.php'); +require_once('../../../include/konto.class.php'); +require_once('../../../include/lvinfo.class.php'); +require_once('../../../include/addon.class.php'); +require_once('../../../include/anrechnung.class.php'); + +$uid = get_uid(); + +if(isset($_GET['uid'])) +{ + // Administratoren duerfen die UID als Parameter uebergeben um den Studienplan + // von anderen Personen anzuzeigen + + $rechte = new benutzerberechtigung(); + $rechte->getBerechtigungen($uid); + if($rechte->isBerechtigt('admin')) + $uid=$_GET['uid']; +} + +$p = new phrasen(getSprache()); +$datum_obj = new datum(); +$db = new basis_db(); + +if(isset($_GET['getAnmeldung'])) +{ + // Liefert das Formular zur Anmeldung zu Lehrveranstaltungen zurueck + + $lehrveranstaltung_id=$_GET['lehrveranstaltung_id']; + $stsem = $_GET['stsem']; + + echo $p->t('studienplan/LehrveranstalungWaehlen').' +
+ + '; + $lehrveranstaltung = new lehrveranstaltung(); + $anzahl=0; + + // Die Anmeldung ist zur Lehrveranstaltung selbst und zu den dazu kompatiblen Lehrveranstaltungen moeglich + $kompatibel = $lehrveranstaltung->loadLVkompatibel($lehrveranstaltung_id); + + $datum = new datum(); + $kompatibel[]=$lehrveranstaltung_id; + $kompatibel = array_unique($kompatibel); + foreach($kompatibel as $lvid) + { + $lvangebot = new lvangebot(); + $lvangebot->getAllFromLvId($lvid, $stsem); + if(isset($lvangebot->result[0])) + { + $lv = new lehrveranstaltung(); + $lv->load($lvid); + + $angebot = $lvangebot->result[0]; + if($angebot->AnmeldungMoeglich()) + { + $anzahl++; + // LV wird angeboten und Anmeldefenster ist offen + + $bngruppe = new benutzergruppe(); + if(!$bngruppe->load($uid, $lvangebot->result[0]->gruppe_kurzbz, $stsem)) + { + // User ist noch nicht angemeldet + //Pruefen ob genug Credit Points zur Verfuegung stehen zur Anmeldung + + $konto = new konto(); + $cp = $konto->getCreditPoints($uid, $stsem); + if($cp===false || $cp>=$lv->ects) + echo '
'.$lv->bezeichnung.' (Anmeldung bis '.$datum->formatDatum($angebot->anmeldefenster_ende,"d.m.Y").')'; + else + echo '
'.$lv->bezeichnung.''; + } + else + { + // Bereits angemeldet + echo '
'.$lv->bezeichnung.''; + } + } +/* else + { + // LV wird angeboten, Anmeldefenster ist aber nicht offen oder keine Gruppe zugeteilt + echo '
'.$lv->bezeichnung.''; + }*/ + } + } + + if($anzahl>0) + echo '

'; + else + echo '

'.$p->t('studienplan/AnmeldungDerzeitNichtMoeglich'); + exit(); +} +echo ' + + + + '.$p->t('studienplan/studienplan').' + + + + + '; + + // ADDONS laden + $addon_obj = new addon(); + $addon_obj->loadAddons(); + foreach($addon_obj->result as $addon) + { + if(file_exists('../../../addons/'.$addon->kurzbz.'/cis/init.js.php')) + echo ''; + } + + // Wenn Seite fertig geladen ist Addons aufrufen + echo ' + + '; + +echo ' + + + +
'.$p->t('studienplan/Anmeldung').'
+'; + +if(isset($_POST['action']) && $_POST['action']=='anmeldung') +{ + $lehrveranstaltung_id = $_POST['lv']; + $stsem = $_POST['stsem']; + + $lvangebot = new lvangebot(); + $lvangebot->getAllFromLvId($lehrveranstaltung_id, $stsem); + + if(isset($lvangebot->result[0])) + { + if($lvangebot->result[0]->AnmeldungMoeglich()) + { + // Benutzer einschreiben + $bngruppe = new benutzergruppe(); + + if(!$bngruppe->load($uid, $lvangebot->result[0]->gruppe_kurzbz, $stsem)) + { + + // Pruefen ob genug CP zur Verfuegung stehen falls diese reduziert sind + $konto = new konto(); + $cp = $konto->getCreditPoints($uid, $stsem); + if($cp===false || $cp>=$lv->ects) + { + $bngruppe->uid = $uid; + $bngruppe->gruppe_kurzbz = $lvangebot->result[0]->gruppe_kurzbz; + $bngruppe->studiensemester_kurzbz = $stsem; + $bngruppe->new=true; + if($bngruppe->save()) + { + echo ''.$p->t('studienplan/einschreibungErfolgreich').''; + // Menue neu Laden damit die LV unter Meine LV gleich angezeigt wird + echo ''; + } + } + else + echo ''.$p->t('studienplan/zuWenigCP').''; + } + else + { + echo ''.$p->t('studienplan/bereitsAngemeldet').''; + } + } + else + echo $lvangebot->result[0]->errormsg; + } + else + echo $p->t('studienplan/AnmeldungNichtMoeglich'); +} + +$db = new basis_db(); +$datum_obj = new datum(); +// Student Laden +$student = new student(); +$student->load($uid); + +// ersten Status holen +$prestudent = new prestudent(); +$prestudent->getFirstStatus($student->prestudent_id, 'Student'); + +$studiensemester_start = $prestudent->studiensemester_kurzbz; +$ausbildungssemester_start = $prestudent->ausbildungssemester; +$orgform_kurzbz = $prestudent->orgform_kurzbz; + +$prestudent->getLastStatus($student->prestudent_id, 'Student'); +$studienplan_id = $prestudent->studienplan_id; + +$studienplan = new studienplan(); +$studienplan->loadStudienplan($studienplan_id); + +// Studienplan laden +$lehrveranstaltung = new lehrveranstaltung(); +$lehrveranstaltung->loadLehrveranstaltungStudienplan($studienplan_id); +$tree = $lehrveranstaltung->getLehrveranstaltungTree(); + + +/* + Vom Semesterstart des Studierenden ausgehend werden die Studiensemester geladen. + Es werden mindestens so viele Studiensemester geladen wie die Regelstudiendauer des + Studienplanes angibt. +*/ +// Angezeigte Studiensemester holen +$stsem = new studiensemester(); +$stsem_arr[0]=$studiensemester_start; +$studiensemester_prev=$studiensemester_start; +for($i=1;$i<$studienplan->regelstudiendauer;$i++) +{ + $stsem_arr[$i]=$stsem->getNextFrom($studiensemester_prev); + $studiensemester_prev=$stsem_arr[$i]; +} + +/* + Wenn Studierende ueber der Regelstudiendauer hinaus studierenen, wird das aktuelle Studiensemester + nicht angezeigt. Deshalb wird in solchen faellen immer bis zum aktuellen+2 Studiensemester geladen. +*/ +$stsem_obj = new studiensemester(); +$aktornext = $stsem_obj->getaktorNext(); +$stsemToShow = $stsem_obj->jump($aktornext,2); + +if(!in_array($stsemToShow,$stsem_arr)) +{ + for($i=count($stsem_arr);$i<50;$i++) + { + if(!$stsem_arr[$i]=$stsem->getNextFrom($studiensemester_prev)) + { + unset($stsem_arr[$i]); + break; + } + $studiensemester_prev=$stsem_arr[$i]; + if($stsemToShow==$studiensemester_prev) + { + break; + } + } +} + +// Noten des Studierenden holen +$noten_arr=array(); +$zeugnisnote = new zeugnisnote(); +if($zeugnisnote->getZeugnisnoten('',$uid,'')) +{ + foreach($zeugnisnote->result as $row_note) + { + if($row_note->note!='') + { + $noten_arr[$row_note->lehrveranstaltung_id][$row_note->studiensemester_kurzbz]=$row_note->note; + } + } +} + +$note_pruef_arr = array(); +$note = new note(); +$note->getAll(); +foreach($note->result as $row_note) + $note_pruef_arr[$row_note->note]=$row_note; + +// LV Angebot holen +$lvangebot_arr = array(); +$lvangebot = new lvangebot(); +$lvangebot->getLVAngebotFromStudienplan($studienplan_id, $stsem_arr,true); +foreach($lvangebot->result as $row_lvangebot) + $lvangebot_arr[$row_lvangebot->lehrveranstaltung_id][$row_lvangebot->studiensemester_kurzbz]=$row_lvangebot; + +// LVs des Studienplans laden +$lv_arr = array(); +$lv = new lehrveranstaltung(); +$lv->loadLehrveranstaltungStudienplan($studienplan_id); +foreach($lv->lehrveranstaltungen as $row_lva) + $lv_arr[$row_lva->lehrveranstaltung_id]=$row_lva; + +echo '

'.$p->t('studienplan/studienplan').": $studienplan->bezeichnung ($studienplan_id) - $student->vorname $student->nachname ( $student->uid )

"; + +echo ' + + + '; + +if(CIS_STUDIENPLAN_SEMESTER_ANZEIGEN) + echo ''; + +echo ' + '; + +foreach($stsem_arr as $stsem) +{ + echo ''; +} +echo ' + + + '; + +// Lehrveranstaltungen anzeigen +drawTree($tree,0); + +function drawTree($tree, $depth) +{ + global $uid, $stsem_arr, $noten_arr, $lvangebot_arr; + global $datum_obj, $db, $lv_arr, $p, $note_pruef_arr, $student; + + foreach($tree as $row_tree) + { + $style=''; + if(!empty($row_tree->childs)) + { + $bstart='';$bende=''; + $style=' style="background-color:#EEEEEE"'; + } + else + { + $bstart='';$bende=''; + } + + switch($row_tree->lehrtyp_kurzbz) + { + case 'modul': + $icon=' '; + $style=' style="background-color:#CCCCCC"'; + $termine=''; + break; + case 'lv': + $icon=' '; + $termine="Termine"; + break; + default: + $icon=''; + } + + + echo ' + '; + + // Semester + if(CIS_STUDIENPLAN_SEMESTER_ANZEIGEN) + echo ''; + + // ECTS Punkte + echo ''; + + // Status der LV (absolviert, offen) + echo ''; + + // Spalten für die einzelnen Studiensemester + foreach($stsem_arr as $key=>$stsem) + { + $semester=$key+1; + + $tdclass=array(); + //Empfehlung holen +// if(isset($lv_arr[$row_tree->lehrveranstaltung_id])) +// { +// $empfohlenesSemester = $lv_arr[$row_tree->lehrveranstaltung_id]->semester; +// if($semester==$empfohlenesSemester) +// $tdclass[]='empfehlung'; +// } + + $tdinhalt=''; + + // Ist bereits eine Note für diese LV in diesem Stsem vorhanden? + if(isset($noten_arr[$row_tree->lehrveranstaltung_id][$stsem])) + { + if($note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->positiv) + $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->anmerkung.''; + else + $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$row_tree->lehrveranstaltung_id][$stsem]]->anmerkung.''; + } + elseif(count($kompatibleLVs) > 0) + { + $found = false; + $i = 0; + while(!$found && $i < count($kompatibleLVs)) + { + foreach($kompatibleLVs as $komp) + { + $anrechnung = new anrechnung(); + $anrechnung->getAnrechnungPrestudent($student->prestudent_id, $row_tree->lehrveranstaltung_id, $komp); + + if(count($anrechnung->result) == 1) + { + $lv = $anrechnung->result[0]->lehrveranstaltung_id_kompatibel; + if(isset($noten_arr[$lv][$stsem])) + { + $found = true; + if($note_pruef_arr[$noten_arr[$lv][$stsem]]->positiv) + $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$lv][$stsem]]->anmerkung.''; + else + $tdinhalt .= ''.$note_pruef_arr[$noten_arr[$lv][$stsem]]->anmerkung.''; + } + } + $i++; + } + + if(!$found) + { + $tdinhalt.= '-'; + } + } + } + else + { + // Angebot der LV und der Kompatiblen pruefen + $anmeldungmoeglich=false; + $angemeldet=false; + $semesterlock=false; + $regelerfuellt=true; + $anmeldeinformation=''; + $angebot_vorhanden=false; + + // Regeln Pruefen + $lvregel = new lvregel(); + + // Pruefen ob Semestersperre vorhanden ist + if(!$lvregel->checkSemester($row_tree->studienplan_lehrveranstaltung_id, $semester)) + { + $semesterlock=true; + } + else + { + if(!$lvregel->isZugangsberechtigt($uid, $row_tree->studienplan_lehrveranstaltung_id, $stsem)) + { + $regelerfuellt=false; + } + } + + foreach($lvkompatibel_arr as $row_lvid) + { + // Angebot der LV pruefen + if(isset($lvangebot_arr[$row_lvid]) + && isset($lvangebot_arr[$row_lvid][$stsem])) + { + $angebot_vorhanden=true; + // LV findet statt + $angebot = $lvangebot_arr[$row_lvid][$stsem]; + + if($angebot->gruppe_kurzbz!='') + { + // Pruefen ob bereits angemeldet + $bngruppe = new benutzergruppe(); + if($bngruppe->load($uid, $angebot->gruppe_kurzbz, $stsem)) + { + // Bereits angemeldet + $angemeldet=true; + } + } + + // Pruefen ob eine Anmeldung möglich ist + if($angebot->AnmeldungMoeglich()) + { + if(!$angemeldet) + $anmeldungmoeglich=true; + } + else + $anmeldeinformation.=$angebot->errormsg; + } + } + + if($semesterlock) + { + $tdinhalt.= ''; + } + else + { + if($angebot_vorhanden) + { + $tdclass[]='angebot'; + if($angemeldet) + { + $tdinhalt.= ''; + } + else + { + if($anmeldungmoeglich) + $tdinhalt.= ''; + else + $tdinhalt.= '-'; + + if(!$regelerfuellt) + $tdinhalt.= 'X'; + } + } + else + { + // LV wird nicht angeboten + $tdinhalt.= '-'; + } + } + } + $class=implode(' ',$tdclass); + echo ''; + } + echo ''; + + // Wenn Subtree vorhanden, dann anzeigen + if(!empty($row_tree->childs)) + drawTree($row_tree->childs, $depth+1); + } +} +echo '
'.$p->t('global/lehrveranstaltung').''.$p->t('global/semester').''.$p->t('studienplan/ects').''.$p->t('studienplan/status').''; + + echo $stsem; + $konto = new konto(); + $cp = $konto->getCreditPoints($uid, $stsem); + if($cp!==false) + echo '
Information
'; + echo '
'.$bstart; + + // Einrückung für Subtree + for($i=0;$i<$depth;$i++) + echo '    '; + + $lvkompatibel = new lehrveranstaltung(); + $lvkompatibel_arr = $lvkompatibel->loadLVkompatibel($row_tree->lehrveranstaltung_id); + $lvkompatibel_arr[]=$row_tree->lehrveranstaltung_id; + + $abgeschlossen=false; + $lvregel = new lvregel(); + if($lvregel->exists($row_tree->studienplan_lehrveranstaltung_id)) + { + if($lvregel->isAbgeschlossen($uid, $row_tree->studienplan_lehrveranstaltung_id)) + $abgeschlossen=true; + else + $abgeschlossen=false; + } + $lvinfo = new lvinfo(); + switch(getSprache()) + { + case 'German': + $sprache = 'de'; + break; + case 'English': + $sprache = 'en'; + break; + default: + $sprache = 'de'; + } + if($lvinfo->exists($row_tree->lehrveranstaltung_id, getSprache())) + echo $icon." ".$termine." lehrveranstaltung_id&language=$sprache','Lehrveranstaltungsinformation','width=700,height=750,resizable=yes,menuebar=no,toolbar=no,status=yes,scrollbars=yes');\">".$row_tree->kurzbz.' - '.$row_tree->bezeichnung.""; + else + // Bezeichnung der Lehrveranstaltung + echo $icon." ".$termine." ".$row_tree->kurzbz.' - '.$row_tree->bezeichnung.'('.$row_tree->lehrveranstaltung_id.')'; + echo $bende.''.$row_tree->semester.''.$row_tree->ects.''; + + // Note zu dieser LV vorhanden? + + $lv_kompatibel = new lehrveranstaltung(); + $kompatibleLVs = $lv_kompatibel->loadLVkompatibel($row_tree->lehrveranstaltung_id); + + if(isset($noten_arr[$row_tree->lehrveranstaltung_id])) + { + // Positive Note fuer diese LV vorhanden? + $positiv=false; + foreach($noten_arr[$row_tree->lehrveranstaltung_id] as $note) + { + if($note_pruef_arr[$note]->positiv) + $positiv=true; + } + + if($positiv) + echo ''.$p->t('studienplan/abgeschlossen').''; + else + echo ''.$p->t('studienplan/negativ').''; + } + //check if compatible course has grade + elseif(count($kompatibleLVs) > 0) + { + $positiv = false; + $found = false; + $i = 0; + while(!$found && $i < count($kompatibleLVs)) + { + foreach($kompatibleLVs as $komp) + { + + $anrechnung = new anrechnung(); + $anrechnung->getAnrechnungPrestudent($student->prestudent_id, $row_tree->lehrveranstaltung_id, $komp); + + if(count($anrechnung->result) == 1) + { + $lv = $anrechnung->result[0]->lehrveranstaltung_id_kompatibel; + if(isset($noten_arr[$lv])) + { + $positiv=false; + foreach($noten_arr[$lv] as $note) + { + if($note_pruef_arr[$note]->positiv) + $positiv=true; + } + + $found = true; + } + else + { + /* wenn zu mehreren kompatiblen lvs eine Anrechnung existiert + * darf found nicht auf false gesetzt werden wenn es zuvor bereits auf true gesetzt wurde + */ + if(!$found) + $found = false; + } + } + $i++; + } + } + + if($found) + { + if($positiv) + echo ''.$p->t('studienplan/abgeschlossen').''; + else + echo ''.$p->t('studienplan/negativ').''; + } + elseif(!$found) + { + if($abgeschlossen) + echo ''.$p->t('studienplan/regelabgeschlossen'),''; + elseif(!$row_tree->stpllv_pflicht) + echo ''.$p->t('studienplan/optional').''; + else + echo ''.$p->t('studienplan/offen').''; + } + } + else + { + if($abgeschlossen) + echo ''.$p->t('studienplan/regelabgeschlossen'),''; + elseif(!$row_tree->stpllv_pflicht) + echo ''.$p->t('studienplan/optional').''; + else + echo ''.$p->t('studienplan/offen').''; + } + echo ''; + echo $tdinhalt; + echo '
'; +echo '

'.$p->t('studienplan/legende').':
+ + + + + + + + + + + + + + + + + + + + + + +
      '.$p->t('studienplan/legendeLVwirdAngeboten').'
'.$p->t('studienplan/Anmeldung').'
'.$p->t('studienplan/legendeAngemeldet').'
'.$p->t('studienplan/legendeLock').'
+'; + +echo ' +'; +?> diff --git a/cis/public/accountactivation.php b/cis/public/accountactivation.php old mode 100644 new mode 100755 index 1726ffaaa..823c50823 --- a/cis/public/accountactivation.php +++ b/cis/public/accountactivation.php @@ -36,10 +36,10 @@ if(isset($_GET['sprache'])) } $erfolgreichaktiviert=false; -$sprache = getSprache(); +$sprache = getSprache(); $p = new phrasen($sprache); -$securimage = new Securimage(); +$securimage = new Securimage(); $errormsg=''; $db = new basis_db(); @@ -55,9 +55,9 @@ else if(isset($_POST['submit'])) -{ - // Captcha Pruefen - if ($securimage->check($_POST['captcha_code']) == true) +{ + // Captcha Pruefen + if ($securimage->check($_POST['captcha_code']) == true) { // Benutzer laden $benutzer = new benutzer(); @@ -68,7 +68,7 @@ if(isset($_POST['submit'])) { $passwort = $_POST['passwort']; $passwort2 = $_POST['passwort2']; - + // Vergleichen ob beide Passwoerter gleich sind if($passwort==$passwort2) { @@ -89,22 +89,22 @@ if(isset($_POST['submit'])) } else { - $errormsg='Passwoerter stimmen nicht ueberein'; + $errormsg = $p->t('passwort/NichtUebereinstimmend'); } } else { - $errormsg='Code oder Username falsch'; + $errormsg = $p->t('passwort/CodeOderUsernameFalsch'); } } else { - $errormsg='Code oder Username falsch'; + $errormsg = $p->t('passwort/CodeOderUsernameFalsch'); } } else { - $errormsg= 'Captcha Code falsch'; + $errormsg= $p->t('passwort/CaptchaCodeFalsch'); } } @@ -118,7 +118,7 @@ echo ' @@ -132,8 +132,8 @@ echo ' if($erfolgreichaktiviert) { - echo '

Ihr Account wurde erfolgreich aktiviert



- >> Weiter zum Login'; + echo '

'.$p->t('passwort/AccountErfolgreichAktiviert').'



+ >> '.$p->t('passwort/WeiterZumLogin').''; } else { @@ -159,7 +159,7 @@ else

'; if(!isset($_SERVER['HTTPS']) || (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='off')) { - + $httpspath = str_replace('http://','https://',APP_ROOT).'cis/public/accountactivation.php'; echo '
'.$p->t('passwort/NoHttps').'
'.$p->t('passwort/ZuHttpsWechseln').'

'; diff --git a/include/auth_mixed.class.php b/include/auth_mixed.class.php index d6b861b0d..cff1d8635 100644 --- a/include/auth_mixed.class.php +++ b/include/auth_mixed.class.php @@ -144,7 +144,7 @@ class authentication extends auth { header('WWW-Authenticate: Basic realm="'.AUTH_NAME.'"'); header('HTTP/1.0 401 Unauthorized'); - echo "Ihre Zugangsdaten sind ungueltig!"; + echo "Invalid Credentials"; exit; } else diff --git a/include/lehrveranstaltung.class.php b/include/lehrveranstaltung.class.php index 4f76bd440..ec8c272a4 100755 --- a/include/lehrveranstaltung.class.php +++ b/include/lehrveranstaltung.class.php @@ -373,6 +373,7 @@ class lehrveranstaltung extends basis_db $lv_obj->lehrauftrag = $this->db_parse_bool($row->lehrauftrag); $lv_obj->bezeichnung_arr['German'] = $row->bezeichnung; + $lv_obj->bezeichnung_arr['Italian'] = $row->bezeichnung; $lv_obj->bezeichnung_arr['English'] = $row->bezeichnung_english; if ($lv_obj->bezeichnung_arr['English'] == '') $lv_obj->bezeichnung_arr['English'] = $lv_obj->bezeichnung_arr['German']; diff --git a/include/prestudent.class.php b/include/prestudent.class.php index a6d16ff89..17f84fd32 100755 --- a/include/prestudent.class.php +++ b/include/prestudent.class.php @@ -1756,7 +1756,38 @@ class prestudent extends person return false; } - $qry = "SELECT DISTINCT prestudent_id, vorname, nachname, gebdatum, rt_gesamtpunkte, tbl_prestudent.studiengang_kz, bis.tbl_zgvgruppe.bezeichnung, get_rolle_prestudent(prestudent_id, null) as laststatus + $stg_obj = new studiengang(); + $stg_obj->load($studiengang_kz); + + if($stg_obj->typ=='m') + { + $qry = "SELECT DISTINCT prestudent_id, vorname, nachname, gebdatum, rt_gesamtpunkte, tbl_prestudent.studiengang_kz, bis.tbl_zgvgruppe.bezeichnung, get_rolle_prestudent(prestudent_id, null) as laststatus + FROM + public.tbl_prestudent + JOIN public.tbl_person USING(person_id) + LEFT JOIN bis.tbl_zgvgruppe_zuordnung USING(zgvmas_code) + LEFT JOIN bis.tbl_zgvgruppe USING(gruppe_kurzbz) + WHERE + tbl_prestudent.studiengang_kz=". $this->db_add_param($studiengang_kz)." + AND EXISTS( + SELECT + 1 + FROM + public.tbl_prestudentstatus + WHERE + tbl_prestudent.prestudent_id=tbl_prestudentstatus.prestudent_id + AND studiensemester_kurzbz=". $this->db_add_param($studiensemester_kurzbz)." + AND status_kurzbz='Bewerber' + AND ( + studienplan_id=". $this->db_add_param($studienplan_id)." + OR + (anmerkung like '%' || (SELECT orgform_kurzbz || '_' || sprache FROM lehre.tbl_studienplan WHERE studienplan_id=". $this->db_add_param($studienplan_id).") || '%') + ) + );"; + } + else + { + $qry = "SELECT DISTINCT prestudent_id, vorname, nachname, gebdatum, rt_gesamtpunkte, tbl_prestudent.studiengang_kz, bis.tbl_zgvgruppe.bezeichnung, get_rolle_prestudent(prestudent_id, null) as laststatus FROM public.tbl_prestudent JOIN public.tbl_person USING(person_id) @@ -1779,6 +1810,7 @@ class prestudent extends person (anmerkung like '%' || (SELECT orgform_kurzbz || '_' || sprache FROM lehre.tbl_studienplan WHERE studienplan_id=". $this->db_add_param($studienplan_id).") || '%') ) );"; + } if($result = $this->db_query($qry)) diff --git a/locale/de-AT/mail.php b/locale/de-AT/mail.php index 1b7d8c383..7299c88aa 100755 --- a/locale/de-AT/mail.php +++ b/locale/de-AT/mail.php @@ -42,8 +42,7 @@ These pages will give you a detailed overview of all services available. $this->phrasen['mail/incomingRegistrationEmail']='Dies ist eine automatisch generierte E-Mail.

Vielen Dank für Ihre Registrierung.

Sie wurden erfolgreich am System registriert. -


Mit Hilfe Ihrer UID: %s können Sie sich in unserem -System (Link zur Anmeldung) anmelden und Ihre Daten bearbeiten.


+


Mit der UserID: %s können Sie sich in unserem System anmelden und Ihre Daten bearbeiten.


Mit freundlichen Grüßen, Ihre Hochschule'; diff --git a/locale/de-AT/passwort.php b/locale/de-AT/passwort.php old mode 100644 new mode 100755 index 272a887f0..e6822af8c --- a/locale/de-AT/passwort.php +++ b/locale/de-AT/passwort.php @@ -26,5 +26,8 @@ $this->phrasen['passwort/CaptchaEingabe']='Tippen Sie die angezeigten
Zeichen $this->phrasen['passwort/ReloadCaptcha']='Ich kann das Bild nicht lesen - neu laden'; $this->phrasen['passwort/PasswortWaehlen']='Bitte wählen Sie ein Passwort für Ihren Account.'; $this->phrasen['passwort/AccountAktivierung']='Account Aktivierung'; - +$this->phrasen['passwort/CodeOderUsernameFalsch']='Code oder Username falsch'; +$this->phrasen['passwort/CaptchaCodeFalsch']='Captcha Code falsch'; +$this->phrasen['passwort/AccountErfolgreichAktiviert']='Ihr Account wurde erfolgreich aktiviert'; +$this->phrasen['passwort/WeiterZumLogin']='Weiter zum Login'; ?> diff --git a/locale/en-US/mail.php b/locale/en-US/mail.php new file mode 100644 index 000000000..bcca01a40 --- /dev/null +++ b/locale/en-US/mail.php @@ -0,0 +1,49 @@ +phrasen['mail/signatur']="Mit freundlichen Grüßen\n\nIhre Hochschule\n"; +/* + * Mail, die vom Profil aus an den Einkauf bezüglich Betriebsmittel verschickt wird + */ +$this->phrasen['mail/profilBetriebsmittelKorrektur']="invalid@example.com"; + +$this->phrasen['mail/accountaktivierung']='
Account Information

+Name: %1$s %2$s
+Username: %3$s
+Aktivierungscode: %4$s
+%5$s
+E-Mail: %6$s
+
+
+
Account Mini FAQ Deutsch

+
+Wie aktiviere ich meinen Account?
+Öffnen Sie mit ihrem Web-Browser die Adresse %7$s
+Tragen Sie in das Formular Ihren Usernamen und Aktivierungscode ein und vergeben Sie ein Passwort für den Account. +

+Wo erhalte ich weitere Informationen?
+Die primäre Anlaufstelle für Fragen rund um den Netzwerkbetrieb ist die Webseite
+%8$s
+Verwenden Sie die Informationen auf dieser Seite, um einen Überblick über die vorhandenen Möglichkeiten zu erhalten. +

+
Account Mini FAQ English

+
+Account activation:
+Open your web browser and go to %7$s
+Enter your user name and activation key. Enter a new password for your account. +

+Looking for further information?
+For questions concerning the network services, see
+%8$s
+These pages will give you a detailed overview of all services available. +

+'; + +$this->phrasen['mail/incomingRegistrationEmail']='This is an automatic email!

+You have been successfully registrated to our system. +


With the UserID: %s you can login to our system to complete your data.


+Best regards, +your University of Applied Sciences'; + +?> diff --git a/locale/en-US/passwort.php b/locale/en-US/passwort.php old mode 100644 new mode 100755 index e9e4559e8..ba010c2f0 --- a/locale/en-US/passwort.php +++ b/locale/en-US/passwort.php @@ -1,7 +1,7 @@ phrasen['passwort/Title']='Changing password'; $this->phrasen['passwort/PasswortAenderFuer']='Changing password for User %s %s ( %s )'; -$this->phrasen['passwort/InfotextPolicy']='The password must contain at least 8 characters, +$this->phrasen['passwort/InfotextPolicy']='The password must contain at least 8 characters, of which 1 must be upper case, 1 lower case and 1 a numeral.

The password may not include spaces or umlauts.
The following special characters are allowed: -$#[]{}!().,*:;_'; @@ -26,4 +26,9 @@ $this->phrasen['passwort/CaptchaEingabe']='Enter the characters in
the field $this->phrasen['passwort/ReloadCaptcha']='Reload picture'; $this->phrasen['passwort/PasswortWaehlen']='Please choose a password for your account'; $this->phrasen['passwort/AccountAktivierung']='Account Activation'; +$this->phrasen['passwort/CodeOderUsernameFalsch']='Code or Username wrong'; +$this->phrasen['passwort/CaptchaCodeFalsch']='Captcha Code wrong'; +$this->phrasen['passwort/AccountErfolgreichAktiviert']='Account has been activated successfully'; +$this->phrasen['passwort/WeiterZumLogin']='Proceed to Login'; + ?> diff --git a/locale/it-IT/benotungstool.php b/locale/it-IT/benotungstool.php index 15afeb510..7b2ee38fe 100755 --- a/locale/it-IT/benotungstool.php +++ b/locale/it-IT/benotungstool.php @@ -106,7 +106,7 @@ $this->phrasen['benotungstool/neueUebungAnlegen']='crea nuova esercitazione'; $this->phrasen['benotungstool/nichtFreigeschaltet']='non attivato'; $this->phrasen['benotungstool/nichtGespeichertKreuzerllisteNichtFreigegeben']='impossibile attivare cambiamenti in quanto la lista con caselle da barrare scelta non è attivata'; $this->phrasen['benotungstool/nichtVorbereitet']='non preparato'; -$this->phrasen['benotungstool/note']='voto'; +$this->phrasen['benotungstool/note']='Voto'; $this->phrasen['benotungstool/noteEingeben']='Inserire un voto tra 1 - 5 ovvero 7 (non valutato), 10 (superato), 14 (non superato) ovvero 16 (frequentato con successo)'; $this->phrasen['benotungstool/noteEingebenOderLeer']='Inserire un voto tra 1 - 5 ovvero 7 (non valutato), 10 (superato), 14 (non superato) ovvero 16 (frequentato con successo) o lasciare libero il campo'; $this->phrasen['benotungstool/noteIstUngueltig']='voto non valido'; diff --git a/locale/it-IT/global.php b/locale/it-IT/global.php index b61422b7f..e37b79008 100755 --- a/locale/it-IT/global.php +++ b/locale/it-IT/global.php @@ -94,7 +94,7 @@ $this->phrasen['global/loeschen']='cancella'; $this->phrasen['global/löschen']='cancella'; $this->phrasen['global/mail']='messaggio mail'; $this->phrasen['global/mann']='maschio/uomo'; -$this->phrasen['global/matrikelnummer']='numero di matricola'; +$this->phrasen['global/matrikelnummer']='Matricola'; $this->phrasen['global/minute']='minuti'; $this->phrasen['global/mittwoch']='mercoledì'; $this->phrasen['global/montag']='lunedì'; diff --git a/locale/it-IT/news.php b/locale/it-IT/news.php index b3139ec14..a84d8e4a4 100755 --- a/locale/it-IT/news.php +++ b/locale/it-IT/news.php @@ -1,31 +1,45 @@ phrasen['news/allesemester']='tutti i semestri'; -$this->phrasen['news/allgemein']='generale'; -$this->phrasen['news/anlegen']=''; -$this->phrasen['news/betreff']=''; -$this->phrasen['news/eintragNochNichtVeroeffentlicht']=''; -$this->phrasen['news/eintragVeroeffentlicht']=''; -$this->phrasen['news/fehlerBeimSenden']='errore in sede di trasmissione della mail a %s'; -$this->phrasen['news/freifach']=''; -$this->phrasen['news/keinSemester']=''; -$this->phrasen['news/keinUebersetzerVorhanden']=''; -$this->phrasen['news/mailtext']=''; -$this->phrasen['news/mailtextHTML']=''; -$this->phrasen['news/maximal30Tage']=''; -$this->phrasen['news/neuereintrag']=''; -$this->phrasen['news/neuerNewseintrag']=''; -$this->phrasen['news/newsverwaltung']=''; -$this->phrasen['news/sichtbarab']=''; -$this->phrasen['news/sichtbarbis']=''; -$this->phrasen['news/studiengang']=''; -$this->phrasen['news/text']='testo'; -$this->phrasen['news/uebersetzen']='tradurre'; -$this->phrasen['news/uebersetzunganlegen']='salva la traduzione in '; -$this->phrasen['news/uebersetzungenvorhanden']=''; -$this->phrasen['news/uebersetzungsanforderungGesendet']='richiesta di traduzione trasmessa a %s'; -$this->phrasen['news/verfasser']=''; -$this->phrasen['news/veroeffentlichen']=''; -$this->phrasen['news/verwaltungstools']=''; -$this->phrasen['news/xsemester']=''; +$this->phrasen['news/verwaltungstools']='Strumenti di gestione'; +$this->phrasen['news/newsverwaltung']='Gestione notizie'; +$this->phrasen['news/neuereintrag']='Inserisci nuova notizia'; +$this->phrasen['news/verfasser']='Autore'; +$this->phrasen['news/betreff']='Oggetto'; +$this->phrasen['news/text']='Testo'; + +$this->phrasen['news/sichtbarab']='Visbile da'; +$this->phrasen['news/sichtbarbis']='Visibile fino'; +$this->phrasen['news/maximal30Tage']='(max. 30 giorni, opzionale)'; + +$this->phrasen['news/allgemein']='Generale'; +$this->phrasen['news/freifach']='Corso opzionale'; +$this->phrasen['news/studiengang']='Corso di studi'; + +$this->phrasen['news/uebersetzunganlegen']='Inserire traduzione in'; +$this->phrasen['news/uebersetzen']='Inserire traduzione'; +$this->phrasen['news/anlegen']='Inserisci'; +$this->phrasen['news/uebersetzungenvorhanden']='La notizia è già stata inserita in tutte le lingue possibili'; + +$this->phrasen['news/allesemester']='Tutti i semestri'; +$this->phrasen['news/xsemester']='%s.'; +$this->phrasen['news/keinSemester']='Nessun semestre (Notizia generale)'; + +$this->phrasen['news/neuerNewseintrag']='Nuova notizia disponibile per la traduzione'; //Betreff von Infomail an Uebersetzer. +$this->phrasen['news/mailtext']='Questo è un messaggio email autogenerato. + +E’ stata inserita una notizia nel sistema. Questa è ora disponibile per la traduzione. +(se non si vedono link e contenuto, accertarsi di aver attivato la visualizzazione html)'; //Plaintext im Infomail an Uebersetzer. +$this->phrasen['news/mailtextHTML']='Dies ist eine automatisch generierte E-Mail.

+ E’ stata inserita una notizia nel sistema. Questa è ora disponibile per la traduzione: per la notizia +



+ %s
+
+
+ %s'; //HTML-Text im Infomail an Uebersetzer. +$this->phrasen['news/uebersetzungsanforderungGesendet']='Richiesta di traduzione inviata a %s '; +$this->phrasen['news/fehlerBeimSenden']='Errore nell’invio a %s'; +$this->phrasen['news/keinUebersetzerVorhanden']='Nel sistema non sono state inserite persone addette alla traduzione'; //Leerlassen, falls keine Info diesbezueglich gewuenscht ist +$this->phrasen['news/eintragVeroeffentlicht']='Notizia %s pubblicata'; +$this->phrasen['news/eintragNochNichtVeroeffentlicht']='Notizia %s non ancora pubblicata'; +$this->phrasen['news/veroeffentlichen']='Pubblica'; ?> diff --git a/locale/it-IT/passwort.php b/locale/it-IT/passwort.php index 1d8b76633..50c3fddff 100755 --- a/locale/it-IT/passwort.php +++ b/locale/it-IT/passwort.php @@ -1,31 +1,35 @@ phrasen['passwort/AccountAktivierung']='Attiva account'; -$this->phrasen['passwort/AenderungFehler']='Passwort Änderung fehlgeschlagen:%s'; -$this->phrasen['passwort/AenderungOK']='Das Passwort wurde erfolgreich geaendert'; +$this->phrasen['passwort/AenderungFehler']='Cambio password fallito:%s'; +$this->phrasen['passwort/AenderungOK']='Cambio password avvenuto con successo'; $this->phrasen['passwort/AltesPasswort']='Vecchia password'; -$this->phrasen['passwort/CaptchaEingabe']='Cliccare sui campi visualizzati
sul campo sottostante'; -$this->phrasen['passwort/Grossbuchstabe']='Das neue Passwort muss mindestens einen Grossbuchstaben enthalten.'; +$this->phrasen['passwort/CaptchaEingabe']='Inserire i caratteri visualizzati
nel campo sottostante'; +$this->phrasen['passwort/Grossbuchstabe']='La nuova password deve contenere almeno una lettera maiuscola.'; $this->phrasen['passwort/InfotextPolicy']=' -La password deve contenere almeno 8 caratteri, di cui almeno 1 maiuscolo, 1 minuscolo e 1 cifra.
+La password deve contenere almeno 8 caratteri, di cui almeno 1 maiuscolo, 1 minuscolo e 1 carattere numerico.
La password non può contenere spazi e caratteri accentati.
Caratteri speciali ammessi sono: -$#[]{}!().,*:;_ = '; -$this->phrasen['passwort/Kleinbuchstabe']='Das neue Passwort muss mindestens einen Kleinbuchstaben enthalten.'; -$this->phrasen['passwort/Leerzeichen']='Es darf kein Leerzeichen im Passwort vorkommen.'; +$this->phrasen['passwort/Kleinbuchstabe']='La nuova password deve contenere almeno una lettera minuscola.'; +$this->phrasen['passwort/Leerzeichen']='La password non può contenere spazi.'; $this->phrasen['passwort/MinLaenge']='La password deve contenere almeno 8 caratteri.'; $this->phrasen['passwort/NeuesPasswort']='Nuova password'; -$this->phrasen['passwort/NichtUebereinstimmend']='Passwörter stimmen nicht überein'; -$this->phrasen['passwort/NoHttps']='ATTENZIONE - state utilizzando una trasmissione in chiaro. La password dovrebbe essere cambiata solo in presenza di un sistema di trasmissione codificato,'; +$this->phrasen['passwort/NichtUebereinstimmend']='La nuova password non coincide nei due campi dedicati.'; +$this->phrasen['passwort/NoHttps']='ATTENZIONE - la connessione utilizzata in questo momento è una connessione normale. La password dovrebbe essere cambiata solo in presenza di una connessione sicura (https).'; $this->phrasen['passwort/PasswortAenderFuer']='Cambio password per utente %s %s ( %s )'; $this->phrasen['passwort/PasswortAendern']='Cambia password'; -$this->phrasen['passwort/PasswortWaehlen']='Bitte wählen Sie ein Passwort für Ihren Account.'; +$this->phrasen['passwort/PasswortWaehlen']='Per favore scegliere una password per il proprio account.'; $this->phrasen['passwort/PasswortWiederholung']='Conferma nuova password'; -$this->phrasen['passwort/ReloadCaptcha']='Ich kann das Bild nicht lesen - neu laden'; -$this->phrasen['passwort/Sonderzeichen']='Bitte verwenden Sie nur erlaubte Sonderzeichen'; +$this->phrasen['passwort/ReloadCaptcha']='Immagine non visibile - ricarica immagine'; +$this->phrasen['passwort/Sonderzeichen']='Per favore utilizzare solamente i caratteri speciali consentiti.'; $this->phrasen['passwort/Title']='Cambio password'; -$this->phrasen['passwort/Umlaute']='Es dürfen keine Umlaute verwendet werden.'; -$this->phrasen['passwort/Ziffer']='Es muss mindestens eine Ziffer vorhanden sein.'; -$this->phrasen['passwort/ZuHttpsWechseln']='Jetzt zu verschlüsselter Verbindung wechseln'; +$this->phrasen['passwort/Umlaute']='Non sono consentiti i caratteri accentati.'; +$this->phrasen['passwort/Ziffer']='La password deve contenere almeno un carattere numerico.'; +$this->phrasen['passwort/ZuHttpsWechseln']='Passa ora a una connessione sicura (https)'; +$this->phrasen['passwort/CodeOderUsernameFalsch']='Codice o nome utente errato'; +$this->phrasen['passwort/CaptchaCodeFalsch']='Il codice antispam inserito è errato'; +$this->phrasen['passwort/AccountErfolgreichAktiviert']='L’account è stato attivato con successo'; +$this->phrasen['passwort/WeiterZumLogin']='Prosegui al login'; ?> diff --git a/rdf/diplomasupplement.xml.php b/rdf/diplomasupplement.xml.php index 7d74e46ea..e5e31384b 100644 --- a/rdf/diplomasupplement.xml.php +++ b/rdf/diplomasupplement.xml.php @@ -236,51 +236,51 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml") if($row->typ=='d') { - echo ' UNESCO ISCED 5A'; + echo ' UNESCO ISCED 7'; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; - echo ' Diplomstudium (UNESCO ISCED 5A)'; - echo ' Diploma degree program (UNESCO ISCED 5A)'; + echo ' Diplomstudium (UNESCO ISCED 7)'; + echo ' Diploma degree program (UNESCO ISCED 7)'; } elseif($row->typ=='m') { - echo ' UNESCO ISCED 5A'; + echo ' UNESCO ISCED 7'; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; - echo ' Masterstudium (UNESCO ISCED 5A)'; - echo ' Master degree program (UNESCO ISCED 5A)'; + echo ' Masterstudium (UNESCO ISCED 7)'; + echo ' Master degree program (UNESCO ISCED 7)'; } elseif($row->typ=='b') { - echo ' UNESCO ISCED 5A'; + echo ' UNESCO ISCED 6'; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; - echo ' Bachelorstudium (UNESCO ISCED 5A)'; - echo ' Bachelor degree program (UNESCO ISCED 5A)'; + echo ' Bachelorstudium (UNESCO ISCED 6)'; + echo ' Bachelor degree program (UNESCO ISCED 6)'; } elseif($row->typ=='r') { - echo ' UNESCO ISCED 6'; - echo ' Doktoratsstudium (UNESCO ISCED 6)'; - echo ' University doctoral studies (UNESCO ISCED 6)'; + echo ' UNESCO ISCED 8'; + echo ' Doktoratsstudium (UNESCO ISCED 8)'; + echo ' University doctoral studies (UNESCO ISCED 8)'; } elseif($row->typ=='l' || $row->typ=='k') { - echo ' UNESCO ISCED 5A'; + echo ' UNESCO ISCED 7'; echo ' Lehrgang zur Weiterbildung nach §9 FHStG idgF.'; echo ' Certificate Program for Further Education subjected to § 9 FHStG'; echo ' '; diff --git a/rdf/konto.rdf.php b/rdf/konto.rdf.php index f633ad4f6..ce3be694f 100644 --- a/rdf/konto.rdf.php +++ b/rdf/konto.rdf.php @@ -31,6 +31,7 @@ require_once('../config/vilesci.config.inc.php'); require_once('../include/konto.class.php'); require_once('../include/person.class.php'); require_once('../include/studiengang.class.php'); +require_once('../include/studiensemester.class.php'); require_once('../include/datum.class.php'); require_once('../include/functions.inc.php'); require_once('../include/student.class.php'); @@ -204,13 +205,15 @@ elseif ($xmlformat=='xml') { global $datum, $btyp; $rueckerstattung=false; - + $stg = new studiensemester($row->studiensemester_kurzbz); + echo " buchungsnr."]]> person_id."]]> studiengang_kz."]]> studiensemester_kurzbz."]]> + studienjahr_kurzbz."]]> buchungsnr_verweis."]]> betrag))."]]>"; if($row->buchungsnr_verweis!='') @@ -275,6 +278,7 @@ elseif ($xmlformat=='xml') nachname."]]> vorname."]]> vornamen."]]> + matr_nr."]]> anrede.' '.$pers->titelpre.' '.$pers->vorname.' '.$pers->nachname.' '.$pers->titelpost)."]]> titelpre.' '.$pers->vorname.' '.$pers->nachname.' '.$pers->titelpost)."]]> convertISODate($pers->gebdatum)."]]> @@ -324,4 +328,4 @@ elseif ($xmlformat=='xml') echo "\n"; } -?> \ No newline at end of file +?> diff --git a/rdf/lehrauftrag.xml.php b/rdf/lehrauftrag.xml.php index 869321655..00919c8c1 100644 --- a/rdf/lehrauftrag.xml.php +++ b/rdf/lehrauftrag.xml.php @@ -344,14 +344,33 @@ function drawLehrauftrag($uid) $gesamtstunden = $gesamtstunden + $stunden; } } - $qry = "SELECT tbl_projektarbeit.projektarbeit_id, tbl_projektbetreuer.faktor, tbl_projektbetreuer.stunden, tbl_projektbetreuer.stundensatz, tbl_lehrveranstaltung.semester, - vorname, nachname, vw_student.studiengang_kz, projekttyp_kurzbz, tbl_fachbereich.fachbereich_kurzbz - FROM lehre.tbl_projektbetreuer, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, lehre.tbl_lehrveranstaltung, public.tbl_fachbereich, - public.tbl_benutzer, lehre.tbl_projektarbeit, campus.vw_student - WHERE tbl_projektbetreuer.person_id=tbl_benutzer.person_id AND tbl_benutzer.uid=".$db->db_add_param($uid)." AND - tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND student_uid=vw_student.uid AND tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz - AND tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id AND - tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($ss)." AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id "; + $qry = "SELECT tbl_projektarbeit.projektarbeit_id + ,tbl_projektbetreuer.faktor + ,tbl_projektbetreuer.stunden + ,tbl_projektbetreuer.stundensatz + ,tbl_lehrveranstaltung.semester + ,vorname + ,nachname + ,vw_student.studiengang_kz + ,projekttyp_kurzbz + ,tbl_organisationseinheit.oe_kurzbz + FROM lehre.tbl_projektbetreuer + ,lehre.tbl_lehreinheit + ,lehre.tbl_lehrveranstaltung AS lehrfach + ,lehre.tbl_lehrveranstaltung + ,PUBLIC.tbl_organisationseinheit + ,PUBLIC.tbl_benutzer + ,lehre.tbl_projektarbeit + ,campus.vw_student + WHERE tbl_projektbetreuer.person_id = tbl_benutzer.person_id + AND tbl_benutzer.uid = ".$db->db_add_param($uid)." + AND tbl_projektarbeit.projektarbeit_id = tbl_projektbetreuer.projektarbeit_id + AND student_uid = vw_student.uid + AND tbl_organisationseinheit.oe_kurzbz = tbl_lehrveranstaltung.oe_kurzbz + AND tbl_lehreinheit.lehreinheit_id = tbl_projektarbeit.lehreinheit_id + AND tbl_lehreinheit.lehrfach_id = lehrfach.lehrveranstaltung_id + AND tbl_lehreinheit.studiensemester_kurzbz = ".$db->db_add_param($ss)." + AND tbl_lehreinheit.lehrveranstaltung_id = tbl_lehrveranstaltung.lehrveranstaltung_id"; if($studiengang_kz!='') $qry.=" AND tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz, FHC_INTEGER); if($result = $db->db_query($qry)) @@ -377,7 +396,7 @@ function drawLehrauftrag($uid) $lv[$anzahl_lvs]['lehreinheit_id'] = (isset($row->projektarbeit_id)?$kuerzel.$row->projektarbeit_id:' '); $lv[$anzahl_lvs]['lehrveranstaltung'] = 'Betreuung '.$row->vorname.' '.$row->nachname; - $lv[$anzahl_lvs]['fachbereich'] = (isset($row->fachbereich_kurzbz)?$fb_arr[$row->fachbereich_kurzbz]:' '); + $lv[$anzahl_lvs]['fachbereich'] = (isset($row->oe_kurzbz) && array_key_exists($row->oe_kurzbz, $fb_arr)?$fb_arr[$row->oe_kurzbz]:' '); $lv[$anzahl_lvs]['gruppe'] = ' '; $lv[$anzahl_lvs]['stunden'] = (isset($row->stunden)?number_format($row->stunden,2):' '); $lv[$anzahl_lvs]['satz'] = (isset($row->stundensatz)?$row->stundensatz:' '); diff --git a/rdf/student.rdf.php b/rdf/student.rdf.php index 842a9a36f..1f56ae3e9 100755 --- a/rdf/student.rdf.php +++ b/rdf/student.rdf.php @@ -823,6 +823,10 @@ else } else $stg_kz = sprintf("%04s", abs($student->studiengang_kz)); + if (($semester % 2) == 0) + $studienjahr = $semester/2; + else + $studienjahr = intval($semester/2)+1; echo ' @@ -834,12 +838,14 @@ else vorname.']]> nachname.']]> matrikelnr.']]> + matr_nr.']]> convertISODate($student->gebdatum).']]> gebdatum.']]> gebort.']]> verband.']]> gruppe.']]> + orgform_kurzbz.']]> bezeichnung.']]> @@ -862,6 +868,7 @@ else convertISODate($studienbeginn).']]> studiensemester_kurzbz.']]> + studienjahr_kurzbz.']]> bezeichnung.']]> convertISODate($stsem->start).']]> diff --git a/skin/tempus.css b/skin/tempus.css index 67ddaaaf9..e8eb17994 100644 --- a/skin/tempus.css +++ b/skin/tempus.css @@ -25,6 +25,10 @@ menubar,menupopup,toolbar,tabpanels,tabbox,iframe,box,hbox,vbox,tree,label,descr padding-left: 0px; padding-right: 0px; } +menubar +{ + background-color: #ff8040; +} menupopup { border: 1px solid black; diff --git a/vilesci/lehre/lv_merge.php b/vilesci/lehre/lv_merge.php index 04a143a59..8ce13220b 100644 --- a/vilesci/lehre/lv_merge.php +++ b/vilesci/lehre/lv_merge.php @@ -33,6 +33,7 @@ require_once('../../include/studienplan.class.php'); require_once('../../include/studiensemester.class.php'); require_once('../../include/lehrveranstaltung.class.php'); require_once('../../include/lehrtyp.class.php'); +require_once('../../include/log.class.php'); if (!$db = new basis_db()) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); @@ -111,12 +112,12 @@ if (isset($_REQUEST['compare'])) $msg .= ''; foreach ($lv_diff1 as $key => $value) { - $msg .= ''.$value.''; + $msg .= ''.(is_bool($value)?($value?'true':'false'):$value).''; } $msg .= ''; foreach ($lv_diff2 as $key => $value) { - $msg .= ''.$value.''; + $msg .= ''.(is_bool($value)?($value?'true':'false'):$value).''; } $msg .= ''; } @@ -259,6 +260,24 @@ if((isset($_REQUEST['transfer']) || isset($_REQUEST['mergeDelete'])) && isset($c $msg_qry = str_replace('*/', '', $msg_qry); $msg .= "
".$msg_qry; $db->db_query("COMMIT;"); + + //Log schreiben + $log = new log(); + + $log->new = true; + $log->sql = $update_qry; + $log->sqlundo = 'No undo statement implemented yet'; + $log->executetime = date('Y-m-d H:i:s'); + $log->mitarbeiter_uid = $uid; + if (isset($_REQUEST['transfer'])) + $log->beschreibung = "lv_merge.php: Merge of course $courseLeft to $courseRight"; + elseif (isset($_REQUEST['mergeDelete'])) + $log->beschreibung = "lv_merge.php: Deletion of course $courseLeft. Merged with $courseRight"; + + if(!$log->save()) + { + $msg .= "Error while writing log-file
"; + } } else { @@ -634,7 +653,7 @@ echo "ID"; echo "Name"; echo "Type"; if ($select_stg_kz_left=='') - echo "DP"; + echo "DP"; echo "Semester"; echo "Language"; echo "ECTS"; @@ -720,7 +739,7 @@ echo "ID"; echo "Name"; echo "Type"; if ($select_stg_kz_right=='') - echo "DP"; + echo "DP"; echo "Semester"; echo "Language"; echo "ECTS"; diff --git a/vilesci/personen/import/interessentenimport.php b/vilesci/personen/import/interessentenimport.php index 642061a61..e6897f8f3 100644 --- a/vilesci/personen/import/interessentenimport.php +++ b/vilesci/personen/import/interessentenimport.php @@ -129,46 +129,41 @@ if(isset($_GET['type']) && $_GET['type']=='getortcontent' && isset($_GET['plz']) exit; } -function getStudienplanDropDown($studiengang_kz, $orgform_kurzbz='', $studienplan_id='', $studiensemester_kurzbz, $ausbildungssemester='') +function getStudienplanDropDown($studiengang_kz, $orgform_kurzbz='', $studienplan_id='') { $db = new basis_db(); - $content= ' + '; $studienplan = new studienplan(); - $studienplan->getStudienplaeneFromSem($studiengang_kz, $studiensemester_kurzbz, $ausbildungssemester, $orgform_kurzbz); - //var_dump($studienplan->result); - if (count($studienplan->result)==0) - $content.=""; - else + $studienplan->getStudienplaene($studiengang_kz); + + foreach($studienplan->result as $row) { - $content .= ''; - foreach($studienplan->result as $row) + if($studienplan_id=='') + $studienplan_id=$row->studienplan_id; + + if($studienplan_id==$row->studienplan_id) + $selected='selected'; + else + $selected=''; + + if($row->aktiv) { - if($studienplan_id=='') - $studienplan_id=$row->studienplan_id; - - if($studienplan_id==$row->studienplan_id) - $selected='selected'; - else - $selected=''; - - if($row->aktiv) - { - if($orgform_kurzbz=='' || $row->orgform_kurzbz=='' || $row->orgform_kurzbz==$orgform_kurzbz) - $content.=""; - } + if($orgform_kurzbz=='' || $row->orgform_kurzbz=='' || $row->orgform_kurzbz==$orgform_kurzbz) + $content.=""; } - } + } $content.= ''; return $content; } -if(isset($_GET['type']) && $_GET['type']=='getstudienplancontent' && isset($_GET['studiengang_kz']) && isset($_GET['orgform_kurzbz']) && isset ($_GET['studiensemester_kurzbz']) && isset ($_GET['ausbildungssemester'])) +if(isset($_GET['type']) && $_GET['type']=='getstudienplancontent' && isset($_GET['studiengang_kz']) && isset($_GET['orgform_kurzbz'])) { header('Content-Type: text/html; charset=UTF-8'); - echo getStudienplanDropDown($_GET['studiengang_kz'], $_GET['orgform_kurzbz'], '', $_GET['studiensemester_kurzbz'], $_GET['ausbildungssemester']); + echo getStudienplanDropDown($_GET['studiengang_kz'], $_GET['orgform_kurzbz']); exit; } ?> @@ -394,10 +389,8 @@ function loadStudienplanData() var ts = jetzt.getTime(); var studiengang_kz = document.getElementById('studiengang_kz').value; var orgform_kurzbz = document.getElementById('orgform_kurzbz').value; - var studiensemester_kurzbz = document.getElementById('studiensemester_kurzbz').value; - var ausbildungssemester = document.getElementById('ausbildungssemester').value; var url= ''; - url += '&studiengang_kz='+encodeURIComponent(studiengang_kz)+"&orgform_kurzbz="+encodeURIComponent(orgform_kurzbz)+"&studiensemester_kurzbz="+encodeURIComponent(studiensemester_kurzbz)+"&ausbildungssemester="+encodeURIComponent(ausbildungssemester)+"&"+ts; + url += '&studiengang_kz='+encodeURIComponent(studiengang_kz)+"&orgform_kurzbz="+encodeURIComponent(orgform_kurzbz)+"&"+ts; anfrage.open("GET", url, true); anfrage.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); anfrage.onreadystatechange = setStudienplanData; @@ -1131,14 +1124,14 @@ foreach ($stg_obj->result as $row) } echo ''; echo ''; -echo 'Studiensemester *'; $stsem = new studiensemester(); $stsem->getAll(); foreach ($stsem->studiensemester as $row) echo ''; echo ''; echo ''; -echo 'Ausbildungssemester *'; for ($i=1;$i<9;$i++) echo ''; echo ''; @@ -1157,8 +1150,8 @@ echo ''; echo ''; echo "\n"; echo 'Studienplan
'; -if($studiengang_kz!='' && $studiensemester_kurzbz!='') - echo getStudienplanDropDown($studiengang_kz, $orgform_kurzbz, $studienplan_id, $studiensemester_kurzbz); +if($studiengang_kz!='') + echo getStudienplanDropDown($studiengang_kz, $orgform_kurzbz, $studienplan_id); else echo 'Bitte zuerst einen Studiengang waehlen'; echo '
diff --git a/vilesci/personen/institutsliste.php b/vilesci/personen/institutsliste.php index 0b7049826..1d0cd1715 100644 --- a/vilesci/personen/institutsliste.php +++ b/vilesci/personen/institutsliste.php @@ -47,7 +47,19 @@ echo ' - + + +

Liste der MitarbeiterInnen der Institute

'; @@ -85,7 +97,7 @@ else //Alle aktiven Mitarbeiter holen mit den ALVS-Stunden und der Hauptinstitutszuteilung $qry = "SELECT - vorname, nachname, fixangestellt, mitarbeiter_uid, kompetenzen, + personalnummer, vorname, nachname, fixangestellt, mitarbeiter_uid, kompetenzen, ( SELECT sum(semesterstunden) @@ -123,27 +135,21 @@ $qry = "SELECT if($result = $db->db_query($qry)) { - echo "

+ $count = $db->db_num_rows($result); + echo $count.' MitarbeiterInnen'; + echo "

- - - - - - - - - - - - - - - - - - + + + + + + + + + + "; @@ -151,6 +157,7 @@ if($result = $db->db_query($qry)) while($row = $db->db_fetch_object($result)) { echo ''; + echo ""; echo ""; echo ""; echo "";
ALVSInstitute
NachnameVornameFix / FreiKompetenzen".$db->convert_html_chars($ws)."".$db->convert_html_chars($ss)."StudiengangHauptzuteilungSonstigePNrNachnameVornameFix / FreiKompetenzenALVS
".$db->convert_html_chars($ws)."
ALVS
".$db->convert_html_chars($ss)."
StudiengangInstitut HauptzuteilungSonstige Institutszuteilungen
".$db->convert_html_chars($row->personalnummer)."".$db->convert_html_chars($row->nachname)."".$db->convert_html_chars($row->vorname)."".($row->fixangestellt=='t'?'fix':'frei')."