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('pruefung/derLektor'); ?> | +getFullName(FALSE); ?> | ++ |
| t('pruefung/dieKommission'); ?> | ++ | + |
| '.$p->t('global/lehrveranstaltung').' | '; - -if(CIS_STUDIENPLAN_SEMESTER_ANZEIGEN) - echo ''.$p->t('global/semester').' | '; - -echo ''.$p->t('studienplan/ects').' | -'.$p->t('studienplan/status').' | '; - -foreach($stsem_arr as $stsem) -{ - echo '';
-
- echo $stsem;
- $konto = new konto();
- $cp = $konto->getCreditPoints($uid, $stsem);
- if($cp!==false)
- echo ' ';
- echo ' | ';
-}
-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.' | '; - - // Semester - if(CIS_STUDIENPLAN_SEMESTER_ANZEIGEN) - echo ''.$row_tree->semester.' | '; - - // ECTS Punkte - echo ''.$row_tree->ects.' | '; - - // Status der LV (absolviert, offen) - echo ''; - - // 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 ' | '; - - // 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.= ''; - echo $tdinhalt; - echo ' | '; - } - echo '
| - | - |
| - | '.$p->t('studienplan/legendeLVwirdAngeboten').' | -
![]() |
- '.$p->t('studienplan/Anmeldung').' | -
![]() |
- '.$p->t('studienplan/legendeAngemeldet').' | -
![]() |
- '.$p->t('studienplan/legendeLock').' | -
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').' -
';
- else
- echo '
'.$p->t('studienplan/AnmeldungDerzeitNichtMoeglich');
- exit();
-}
-echo '
-
-
- -
- - - - - '; - - // 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 ' - - -
-