diff --git a/CHANGELOG.md b/CHANGELOG.md index ad9601ddb..5a9a78ea3 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ ### Updateinfo - **[FAS]** Für Lehraufträge muss eine Unoconv-Vorlage erstellt werden, da der für xsl-fo notwendige Seitenumbruch-Tag aus dem RDF entfernt wurde. - **[FAS]** Mehrsprachigkeitsspalte tbl_status.bezeichnung_mehrsprachig wird durch das Updatescript automatisch in den ersten beiden Sprachen mit der status_kurzbz vorbefüllt. Übersetzungen sind anzupassen. +- **[MOODLE]** Neue Webservicefunktion core_user_update_users wird benötigt ## [3.1.0] - 2015-11-12 ### Added diff --git a/cis/ampel.php b/cis/ampel.php index eeca6f603..27b4571d2 100755 --- a/cis/ampel.php +++ b/cis/ampel.php @@ -7,7 +7,20 @@ require_once('../include/phrasen.class.php'); $sprache = getSprache(); $p = new phrasen($sprache); +?> + + +loadUserAmpel($user); $rot=0; $gelb=0; + $verpflichtend = false; $datum = new datum(); foreach($ampel->result as $row) { @@ -23,16 +37,19 @@ if(is_user_logged_in()) $vlz = "-".$row->vorlaufzeit." day"; $ts_vorlaufzeit = strtotime($vlz, $ts_deadline); $ts_now = $datum->mktime_fromdate(date('Y-m-d')); - if($ts_deadline < $ts_now) { $rot++; + if ($row->verpflichtend == 't') + $verpflichtend = true; } else { if($ts_vorlaufzeit<=$ts_now && $ts_now<=$ts_deadline) { $gelb++; + if ($row->verpflichtend == 't') + $verpflichtend = true; } } } @@ -41,12 +58,53 @@ if(is_user_logged_in()) if($rot>0 || $gelb>0) { - echo ''; - if($rot>0 && $gelb==0) + // Wenn es eine verpflichtende Ampel gibt, das Pupup im CIS anzeigen + if ($verpflichtend == true) + { + echo ' '; + + echo ' '; + } + if($rot>0) echo ''.$p->t("tools/ampelsystem").'  |  '; - if($gelb>0 && $rot==0) + elseif($gelb>0) echo ''.$p->t("tools/ampelsystem").'  |  '; - echo ' '; } } else diff --git a/cis/index.php b/cis/index.php index ec8d08160..4d6453788 100644 --- a/cis/index.php +++ b/cis/index.php @@ -159,7 +159,7 @@ function loadampel() - +
@@ -192,12 +192,14 @@ function loadampel()
- - + + + +
diff --git a/cis/private/info/partnerhochschulen.php b/cis/private/info/partnerhochschulen.php new file mode 100644 index 000000000..6489599a3 --- /dev/null +++ b/cis/private/info/partnerhochschulen.php @@ -0,0 +1,150 @@ + + * Manfred Kindl < manfred.kindl@technikum-wien.at > + */ +require_once('../../../config/cis.config.inc.php'); +require_once('../../../include/firma.class.php'); +require_once('../../../include/benutzerberechtigung.class.php'); +require_once('../../../include/datum.class.php'); +require_once('../../../include/phrasen.class.php'); +require_once('../../../include/studiengang.class.php'); + +$user = get_uid(); +$sprache = getSprache(); +$p=new phrasen($sprache); + +//$rechte = new benutzerberechtigung(); +//$rechte->getBerechtigungen($user); + +//if(!$rechte->isBerechtigt('basis/service')) +// die('Sie haben keine Berechtigung fuer diese Seite'); + +$datum_obj = new datum(); + +echo ' + + + '.$p->t("services/service").' + + + + + + + + +

'.$p->t("tools/partnerhochschulenUebersicht").'

+

'.$p->t("tools/partnerhochschulenEinleitung").'

'; + +$stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:''); + +$firma = new firma(); +echo '
'; +echo $p->t("global/studiengang").': '; +echo ' + +
'; + +if($stg_kz!='') +{ + $studiengaenge->load($stg_kz); + $firma->get_firmaorganisationseinheit('', $studiengaenge->oe_kurzbz, 'Partneruniversität'); +} +else +{ + if(!$firma->getFirmen('Partneruniversität', true)) + die($firma->errormsg); +} +if ($firma->result) +{ + echo ' + + + + + + + + '; + + foreach($firma->result as $row) + { + echo ''; + echo ''; + /*echo ''; + echo ''; + echo '';*/ + echo ''; + } +} +else +{ + echo '

Kein Eintrag vorhanden

'; +} +echo ' +
'.$p->t("global/bezeichnung").'
',$row->name,''.($row->content_id!=''?''.$row->bezeichnung.'':$row->bezeichnung).'',$row->beschreibung,''.($row->content_id!=''?'Details':'').'
+ +'; +?> \ No newline at end of file diff --git a/cis/private/lehre/anwesenheitsliste.pdf.php b/cis/private/lehre/anwesenheitsliste.pdf.php index 5a352cd18..33a3cb86e 100755 --- a/cis/private/lehre/anwesenheitsliste.pdf.php +++ b/cis/private/lehre/anwesenheitsliste.pdf.php @@ -27,6 +27,7 @@ require_once('../../../include/lehreinheitmitarbeiter.class.php'); require_once('../../../include/studiensemester.class.php'); require_once('../../../include/functions.inc.php'); require_once('../../../include/erhalter.class.php'); +require_once('../../../include/datum.class.php'); if (!$db = new basis_db()) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); @@ -156,6 +157,8 @@ $erhalter->getAll(); $a_o_kz = '9'.sprintf("%03s", $erhalter->result[0]->erhalter_kz); //Stg_Kz AO-Studierende auslesen (9005 fuer FHTW) $anzahl_studierende = 0; +$datum = new datum(); +$zusatz = ''; if($result = $db->db_query($qry)) { @@ -171,7 +174,7 @@ if($result = $db->db_query($qry)) $zusatz=''; if($row->bisio_id!='' && $row->status!='Incoming' && ($row->bis > $stsemdatumvon || $row->bis=='') && $row->von < $stsemdatumbis) //Outgoing - $zusatz.='(o)'; + $zusatz.='(o)(ab '.$datum->formatDatum($row->von,'d.m.Y').')'; if($row->note==6) //angerechnet $zusatz.='(ar)'; diff --git a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php index b91eb180d..a98b60e16 100644 --- a/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php +++ b/cis/private/lehre/benotungstool/lvgesamtnoteverwalten.php @@ -846,8 +846,8 @@ echo " { echo "".($grade_from_moodle?''.$p->t('benotungstool/moodleNote').'':''.$p->t('benotungstool/leNoten').' (LE-ID)').""; } - - + + echo "".$p->t('benotungstool/punkte').' / '.$p->t('benotungstool/note')." ".$p->t('benotungstool/lvNote')."
@@ -874,7 +874,7 @@ echo " echo "".$p->t('benotungstool/kommissionellePruefung').""; } echo " - +  "; @@ -890,7 +890,7 @@ echo " "; } - + if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3) { echo " @@ -903,7 +903,7 @@ echo " "; } - + if(defined('CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF') && CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF) { echo " @@ -1434,26 +1434,29 @@ echo " Σ $summe_stud"; - if(defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && (!CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE)) - { - echo ""; - } - else - { - echo ""; - } + if(defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && (!CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE)) + { + echo ""; + } + else + { + echo ""; + } echo "$summe_ng"; - - if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN2') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN2): ?> - "'>$summe_t2; - - "'>$summe_t3"; - - "'>$summe_komm - t('benotungstool/anzahlNachpruefungen')."'>".$summe_t2.""; + } + if(defined('CIS_GESAMTNOTE_PRUEFUNG_TERMIN3') && CIS_GESAMTNOTE_PRUEFUNG_TERMIN3) + { + echo "".$summe_t3.""; + } + if(defined('CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF') && CIS_GESAMTNOTE_PRUEFUNG_KOMMPRUEF) + { + echo "".$summe_komm.""; + } + echo " diff --git a/cis/private/lehre/pruefung/pruefung.js.php b/cis/private/lehre/pruefung/pruefung.js.php index 97a309fc9..9f4fa48a9 100755 --- a/cis/private/lehre/pruefung/pruefung.js.php +++ b/cis/private/lehre/pruefung/pruefung.js.php @@ -1485,6 +1485,7 @@ function loadPruefungsDetails(prfId) $("#termin"+j+"sammelklausur").text("false"); } $("#termin"+j+"Id").closest("tr").append("t('global/löschen'); ?>"); + $("#termin"+j+"Id").closest("tr").append("t('global/editieren'); ?>"); terminHinzufuegen("span"); } }); diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php index 7a1dbbf6d..3b69bba8f 100755 --- a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php @@ -67,20 +67,19 @@ switch($method) $data = loadTermine(); break; case 'saveAnmeldung': - $student_uid = filter_input(INPUT_POST,"uid"); - if($student_uid !== "" && !is_null($student_uid)) - { - $uid = $student_uid; - } - - if($student_uid === "") - { - $data['result']=""; - $data['error']='true'; - $data['errormsg']='Studenten UID fehlt.'; - break; - } + $student_uid = filter_input(INPUT_POST,"uid"); + if($student_uid !== "" && !is_null($student_uid)) + { + $uid = $student_uid; + } + if($student_uid === "") + { + $data['result']=""; + $data['error']='true'; + $data['errormsg']='Studenten UID fehlt.'; + break; + } $data = saveAnmeldung($aktStudiensemester, $uid); break; case 'getAllPruefungen': @@ -142,60 +141,60 @@ function getPruefungByLv($aktStudiensemester = null, $uid = null) $lvIds = array(); foreach($lehrveranstaltungen->lehrveranstaltungen as $lvs) { - array_push($lvIds, $lvs->lehrveranstaltung_id); + array_push($lvIds, $lvs->lehrveranstaltung_id); } $lehrveranstaltungen=$lvIds; $pruefung = new pruefungCis(); if($pruefung->getPruefungByLv($lehrveranstaltungen)) { - $pruefungen = array(); - foreach($pruefung->lehrveranstaltungen as $key=>$lv) - { - $lehrveranstaltung = new lehrveranstaltung($lv->lehrveranstaltung_id); - $lehrveranstaltung = $lehrveranstaltung->cleanResult(); - $lehreinheit = new lehreinheit(); - $lehreinheit->load_lehreinheiten($lehrveranstaltung[0]->lehrveranstaltung_id, $aktStudiensemester); - $lehreinheiten = $lehreinheit->lehreinheiten; - $prf = new stdClass(); - $temp = new pruefungCis($lv->pruefung_id); - $temp->getTermineByPruefung($lv->pruefung_id); - for($i=0; $i < sizeof($temp->termine); $i++) - { - $termin = new pruefungstermin($temp->termine[$i]->pruefungstermin_id); - $temp->termine[$i]->teilnehmer = $termin->getNumberOfParticipants(); - } - $prf->pruefung = $temp; - $prf->lehrveranstaltung = $lehrveranstaltung; - if(!empty($lehreinheiten)) - { - $lveranstaltung = new lehrveranstaltung($lehreinheiten[0]->lehrfach_id); - $oe = new organisationseinheit($lveranstaltung->oe_kurzbz); - $prf->organisationseinheit = $oe->bezeichnung; - array_push($pruefungen, $prf); - } - } - $anmeldung = new pruefungsanmeldung(); - $anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $aktStudiensemester); - $anmeldungsIds = array(); - foreach($anmeldungen as $anm) - { - $a = new stdClass(); - $a->pruefungsanmeldung_id = $anm->pruefungsanmeldung_id; - $a->pruefungstermin_id = $anm->pruefungstermin_id; - $a->lehrveranstaltung_id = $anm->lehrveranstaltung_id; - array_push($anmeldungsIds, $a); - } - $return = new stdClass(); - $return->pruefungen = $pruefungen; - $return->anmeldungen = $anmeldungsIds; - $data['result']=$return; - $data['error']='false'; - $data['errormsg']=''; + $pruefungen = array(); + foreach($pruefung->lehrveranstaltungen as $key=>$lv) + { + $lehrveranstaltung = new lehrveranstaltung($lv->lehrveranstaltung_id); + $lehrveranstaltung = $lehrveranstaltung->cleanResult(); + $lehreinheit = new lehreinheit(); + $lehreinheit->load_lehreinheiten($lehrveranstaltung[0]->lehrveranstaltung_id, $aktStudiensemester); + $lehreinheiten = $lehreinheit->lehreinheiten; + $prf = new stdClass(); + $temp = new pruefungCis($lv->pruefung_id); + $temp->getTermineByPruefung($lv->pruefung_id); + for($i=0; $i < sizeof($temp->termine); $i++) + { + $termin = new pruefungstermin($temp->termine[$i]->pruefungstermin_id); + $temp->termine[$i]->teilnehmer = $termin->getNumberOfParticipants(); + } + $prf->pruefung = $temp; + $prf->lehrveranstaltung = $lehrveranstaltung; + if(!empty($lehreinheiten)) + { + $lveranstaltung = new lehrveranstaltung($lehreinheiten[0]->lehrfach_id); + $oe = new organisationseinheit($lveranstaltung->oe_kurzbz); + $prf->organisationseinheit = $oe->bezeichnung; + array_push($pruefungen, $prf); + } + } + $anmeldung = new pruefungsanmeldung(); + $anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $aktStudiensemester); + $anmeldungsIds = array(); + foreach($anmeldungen as $anm) + { + $a = new stdClass(); + $a->pruefungsanmeldung_id = $anm->pruefungsanmeldung_id; + $a->pruefungstermin_id = $anm->pruefungstermin_id; + $a->lehrveranstaltung_id = $anm->lehrveranstaltung_id; + array_push($anmeldungsIds, $a); + } + $return = new stdClass(); + $return->pruefungen = $pruefungen; + $return->anmeldungen = $anmeldungsIds; + $data['result']=$return; + $data['error']='false'; + $data['errormsg']=''; } else { - $data['error']='true'; - $data['errormsg']=$pruefung->errormsg; + $data['error']='true'; + $data['errormsg']=$pruefung->errormsg; } return $data; } @@ -387,49 +386,52 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) $addon = new addon(); foreach ($addon->aktive_addons as $a) { - if($a === "ku") - { - require '../../../../addons/'.$a.'/cis/prfVerwaltung_array.php'; - switch($lehrveranstaltung->oe_kurzbz) - { - case $fakultaeten[0]["fakultaet"]: - $semCounter = $fakultaeten[0]["sem"]; - break; - case $fakultaeten[1]["fakultaet"]: - $semCounter = $fakultaeten[1]["sem"]; - break; - default: - $semCounter = 2; - break; - } - } - else - { - $semCounter = 99; - } + if($a === "ku") + { + require '../../../../addons/'.$a.'/cis/prfVerwaltung_array.php'; + switch($lehrveranstaltung->oe_kurzbz) + { + case $fakultaeten[0]["fakultaet"]: + $semCounter = $fakultaeten[0]["sem"]; + break; + case $fakultaeten[1]["fakultaet"]: + $semCounter = $fakultaeten[1]["sem"]; + break; + default: + $semCounter = 2; + break; + } + } + else + { + $semCounter = 99; + } } $i=0; + $stdsem_lv_besuch = null; do { - $lehrveranstaltung->load_lva_student($uid, $stdsem); - foreach($lehrveranstaltung->lehrveranstaltungen as $lv) - { - if($lv->lehrveranstaltung_id === $lehrveranstaltung->lehrveranstaltung_id) - { - $lv_besucht = true; - } - } - $stdsem = $studiensemester->getPreviousFrom($stdsem); - $lehrveranstaltung->lehrveranstaltungen = array(); - $i++; + $lehrveranstaltung->load_lva_student($uid, $stdsem); + foreach($lehrveranstaltung->lehrveranstaltungen as $lv) + { + if($lv->lehrveranstaltung_id === $lehrveranstaltung->lehrveranstaltung_id) + { + $lv_besucht = true; + $stdsem_lv_besuch = $stdsem; + } + } + + $stdsem = $studiensemester->getPreviousFrom($stdsem); + $lehrveranstaltung->lehrveranstaltungen = array(); + $i++; } while($i<=$semCounter && $lv_besucht === FALSE); if(!$lv_besucht) { - $data['error']='true'; - $data['errormsg']='Besuch der Lehrveranstaltung liegt zu weit in der Vergangenheit.'; - return $data; + $data['error']='true'; + $data['errormsg']='Besuch der Lehrveranstaltung liegt zu weit in der Vergangenheit.'; + return $data; } $pruefung->getPruefungen($uid, NULL, $lehrveranstaltung->lehrveranstaltung_id); @@ -439,107 +441,135 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) // Defaulteinstellung für Prüfungstypen - schauen, ob bereits aus KTU-Addon geladen if(!isset($pruefungstyp_kurzbzArray)) $pruefungstyp_kurzbzArray = array("Termin1","Termin2","kommPruef"); + if(isset($pruefungstyp_kurzbzArray)) { - if($anzahlPruefungen < count($pruefungstyp_kurzbzArray)) - { - $pruefungstyp_kurzbz = $pruefungstyp_kurzbzArray[$anzahlPruefungen]; - } + if($anzahlPruefungen < count($pruefungstyp_kurzbzArray)) + { + $pruefungstyp_kurzbz = $pruefungstyp_kurzbzArray[$anzahlPruefungen]; + } } else { - $pruefungstyp_kurzbz = null; + $pruefungstyp_kurzbz = null; } foreach($pruefung->result as $prf) { - $note = new note($prf->note); - if($note->note === $noteCode_uef) - { - $pruefungsanmeldung = new pruefungsanmeldung($prf->pruefungsanmeldung_id); - $pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id); - $pf = new pruefungCis($pruefungstermin->pruefung_id); - $pruefungsfenster = new pruefungsfenster($pf->pruefungsfenster_id); - $studiensemester = new studiensemester(); - $stdsem = $studiensemester->getaktorNext(); - $i=0; - while($i<2) - { - if($stdsem === $pruefungsfenster->studiensemester_kurzbz) + $note = new note($prf->note); + if($note->note === $noteCode_uef) { - $anmeldung_moeglich = false; + $pruefungsanmeldung = new pruefungsanmeldung($prf->pruefungsanmeldung_id); + $pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id); + $pf = new pruefungCis($pruefungstermin->pruefung_id); + $pruefungsfenster = new pruefungsfenster($pf->pruefungsfenster_id); + $studiensemester = new studiensemester(); + $stdsem = $studiensemester->getaktorNext(); + $i=0; + while($i<2) + { + if($stdsem === $pruefungsfenster->studiensemester_kurzbz) + { + $anmeldung_moeglich = false; + } + $stdsem = $studiensemester->getPreviousFrom($stdsem); + $i++; + } + } + else + { + if($note->positiv === FALSE && $anzahlPruefungen >= $maxAnzahlVersuche) + { + $anmeldung_moeglich = false; + } } - $stdsem = $studiensemester->getPreviousFrom($stdsem); - $i++; - } - } - else - { - if($note->positiv === FALSE && $anzahlPruefungen >= $maxAnzahlVersuche) - { - $anmeldung_moeglich = false; - } - } } if($anmeldung_moeglich) { - if($termin->teilnehmer_max > $termin->getNumberOfParticipants() || $termin->teilnehmer_max == NULL) - { - $pruefung = new pruefungCis(); - $reihung = $pruefung->getLastOfReihung($_REQUEST["termin_id"]); - $anmeldung = new pruefungsanmeldung(); - $anmeldung->lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"]; - $anmeldung->pruefungstermin_id = $_REQUEST["termin_id"]; - $anmeldung->wuensche = $_REQUEST["bemerkung"]; - $anmeldung->uid = $uid; - $anmeldung->reihung = $reihung+1; - $anmeldung->status_kurzbz = "angemeldet"; - $anmeldung->pruefungstyp_kurzbz = $pruefungstyp_kurzbz; - $lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]); - - $konto = new konto(); - $creditpoints = $konto->getCreditPoints($uid, $aktStudiensemester); - - if($creditpoints !== false) - { - if($creditpoints < $lehrveranstaltung->ects) + if($termin->teilnehmer_max > $termin->getNumberOfParticipants() || $termin->teilnehmer_max == NULL) { - $data['error'] = 'true'; - $data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints'); - return $data; - } - } + $pruefung = new pruefungCis(); + $reihung = $pruefung->getLastOfReihung($_REQUEST["termin_id"]); + $anmeldung = new pruefungsanmeldung(); + $anmeldung->lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"]; + $anmeldung->pruefungstermin_id = $_REQUEST["termin_id"]; + $anmeldung->wuensche = $_REQUEST["bemerkung"]; + $anmeldung->uid = $uid; + $anmeldung->reihung = $reihung+1; + $anmeldung->status_kurzbz = "angemeldet"; + $anmeldung->pruefungstyp_kurzbz = $pruefungstyp_kurzbz; + $lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]); - //Kollisionsprüfung - $anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $aktStudiensemester); - foreach($anmeldungen as $temp) - { - $datum = new datum(); - if(($datum->between($termin->von, $termin->bis, $temp->von)) || ($datum->between($termin->von, $termin->bis, $temp->bis))) - { - $data['result'][$temp->pruefungstermin_id] = "true"; - $data['error'] = 'true'; - $data['errormsg'] = $p->t('pruefung/kollisionMitAndererAnmeldung'); +// $konto = new konto(); +// $creditpoints = $konto->getCreditPoints($uid, $aktStudiensemester); +// +// if($creditpoints !== false) +// { +// if($creditpoints <= $lehrveranstaltung->ects) +// { +// $data['error'] = 'true'; +// $data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints'); +// return $data; +// } +// } + + //Kollisionsprüfung und Prüfung auf ausreichen Creditpoints + $pruefungstermin = new pruefungstermin($_REQUEST["termin_id"]); + $pf = new pruefungCis($pruefungstermin->pruefung_id); + $pruefungsfenster = new pruefungsfenster($pf->pruefungsfenster_id); + $anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $pruefungsfenster->studiensemester_kurzbz); + + if($anmeldungen !== false) + { + $ects_verwendet = 0; + foreach($anmeldungen as $temp) + { + $lehrveranstaltung = new lehrveranstaltung($temp->lehrveranstaltung_id); + $ects_verwendet += $lehrveranstaltung->ects; + + $datum = new datum(); + if(($datum->between($termin->von, $termin->bis, $temp->von)) || ($datum->between($termin->von, $termin->bis, $temp->bis))) + { + $data['result'][$temp->pruefungstermin_id] = "true"; + $data['error'] = 'true'; + $data['errormsg'] = $p->t('pruefung/kollisionMitAndererAnmeldung'); + } + } + + $konto = new konto(); + $creditPoints = $konto->getCreditPointsOfStudiensemester($uid, $pruefungsfenster->studiensemester_kurzbz); + if(($creditPoints != false) && ($lehrveranstaltung->ects > ($creditPoints - $ects_verwendet))) + { + $data['error'] = 'true'; + $data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints'); + return $data; + } + + if(isset($data['error']) && $data['error'] = 'true') + { + return $data; + } + } + else + { + $data['error'] = 'true'; + $data['errormsg'] = $anmeldung->errormsg; + return $data; + } + } + else + { + $data['error']='true'; + $data['errormsg']=$p->t('pruefung/keineFreienPlaetzeVorhanden'); + return $data; } - } - if(isset($data['error']) && $data['error'] = 'true') - { - return $data; - } - } - else - { - $data['error']='true'; - $data['errormsg']=$p->t('pruefung/keineFreienPlaetzeVorhanden'); - return $data; - } } else { - $data['error']='true'; - $data['errormsg']=$p->t('pruefung/anmeldungAufgrundVonSperreNichtMoeglich'); - return $data; + $data['error']='true'; + $data['errormsg']=$p->t('pruefung/anmeldungAufgrundVonSperreNichtMoeglich'); + return $data; } $anrechnung = new anrechnung(); @@ -555,95 +585,115 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) if(count($prestudent->result) > 0) { - $prestudent_id = ""; - foreach($prestudent->result as $ps) - { - if($ps->getLaststatus($ps->prestudent_id, $stdsem)) - { - if(($ps->status_kurzbz == "Student")) + $prestudent_id = ""; + foreach($prestudent->result as $ps) { - $prestudent_id = $ps->prestudent_id; + if($ps->getLaststatus($ps->prestudent_id, $stdsem)) + { + if(($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) + { + $prestudent_id = $ps->prestudent_id; + } + else + { + if($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch)) + { + if(($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) + { + $prestudent_id = $ps->prestudent_id; + } + } + } + } + else + { + if($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch)) + { + if(($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher")) + { + $prestudent_id = $ps->prestudent_id; + } + } + } } - } - } - if($prestudent_id != "") - { - $anrechungSaveResult = false; - if(!defined('CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG') || CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG == true) - { - if($lv_komp->lehrveranstaltung_id != null && ($lv_komp->lehrveranstaltung_id != $lehrveranstaltung->lehrveranstaltung_id)) - { - $anrechnung->lehrveranstaltung_id = $lv_komp->lehrveranstaltung_id; - $anrechnung->lehrveranstaltung_id_kompatibel = $lehrveranstaltung->lehrveranstaltung_id; - $anrechnung->prestudent_id = $prestudent_id; - $anrechnung->begruendung_id = "2"; - $anrechnung->genehmigt_von = CIS_PRUEFUNGSANMELDUNG_USER; - $anrechnung->new = true; - $anrechungSaveResult = $anrechnung->save(); - } - else - { - $anrechungSaveResult = true; - } - } - else - { - $anrechungSaveResult = true; - } + if($prestudent_id != "") + { + $anrechungSaveResult = false; + if(!defined('CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG') || CIS_PRUEFUNGSANMELDUNG_ANRECHNUNG == true) + { + if($lv_komp->lehrveranstaltung_id != null && ($lv_komp->lehrveranstaltung_id != $lehrveranstaltung->lehrveranstaltung_id)) + { + $anrechnung->lehrveranstaltung_id = $lv_komp->lehrveranstaltung_id; + $anrechnung->lehrveranstaltung_id_kompatibel = $lehrveranstaltung->lehrveranstaltung_id; + $anrechnung->prestudent_id = $prestudent_id; + $anrechnung->begruendung_id = "2"; + $anrechnung->genehmigt_von = CIS_PRUEFUNGSANMELDUNG_USER; + $anrechnung->new = true; + $anrechungSaveResult = $anrechnung->save(); + } + else + { + $anrechungSaveResult = true; + } + } + else + { + $anrechungSaveResult = true; + } - if($anrechungSaveResult) - { - if($anrechnung->anrechnung_id == "") - $anmeldung->anrechnung_id = null; - else - $anmeldung->anrechnung_id = $anrechnung->anrechnung_id; + if($anrechungSaveResult) + { + if($anrechnung->anrechnung_id == "") + $anmeldung->anrechnung_id = null; + else + $anmeldung->anrechnung_id = $anrechnung->anrechnung_id; - if($anmeldung->save(true)) - { - $pruefung = new pruefungCis($termin->pruefung_id); - if(defined('CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG') && (CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG !== "")) - $to = CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG."@".DOMAIN; - else - $to = $pruefung->mitarbeiter_uid."@".DOMAIN; - $from = "noreply@".DOMAIN; - $subject = $p->t('pruefung/emailLektorSubjectAnmeldung'); - $mail = new mail($to, $from, $subject, $p->t('pruefung/emailBodyBitteHtmlSicht')); + if($anmeldung->save(true)) + { + $pruefung = new pruefungCis($termin->pruefung_id); + if(defined('CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG') && (CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG !== "")) + $to = CIS_PRUEFUNG_MAIL_EMPFAENGER_ANMEDLUNG."@".DOMAIN; + else + $to = $pruefung->mitarbeiter_uid."@".DOMAIN; + $from = "noreply@".DOMAIN; + $subject = $p->t('pruefung/emailLektorSubjectAnmeldung'); + $mail = new mail($to, $from, $subject, $p->t('pruefung/emailBodyBitteHtmlSicht')); - $student = new student($uid); - $datum = new datum(); + $student = new student($uid); + $datum = new datum(); - $lv = new lehrveranstaltung($anmeldung->lehrveranstaltung_id); + $lv = new lehrveranstaltung($anmeldung->lehrveranstaltung_id); - $html = $p->t('pruefung/emailLektorStudentIn')." ".$student->vorname." ".$student->nachname." ".$p->t('pruefung/emailLektorHatSichZurPruefung')." ".$lv->bezeichnung." ".$p->t('pruefung/emailLektorAm')." ".$datum->formatDatum($termin->von, "d.m.Y")." ".$p->t('pruefung/emailLektorVon')." ".$datum->formatDatum($termin->von,"H:i")." ".$p->t('pruefung/emailLektorUhrBis')." ".$datum->formatDatum($termin->bis,"H:i")." ".$p->t('pruefung/emailLektorUhrAngemeldet'); - $mail->setHTMLContent($html); - $mail->send(); + $html = $p->t('pruefung/emailLektorStudentIn')." ".$student->vorname." ".$student->nachname." ".$p->t('pruefung/emailLektorHatSichZurPruefung')." ".$lv->bezeichnung." ".$p->t('pruefung/emailLektorAm')." ".$datum->formatDatum($termin->von, "d.m.Y")." ".$p->t('pruefung/emailLektorVon')." ".$datum->formatDatum($termin->von,"H:i")." ".$p->t('pruefung/emailLektorUhrBis')." ".$datum->formatDatum($termin->bis,"H:i")." ".$p->t('pruefung/emailLektorUhrAngemeldet'); + $mail->setHTMLContent($html); + $mail->send(); - $data['result'] = $p->t('pruefung/anmeldungErfolgreich'); - $data['error']='false'; - $data['errormsg']=''; - } - else - { - $data['error']='true'; - $data['errormsg']=$anmeldung->errormsg; - } - } - else - { - $data['error']='true'; - $data['errormsg']=$anrechnung->errormsg; - } - } - else - { - $data['error']='true'; - $data['errormsg']=$p->t('pruefung/prestudentNichtGefunden'); - } + $data['result'] = $p->t('pruefung/anmeldungErfolgreich'); + $data['error']='false'; + $data['errormsg']=''; + } + else + { + $data['error']='true'; + $data['errormsg']=$anmeldung->errormsg; + } + } + else + { + $data['error']='true'; + $data['errormsg']=$anrechnung->errormsg; + } + } + else + { + $data['error']='true'; + $data['errormsg']=$p->t('pruefung/prestudentNichtGefunden'); + } } else { - $data['error']='true'; - $data['errormsg']=$p->t('pruefung/prestudentNichtGefunden'); + $data['error']='true'; + $data['errormsg']=$p->t('pruefung/prestudentNichtGefunden'); } return $data; } diff --git a/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.php b/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.php index ea07690bb..5810b0315 100755 --- a/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldungen_liste.php @@ -227,7 +227,7 @@ $rechte->getBerechtigungen($uid); # t('global/vorname'); ?> t('global/nachname'); ?> - t('global/matrikelnummer'); ?> + t('pruefung/matrikelnummer'); ?> t('global/datum'); ?> t('benotungstool/note'); ?> t('global/anmerkung'); ?> diff --git a/cis/private/lehre/pruefung/pruefungstermin_aendern.php b/cis/private/lehre/pruefung/pruefungstermin_aendern.php new file mode 100755 index 000000000..6d69d38a5 --- /dev/null +++ b/cis/private/lehre/pruefung/pruefungstermin_aendern.php @@ -0,0 +1,222 @@ + + + */ + +require_once('../../../../config/cis.config.inc.php'); +require_once('../../../../include/functions.inc.php'); +require_once('../../../../include/benutzerberechtigung.class.php'); +require_once('../../../../include/studiensemester.class.php'); +require_once('../../../../include/datum.class.php'); +require_once('../../../../include/pruefungsfenster.class.php'); +require_once('../../../../include/pruefungsanmeldung.class.php'); +require_once('../../../../include/lehrveranstaltung.class.php'); +require_once('../../../../include/pruefungstermin.class.php'); +require_once('../../../../include/studiengang.class.php'); +require_once('../../../../include/pruefungCis.class.php'); +require_once('../../../../include/mitarbeiter.class.php'); +require_once('../../../../include/phrasen.class.php'); +require_once('../../../../include/globals.inc.php'); +require_once('../../../../include/sprache.class.php'); +require_once('../../../../include/mail.class.php'); + + +$sprache = getSprache(); +$lang = new sprache(); +$lang->load($sprache); +$p = new phrasen($sprache); + +$maildebug = ''; +$uid = get_uid(); +$db = new basis_db(); +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($uid); + +$studiensemester = new studiensemester(); +$lehrveranstaltung = new lehrveranstaltung(); +$lehrveranstaltung->loadLVAfromMitarbeiter(0, $uid, $studiensemester->getaktorNext()); +if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('lehre/pruefungsterminAdmin')) + die('Sie haben keine Berechtigung für diese Seite'); + +if (!ctype_digit($_GET['termin_id'])) + die('Wrong Parameter'); +else + $termin_id = $_GET['termin_id']; + +if (isset($_GET["speichern"])) +{ + $prfgtermin = new pruefungstermin($termin_id); + $von = $_GET["datum"]." ".$_GET["vonzeit"]; + $bis = $_GET["datum"]." ".$_GET["biszeit"]; + $prfgtermin->von = $von; + $prfgtermin->bis = $bis; + $prfgtermin->save(); +} + +if (isset($_GET["sendmail"])) +{ + $prfgtermin = new pruefungstermin($termin_id); + $datum = explode(" ", $prfgtermin->von)[0]; + $vonzeit = substr(explode(" ", $prfgtermin->von)[1],0,5); + $biszeit = substr(explode(" ", $prfgtermin->bis)[1],0,5); + $pruefung_id = $prfgtermin->pruefung_id; + + $pruefung = new pruefungCis($pruefung_id); + $pruefung->getLehrveranstaltungenByPruefung(); + $lvstr = ""; + foreach ($pruefung->lehrveranstaltungen as $lv) + { + $lv_objekt = new lehrveranstaltung($lv->lehrveranstaltung_id); + $lvstr .= "*".$lv_objekt->bezeichnung."* "; + } + $maildebug = 'Mail sent to:
'; + $anmeldung = new pruefungsanmeldung(); + $anmeldungen = $anmeldung->getAnmeldungenByTermin($termin_id); + foreach ($anmeldungen as $row) + { + $uid = $row->uid; + $to = $uid.'@'.DOMAIN; + $from = 'no-reply@'.DOMAIN; + $subject = $p->t('pruefung/emailVerschiebungSubject'); + $text = $p->t('pruefung/emailVerschiebung', array($lvstr, $datum, $vonzeit)); + $msg = new mail($to, $from, $subject, $text); + if ($msg->send()) + $maildebug .= $to." OK
"; + else + $maildebug .= $to.' Error
'; + } +} + +$prfgtermin = new pruefungstermin($termin_id); +$datum = explode(" ", $prfgtermin->von)[0]; +$vonzeit = substr(explode(" ", $prfgtermin->von)[1],0,5); +$biszeit = substr(explode(" ", $prfgtermin->bis)[1],0,5); +$pruefung_id = $prfgtermin->pruefung_id; + +$pruefung = new pruefungCis($pruefung_id); +$pruefung->getLehrveranstaltungenByPruefung(); +$lvstr = ""; +foreach ($pruefung->lehrveranstaltungen as $lv) +{ + $lv_objekt = new lehrveranstaltung($lv->lehrveranstaltung_id); + $lvstr .= "*".$lv_objekt->bezeichnung."* "; +} + +$uids = ''; +$anmeldung = new pruefungsanmeldung(); +$anmeldungen = $anmeldung->getAnmeldungenByTermin($termin_id); +foreach ($anmeldungen as $row) +{ + $uids .= $row->uid.'@'.DOMAIN.'
'; +} + +?> + + + + <?php echo $p->t('pruefung/titlePruefungstermin'); ?> + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
t('global/lehrveranstaltung'); ?>
t('global/datum'); ?>
t('global/von'); ?>
t('global/bis'); ?>
+ + +
t('pruefung/pruefungsbewertungAnmeldungen'); ?>:
+
***
+ t('pruefung/emailVerschiebung', array($lvstr, $datum, $vonzeit))); ?> +
***
+
+
+
+ + diff --git a/cis/private/pdfExport.php b/cis/private/pdfExport.php index fa818838e..03660bb92 100644 --- a/cis/private/pdfExport.php +++ b/cis/private/pdfExport.php @@ -152,7 +152,7 @@ if (($user == $_GET["uid"]) || $rechte->isBerechtigt('admin')) $konto->load($bnr); if($konto->person_id!=$user_obj->person_id) die('Sie haben keine Berechtigung fuer diese Buchung'); - if($konto->getDifferenz($bnr)!=0) + if($konto->getDifferenz($bnr)>0) die('Diese Zahlung wurde noch nicht beglichen'); } } diff --git a/cis/private/profile/lva_liste.php b/cis/private/profile/lva_liste.php index ee30987a4..db9ded6f0 100644 --- a/cis/private/profile/lva_liste.php +++ b/cis/private/profile/lva_liste.php @@ -40,7 +40,7 @@ require_once('../../../include/addon.class.php'); if (!$db = new basis_db()) die('Fehler beim Oeffnen der Datenbankverbindung'); - + $adress=MAIL_ADMIN; $user=get_uid(); @@ -50,12 +50,12 @@ require_once('../../../include/addon.class.php'); $uid=$_GET['uid']; else $uid = $user; - + if (isset($_GET['stdsem'])) $stdsem=$_GET['stdsem']; else $stdsem=$studiensemester->getaktorNext(); - + $datum = new datum(); $addon = new addon(); @@ -86,8 +86,8 @@ require_once('../../../include/addon.class.php'); */ //Lehrveranstaltungen abfragen. $sql_query=" - SELECT - *, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as stg_kurzbz, + SELECT + *, UPPER(tbl_studiengang.typ::varchar(1) || tbl_studiengang.kurzbz) as stg_kurzbz, tbl_lehrveranstaltung.semester as lv_semester, lehrfach.kurzbz as lehrfach, lehrfach.bezeichnung as lehrfach_bez, @@ -97,8 +97,8 @@ require_once('../../../include/addon.class.php'); tbl_lehreinheit.lehrform_kurzbz as le_lehrform_kurzbz, (SELECT kurzbz FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid=tbl_lehreinheitmitarbeiter.mitarbeiter_uid) as lektor, tbl_lehrveranstaltung.lehrveranstaltung_id - FROM - lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) + FROM + lehre.tbl_lehreinheit JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id) JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) JOIN public.tbl_studiengang USING(studiengang_kz) JOIN lehre.tbl_lehrveranstaltung as lehrfach ON(tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id) @@ -122,23 +122,23 @@ require_once('../../../include/addon.class.php'); { alert("'.$p->t('lvaliste/hilfeText').'"); } - $(document).ready(function() - { + $(document).ready(function() + { $("#t1").tablesorter( { - sortList: [[4,0],[5,0],[2,0]], + sortList: [[5,0],[6,0],[3,0]], widgets: ["zebra"] - }); + }); $("#t2").tablesorter( { sortList: [[0,0],[1,0],[3,0]], widgets: ["zebra"] - }); + }); $("#t3").tablesorter( { sortList: [[0,0],[1,0],[3,0]], widgets: ["zebra"] - }); + }); }); --> @@ -159,7 +159,7 @@ require_once('../../../include/addon.class.php'); echo '
'; if ($num_rows>0) { - + echo '

'.$p->t('lvaliste/lehrveranstaltungen').'

'; echo $p->t('lvaliste/anzahl').': '.$num_rows; echo ' @@ -174,9 +174,10 @@ require_once('../../../include/addon.class.php'); echo ''.$p->t('lvaliste/lvinfo').''; echo ' + '.$p->t('lvaliste/id').' '.$p->t('lvaliste/lehrfach').' '.$p->t('lvaliste/lehrform').' - '.$p->t('lvaliste/lvBezeichnung').' + '.$p->t('lvaliste/lvBezeichnung').' '.$p->t('lvaliste/lektor').' '.$p->t('lvaliste/studiengang').' '.$p->t('lvaliste/semester').' @@ -196,7 +197,7 @@ require_once('../../../include/addon.class.php'); $stg_obj = new studiengang(); $stg_obj->getAll(null,null); $summe_std=0; - + for ($i=0; $i<$num_rows; $i++) { $row=$db->db_fetch_object($result); @@ -208,16 +209,17 @@ require_once('../../../include/addon.class.php'); if($lvinfo) echo ''.$p->t('lvaliste/lvinfo').''; + echo ''.$row->lehreinheit_id.''; echo ''.$row->lehrfach.''; - echo ''.$row->le_lehrform_kurzbz.''; - if ($row->lehrfach_bez!=$row->lv_bezeichnung) + echo ''.$row->le_lehrform_kurzbz.''; + if ($row->lehrfach_bez!=$row->lv_bezeichnung) echo ''.$row->lv_bezeichnung.' ('.$p->t('lvaliste/lehrfach').': '.$row->lehrfach_bez.')'; - else + else echo ''.$row->lv_bezeichnung.''; echo ''.$row->lektor.''; echo ''.$row->stg_kurzbz.''; echo ''.$row->semester.''; - + $qry ="SELECT * FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheit_id='".addslashes($row->lehreinheit_id)."'"; $gruppe=''; if($result_grp = $db->db_query($qry)) @@ -226,7 +228,7 @@ require_once('../../../include/addon.class.php'); { if($row_grp->gruppe_kurzbz!='') $gruppe.= $row_grp->gruppe_kurzbz.'
'; - else + else $gruppe.= $stg_obj->kuerzel_arr[$row->studiengang_kz].'-'.$row_grp->semester.$row_grp->verband.$row_grp->gruppe.'
'; } } @@ -237,7 +239,7 @@ require_once('../../../include/addon.class.php'); echo ''.$row->wochenrythmus.''; echo ''.$row->semesterstunden.''; echo ''.$row->start_kw.''; - + $lvangebot->getAllFromLvId($row->lehrveranstaltung_id, $row->studiensemester_kurzbz); if(!empty($lvangebot->result)) { @@ -282,18 +284,18 @@ require_once('../../../include/addon.class.php'); } else echo $p->t('lvaliste/keineDatensaetze').'
'; - + //Betreuungen $mitarbeiter = new benutzer(); $mitarbeiter->load($uid); - - $qry = "SELECT - tbl_lehrveranstaltung.bezeichnung, tbl_projektarbeit.titel, - (SELECT nachname || ' ' || vorname FROM public.tbl_benutzer JOIN public.tbl_person USING(person_id) + + $qry = "SELECT + tbl_lehrveranstaltung.bezeichnung, tbl_projektarbeit.titel, + (SELECT nachname || ' ' || vorname FROM public.tbl_benutzer JOIN public.tbl_person USING(person_id) WHERE uid=student_uid) as student, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.semester, tbl_studiengang.email - FROM + FROM lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung, lehre.tbl_projektarbeit, lehre.tbl_projektbetreuer, public.tbl_studiengang WHERE tbl_lehreinheit.lehreinheit_id=tbl_projektarbeit.lehreinheit_id AND @@ -302,10 +304,10 @@ require_once('../../../include/addon.class.php'); tbl_projektarbeit.projektarbeit_id=tbl_projektbetreuer.projektarbeit_id AND tbl_lehrveranstaltung.studiengang_kz=tbl_studiengang.studiengang_kz AND tbl_projektbetreuer.person_id=".$db->db_add_param($mitarbeiter->person_id, FHC_INTEGER); - + $stg_obj = new studiengang(); $stg_obj->getAll(null,null); - + if($result = $db->db_query($qry)) { if($db->db_num_rows($result)>0) @@ -322,29 +324,29 @@ require_once('../../../include/addon.class.php'); echo ''; while($row = $db->db_fetch_object($result)) { - echo ''; + echo ''; echo ''.$stg_obj->kuerzel_arr[$row->studiengang_kz].''; echo ''.$row->semester.''; echo ''.$row->bezeichnung.''; echo ''.$row->student.''; echo ''.$row->titel.''; - + echo ''; } echo ''; } } - - + + //Koordination - - $qry = "SELECT + + $qry = "SELECT distinct - tbl_lehrveranstaltung.studiengang_kz, tbl_fachbereich.fachbereich_kurzbz, tbl_lehrveranstaltung.bezeichnung, + tbl_lehrveranstaltung.studiengang_kz, tbl_fachbereich.fachbereich_kurzbz, tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.semester,tbl_lehrveranstaltung.koordinator, tbl_studiengang.email - FROM - lehre.tbl_lehrveranstaltung, + FROM + lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach, public.tbl_studiengang, @@ -355,18 +357,18 @@ require_once('../../../include/addon.class.php'); tbl_fachbereich.oe_kurzbz=lehrfach.oe_kurzbz AND tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stdsem)." AND (tbl_lehrveranstaltung.koordinator=".$db->db_add_param($uid)." - OR - ( tbl_lehrveranstaltung.koordinator is null and (tbl_lehrveranstaltung.studiengang_kz, fachbereich_kurzbz) IN (SELECT studiengang_kz, fachbereich_kurzbz + OR + ( tbl_lehrveranstaltung.koordinator is null and (tbl_lehrveranstaltung.studiengang_kz, fachbereich_kurzbz) IN (SELECT studiengang_kz, fachbereich_kurzbz FROM public.tbl_benutzerfunktion JOIN public.tbl_studiengang USING(oe_kurzbz) - WHERE funktion_kurzbz='fbk' AND uid=".$db->db_add_param($uid)." + WHERE funktion_kurzbz='fbk' AND uid=".$db->db_add_param($uid)." and ( tbl_benutzerfunktion.datum_bis is null or now() between tbl_benutzerfunktion.datum_von and tbl_benutzerfunktion.datum_bis ) )) ) AND tbl_lehrveranstaltung.studiengang_kz=tbl_studiengang.studiengang_kz order by tbl_lehrveranstaltung.studiengang_kz,tbl_lehrveranstaltung.semester ,tbl_lehrveranstaltung.bezeichnung "; - - + + if($result = $db->db_query($qry)) { if($db->db_num_rows($result)>0) @@ -386,12 +388,12 @@ require_once('../../../include/addon.class.php'); //Fachbereichskoordinatoren holen $qry = "SELECT distinct uid,titelpre, titelpost, vorname, nachname - FROM + FROM lehre.tbl_lehreinheitmitarbeiter, public.tbl_benutzer, public.tbl_person, lehre.tbl_lehreinheit - WHERE + WHERE tbl_lehreinheitmitarbeiter.lehreinheit_id=tbl_lehreinheit.lehreinheit_id AND tbl_lehreinheit.lehrveranstaltung_id=".$db->db_add_param($row->lehrveranstaltung_id, FHC_INTEGER)." AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid=tbl_benutzer.uid AND @@ -407,7 +409,7 @@ require_once('../../../include/addon.class.php'); $lektoren.=trim($row_lkt->titelpre.' '.$row_lkt->vorname.' '.$row_lkt->nachname.' '.$row_lkt->titelpost); } } - + echo ''; echo ''.$stg_obj->kuerzel_arr[$row->studiengang_kz].''; echo ''.$row->semester.''; diff --git a/cis/private/profile/studienplan.php b/cis/private/profile/studienplan.php index 633da1faf..0045c6927 100755 --- a/cis/private/profile/studienplan.php +++ b/cis/private/profile/studienplan.php @@ -19,6 +19,7 @@ * * * Authors: Andreas Österreicher + * Stefan Puraner * * Zeigt den Studienplan eines Studierenden an * und bietet die Möglichkeit zur Anmeldung zu Lehrveranstaltungen. @@ -101,14 +102,7 @@ if(isset($_GET['getAnmeldung'])) 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.''; + echo '
'.$lv->bezeichnung.' (Anmeldung bis '.$datum->formatDatum($angebot->anmeldefenster_ende,"d.m.Y").')'; } else { @@ -200,25 +194,16 @@ if(isset($_POST['action']) && $_POST['action']=='anmeldung') 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()) { - $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 ''; - } + 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 { @@ -366,7 +351,7 @@ drawTree($tree,0); function drawTree($tree, $depth) { - global $uid, $stsem_arr, $noten_arr, $lvangebot_arr; + global $uid, $stsem_arr, $noten_arr, $lvangebot_arr, $aktornext; global $datum_obj, $db, $lv_arr, $p, $note_pruef_arr, $student; foreach($tree as $row_tree) @@ -411,7 +396,8 @@ function drawTree($tree, $depth) $abgeschlossen=false; $lvregel = new lvregel(); - if($lvregel->exists($row_tree->studienplan_lehrveranstaltung_id)) + $lvregelExists = $lvregel->exists($row_tree->studienplan_lehrveranstaltung_id); + if($lvregelExists) { if($lvregel->isAbgeschlossen($uid, $row_tree->studienplan_lehrveranstaltung_id)) $abgeschlossen=true; @@ -451,7 +437,7 @@ function drawTree($tree, $depth) $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? @@ -462,77 +448,104 @@ function drawTree($tree, $depth) $positiv=true; } - if($positiv) - echo ''.$p->t('studienplan/abgeschlossen').''; - else + if(!$positiv) + { echo ''.$p->t('studienplan/negativ').''; + } + elseif($lvregelExists) + { + if($abgeschlossen && $positiv) + { + echo ''.$p->t('studienplan/abgeschlossen').''; + } + else + { + echo ''.$p->t('studienplan/offen').''; + } + } + elseif($positiv) + { + echo ''.$p->t('studienplan/abgeschlossen').''; + } + else + { + echo ''.$p->t('studienplan/offen').''; + } } //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; - } + $positiv = false; + $found = false; + $i = 0; + while(!$found && $i < count($kompatibleLVs)) + { + foreach($kompatibleLVs as $komp) + { - $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').''; - } + $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(!$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) + if(!$row_tree->stpllv_pflicht) + { echo ''.$p->t('studienplan/optional').''; + } else + { echo ''.$p->t('studienplan/offen').''; + } } echo ''; @@ -610,12 +623,16 @@ function drawTree($tree, $depth) } else { - if(!$lvregel->isZugangsberechtigt($uid, $row_tree->studienplan_lehrveranstaltung_id, $stsem)) + //check if rules are fulfilled just for actual or next studiensemester + if($stsem === $aktornext) { - $regelerfuellt=false; + if($lvregel->isZugangsberechtigt($uid, $row_tree->studienplan_lehrveranstaltung_id, $stsem) !== true) + { + $regelerfuellt=false; + } } } - + foreach($lvkompatibel_arr as $row_lvid) { // Angebot der LV pruefen @@ -669,7 +686,7 @@ function drawTree($tree, $depth) $tdinhalt.= '-'; if(!$regelerfuellt) - $tdinhalt.= 'X'; + $tdinhalt= 'X'; } } else diff --git a/cis/private/profile/zahlungen.php b/cis/private/profile/zahlungen.php index c1ab84f38..3680ae788 100644 --- a/cis/private/profile/zahlungen.php +++ b/cis/private/profile/zahlungen.php @@ -157,7 +157,7 @@ echo ''.$row['parent']->buchungstext.''; echo ''.($betrag<0?'-':($betrag>0?'+':'')).sprintf('%.2f',abs($row['parent']->betrag)).' €'; echo ''; - if($betrag==0 && $row['parent']->betrag<=0) + if($betrag>=0 && $row['parent']->betrag<=0) echo ''.$p->t('tools/bestaetigungDrucken').''; elseif($row['parent']->betrag>0) { diff --git a/cis/private/tools/ampelleiteruebersicht.php b/cis/private/tools/ampelleiteruebersicht.php index f7a9ee7ad..2e6d1f326 100755 --- a/cis/private/tools/ampelleiteruebersicht.php +++ b/cis/private/tools/ampelleiteruebersicht.php @@ -99,6 +99,25 @@ if(isset($_POST['ampel_id'])) else $ampel_id = ''; +if (isset($_GET['ampel_benutzer_bestaetigt_id']) && isset($_GET['delete'])) +{ + if ($rechte->isBerechtigt('admin', null, 'suid')) + { + $delete_bestaetigung = new ampel(); + if($delete_bestaetigung->deleteAmpelBenutzer($_GET['ampel_benutzer_bestaetigt_id'])) + { + echo 'Ampelbestaetigung erfolgreich geloescht'; + } + else + { + $action='new'; + echo ''.$delete_bestaetigung->errormsg.''; + } + } +} + + +echo '

'.($p->t('tools/ampelsystem')).'

'; echo '
'; echo $p->t('global/organisationseinheit').': + +
'; + else + echo ''; + + } echo ''; } echo ''; diff --git a/cis/private/tools/ampelverwaltung.php b/cis/private/tools/ampelverwaltung.php index d83c01765..b8132c55d 100755 --- a/cis/private/tools/ampelverwaltung.php +++ b/cis/private/tools/ampelverwaltung.php @@ -25,11 +25,14 @@ require_once('../../../include/phrasen.class.php'); require_once('../../../include/benutzerfunktion.class.php'); require_once('../../../include/organisationseinheit.class.php'); require_once('../../../include/benutzerberechtigung.class.php'); +require_once('../../../include/studiensemester.class.php'); $user = get_uid(); $sprache = getSprache(); $p = new phrasen($sprache); +$show = (isset($_GET['show'])?$_GET['show']:'aktuell'); + //Leiter OEs holen $benutzerfunktion = new benutzerfunktion(); $benutzerfunktion->getBenutzerFunktionen('Leitung', '', '', $user); @@ -54,6 +57,8 @@ if($rechte->isBerechtigt('basis/ampeluebersicht')) array_unique($oes); +$studiensemester = new studiensemester(); +$ss_akt = $studiensemester->getakt(); echo ' @@ -73,7 +78,8 @@ echo ' @@ -86,6 +92,10 @@ if(count($oes)!=0) echo '

'.$p->t('tools/dasAmpelsystemIstEinErinnerungsystem').'

'; +if ($show == 'aktuell') + echo '

'.$p->t('tools/ampelAlleAnzeigen').'

'; +else + echo '

'.$p->t('tools/ampelNurAktuellesStudiensemester').'

'; $datum_obj = new datum(); @@ -126,78 +136,135 @@ if($type=='bestaetigen' && is_numeric($ampel_id)) echo $message; $ampel = new ampel(); -$ampel->loadUserAmpel($user, true, true); +$ampel->loadUserAmpel($user, false, true); echo ' - + '; +$beginn = new studiensemester($ss_akt); foreach($ampel->result as $row) { - $ts_deadline = $datum_obj->mktime_fromdate($row->deadline); - $vlz = "-".$row->vorlaufzeit." day"; - $ts_vorlaufzeit = strtotime($vlz, $ts_deadline); - $ts_now = $datum_obj->mktime_fromdate(date('Y-m-d')); - - if($ts_vorlaufzeit<=$ts_now && $ts_now<=$ts_deadline) - $ampelstatus='gelb'; - elseif($ts_now>$ts_deadline) - $ampelstatus='rot'; - elseif($ts_now<$ts_deadline && $ts_vorlaufzeit>=$ts_now) - $ampelstatus='gruen'; - - if($bestaetigt = $ampel->isBestaetigt($user,$row->ampel_id)) - $ampelstatus=''; - - echo ''; - echo ''; + echo ''; + + echo ''; + $beschreibung = $row->beschreibung[$sprache]; + if($beschreibung=='' && isset($row->beschreibung[DEFAULT_LANGUAGE])) + $beschreibung = $row->beschreibung[DEFAULT_LANGUAGE]; + echo ''; + echo ''; + + // echo ""; + // echo ""; + // echo ""; + echo ''; } - echo $status; + elseif ($show == 'alle') + { + $ts_deadline = $datum_obj->mktime_fromdate($row->deadline); + $vlz = "-".$row->vorlaufzeit." day"; + $ts_vorlaufzeit = strtotime($vlz, $ts_deadline); + $ts_now = $datum_obj->mktime_fromdate(date('Y-m-d')); - echo ''; + if($ts_vorlaufzeit<=$ts_now && $ts_now<=$ts_deadline) + $ampelstatus='gelb'; + elseif($ts_now>$ts_deadline) + $ampelstatus='rot'; + elseif($ts_now<$ts_deadline && $ts_vorlaufzeit>=$ts_now) + $ampelstatus='gruen'; + + if($bestaetigt = $ampel->isBestaetigt($user,$row->ampel_id)) + $ampelstatus=''; + + echo ''; + echo ''; + + echo ''; + $beschreibung = $row->beschreibung[$sprache]; + if($beschreibung=='' && isset($row->beschreibung[DEFAULT_LANGUAGE])) + $beschreibung = $row->beschreibung[DEFAULT_LANGUAGE]; + echo ''; + echo ''; - echo ''; - $beschreibung = $row->beschreibung[$sprache]; - if($beschreibung=='' && isset($row->beschreibung[DEFAULT_LANGUAGE])) - $beschreibung = $row->beschreibung[DEFAULT_LANGUAGE]; - echo ''; - echo ''; - -// echo ""; -// echo ""; -// echo ""; - echo ''; + // echo ""; + // echo ""; + // echo ""; + echo ''; + } } echo '
'.$p->t('tools/ampelErledigt').' '.$p->t('tools/ampelBeschreibung').' '.$p->t('tools/ampelDeadline').'
'; - switch($ampelstatus) + //Nur Ampeln laden, die im aktuellen Studiensemester liegen + if ($show == 'aktuell' && $row->deadline>=$beginn->start) { - case 'rot': - $status= ''; - break; - case 'gelb': - $status= ''; - break; - case 'gruen': - $status= ''; - break; - default: - $status= ''; - break; + $ts_deadline = $datum_obj->mktime_fromdate($row->deadline); + $vlz = "-".$row->vorlaufzeit." day"; + $ts_vorlaufzeit = strtotime($vlz, $ts_deadline); + $ts_now = $datum_obj->mktime_fromdate(date('Y-m-d')); + + if($ts_vorlaufzeit<=$ts_now && $ts_now<=$ts_deadline) + $ampelstatus='gelb'; + elseif($ts_now>$ts_deadline) + $ampelstatus='rot'; + elseif($ts_now<$ts_deadline && $ts_vorlaufzeit>=$ts_now) + $ampelstatus='gruen'; + + if($bestaetigt = $ampel->isBestaetigt($user,$row->ampel_id)) + $ampelstatus=''; + + echo '
'; + switch($ampelstatus) + { + case 'rot': + $status= ''; + break; + case 'gelb': + $status= ''; + break; + case 'gruen': + $status= ''; + break; + default: + $status= ''; + break; + } + echo $status; + + echo ''; + if(!$bestaetigt) + echo '
'; + else + echo ''; + echo '
verpflichtend=='t'?'style="background-color: #EF8A88"':'').'>'.$beschreibung.''.$datum_obj->formatDatum($row->deadline,'d.m.Y').'".date('d.m.Y',$ts_now)."".date('d.m.Y',$ts_vorlaufzeit)."".date('d.m.Y',$ts_deadline)."
'; - if(!$bestaetigt) - //echo ''.$p->t('tools/ampelBestaetigen').''; - echo ''; - else - //echo $p->t('tools/ampelBestaetigt'); - //echo ''; - echo ''; - echo '
'; + switch($ampelstatus) + { + case 'rot': + $status= ''; + break; + case 'gelb': + $status= ''; + break; + case 'gruen': + $status= ''; + break; + default: + $status= ''; + break; + } + echo $status; + + echo ''; + if(!$bestaetigt) + echo '
'; + else + echo ''; + echo '
verpflichtend=='t'?'style="background-color: #EF8A88"':'').'>'.$beschreibung.''.$datum_obj->formatDatum($row->deadline,'d.m.Y').''.$beschreibung.''.$datum_obj->formatDatum($row->deadline,'d.m.Y').'".date('d.m.Y',$ts_now)."".date('d.m.Y',$ts_vorlaufzeit)."".date('d.m.Y',$ts_deadline)."
".date('d.m.Y',$ts_now)."".date('d.m.Y',$ts_vorlaufzeit)."".date('d.m.Y',$ts_deadline)."
'; diff --git a/cis/public/incoming/akteupload.php b/cis/public/incoming/akteupload.php index b8f784946..f0eb63a2a 100644 --- a/cis/public/incoming/akteupload.php +++ b/cis/public/incoming/akteupload.php @@ -55,15 +55,11 @@ echo " File-Upload "; -//Bei Upload des Bildes +//Bei Upload einer Datei if(isset($_POST['submitbild'])) { if(isset($_FILES['bild']['tmp_name'])) - { - //Extension herausfiltern - $ext = explode('.',$_FILES['bild']['name']); - $ext = mb_strtolower($ext[count($ext)-1]); - + { $filename = $_FILES['bild']['tmp_name']; $fp = fopen($filename,'r'); @@ -91,21 +87,24 @@ if(isset($_POST['submitbild'])) $dokument = new dokument(); $dokument->loadDokumenttyp($_REQUEST['dokumenttyp']); - $extension = end(explode(".",strtolower($_FILES['bild']['name']))); + $tmp = explode(".",strtolower($_FILES['bild']['name'])); + $extension = end($tmp); $titel = ''; // da nur 32 zeichen gespeichert werden dürfen, muss anhand vom typ gekürzt werden - if($_REQUEST['dokumenttyp']=='Lebenslf') + /*if($_REQUEST['dokumenttyp']=='Lebenslf') $titel = $p->t('incoming/lebenslauf').".".$extension; if($_REQUEST['dokumenttyp']=='LearnAgr') $titel = $p->t('incoming/learningAgreement').".".$extension; if($_REQUEST['dokumenttyp']=='Motivat') $titel = $p->t('incoming/motivationsschreiben').".".$extension; if($_REQUEST['dokumenttyp']=='Zeugnis') - $titel = $p->t('incoming/zeugnis').".".$extension; + $titel = $p->t('incoming/zeugnis').".".$extension; if($_REQUEST['dokumenttyp']=='Lichtbil') - $titel = $p->t('incoming/lichtbild').".".$extension; - + $titel = $p->t('incoming/lichtbild').".".$extension;*/ + + $titel = StringCut($dokument->bezeichnung,25,false,''); + $titel = $titel.'.'.$extension; $akte->dokument_kurzbz = $_REQUEST['dokumenttyp']; $akte->person_id = $_GET['person_id']; @@ -116,9 +115,9 @@ if(isset($_POST['submitbild'])) $akte->titel = $titel; //$akte->bezeichnung = $dokument->bezeichnung; $akte->updateamum = date('Y-m-d H:i:s'); - // $akte->updatevon = $user; + $akte->updatevon = 'Incoming-Online'; $akte->insertamum = date('Y-m-d H:i:s'); - // $akte->insertvon = $user; + $akte->insertvon = 'Incoming-Online'; $akte->uid = ''; $akte->new = true; @@ -150,7 +149,7 @@ if(isset($_POST['submitbild'])) if(isset($_GET['person_id'])) { $dokument = new dokument(); - $dokument->getAllDokumente(); + $dokument->getDokumente('10006'); echo "
@@ -165,13 +164,10 @@ if(isset($_GET['person_id'])) diff --git a/cis/public/incoming/incoming.php b/cis/public/incoming/incoming.php index 7017860cb..def2bc4bb 100644 --- a/cis/public/incoming/incoming.php +++ b/cis/public/incoming/incoming.php @@ -37,6 +37,8 @@ require_once '../../../include/akte.class.php'; require_once '../../../include/datum.class.php'; require_once '../../../include/firma.class.php'; require_once '../../../include/addon.class.php'; +require_once '../../../include/sprache.class.php'; +require_once '../../../include/mail.class.php'; if(isset($_GET['lang'])) setSprache($_GET['lang']); @@ -97,6 +99,17 @@ $date = new datum(); $firma = new firma(); $firma->getFirmen('Partneruniversität'); + +if (isset($_GET['lang'])) + $get_url = str_replace('lang='.$_GET['lang'].'&', '', $_SERVER['QUERY_STRING']); +else + $get_url = $_SERVER['QUERY_STRING']; + +$filter_url = ''; +if (isset($_GET['filter']) || isset($_GET['unterrichtssprache']) || isset($_GET['studiengang'])) + $filter_url = 'filter='.$_GET['filter'].'&unterrichtssprache='.$_GET['unterrichtssprache'].'&studiengang='.$_GET['studiengang'].'&go=Filter&'; + +$message = ''; ?> @@ -106,15 +119,59 @@ $firma->getFirmen('Partneruniversität'); - + + + + loadAddons(); foreach($addon_obj->result as $addon) { - if(file_exists('../../../addons/'.$addon->kurzbz.'/cis/init.js.php')) - echo ''; + if(file_exists('../../../addons/'.$addon->kurzbz.'/cis/init.js.php')) + echo ''; } // Wenn Seite fertig geladen ist Addons aufrufen @@ -139,31 +196,71 @@ $( document ).ready(function() $("#t1").tablesorter( { sortList: [[1,0],[3,0],[4,0]], - widgets: ["zebra"] + widgets: ["zebra"], + headers: {0:{sorter:false}, 9:{sorter:false}} }); $("#t2").tablesorter( - { - sortList: [[0,0]], - widgets: ["zebra"] - }); + { + sortList: [[0,0]], + widgets: ["zebra"] + }); $("#t3").tablesorter( - { - sortList: [[1,0],[3,0],[4,0],[5,0]], - widgets: ["zebra"] - }); + { + sortList: [[1,0],[3,0],[4,0],[5,0]], + widgets: ["zebra"], + headers: {9:{sorter:false}} + }); }); - + -
- - - + +
Administration titelpre." ".$person->vorname." ".$person->nachname." ".$person->titelpost?> - +
+ + + + + + echo ''.$p->t("global/englisch").' | + '.$p->t("global/deutsch").'
';?>
t("incoming/hauptmenue") ?> titelpre." ".$person->vorname." ".$person->nachname." ".$person->titelpost?>
+ Logout
t("global/sprache")." "; - echo ''.$p->t("global/englisch").' | - '.$p->t("global/deutsch").'
';?>
von = $date->formatDatum($_REQUEST['von'],'Y-m-d'); $preincoming->bis = $date->formatDatum($_REQUEST['bis'],'Y-m-d'); - $preincoming->code = $_REQUEST['code']; + if (isset($_REQUEST['code'])) + $preincoming->code = $_REQUEST['code']; if($_REQUEST['austausch_kz']== "austausch_auswahl") $preincoming->mobilitaetsprogramm_code = ''; else @@ -189,7 +287,10 @@ if($method =="austauschprogram") // Ausgabe Austauschprogram Formular echo ' - +
+ + + - - - - - + - + @@ -238,10 +335,6 @@ if($method =="austauschprogram") - - - -

'.$p->t('incoming/austauschprogram').'

@@ -214,17 +315,13 @@ if($method =="austauschprogram") } echo '
'.$p->t('global/code').'*
'.$p->t('incoming/studiertvon').' (dd.mm.yyyy) (dd.mm.yyyy)
'.$p->t('incoming/studiertbis').' (dd.mm.yyyy) (dd.mm.yyyy)
   
* '.$p->t('incoming/wennVorhanden').'
'; @@ -255,9 +348,9 @@ else if($method=="lehrveranstaltungen") $id= $_GET['id']; if($preincoming->addLehrveranstaltung($preincoming->preincoming_id, $_GET['id'], date('Y-m-d H:i:s'))) - echo $p->t('global/erfolgreichgespeichert'); + $message = ''.($p->t('global/erfolgreichgespeichert')).''; else - echo $p->t('global/fehleraufgetreten'); + $message = ''.($p->t('global/fehleraufgetreten')).''; } // löschen der LV-ID if($_GET['mode'] == "delete") @@ -265,9 +358,9 @@ else if($method=="lehrveranstaltungen") $id= $_GET['id']; if($preincoming->deleteLehrveranstaltung($preincoming->preincoming_id, $_GET['id'])) - echo $p->t('global/erfolgreichgelöscht'); + $message = ''.($p->t('global/erfolgreichgelöscht')).''; else - echo $p->t('global/fehleraufgetreten'); + $message = ''.($p->t('global/fehleraufgetreten')).''; } } if(isset($_GET['mode']) && $_GET['mode'] == "thesis") @@ -329,14 +422,16 @@ else if($method=="lehrveranstaltungen") { $lvs = $preincoming->getLehrveranstaltungen($preincoming->preincoming_id); echo '


- - - - - - - - +
'.$p->t('incoming/übersichtlehrveranstaltungen').''.$p->t('incoming/eigenelehrveranstaltungen').'
 
+ + + + + + + + +

'.$p->t('incoming/eigenelehrveranstaltungen').'

'.$p->t('incoming/übersichtlehrveranstaltungen').'
 
'; /* Wird laut Telefonat mit Giedre Jukneviciute am 14.10.2015 derzeit nicht benötigt und soll daher ausgeblendet werden. @@ -381,18 +476,21 @@ else if($method=="lehrveranstaltungen") echo '


'; }*/ - + echo '
'.$message.'
'; echo ' - +
+ - + + + '; @@ -409,31 +507,36 @@ else if($method=="lehrveranstaltungen") else if ($studiengang->typ == 'm') $typ = 'MA'; echo ''; - echo ''; - echo ''; + echo ''; echo ''; echo ''; + echo ''; echo ''; echo ''; echo ''; + echo ''; + echo ''; echo ''; + echo '';//Necessary for LV-Info-ADDON to get the ID for the course echo ''; } + echo '
'.$p->t('global/studiengang').' '.$p->t('abgabetool/typ').''.$p->t('incoming/orgform').' '.$p->t('global/semester').' '.$p->t('global/lehrveranstaltung').' '.$p->t('global/lehrveranstaltung').' '.$p->t('global/englisch').'Info'.$p->t('incoming/ects').''.$p->t('courseInformation/unterrichtssprache').''.$p->t('incoming/lvInfo').'
'.$lehrveranstaltung->lehrveranstaltung_id.' '.$p->t('global/löschen').' '.$p->t('global/löschen').'',$studiengang_language,'',$typ,'',$lehrveranstaltung->orgform_kurzbz,'',$lehrveranstaltung->semester,'',$lehrveranstaltung->bezeichnung,'',$lehrveranstaltung->bezeichnung_english,'',$lehrveranstaltung->ects,'',($lehrveranstaltung->sprache=='German'?$p->t("global/deutsch"):$p->t("global/englisch")),' - Deutsch  - Englisch + '.$p->t("global/deutsch").'  + '.$p->t("global/englisch").' '.$lehrveranstaltung->lehrveranstaltung_id.'
'; } } // Übersicht aller LVs else { - echo '


- + echo '
+ + + - - - + +

'.$p->t('incoming/übersichtlehrveranstaltungen').'

'.$p->t('incoming/übersichtlehrveranstaltungen').''.$p->t('incoming/eigenelehrveranstaltungen').''.$p->t('incoming/eigenelehrveranstaltungen').'


'; @@ -515,12 +618,12 @@ else if($method=="lehrveranstaltungen")

';*/ - echo ' + /*echo '
-
Course application is currently disabled. Please contact the office to apply for courses.
'; - /*echo ' -
+ ';*/ + echo ' + @@ -530,7 +633,7 @@ else if($method=="lehrveranstaltungen")
'.$p->t('incoming/studentenImWS').'
'.$p->t('incoming/filter').': - '; // Vorauswahl der Übergebenen Filter @@ -548,7 +651,7 @@ else if($method=="lehrveranstaltungen") echo ''; echo'
'; - echo $p->t('courseInformation/unterrichtssprache').': '; // Vorauswahl der Übergebenen Filter @@ -561,30 +664,48 @@ else if($method=="lehrveranstaltungen") elseif($_GET['unterrichtssprache']=='English') $EnglishSelected='selected'; - echo ''; + echo ''; - echo ''; + echo ''; echo'
'; - echo $p->t('global/studiengang').': '; - // Vorauswahl der Übergebenen Filter + // Vorauswahl der Übergebenen Filter - $studiengang = new studiengang(); - $studiengang->getAll('typ,kurzbz', true); + $studiengang = new studiengang(); + $studiengang->getAll('typ,kurzbz', true); + $type = array('b' => 'Bachelor', 'm' => 'Master', 'e' => 'Other'); + $typ = ''; - foreach ($studiengang->result as $row) + foreach ($studiengang->result as $row) + { + //Nur Bachelor, Master und CIR-Studiengang + if ($row->typ == 'b' || $row->typ == 'm' || $row->studiengang_kz == '10006') { $selected = ''; + + if ($typ != $row->typ || $typ=='') + { + if ($typ!='') + echo ''; + echo ''; + } + if(isset($_GET['studiengang']) && $_GET['studiengang'] == $row->studiengang_kz) $selected='selected'; $studiengang_language = ($sprache == 'German') ? $row->bezeichnung : $row->english; echo ''; + $typ = $row->typ; } + } - echo''; + echo'

'; + echo ''; + //echo ''; + echo ''; echo '
@@ -616,144 +737,177 @@ else if($method=="lehrveranstaltungen") if(isset($_GET['unterrichtssprache']) && $_GET['unterrichtssprache']!='') $filterqry .= " AND tbl_lehrveranstaltung.sprache='".$_GET['unterrichtssprache']."'"; - + //Uebersicht LVs - /* Erklaerung der Datumszeitraeume ab Zeile 650: - * |=============== Studiensemester ===============| - * |--------------| Incoming beginnt vor SS-Beginn und endet VOR SS-Ende jedoch ueberwiegend innerhalb SS - * |--------------| Incoming beginnt VOR SS-Ende und endet NACH SS-Ende, jedoch ueberwiegend innerhalb SS - * |------------------------------| Incoming ist innerhalb oder GENAU SS da - * |------------------------------------------------------| Incoming ist VOR SS-Anfang und NACH SS-Ende da, jedoch ueberwiegend ueberlappend mit SS - * --------------------------------------------------------- Von und Bis ist NULL - * -------------------| Von ist NULL und bis innerhalb SS - * |----------------------- Bis ist NULL und von innerhalb SS + /* Erklaerung der Datumszeitraeume ab Zeile 663: + * |=============== Studiensemester ===============| + * |--------------| Incoming beginnt vor SS-Beginn und endet VOR SS-Ende jedoch ueberwiegend innerhalb SS + * |--------------| Incoming beginnt VOR SS-Ende und endet NACH SS-Ende, jedoch ueberwiegend innerhalb SS + * |----------| Incoming beginnt vor SS-Beginn und endet VOR SS-Ende jedoch ueberwiegend außerhalb SS + * |---------| Incoming beginnt VOR SS-Ende und endet NACH SS-Ende, jedoch ueberwiegend außerhalb SS + * |------------------------------| Incoming ist innerhalb oder GENAU SS da + * |------------------------------------------------------| Incoming ist VOR SS-Anfang und NACH SS-Ende da, jedoch ueberwiegend ueberlappend mit SS + * ------------------------------------------------------------ Von und Bis ist NULL + * -------------------| Von ist NULL und bis innerhalb SS + * |--------------------------- Bis ist NULL und von innerhalb SS */ - /*$qry = "SELECT - tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.ects, - tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.sprache, - tbl_lehrveranstaltung.bezeichnung_english, tbl_lehrveranstaltung.incoming, tbl_lehrveranstaltung.orgform_kurzbz, - ( - Select count(*) - FROM ( - SELECT - person_id - FROM - campus.vw_student_lehrveranstaltung - JOIN public.tbl_benutzer using(uid) - JOIN public.tbl_student ON(uid=student_uid) - JOIN public.tbl_prestudentstatus USING(prestudent_id) - WHERE - lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id - AND - lehreinheit_id in (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit - WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id - AND - tbl_lehreinheit.studiensemester_kurzbz='$stsem->studiensemester_kurzbz') - AND - tbl_prestudentstatus.status_kurzbz='Incoming' - AND tbl_prestudentstatus.studiensemester_kurzbz='$stsem->studiensemester_kurzbz' - UNION - SELECT - person_id - FROM - public.tbl_preincoming_lehrveranstaltung - JOIN public.tbl_preincoming using(preincoming_id) - WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id - AND - ( - (bis - '$stsem->start' > '$stsem->start' - von) OR - ('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR - (von >= '$stsem->start' AND bis <= '$stsem->ende') OR - (von <= '$stsem->start' AND bis >= '$stsem->ende') OR - (von IS NULL AND bis IS NULL) OR - (von IS NULL AND bis <= '$stsem->ende' AND bis > '$stsem->start') OR - (bis IS NULL AND von < '$stsem->ende' AND von >= '$stsem->start') - ) - AND aktiv = true - )a ) as anzahl - FROM - lehre.tbl_lehrveranstaltung - JOIN - public.tbl_studiengang USING(studiengang_kz) - WHERE - tbl_lehrveranstaltung.incoming>0 AND - tbl_lehrveranstaltung.aktiv AND - tbl_lehrveranstaltung.lehre AND - tbl_lehrveranstaltung.lehrveranstaltung_id IN ( - SELECT lehrveranstaltung_id FROM lehre.tbl_studienplan_lehrveranstaltung - JOIN lehre.tbl_studienplan USING (studienplan_id) - JOIN lehre.tbl_studienordnung USING (studienordnung_id) - WHERE tbl_studienordnung.status_kurzbz='approved' - AND tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id) AND - ((tbl_lehrveranstaltung.studiengang_kz>0 AND tbl_lehrveranstaltung.studiengang_kz<10000) OR tbl_lehrveranstaltung.studiengang_kz=10006)"; + $studiensemester_array = array(); + $studiensemester = new studiensemester(); + $studiensemester_array[] = $studiensemester->getakt(); - if (isset($_GET['studiengang']) && $_GET['studiengang'] !='') - $qry .= "AND tbl_lehrveranstaltung.studiengang_kz=".$_GET['studiengang']; - - $qry .= "AND tbl_studiengang.aktiv ".$filterqry." order by studiengang_kz - "; - - echo ' - - - - - - - - - - - - - - - - '; - if($result = $db->db_query($qry)) + $studiensemester->getFutureStudiensemester('',2); + foreach ($studiensemester->studiensemester AS $row) + $studiensemester_array[] = $row->studiensemester_kurzbz; + + if(isset($_GET['go'])) { - while($row = $db->db_fetch_object($result)) + $qry = "SELECT + tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.ects, + tbl_lehrveranstaltung.bezeichnung, tbl_lehrveranstaltung.semester, tbl_lehrveranstaltung.sprache, + tbl_lehrveranstaltung.bezeichnung_english, tbl_lehrveranstaltung.incoming, tbl_lehrveranstaltung.orgform_kurzbz, + ( + Select count(*) + FROM ( + SELECT + person_id + FROM + campus.vw_student_lehrveranstaltung + JOIN public.tbl_benutzer using(uid) + JOIN public.tbl_student ON(uid=student_uid) + JOIN public.tbl_prestudentstatus USING(prestudent_id) + WHERE + lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id + AND + lehreinheit_id in (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit + WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id + AND + tbl_lehreinheit.studiensemester_kurzbz='$stsem->studiensemester_kurzbz') + AND + tbl_prestudentstatus.status_kurzbz='Incoming' + AND tbl_prestudentstatus.studiensemester_kurzbz='$stsem->studiensemester_kurzbz' + UNION + SELECT + person_id + FROM + public.tbl_preincoming_lehrveranstaltung + JOIN public.tbl_preincoming using(preincoming_id) + WHERE lehrveranstaltung_id=tbl_lehrveranstaltung.lehrveranstaltung_id + AND + ( + (bis - '$stsem->start' > '$stsem->start' - von) OR + ('$stsem->start' <= von AND bis >= '$stsem->ende' AND '$stsem->ende' - von > bis - '$stsem->ende') OR + (bis <= '$stsem->ende' AND bis >= '$stsem->start' AND von < '$stsem->start') OR + ('$stsem->start' <= von AND von < '$stsem->ende' AND bis > '$stsem->ende') OR + (von >= '$stsem->start' AND bis <= '$stsem->ende') OR + (von <= '$stsem->start' AND bis >= '$stsem->ende') OR + (von IS NULL AND bis IS NULL) OR + (von IS NULL AND bis <= '$stsem->ende' AND bis > '$stsem->start') OR + (bis IS NULL AND von < '$stsem->ende' AND von >= '$stsem->start') + ) + AND aktiv = true + )a ) as anzahl + FROM + lehre.tbl_lehrveranstaltung + JOIN + public.tbl_studiengang USING(studiengang_kz) + WHERE + tbl_lehrveranstaltung.incoming>0 AND + tbl_lehrveranstaltung.aktiv AND + tbl_lehrveranstaltung.lehre AND + tbl_lehrveranstaltung.lehrveranstaltung_id IN ( + SELECT lehrveranstaltung_id FROM lehre.tbl_studienplan_lehrveranstaltung + JOIN lehre.tbl_studienplan USING (studienplan_id) + JOIN lehre.tbl_studienordnung USING (studienordnung_id) + JOIN lehre.tbl_studienplan_semester USING (studienplan_id) + WHERE tbl_studienordnung.status_kurzbz='approved' + AND tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id + AND tbl_studienplan_semester.studiensemester_kurzbz IN ('".implode("','", $studiensemester_array)."')) + AND ((tbl_lehrveranstaltung.studiengang_kz>0 AND tbl_lehrveranstaltung.studiengang_kz<10000) OR tbl_lehrveranstaltung.studiengang_kz=10006)"; + + if (isset($_GET['studiengang']) && $_GET['studiengang'] !='') + $qry .= " AND tbl_lehrveranstaltung.studiengang_kz=".$_GET['studiengang']; + + $qry .= " AND tbl_studiengang.aktiv ".$filterqry." order by studiengang_kz + "; + + if($result = $db->db_query($qry)) { - $freieplaetze = $row->incoming - $row->anzahl; - //if($freieplaetze>0) - //{ - $studiengang = new studiengang(); - $studiengang->load($row->studiengang_kz); - $studiengang_language = ($sprache == 'German') ? $studiengang->bezeichnung : $studiengang->english; - $typ = $studiengang->typ; - if ($studiengang->typ == 'b') - $typ = 'BA'; - else if ($studiengang->typ == 'm') - $typ = 'MA'; - else - $typ = '-'; - echo ''; - echo ''; - if(!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id) && $freieplaetze>0) - echo ''; - elseif (!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id) && $freieplaetze==0) - echo ''; - else - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - //} + if ($db->db_affected_rows($result)>0) + { + echo '
'.$message.'
'; + echo '

'.$p->t('incoming/tabelleSortierinformation').'

'; + echo '
'.$p->t('global/studiengang').''.$p->t('abgabetool/typ').''.$p->t('incoming/orgform').''.$p->t('global/semester').''.$p->t('global/lehrveranstaltung').''.$p->t('global/lehrveranstaltung').' '.$p->t('global/englisch').''.$p->t('incoming/ects').''.$p->t('courseInformation/unterrichtssprache').'Info'.$p->t('incoming/freieplätze').'
'.$row->lehrveranstaltung_id.''.$p->t('global/anmelden').''.$p->t('incoming/noVacancies').''.$p->t('global/angemeldet').'',$studiengang_language,'',$typ,'',$row->orgform_kurzbz,'',$row->semester,'',$row->bezeichnung,'',$row->bezeichnung_english,'',$row->ects,'',$row->sprache,' - Deutsch  - Englisch - ',($freieplaetze<$row->incoming?''.$freieplaetze.'/'.$row->incoming.'':$freieplaetze.'/'.$row->incoming),'
+ + + + + + + + + + + + + + + + '; + while($row = $db->db_fetch_object($result)) + { + $freieplaetze = $row->incoming - $row->anzahl; + $style = ''; + + if ($preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id)) + $style = 'style="background-color: #88DD88"'; + elseif ($freieplaetze==0) + $style = 'style="background-color: #FF8888"'; + //if($freieplaetze>0) + //{ + $studiengang = new studiengang(); + $studiengang->load($row->studiengang_kz); + $studiengang_language = ($sprache == 'German') ? $studiengang->bezeichnung : $studiengang->english; + $typ = $studiengang->typ; + if ($studiengang->typ == 'b') + $typ = 'Bachelor'; + else if ($studiengang->typ == 'm') + $typ = 'Master'; + else + $typ = '-'; + echo ''; + + if(!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id) && $freieplaetze>0) + echo ''; + elseif (!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id) && $freieplaetze==0) + echo ''; + else + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo '';//Necessary for LV-Info-ADDON to get the ID for the course + echo ''; + //} + } + echo '
'.$p->t('global/studiengang').''.$p->t('abgabetool/typ').''.$p->t('incoming/orgform').''.$p->t('global/semester').''.$p->t('global/lehrveranstaltung').''.$p->t('global/lehrveranstaltung').' '.$p->t('global/englisch').''.$p->t('incoming/ects').''.$p->t('courseInformation/unterrichtssprache').''.$p->t('incoming/lvInfo').''.$p->t('incoming/freieplätze').'
'.$p->t('global/anmelden').''.$p->t('incoming/noVacancies').''.$p->t('global/angemeldet').'',$studiengang_language,'',$typ,'',$row->orgform_kurzbz,'',$row->semester,'',$row->bezeichnung,'',$row->bezeichnung_english,'',$row->ects,'',($row->sprache=='German'?$p->t("global/deutsch"):$p->t("global/englisch")),' + '.$p->t("global/deutsch").'  + '.$p->t("global/englisch").' + ',($freieplaetze<$row->incoming?''.$freieplaetze.' ('.$p->t('incoming/von').' '.$row->incoming.')':$freieplaetze.' ('.$p->t('incoming/von').' '.$row->incoming.')').''.$row->lehrveranstaltung_id.'
'; + } + else + echo '
'.$p->t('incoming/derzeitKeineLehrveranstaltungen').'
'; } } - echo '';*/ + else + echo '
'.$p->t('incoming/waehlenSieAusDenOptionen').'
'; } } else if ($method == "university") @@ -790,7 +944,12 @@ else if ($method == "university") } $preincoming->program_name = $_REQUEST['name_of_program']; - $preincoming->jahre = $_REQUEST['jahre']; + + //Pruefen, ob Jahre studiert eine ganze Zahl ist oder leer + if(ctype_digit($_REQUEST['jahre']) || $_REQUEST['jahre'] == '') + $preincoming->jahre = $_REQUEST['jahre']; + else + echo ''.$p->t('incoming/jahreStudiertMussGanzeZahlSein').'
'; if(isset($_REQUEST['bachelor'])) $preincoming->bachelor = true; else @@ -1211,7 +1370,10 @@ else if ($method == "university") } echo ' - +
+ + + +  '.$p->t('incoming/downloadLearningAgreementErasmus').'
+  '.$p->t('incoming/downloadLearningAgreement').'


+ ',$p->t('incoming/fileupload'),'

'; $akte->getAkten($person->person_id); if(count($akte->result)>0) { - echo '

'.$p->t('incoming/eigeneuniversitaet').'

@@ -1553,7 +1715,10 @@ else if ($method == "profil") } // Ausgabe Profil Formular echo' -
+
+ + + @@ -1731,7 +1895,10 @@ echo' - +

'.$p->t('incoming/persönlichedateneditieren').'

@@ -1591,7 +1756,7 @@ else if ($method == "profil") - + @@ -1602,7 +1767,7 @@ else if ($method == "profil") - + @@ -1614,13 +1779,13 @@ else if ($method == "profil") - + - - - +
'.$p->t('global/titel').' Pre '.$p->t('incoming/zugangsvoraussetzungmaster').''.$p->t('incoming/zugangsvoraussetzungmaster').'²
'.$p->t('global/nachname').' '.$p->t('incoming/abgelegtinort').'
'.$p->t('global/geburtsdatum').' (dd.mm.yyyy) (dd.mm.yyyy)  
'.$p->t('global/staatsbuergerschaft').'
'.$p->t('incoming/nation').'
-
¹ '.$p->t('incoming/zugangsvoraussetzungFussnote').' + ¹ '.$p->t('incoming/zugangsvoraussetzungFussnote').'
+ ² '.$p->t('incoming/zugangsvoraussetzungMasterFussnote').' +
@@ -1773,84 +1940,154 @@ echo' else if($method == 'files') { $akte = new akte(); - + $message = ''; if(isset($_GET['id'])) { if($_GET['mode']=="delete") { if($akte->delete($_GET['id'])) - echo($p->t('global/erfolgreichgelöscht')); + $message = ''.($p->t('global/erfolgreichgelöscht')).''; else - echo($p->t('global/fehleraufgetreten')); + $message = ''.($p->t('global/fehleraufgetreten')).''; } } echo ' -


+
+ + + + + + + +

'.$p->t('incoming/uploadvondateien').'

- ',$p->t('incoming/fileupload'),'
+ echo '
'.$message.'
'; + echo '
+ - - '; + + + '; foreach ($akte->result as $ak) { echo ' - + - + '; } - echo '
'.$p->t('incoming/name').''.$p->t('global/bezeichnung').'
'.$ak->titel.''.$ak->bezeichnung.'
'; + echo ''; } + else + echo 'foo'; +} +else if($method == 'ende') +{ + $message = ''; + $emailtext = ''; + // Profil speichern + if(isset($_POST['submit_ende'])) + { + // sende Nachricht an Assistenz + //$emailtext= "Dies ist eine automatisch generierte E-Mail.

"; + $emailtext.= "Der/Die Incoming ".$person->vorname.' '.$person->nachname.' hat seine Registration abgeschlossen'; + + $emailtext = wordwrap($emailtext,70); //Bricht den Code um, da es sonst zu Anzeigefehlern im Mail kommen kann + + $mail = new mail(MAIL_INTERNATIONAL, 'no-reply', 'Incoming '.$person->vorname.' '.$person->nachname.' vollstaendig', 'Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen.'); + $mail->setHTMLContent($emailtext); + if(!$mail->send()) + $message = ''.($p->t('incoming/fehlerBeimSenden')).''; + else + $message = ''.($p->t('incoming/erfolgreichAbgeschickt')).''; + + } + echo '
'.$message.'
'; + echo '


+ + + + + + + + + + +




'.$p->t('incoming/dankeFuerIhreAnmeldung').'

+

+
+
'; } // Ausgabe Menü else { - echo '



-
- - - - - - - - - - - - - - - - - - - - - - -
1. '.$p->t('incoming/persönlichedateneditieren').'
2. '.$p->t("incoming/eigeneuniversitaet").'
3. '.$p->t('incoming/austauschprogram').'
4. '.$p->t('incoming/lehrveranstaltungenauswählen').'
5. '.$p->t('incoming/downloadLearningAgreement').'
6. '.$p->t("incoming/uploadLearningAgreement").'
7. '.$p->t("incoming/uploadvondateien").'
- - - - -
Logout
'; + echo ' + + + +

'.$p->t('incoming/hauptmenue').'

+ + + + + + + + + + + + + + + + + +
1. '.$p->t('incoming/persönlichedateneditieren').'
2. '.$p->t("incoming/eigeneuniversitaet").'
3. '.$p->t('incoming/austauschprogram').'
4. '.$p->t('incoming/lehrveranstaltungenauswählen').'
5. '.$p->t("incoming/uploadvondateien").'
'; echo ' +
@@ -89,9 +93,13 @@ echo 'Zurück zur Admin Seit //Dropdown Auswahl Studiengang echo "Studiengang:


"; echo '
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + '; + +foreach ($sprache->result as $row) +{ + echo ' + + + '; +} +echo ' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ID
Kurzbz
Bezeichnung German
Bezeichnung English
Beschreibung
Zeit hh:mm:ss
Multiple Response
Kategorien
Zufällige Fragereihenfolge
Zufällige Vorschlagreihenfolge
Levelgleichverteilung
Maximale Punkteanzahl
Maximale Frageanzahl
Antworten pro Zeile
Start Level
Richtige Fragen bis Levelaufstieg
Falsche Fragen bis Levelabstieg
Kurzbezeichnung
Bezeichnung (intern)
Bezeichnung '.$row->bezeichnung_arr[$sprache_user].'
Beschreibung (intern)
Zeit hh:mm:ss
Multiple Response
Kategorien
Zufällige Fragereihenfolge
Zufällige Vorschlagreihenfolge
Levelgleichverteilung
Maximale Punkteanzahl
Maximale Frageanzahl
Antworten pro Zeile
Start Level
Richtige Fragen bis Levelaufstieg
Falsche Fragen bis Levelabstieg
'; //Speichern der Daten -if (isset($_POST['save']) && $_POST['save']=='save') +if (isset($_POST['save']) && $_POST['save'] == 'save') { - /* - * kurzbz - * zeit - * antw/zeile - */ - - if(!$rechte->isBerechtigt('basis/testtool', null, 'suid')) - die('Sie haben keine Berechtigung fuer diese Aktion'); + if (!$rechte->isBerechtigt('basis/testtool', null, 'suid')) + die($rechte->errormsg); - if (isset($_POST['kurzbz']) && $_POST['kurzbz']!='' && isset($_POST['zeit']) && $_POST['zeit']!='' && isset($_POST['antworten_pro_zeile']) && $_POST['antworten_pro_zeile']!='') + if (isset($_POST['kurzbz']) && $_POST['kurzbz'] != '' && isset($_POST['zeit']) && $_POST['zeit'] != '' && isset($_POST['antworten_pro_zeile']) && $_POST['antworten_pro_zeile'] != '') { - $gebiet = new gebiet(); - - $bezeichnung_mehrsprachig=array(); - foreach($sprache->result as $row_sprache) + //Test, ob kurzbz schon vorhanden + if ($result = $db->db_query('SELECT kurzbz FROM testtool.tbl_gebiet WHERE kurzbz = '.$db->db_add_param($_POST['kurzbz']).' LIMIT 1;')) { - if(isset($_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache])) - $bezeichnung_mehrsprachig[$row_sprache->sprache]=$_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache]; - } - $gebiet->bezeichnung_mehrsprachig = $bezeichnung_mehrsprachig; - - $gebiet->kurzbz = $_POST['kurzbz']; - $gebiet->bezeichnung = $_POST['bezeichnung_mehrsprachig_German']; - $gebiet->beschreibung = $_POST['beschreibung']; - $gebiet->zeit = $_POST['zeit']; - $gebiet->multipleresponse = isset($_POST['multiple_respone']); - $gebiet->kategorien = isset($_POST['kategorien']); - $gebiet->maxfragen = $_POST['maximale_fragenanzahl']; - $gebiet->zufallfrage = isset($_POST['zufaellige_fragereihenfolge']); - $gebiet->zufallvorschlag = isset($_POST['zufaellige_vorschlagreihenfolge']); - $gebiet->levelgleichverteilung = isset($_POST['levelgleichverteilung']); - $gebiet->maxpunkte = $_POST['maximale_punkteanzahl']; - $gebiet->level_start = $_POST['start_level']; - $gebiet->level_sprung_auf = $_POST['richtige_fragen_bis_levelaufstieg']; - $gebiet->level_sprung_ab = $_POST['falsche_fragen_bis_levelabstieg']; - $gebiet->insertamum = date('Y-m-d H:i:s'); - $gebiet->insertvon = $user; - $gebiet->antwortenprozeile = $_POST['antworten_pro_zeile']; - - if($gebiet->save(true)) - { - echo 'Daten erfolgreich gespeichert'; - } - else - { - echo 'Fehler beim Speichern: '.$gebiet->errormsg.''; + if ($db->db_num_rows($result) == 0) + { + $gebiet = new gebiet(); + + $bezeichnung_mehrsprachig = array(); + foreach ($sprache->result as $row_sprache) + { + $bezeichnung_mehrsprachig[$row_sprache->sprache] = $_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache]; + } + $gebiet->bezeichnung_mehrsprachig = $bezeichnung_mehrsprachig; + + $gebiet->kurzbz = $_POST['kurzbz']; + $gebiet->bezeichnung = $_POST['bezeichnung_intern']; + $gebiet->beschreibung = $_POST['beschreibung']; + $gebiet->zeit = $_POST['zeit']; + $gebiet->multipleresponse = isset($_POST['multiple_respone']); + $gebiet->kategorien = isset($_POST['kategorien']); + $gebiet->maxfragen = $_POST['maximale_fragenanzahl']; + $gebiet->zufallfrage = isset($_POST['zufaellige_fragereihenfolge']); + $gebiet->zufallvorschlag = isset($_POST['zufaellige_vorschlagreihenfolge']); + $gebiet->levelgleichverteilung = isset($_POST['levelgleichverteilung']); + $gebiet->maxpunkte = $_POST['maximale_punkteanzahl']; + $gebiet->level_start = $_POST['start_level']; + $gebiet->level_sprung_auf = $_POST['richtige_fragen_bis_levelaufstieg']; + $gebiet->level_sprung_ab = $_POST['falsche_fragen_bis_levelabstieg']; + $gebiet->insertamum = date('Y-m-d H:i:s'); + $gebiet->insertvon = $user; + $gebiet->antwortenprozeile = $_POST['antworten_pro_zeile']; + + if ($gebiet->save(true)) + { + echo 'Daten erfolgreich gespeichert'; + } + else + { + echo 'Fehler beim Speichern: '.$gebiet->errormsg.''; + } + } + else + echo 'Kurzbezeichnung ist schon vorhanden'; } } else diff --git a/cis/testtool/admin/edit_gebiet.php b/cis/testtool/admin/edit_gebiet.php index 8559fb01d..38c2f76cc 100644 --- a/cis/testtool/admin/edit_gebiet.php +++ b/cis/testtool/admin/edit_gebiet.php @@ -31,7 +31,7 @@ require_once('../../../include/benutzerberechtigung.class.php'); require_once('../../../include/studiengang.class.php'); require_once('../../../include/sprache.class.php'); -if (!$user=get_uid()) +if (!$user = get_uid()) die('Sie sind nicht angemeldet. Es wurde keine Benutzer UID gefunden !
Zurück'); $db = new basis_db(); @@ -40,7 +40,9 @@ $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); $sprache = new sprache(); -$sprache->getAll(true); +$sprache->getAll(true, 'index'); + +$sprache_user = getSprache(); echo ' @@ -62,7 +64,7 @@ echo ' function deleteZuordnung(ablauf_id) { - if(confirm("Wollen Sie dieses Zuordnung wirklich entfernen?")) + if (confirm("Wollen Sie dieses Zuordnung wirklich entfernen?")) { $("#data").html(\'
\'); document.sendform.submit(); @@ -76,17 +78,17 @@ echo '
'; -if(isset($_GET['gebiet_id'])) - $gebiet_id=$_GET['gebiet_id']; +if (isset($_GET['gebiet_id'])) + $gebiet_id = $_GET['gebiet_id']; else - $gebiet_id=''; + $gebiet_id = ''; $stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:'-1'); echo '

 Gebiet bearbeiten

'; -if(!$rechte->isBerechtigt('basis/testtool')) - die('Sie haben keine Berechtigung fuer diese Seite'); +if (!$rechte->isBerechtigt('basis/testtool')) + die($rechte->errormsg); $gebiet = new gebiet(); $gebiet->getAll(); @@ -99,13 +101,13 @@ echo 'Gebiet: echo '

'; // Ablaufzuordnung entfernen -if(isset($_POST['action']) && $_POST['action']=='deleteZuordnung') +if (isset($_POST['action']) && $_POST['action'] == 'deleteZuordnung') { - if(!isset($_POST['ablauf_id']) || !is_numeric($_POST['ablauf_id'])) + if (!isset($_POST['ablauf_id']) || !is_numeric($_POST['ablauf_id'])) die('ungueltige Parameteruebergabe'); $ablauf_id = $_POST['ablauf_id']; $ablauf = new gebiet(); - if($ablauf->deleteAblaufZuordnung($ablauf_id)) + if ($ablauf->deleteAblaufZuordnung($ablauf_id)) echo 'Ablauf wurde entfernt'; else echo 'Fehler beim Entfernen:'.$ablauf->errormsg.''; - } // Ablaufzuordnung hinzufügen -if(isset($_POST['action']) && $_POST['action']=='saveAblauf') +if (isset($_POST['action']) && $_POST['action'] == 'saveAblauf') { $ablauf_vorgaben_id = $_POST['ablauf_vorgaben_id']; $studiengang_kz = $_POST['studiengang_kz']; @@ -149,21 +150,20 @@ if(isset($_POST['action']) && $_POST['action']=='saveAblauf') $ablauf->new = true; $ablauf->gebiet_id = $gebiet_id; - if($ablauf->saveAblauf()) + if ($ablauf->saveAblauf()) echo 'Ablauf gespeichert'; else echo 'Fehler beim Speichern:'.$ablauf->errormsg.''; - } //Speichern der Daten -if(isset($_POST['speichern'])) +if (isset($_POST['speichern'])) { - if(!$rechte->isBerechtigt('basis/testtool', null, 'suid')) - die('Sie haben keine Berechtigung fuer diese Aktion'); + if (!$rechte->isBerechtigt('basis/testtool', null, 'suid')) + die($rechte->errormsg); $gebiet = new gebiet(); - if($gebiet->load($gebiet_id)) + if ($gebiet->load($gebiet_id)) { $bezeichnung_mehrsprachig=array(); foreach($sprache->result as $row_sprache) @@ -191,7 +191,7 @@ if(isset($_POST['speichern'])) $gebiet->updatevon = $user; $gebiet->antwortenprozeile = $_POST['antwortenprozeile']; - if($gebiet->save(false)) + if ($gebiet->save(false)) { echo 'Daten erfolgreich gespeichert'; } @@ -206,7 +206,7 @@ if(isset($_POST['speichern'])) } } -if($gebiet_id!='') +if ($gebiet_id != '') { $gebiet = new gebiet($gebiet_id); @@ -222,16 +222,16 @@ if($gebiet_id!='') echo 'Kurzbz'; echo ''; //Bezeichnung - echo 'Bezeichnung'; + echo 'Bezeichnung (intern)'; echo ''; - foreach($sprache->result as $s) + foreach ($sprache->result as $s) { - echo 'Bezeichnung '.$s->sprache.''; - echo ''; + echo 'Bezeichnung '.$s->bezeichnung_arr[$s->sprache].''; + echo ''; echo ''; } //Beschreibung - echo 'Beschreibung'; + echo 'Beschreibung (intern)'; echo ''; //Zeit echo 'Zeit hh:mm:ss'; @@ -248,15 +248,15 @@ if($gebiet_id!='') echo ''; // empfohlene maximalpunkte berechnen und anzeigen $maximalpunkte = $gebiet->berechneMaximalpunkte($gebiet_id); - if($gebiet->maxpunkte!=$maximalpunkte) - $hinweis = 'empfohlene Maximalpunkteanzahl: '.$maximalpunkte.''; + if ($gebiet->maxpunkte != $maximalpunkte) + $hinweis = ' empfohlene Maximalpunkteanzahl: '.round($maximalpunkte).(round($maximalpunkte) != $maximalpunkte?' ('.$maximalpunkte.' gerundet)':'').''; else - $hinweis =''; + $hinweis = ''; echo 'Maximale Punkteanzahl'.$hinweis.''; echo ''; echo 'Maximale Fragenanzahl'; echo ''; - echo 'Antworten pro Zeile'; + echo 'Antworten pro Zeile'; echo ''; echo 'Start Level'; echo ''; @@ -276,7 +276,7 @@ if($gebiet_id!='') $gebiet->loadAblaufGebiet($gebiet_id); $studiengang = new studiengang(); - $studiengang->getAll('typ, kurzbz',false); + $studiengang->getAll('typ, kurzbz', false); echo ' @@ -290,7 +290,7 @@ if($gebiet_id!='') '; - foreach($gebiet->result as $row) + foreach ($gebiet->result as $row) { echo ' @@ -305,7 +305,7 @@ if($gebiet_id!='') echo '
'.$studiengang->kuerzel_arr[$row->studiengang_kz].'
'; + +//Studiengang Dropdown +echo '
'; +echo 'Studiengang:
'; + +// Studienplan Dropdown +echo "
Studienplan: "; +drawStudienplanDropdown($stg_kz, $db, "stp_id", 'studiengang_form'); +echo "
"; +echo '

'; + +// Gebiet speichern +if (isset($_GET['action']) && $_GET['action'] == 'save') +{ + if (isset($_POST['gebiet_id']) && $_POST['gebiet_id'] != '' && + isset($_POST['reihung']) && $_POST['reihung'] != '' && + isset($_POST['gewicht']) && $_POST['gewicht'] != '' && + isset($_POST['semester']) && $_POST['semester'] != '' && + isset($_POST['studienplan']) && $_POST['studienplan'] != '') + { + $ablauf = new ablauf(); + $ablauf->studiengang_kz = $_POST['stg_kz']; + $ablauf->gebiet_id = $_POST['gebiet_id']; + $ablauf->reihung = $_POST['reihung']; + $ablauf->gewicht = $_POST['gewicht']; + $ablauf->semester = $_POST['semester']; + $ablauf->insertvon = $user; + $ablauf->insertamum = date('Y-m-d H:i:s'); + $ablauf->studienplan_id = $_POST['studienplan']; + + if (!$ablauf->save(true)) + echo $ablauf->errormsg; + } + else + { + echo 'Bitte füllen Sie alle Felder aus'; + } +} +// Gebiet entfernen +if (isset($_GET['action']) && $_GET['action'] == 'delete') +{ + if (isset($_POST['gebiet_id']) && $_POST['gebiet_id'] != '') + { + $ablauf = new ablauf(); + $ablauf->getAblaufId($stg_kz, $_POST['gebiet_id']); + $ablauf_id = $ablauf->result[0]; + if ($ablauf->delete($ablauf_id)) + echo $ablauf->errormsg; + } + else + { + //echo 'Bitte füllen Sie alle Felder aus'; + } +} +// Gebiet bearbeiten +if (isset($_GET['action']) && $_GET['action'] == 'edit') +{ + if (isset($_POST['gebiet_id']) && $_POST['gebiet_id'] != '') + { + $ablauf = new ablauf(); + $ablauf->getAblaufId($stg_kz, $_POST['gebiet_id']); + $ablauf_id = $ablauf->result[0]; + $ablauf = new ablauf($ablauf_id); + $ablauf = $ablauf->result[0]; + + $gebiet = new gebiet($_POST['gebiet_id']); + $studiengang = new studiengang($stg_kz); + + echo ' + + + + + + + +
Studiengang_kz:
Gebiet:
Reihung:
Gewichtung:
Semester:
Studienplan: '; + drawStudienplanDropdown($stg_kz, $db, $name = 'studienplan_id', null, 'width:100%', $ablauf->studienplan_id); + echo '
'; + } + else + { + //echo 'Bitte füllen Sie alle Felder aus'; + } +} +// Bearbeitetes Gebiet speichern +if (isset($_GET['action']) && $_GET['action'] == 'editsave') +{ + if (isset($_POST['reihung']) && $_POST['reihung'] != '' && isset($_POST['gewicht']) && $_POST['gewicht'] != '' && isset($_POST['semester']) && $_POST['semester'] != '') + { + $ablauf = new ablauf(); + $ablauf->getAblaufId($stg_kz, $_POST['gebiet_id']); + $ablauf_id = $ablauf->result[0]; + $ablauf = new ablauf($ablauf_id); + $ablauf = $ablauf->result[0]; + $ablauf->reihung = $_POST['reihung']; + $ablauf->gewicht = $_POST['gewicht']; + $ablauf->semester = $_POST['semester']; + if (isset($_POST['studienplan_id'])) // && $_POST['studienplan_id'] != '' + $ablauf->studienplan_id = $_POST['studienplan_id']; + + if (!$ablauf->save(false)) + echo $ablauf->errormsg; + } + else + { + echo 'Bitte füllen Sie alle Felder aus'; + } +} + +// Liste aller zugehoerigen Gebiete anzeigen +$ablauf = new ablauf(); +if (isset($_GET['stp_id']) && $_GET['stp_id'] != '') +{ + $ablauf->getAblaufGebiete($stg_kz, $_GET['stp_id']); +} +else +{ + $ablauf->getAblaufGebiete($stg_kz); +} +$gebieteangehaengt = array(); +$studienplan = new studienplan(); + +if ($stg_kz != -1) +{ + echo ' + + + + + + + + + '; + foreach ($ablauf->result as $row) + { + $studienplan->loadStudienplan($row->studienplan_id); + $gebiet = new gebiet($row->gebiet_id); + array_push($gebieteangehaengt, $gebiet->gebiet_id); + echo ''; + } + + $gebiet->getAll(); + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo '
GebietReihungGewichtungSemesterStudienplan
'.$gebiet->kurzbz.' ('.$gebiet->bezeichnung.')'.$row->reihung.''.$row->gewicht.''.$row->semester.''.$studienplan->bezeichnung.' +
edit + +
+
delete + +
'; + drawStudienplanDropdown($stg_kz, $db, "studienplan"); + echo '
'; +} + + + + +// Ablaufzuordnung entfernen +if (isset($_POST['action']) && $_POST['action'] == 'deleteZuordnung') +{ + if (!isset($_POST['ablauf_id']) || !is_numeric($_POST['ablauf_id'])) + die('ungueltige Parameteruebergabe'); + + $ablauf_id = $_POST['ablauf_id']; + + $ablauf = new gebiet(); + if ($ablauf->deleteAblaufZuordnung($ablauf_id)) + echo 'Ablauf wurde entfernt'; + else + echo 'Fehler beim Entfernen:'.$ablauf->errormsg.''; +} +// Ablaufzuordnung hinzufügen +if (isset($_POST['action']) && $_POST['action'] == 'saveAblauf') +{ + $ablauf_vorgaben_id = $_POST['ablauf_vorgaben_id']; + $studiengang_kz = $_POST['studiengang_kz']; + $reihung = $_POST['reihung']; + $gewicht = $_POST['gewicht']; + $semester = $_POST['semester']; + + $ablauf = new gebiet(); + + $ablauf->ablauf_vorgaben_id = $ablauf_vorgaben_id; + $ablauf->studiengang_kz = $studiengang_kz; + $ablauf->reihung = $reihung; + $ablauf->gewicht = $gewicht; + $ablauf->semester = $semester; + $ablauf->new = true; + $ablauf->gebiet_id = $gebiet_id; + + if ($ablauf->saveAblauf()) + echo 'Ablauf gespeichert'; + else + echo 'Fehler beim Speichern:'.$ablauf->errormsg.''; +} + +//Speichern eines neuen Eintrags +if (isset($_POST['speichern'])) +{ + if (!$rechte->isBerechtigt('basis/testtool', null, 'suid')) + die($rechte->errormsg); + + $gebiet = new gebiet(); + if ($gebiet->load($gebiet_id)) + { + $bezeichnung_mehrsprachig = array(); + foreach ($sprache->result as $row_sprache) + { + if (isset($_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache]) && $_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache] != '') + $bezeichnung_mehrsprachig[$row_sprache->sprache] = $_POST['bezeichnung_mehrsprachig_'.$row_sprache->sprache]; + } + $gebiet->bezeichnung_mehrsprachig = $bezeichnung_mehrsprachig; + + $gebiet->kurzbz = $_POST['kurzbz']; + $gebiet->bezeichnung = $_POST['bezeichnung_mehrsprachig_German']; + $gebiet->beschreibung = $_POST['beschreibung']; + $gebiet->zeit = $_POST['zeit']; + $gebiet->multipleresponse = isset($_POST['multipleresponse']); + $gebiet->kategorien = isset($_POST['kategorien']); + $gebiet->zufallfrage = isset($_POST['zufallfrage']); + $gebiet->zufallvorschlag = isset($_POST['zufallvorschlag']); + $gebiet->levelgleichverteilung = isset($_POST['levelgleichverteilung']); + $gebiet->maxpunkte = $_POST['maxpunkte']; + $gebiet->maxfragen = $_POST['maxfragen']; + $gebiet->level_start = $_POST['level_start']; + $gebiet->level_sprung_auf = $_POST['level_sprung_auf']; + $gebiet->level_sprung_ab = $_POST['level_sprung_ab']; + $gebiet->updateamum = date('Y-m-d H:i:s'); + $gebiet->updatevon = $user; + $gebiet->antwortenprozeile = $_POST['antwortenprozeile']; + + if ($gebiet->save(false)) + { + echo 'Daten erfolgreich gespeichert'; + } + else + { + echo 'Fehler beim Speichern: '.$gebiet->errormsg.''; + } + } + else + { + echo 'Fehler beim Laden des Gebiets'; + } +} + +echo ''; + + +/** + * Zeichnet das Dropdown zur Auswahl des Studienplans + * @param integer $stg_kz Studiengang. + * @param string $db Datenbankverbindung. + * @param string $name Name des "; + echo ""; + // Pruefen ob uebergebene StudienplanID in Auswahl enthalten + // ist und ggf auf leer setzen + if ($studienplan_id != '') + { + $studienplan_found = false; + foreach ($studienplan_arr as $stoid => $row_sto) + { + if (array_key_exists($studienplan_id, $studienplan_arr[$stoid])) + { + $studienplan_found = true; + break; + } + } + if (!$studienplan_found) + { + $studienplan_id = ''; + } + } + foreach ($studienordnung_arr as $stoid => $row_sto) + { + $selected = ''; + + echo ''; + + foreach ($studienplan_arr[$stoid] as $stpid => $row_stp) + { + if (isset($_GET['stp_id']) && $_GET['stp_id'] == $stpid) + $selected = 'selected'; + if (isset($studienplan) && $studienplan == $stpid) + $selected = 'selected'; + echo ''; + $selected = ''; + } + } + echo ''; +} +?> diff --git a/cis/testtool/admin/index.php b/cis/testtool/admin/index.php index c962a1073..bee959f4d 100644 --- a/cis/testtool/admin/index.php +++ b/cis/testtool/admin/index.php @@ -1,996 +1,1024 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -/** - * Administrationsseite fuer das Testtool - */ - -header('Content-type: application/xhtml+xml'); - -require_once('../../../config/cis.config.inc.php'); -require_once('../../../include/functions.inc.php'); -require_once('../../../include/frage.class.php'); -require_once('../../../include/vorschlag.class.php'); -require_once('../../../include/benutzerberechtigung.class.php'); -require_once('../../../include/studiengang.class.php'); - -if (!$db = new basis_db()) - die('Fehler beim Oeffnen der Datenbankverbindung'); - -$PHP_SELF=$_SERVER['PHP_SELF']; -session_cache_limiter('none'); -//session_start(); - -$user=get_uid(); -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($user); - -if(!$rechte->isBerechtigt('basis/testtool', null, 's')) - die($rechte->errormsg); - -$studiengang = new studiengang(); -$studiengang->getAll('typ, kurzbz', false); -$stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:'-1'); - -if(isset($_GET['gebiet_id'])) -{ - $gebiet_id = $_GET['gebiet_id']; -} -else -{ - $gebiet_id = ''; -} - -if(isset($_GET['nummer'])) -{ - $nummer = $_GET['nummer']; -} -else -{ - $nummer = ''; -} - -if(isset($_GET['frage_id'])) -{ - $frage_id = $_GET['frage_id']; -} -else -{ - $frage_id = ''; -} - -if(isset($_GET['vorschlag_id'])) -{ - $vorschlag_id = $_GET['vorschlag_id']; -} -else -{ - $vorschlag_id = ''; -} -$filter = isset($_GET['filter'])?$_GET['filter']:''; - -$save_vorschlag_error=false; -/**/ - -echo ''; -?> - - - - -Testtool-Administration - - - - - - - -

-
Testtool - Administrationsseite
- -

-isBerechtigt('basis/testtool', null, 'suid')) - die('Sie haben keine Berechtigung fuer diese Aktion'); - - if(isset($_FILES['bild']['tmp_name'])) - { - //Extension herausfiltern - $ext = explode('.',$_FILES['bild']['name']); - $ext = mb_strtolower($ext[count($ext)-1]); - - //--check that it's a jpeg or gif or png - if ($ext=='gif' || $ext=='png' || $ext=='jpg' || $ext=='jpeg') - { - $filename = $_FILES['bild']['tmp_name']; - //File oeffnen - $fp = fopen($filename,'r'); - //auslesen - $content = fread($fp, filesize($filename)); - fclose($fp); - //base64 codieren - $content = base64_encode($content); - - $frage = new frage(); - if($frage->getFrageSprache($_GET['frage_id'], $sprache)) - { - //HEX Wert in die Datenbank speichern - $frage->bild = $content; - $frage->new = false; - if($frage->save_fragesprache()) - echo "Bild gespeichert
"; - else - echo ''.$frage->errormsg.'
'; - } - else - echo ''.$frage->errormsg.'
'; - } - else - echo "File ist kein gueltiges Bild
"; - } -} -//Bei Upload eines Audiofiles -if(isset($_POST['submitaudio'])) -{ - if(!$rechte->isBerechtigt('basis/testtool', null, 'suid')) - die('Sie haben keine Berechtigung fuer diese Aktion'); - - if(isset($_FILES['audio']['tmp_name'])) - { - //Extension herausfiltern - $ext = explode('.',$_FILES['audio']['name']); - $ext = mb_strtolower($ext[count($ext)-1]); - - //--check that it's a mp3 - if ($ext=='mp3' || $ext=='ogg') - { - $filename = $_FILES['audio']['tmp_name']; - //File oeffnen - $content = file_get_contents($filename); - /*$fp = fopen($filename,'r'); - //auslesen - $content = fread($fp, filesize($filename)); - fclose($fp);*/ - //die('

'.$content); - //base64 codieren - $content = base64_encode($content); - $frage = new frage(); - if($frage->getFrageSprache($_GET['frage_id'], $sprache)) - { - //HEX Wert in die Datenbank speichern - $frage->audio = $content; - $frage->new = false; - if($frage->save_fragesprache()) - echo "Audio gespeichert
"; - else - echo ''.$frage->errormsg.'
'; - } - else - echo ''.$frage->errormsg.'
'; - } - else - echo "Es duerfen nur mp3 Dateien hochgeladen werden
"; - } -} - -//Speichern der Frage-Daten -if(isset($_POST['submitdata'])) -{ - if(!$rechte->isBerechtigt('basis/testtool', null, 'suid')) - die('Sie haben keine Berechtigung fuer diese Aktion'); - - $frage = new frage(); - if($frage->load($_GET['frage_id'])) - { - $frage->demo = isset($_POST['demo']); - $frage->nummer = $_POST['nummer']; - $frage->level = $_POST['level']; - $frage->aktiv = isset($_POST['aktiv']); - $frage->new = false; - - if($frage->save()) - { - - if(!$frage->getFrageSprache($frage->frage_id, $sprache)) - { - $frage->new=true; - } - - if (isset($_POST['text'])) - $frage->text = $_POST['text']; - $frage->sprache = $sprache; - - $xml = ''.$frage->text.''; - libxml_use_internal_errors(true); - if(simplexml_load_string($xml)) - { - if($frage->save_fragesprache()) - { - echo "Daten gespeichert
"; - $nummer = $frage->nummer; - } - else - echo 'Fehler:'.$frage->errormsg.'
'; - } - else - { - $frage_error_text = $frage->text; - echo 'Fehler: Text ist kein gueltiges XML:
'; - foreach (libxml_get_errors() as $error) - { - echo $error->message.'
'; - } - echo '

'; - } - } - else - echo ''.$frage->errormsg.'
'; - } - else - echo ''.$frage->errormsg.'
'; -} - -//Speichern eines Vorschlages -if(isset($_POST['submitvorschlag'])) -{ - if(!$rechte->isBerechtigt('basis/testtool', null, 'suid')) - die('Sie haben keine Berechtigung fuer diese Aktion'); - - $bildcontent=''; - if(isset($_FILES['bild']['tmp_name']) && is_uploaded_file($_FILES['bild']['tmp_name'])) - { - //Extension herausfiltern - $ext = explode('.',$_FILES['bild']['name']); - $ext = mb_strtolower($ext[count($ext)-1]); - - //--check that it's a jpeg or gif or png - if ($ext=='gif' || $ext=='png' || $ext=='jpg' || $ext=='jpeg') - { - $filename = $_FILES['bild']['tmp_name']; - //File oeffnen - $fp = fopen($filename,'r'); - //auslesen - $bildcontent = fread($fp, filesize($filename)); - fclose($fp); - //base64 codieren - $bildcontent = base64_encode($bildcontent); - } - else - echo "Datei ist kein Bild!
"; - } - - $audiocontent=''; - if(isset($_FILES['audio']['tmp_name']) && is_uploaded_file($_FILES['audio']['tmp_name'])) - { - //Extension herausfiltern - $ext = explode('.',$_FILES['audio']['name']); - $ext = mb_strtolower($ext[count($ext)-1]); - - //--check that it's a jpeg or gif or png - if ($ext=='mp3') - { - $filename = $_FILES['audio']['tmp_name']; - //File oeffnen - $fp = fopen($filename,'r'); - //auslesen - $audiocontent = fread($fp, filesize($filename)); - fclose($fp); - //base64 codieren - $audiocontent = base64_encode($audiocontent); - } - else - echo "Datei ist kein Bild!
"; - } - $vorschlag = new vorschlag(); - $error=false; - - if($_POST['vorschlag_id']!='') - { - if($vorschlag->load($_POST['vorschlag_id'])) - { - $vorschlag->new = false; - $vorschlag->vorschlag_id = $_POST['vorschlag_id']; - } - else - { - echo 'Fehler beim Laden des Datensatzes
'; - $error = true; - } - } - else - { - $vorschlag->new = true; - $vorschlag->insertamum = date('Y-m-d H:i:s'); - $vorschlag->insertvon = $user; - } - if($_POST['nummer']=='' || !is_numeric($_POST['nummer'])) - { - $error = true; - echo 'Nummer ist ungueltig
'; - } - - if(!$error) - { - $vorschlag->bild = $bildcontent; - $vorschlag->audio = $audiocontent; - $vorschlag->frage_id = $_GET['frage_id']; - $vorschlag->nummer = $_POST['nummer']; - $vorschlag->punkte = $_POST['punkte']; - $vorschlag->text = $_POST['text']; - $vorschlag->sprache = $sprache; - $vorschlag->updateamum = date('Y-m-d H:i:s'); - $vorschlag->updatevon = $user; - $vorschlag->aktiv = isset($_POST['aktiv'])?true:false; - - $xml = ''.$vorschlag->text.''; - libxml_use_internal_errors(true); - if(simplexml_load_string($xml)) - { - if($vorschlag->save()) - { - if($vorschlag->save_vorschlagsprache()) - { - echo "Vorschlag gespeichert
"; - } - else - { - $save_vorschlag_error=true; - echo "Fehler beim Speichern von Vorschlagsprache: $vorschlag->errormsg
"; - } - } - else - { - $save_vorschlag_error=true; - echo ''.$vorschlag->errormsg.'
'; - } - } - else - { - $vorschlag_error_text = $vorschlag->text; - echo 'Fehler: Text ist kein gueltiges XML:
'; - foreach (libxml_get_errors() as $error) - { - echo $error->message.'
'; - } - echo '

'; - } - } - else - $save_vorschlag_error=true; -} -//Vorschlag loeschen -if(isset($_GET['type']) && $_GET['type']=='delete' && isset($_GET['vorschlag_id'])) -{ - if(!$rechte->isBerechtigt('basis/testtool', null, 'suid')) - die('Sie haben keine Berechtigung fuer diese Aktion'); - - $vs = new vorschlag(); - if(!$vs->delete($_GET['vorschlag_id'])) - echo ''.$vs->errormsg.'
'; - $vorschlag_id=''; -} - -if(isset($_POST['type']) && $_POST['type']=='deleteFrage') -{ - if(!$rechte->isBerechtigt('basis/testtool', null, 'suid')) - die('Sie haben keine Berechtigung fuer diese Aktion'); - - $frage = new frage(); - if(!$frage->delete($_GET['frage_id'])) - { - echo "Löschen fehlgeschlagen:".$frage->errormsg; - } -} - -// anlegen einer neuen Frage -if(isset($_GET['type']) && $_GET['type']=='neuefrage') -{ - if(!$rechte->isBerechtigt('basis/testtool', null, 'suid')) - die('Sie haben keine Berechtigung fuer diese Aktion'); - - $frage_obj = new frage(); - $frage_obj->getFragenGebiet($gebiet_id); - $nummer=(count($frage_obj->result)); - - $frage_obj->gebiet_id = $_GET['gebiet_id']; - $frage_obj->nummer=$nummer; - $frage_obj->demo=false; - $frage_obj->insertamum = date('Y-m-d H:i:s'); - $frage_obj->insertvon = $user; - $frage_obj->sprache = $sprache; - $frage_obj->new = true; - if($frage_obj->save()) - { - if($frage_obj->save_fragesprache()) - { - echo 'Frage wurde erfolgreich angelegt'; - } - else - { - echo 'Fehler beim Speichern der FrageSprache: '.$frage_obj->errormsg.''; - } - } - else - { - echo 'Fehler beim Speichern der Frage: '.$frage_obj->errormsg.''; - } -} - -//Gebiet pruefen -if(isset($_GET['type']) && $_GET['type']=='gebietpruefen' && isset($_GET['gebiet_id'])) -{ - $gebiet = new gebiet($gebiet_id); - - if($gebiet->check_gebiet($gebiet_id) && $gebiet->warningmsg=='') - { - echo "Das Gebiet $gebiet->bezeichnung wurde erfolgreich ueberprueft"; - } - else - { - if($gebiet->errormsg!='') - { - echo "Bei der Ueberpruefung des Gebiets '$gebiet->bezeichnung' sind folgende Fehler aufgetreten:
"; - echo "".nl2br($gebiet->errormsg).""; - echo '

'; - } - if($gebiet->warningmsg!='') - { - echo "Folgende Warnungen sind aufgetreten:
"; - echo nl2br($gebiet->warningmsg); - echo '

'; - } - } - - $maxpunkte = $gebiet->berechneMaximalpunkte($gebiet_id); - if($gebiet->maxpunkte!=$maxpunkte) - { - echo '
die empfohlene Punkteanzahl betraegt '.$maxpunkte.' Punkte anstatt '.$gebiet->maxpunkte.' Punkte'; - } -} - -//Vorschlaege aktiv und inaktiv setzen -if(isset($_GET['type']) && $_GET['type']=='vorschlaegeaktiv') -{ - if (isset($_POST['allevorschlaege'])) - { - $vs = new vorschlag(); - $vs->new = false; - if(isset($_POST['vorschlagaktiv'])) - { - - $vorschlaegeAktiv = array(); - $vorschlaegeInaktiv = array(); - $checkedVorschlaege = $_POST['vorschlagaktiv']; - $allevorschlaege = array(); - $allevorschlaege = explode(",", rtrim($_POST['allevorschlaege'], ",")); - - foreach ($allevorschlaege as $vorschlag) - { - $vs->load($vorschlag, $sprache); - if (in_array($vorschlag, $checkedVorschlaege)) - { - $vs->aktiv = true; - $vs->save(); - } - else - { - $vs->aktiv = false; - $vs->save(); - } - } - } - else - { - $allevorschlaege = array(); - $allevorschlaege = explode(",", rtrim($_POST['allevorschlaege'], ",")); - - foreach ($allevorschlaege as $vorschlag) - { - $vs->load($vorschlag, $sprache); - $vs->aktiv = false; - $vs->save(); - } - - } - } -} - -echo '
'; - -//Liste der Studiengänge -echo 'Studiengang: '; - -//Liste der Gebiete - $qry= "SELECT * FROM testtool.tbl_ablauf WHERE studiengang_kz=".$stg_kz.""; - $anzahl = $db->db_num_rows($db->db_query($qry)); - - if ($stg_kz!=="-1" && $anzahl!==0) - $qry= "SELECT * FROM testtool.tbl_gebiet LEFT JOIN testtool.tbl_ablauf USING (gebiet_id) WHERE studiengang_kz=".$stg_kz." ORDER BY semester,reihung"; - else - $qry= "SELECT * FROM testtool.tbl_gebiet ORDER BY bezeichnung"; - -if (($anzahl!==0) || ($stg_kz=='-1') && ($stg_kz!=='')) -{ - if($result = $db->db_query($qry)) - { - echo ' Gebiet:'; - - while($row = $db->db_fetch_object($result)) - { - if($gebiet_id=='') - $gebiet_id = $row->gebiet_id; - - if($gebiet_id==$row->gebiet_id) - $selected='selected="selected"'; - else - $selected=''; - - if ($stg_kz=="-1") - echo ''."\n"; - else - echo ''."\n"; - } - echo ''; - } - - echo " Pruefen | "; - echo " Bearbeiten |"; - echo " Hinzufügen"; - //echo "
Gebiet_id=".$gebiet_id.""; - echo '
'; - - //Liste der Sprachen - - $qry = "SELECT sprache FROM public.tbl_sprache WHERE content ORDER BY sprache DESC"; - - if($result = $db->db_query($qry)) - { - while($row = $db->db_fetch_object($result)) - { - if($sprache=='') - $sprache = $row->sprache; - if($sprache==$row->sprache) - $selected='style="border:1px solid black;"'; - else - $selected=''; - echo " $row->sprache"; - } - } - echo '
'; - echo '
'; - - // Liste der Fragen - if ($filter=='aktiv') { - $qry = "SELECT distinct nummer, aktiv FROM testtool.tbl_frage WHERE gebiet_id=".$db->db_add_param($gebiet_id)." AND aktiv ORDER BY nummer"; - } elseif ($filter=='inaktiv') { - $qry = "SELECT distinct nummer, aktiv FROM testtool.tbl_frage WHERE gebiet_id=".$db->db_add_param($gebiet_id)." AND NOT aktiv ORDER BY nummer"; - } else { - $qry = "SELECT distinct nummer, aktiv FROM testtool.tbl_frage WHERE gebiet_id=".$db->db_add_param($gebiet_id)." ORDER BY nummer"; - } - - if($result = $db->db_query($qry)) - { - // Aktiv / Inaktiv Filter - echo 'Filter: '; - $aktivchecked = ($filter=='aktiv'||$filter=='')?'checked="checked"':''; - $inaktivchecked = ($filter=='inaktiv'||$filter=='')?'checked="checked"':''; - if ($filter=='aktiv') { - $link = ""; - echo ' - aktiv - - inaktiv'; - } elseif ($filter=='inaktiv') { - echo ' - aktiv - - inaktiv'; - } elseif ($filter=='') { - echo ' - aktiv - - inaktiv'; - } - echo '
'; - echo 'Nummer: '; - while($row = $db->db_fetch_object($result)) - { - if($nummer=='') - $nummer = $row->nummer; - - if($nummer==$row->nummer) - echo " aktiv=="f"?"style='color: grey'":"")." class='Item'>$row->nummer -"; - else - echo " aktiv=="f"?"style='color: grey'":"")." class='Item'>$row->nummer -"; - } - echo " neue Frage hinzufuegen"; - $frage_obj = new frage(); - if ($filter=='aktiv') { - $nextNummer = $frage_obj->getNextFrageNummer($nummer, $gebiet_id, true); - } elseif ($filter=='inaktiv') { - $nextNummer = $frage_obj->getNextFrageNummer($nummer, $gebiet_id, false); - } else { - $nextNummer = $frage_obj->getNextFrageNummer($nummer, $gebiet_id); - } - //if($nummer<$db->db_num_rows($result)-1) - if ($nextNummer!='') - echo " - Weiter >>"; - } - - echo "\n\n
"; - - //Fragen holen - $frage = new frage(); - $frage->getFragen($gebiet_id, $nummer); - - if(count($frage->result)==1) - { - $frage_id = $frage->result[0]->frage_id; - } - else - { - //Wenn fuer diese Nummer mehrere Fragen vorhanden sind, - //koennen diese extra ausgewaehlt werden - echo 'FrageID: '; - foreach ($frage->result as $row) - { - if($frage_id=='') - $frage_id=$row->frage_id; - - if($frage_id==$row->frage_id) - echo "$row->frage_id -"; - else - echo "$row->frage_id -"; - } - } -} -else -{ - echo ' Keine Gebiete in diesem Studiengang '; - echo '
'; -} - -if($frage_id!='') -{ - $frage->load($frage_id); - $frage->getFrageSprache($frage_id, $sprache); - - - echo '"; - //Vorschau fuer das Text-Feld - echo ""; - echo "
'; - echo '
- - -
'; - //Fragen - echo ""; - echo ""; - //Upload Feld fuer Bild - echo " - - "; - //Wenn ein Bild vorhanden ist, dann anzeigen - if($frage->bild!='') - { - echo "\n'; - //Zusaetzliche EingabeFelder anzeigen - echo ""; - echo " - "; - echo "
-
- Bild: - -
-
-
- Audio: - -
-
"; - } - else - { - echo "\n
\n"; - if($frage->audio=='') - echo "Kein Bild vorhanden\n"; - } - if($frage->audio!='') - { - echo ' '; - } - echo '"; - echo "
"; - echo ""; - //Bei Aenderungen im Textfeld werden diese sofort in der Vorschau angezeigt - //Wenn beim Speichern der Text kein Gueltiges XML ist, wird der vorige Text erneut angezeigt - - echo ""; - echo "
\n\n
"; - echo "
"; - echo ""; - echo "

"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - echo "Operatoren:
π
·


Weitere"; - echo "
Demo demo?'checked="true"':'')." /> - Level - Nummer - Aktiv aktiv=='t'?'checked="true"':'')." />
"; - echo ""; - echo "
Vorschau:
$frage->text
"; - echo ''; - - $vorschlag = new vorschlag(); - - if($vorschlag_id!='') - if(!$vorschlag->load($vorschlag_id, $sprache)) - die($vorschlag->errormsg); - if($save_vorschlag_error) - { - $vorschlag->vorschlag_id = (isset($_POST['vorschlag_id'])?$_POST['vorschlag_id']:''); - $vorschlag->frage_id = $_GET['frage_id']; - $vorschlag->nummer = $_POST['nummer']; - $vorschlag->punkte = $_POST['punkte']; - $vorschlag->text = $_POST['text']; - $vorschlag->bild = ''; - } - //Vorschlag - echo 'Vorschlag'.($vorschlag_id!=''?' Edit':'').'

'; - echo "
"; - echo ""; - echo ''; - if (!isset($vorschlag_id) || $vorschlag_id!='') - { - echo ""; - echo ''; - echo ""; - echo ''; - echo ''; - echo '"; - echo ""; - echo ''; - //Upload Feld fuer Bild - echo ""; - echo ''; - echo ''; - //Upload Feld fuer Audio - echo ""; - - //Aktiv Checkbox - echo ""; - echo ""; - //Vorschau fuer das Text-Feld - echo ""; - echo "
Nummer:"; - } - else - { - if (isset($_GET['gebiet_id']) && isset($_GET['nummer'])) - { - $fragef1 = new frage(); - $fragef1->getFragen($_GET['gebiet_id'], $_GET['nummer']); - $vorschlag->getVorschlag($fragef1->result[0]->frage_id, $sprache, false); - echo "
Nummer:"; - } - else - { - echo "
Nummer:"; - } - } - echo ""; - echo ""; - echo ""; - echo "
Punkte:"; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo "
Text:\n"; - echo ""; - echo "

"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - echo "
"; - echo "Operatoren:
π
·


Weitere"; - echo "
Bild:
Audio:
Aktivaktiv=='t') - { - echo "checked='checked'"; - } - echo "/>
".($vorschlag_id!=''?"frage_id'\" />":'')."
Vorschau:
$vorschlag->text
"; - echo "
"; - - echo ''; - - $vorschlag = new vorschlag(); - $vorschlag->getVorschlag($frage_id, $sprache, false); - $i=0; $allevorschlaege=''; - if(count($vorschlag->result)>0) - { - echo '
'; - echo ''; - - $a=array(); - foreach ($vorschlag->result as $vs) - { - $i++; - echo ""; - if($vs->punkte>=0) - { - echo " - - - - - "; - $allevorschlaege .= $vs->vorschlag_id.","; - } - - echo ''; - echo '
NummerPunkteTextBildAudioAktiv
$vs->nummer$vs->punkte"; - } - else - echo "$vs->punkte"; - echo "$vs->text".($vs->bild!=''?"":"").""; - $a[] = $vs->punkte; - if($vs->audio!='') - { - echo ' '; - } - echo " editdeleteload($vs->vorschlag_id); - if ($vss->aktiv=='t') echo "checked='checked'"; - - echo "/>
Summe:'.number_format(array_sum($a),2, ".", "").'  













'; - } -} - - -?> - - +, + * Andreas Oesterreicher and + * Rudolf Hangl . + */ +/** + * Administrationsseite fuer das Testtool + */ + +header('Content-type: application/xhtml+xml'); + +require_once('../../../config/cis.config.inc.php'); +require_once('../../../include/functions.inc.php'); +require_once('../../../include/frage.class.php'); +require_once('../../../include/vorschlag.class.php'); +require_once('../../../include/benutzerberechtigung.class.php'); +require_once('../../../include/studiengang.class.php'); + +if (!$db = new basis_db()) + die('Fehler beim Oeffnen der Datenbankverbindung'); + +$PHP_SELF = $_SERVER['PHP_SELF']; +session_cache_limiter('none'); +//session_start(); + +$user = get_uid(); +$rechte = new benutzerberechtigung(); +$rechte->getBerechtigungen($user); + +if (!$rechte->isBerechtigt('basis/testtool', null, 's')) + die($rechte->errormsg); + +$studiengang = new studiengang(); +$studiengang->getAll('typ, kurzbz', false); +$stg_kz = (isset($_GET['stg_kz'])?$_GET['stg_kz']:'-1'); + +if (isset($_GET['gebiet_id'])) +{ + $gebiet_id = $_GET['gebiet_id']; +} +else +{ + $gebiet_id = ''; +} + +if (isset($_GET['nummer'])) +{ + $nummer = $_GET['nummer']; +} +else +{ + $nummer = ''; +} + +if (isset($_GET['frage_id'])) +{ + $frage_id = $_GET['frage_id']; +} +else +{ + $frage_id = ''; +} + +if (isset($_GET['vorschlag_id'])) +{ + $vorschlag_id = $_GET['vorschlag_id']; +} +else +{ + $vorschlag_id = ''; +} +$filter = isset($_GET['filter'])?$_GET['filter']:''; + +$save_vorschlag_error = false; +/**/ + +echo ''; +?> + + + + +Testtool-Administration + + + + + + + +

+
Testtool - Administrationsseite
+ +

+isBerechtigt('basis/testtool', null, 'suid')) + die($rechte->errormsg); + + if (isset($_FILES['bild']['tmp_name'])) + { + //Extension herausfiltern + $ext = explode('.', $_FILES['bild']['name']); + $ext = mb_strtolower($ext[count($ext) - 1]); + + //--check that it's a jpeg or gif or png + if ($ext == 'gif' || $ext == 'png' || $ext == 'jpg' || $ext == 'jpeg') + { + $filename = $_FILES['bild']['tmp_name']; + //File oeffnen + $fp = fopen($filename, 'r'); + //auslesen + $content = fread($fp, filesize($filename)); + fclose($fp); + //base64 codieren + $content = base64_encode($content); + + $frage = new frage(); + if ($frage->getFrageSprache($_GET['frage_id'], $sprache)) + { + //HEX Wert in die Datenbank speichern + $frage->bild = $content; + $frage->new = false; + if ($frage->save_fragesprache()) + echo "Bild gespeichert
"; + else + echo ''.$frage->errormsg.'
'; + } + else + echo ''.$frage->errormsg.'
'; + } + else + echo "File ist kein gueltiges Bild
"; + } +} +//Bei Upload eines Audiofiles +if (isset($_POST['submitaudio'])) +{ + if (!$rechte->isBerechtigt('basis/testtool', null, 'suid')) + die($rechte->errormsg); + + if (isset($_FILES['audio']['tmp_name'])) + { + //Extension herausfiltern + $ext = explode('.', $_FILES['audio']['name']); + $ext = mb_strtolower($ext[count($ext) - 1]); + + //--check that it's a mp3 + if ($ext == 'mp3' || $ext == 'ogg') + { + $filename = $_FILES['audio']['tmp_name']; + //File oeffnen + $content = file_get_contents($filename); + /*$fp = fopen($filename,'r'); + //auslesen + $content = fread($fp, filesize($filename)); + fclose($fp);*/ + //die('

'.$content); + //base64 codieren + $content = base64_encode($content); + $frage = new frage(); + if ($frage->getFrageSprache($_GET['frage_id'], $sprache)) + { + //HEX Wert in die Datenbank speichern + $frage->audio = $content; + $frage->new = false; + if ($frage->save_fragesprache()) + echo "Audio gespeichert
"; + else + echo ''.$frage->errormsg.'
'; + } + else + echo ''.$frage->errormsg.'
'; + } + else + echo "Es duerfen nur mp3 Dateien hochgeladen werden
"; + } +} + +//Speichern der Frage-Daten +if (isset($_POST['submitdata'])) +{ + if (!$rechte->isBerechtigt('basis/testtool', null, 'suid')) + die($rechte->errormsg); + + $frage = new frage(); + if ($frage->load($_GET['frage_id'])) + { + $frage->demo = isset($_POST['demo']); + $frage->nummer = $_POST['nummer']; + $frage->level = $_POST['level']; + $frage->aktiv = isset($_POST['aktiv'])?true:false; + $frage->new = false; + + if ($frage->save()) + { + if ($frage->getFrageSprache($frage->frage_id, $sprache)) + { + $frage->new = false; + } + + if (isset($_POST['text'])) + $frage->text = $_POST['text']; + $frage->sprache = $sprache; + + $xml = ''.$frage->text.''; + libxml_use_internal_errors(true); + if (simplexml_load_string($xml) || $_POST['text'] == '') + { + if ($frage->save_fragesprache()) + { + echo "Daten gespeichert
"; + $nummer = $frage->nummer; + } + else + echo 'Fehler:'.$frage->errormsg.'
'; + } + else + { + $frage_error_text = $frage->text; + echo 'Fehler: Text ist kein gueltiges XML:
'; + foreach (libxml_get_errors() as $error) + { + echo $error->message.'
'; + } + echo '

'; + } + } + else + echo ''.$frage->errormsg.'
'; + } + else + echo ''.$frage->errormsg.'
'; +} + +//Speichern eines Vorschlages +if (isset($_POST['submitvorschlag'])) +{ + if (!$rechte->isBerechtigt('basis/testtool', null, 'suid')) + die($rechte->errormsg); + + $bildcontent = ''; + if (isset($_FILES['bild']['tmp_name']) && is_uploaded_file($_FILES['bild']['tmp_name'])) + { + //Extension herausfiltern + $ext = explode('.', $_FILES['bild']['name']); + $ext = mb_strtolower($ext[count($ext) - 1]); + + //--check that it's a jpeg or gif or png + if ($ext == 'gif' || $ext == 'png' || $ext == 'jpg' || $ext == 'jpeg') + { + $filename = $_FILES['bild']['tmp_name']; + //File oeffnen + $fp = fopen($filename, 'r'); + //auslesen + $bildcontent = fread($fp, filesize($filename)); + fclose($fp); + //base64 codieren + $bildcontent = base64_encode($bildcontent); + } + else + echo "Datei ist kein Bild!
"; + } + + $audiocontent = ''; + if (isset($_FILES['audio']['tmp_name']) && is_uploaded_file($_FILES['audio']['tmp_name'])) + { + //Extension herausfiltern + $ext = explode('.', $_FILES['audio']['name']); + $ext = mb_strtolower($ext[count($ext) - 1]); + + //--check that it's a jpeg or gif or png + if ($ext == 'mp3') + { + $filename = $_FILES['audio']['tmp_name']; + //File oeffnen + $fp = fopen($filename, 'r'); + //auslesen + $audiocontent = fread($fp, filesize($filename)); + fclose($fp); + //base64 codieren + $audiocontent = base64_encode($audiocontent); + } + else + echo "Datei ist kein Bild!
"; + } + $vorschlag = new vorschlag(); + $error = false; + + if ($_POST['vorschlag_id'] != '') + { + if ($vorschlag->load($_POST['vorschlag_id'])) + { + $vorschlag->new = false; + $vorschlag->vorschlag_id = $_POST['vorschlag_id']; + } + else + { + echo 'Fehler beim Laden des Datensatzes
'; + $error = true; + } + } + else + { + $vorschlag->new = true; + $vorschlag->insertamum = date('Y-m-d H:i:s'); + $vorschlag->insertvon = $user; + } + if ($_POST['nummer'] == '' || !is_numeric($_POST['nummer'])) + { + $error = true; + echo 'Nummer ist ungueltig
'; + } + + if (!$error) + { + $vorschlag->bild = $bildcontent; + $vorschlag->audio = $audiocontent; + $vorschlag->frage_id = $_GET['frage_id']; + $vorschlag->nummer = $_POST['nummer']; + $vorschlag->punkte = $_POST['punkte']; + $vorschlag->text = $_POST['text']; + $vorschlag->sprache = $sprache; + $vorschlag->updateamum = date('Y-m-d H:i:s'); + $vorschlag->updatevon = $user; + $vorschlag->aktiv = isset($_POST['aktiv'])?true:false; + + $xml = ''.$vorschlag->text.''; + libxml_use_internal_errors(true); + if (simplexml_load_string($xml) || $_POST['text'] == '') + { + if ($vorschlag->save()) + { + if ($vorschlag->save_vorschlagsprache()) + { + echo "Vorschlag gespeichert
"; + } + else + { + $save_vorschlag_error = true; + echo "Fehler beim Speichern von Vorschlagsprache: $vorschlag->errormsg
"; + } + } + else + { + $save_vorschlag_error = true; + echo ''.$vorschlag->errormsg.'
'; + } + } + else + { + $vorschlag_error_text = $vorschlag->text; + echo 'Fehler: Text ist kein gueltiges XML:
'; + foreach (libxml_get_errors() as $error) + { + echo $error->message.'
'; + } + echo '

'; + } + } + else + $save_vorschlag_error = true; +} +//Vorschlag loeschen +if (isset($_GET['type']) && $_GET['type'] == 'delete' && isset($_GET['vorschlag_id'])) +{ + if (!$rechte->isBerechtigt('basis/testtool', null, 'suid')) + die($rechte->errormsg); + + $vs = new vorschlag(); + if (!$vs->delete($_GET['vorschlag_id'])) + echo ''.$vs->errormsg.'
'; + $vorschlag_id = ''; +} + +if (isset($_POST['type']) && $_POST['type'] == 'deleteFrage') +{ + if (!$rechte->isBerechtigt('basis/testtool', null, 'suid')) + die($rechte->errormsg); + + $frage = new frage(); + if (!$frage->delete($_GET['frage_id'])) + { + echo "Löschen fehlgeschlagen:".$frage->errormsg; + } + $nummer = ''; +} + +// anlegen einer neuen Frage +if (isset($_GET['type']) && $_GET['type'] == 'neuefrage') +{ + if (!$rechte->isBerechtigt('basis/testtool', null, 'suid')) + die($rechte->errormsg); + + $frage_obj = new frage(); + $nummer = $frage_obj->getMaxNummer($gebiet_id) + 1; + + $frage_obj->gebiet_id = $_GET['gebiet_id']; + $frage_obj->nummer = $nummer; + $frage_obj->demo = false; + $frage_obj->insertamum = date('Y-m-d H:i:s'); + $frage_obj->insertvon = $user; + $frage_obj->sprache = $sprache; + $frage_obj->aktiv = true; + $frage_obj->new = true; + if ($frage_obj->save()) + { + if ($frage_obj->save_fragesprache()) + { + echo 'Frage wurde erfolgreich angelegt'; + } + else + { + echo 'Fehler beim Speichern der FrageSprache: '.$frage_obj->errormsg.''; + } + } + else + { + echo 'Fehler beim Speichern der Frage: '.$frage_obj->errormsg.''; + } +} + +//Gebiet pruefen +if (isset($_GET['type']) && $_GET['type'] == 'gebietpruefen' && isset($_GET['gebiet_id'])) +{ + $gebiet = new gebiet($gebiet_id); + + if ($gebiet->check_gebiet($gebiet_id) && $gebiet->warningmsg == '') + { + echo "Das Gebiet $gebiet->bezeichnung wurde erfolgreich ueberprueft"; + } + else + { + if ($gebiet->errormsg != '') + { + echo "Bei der Ueberpruefung des Gebiets '$gebiet->bezeichnung' sind folgende Fehler aufgetreten:
"; + echo "".nl2br($gebiet->errormsg).""; + echo '

'; + } + if ($gebiet->warningmsg != '') + { + echo "Folgende Warnungen sind aufgetreten:
"; + echo nl2br($gebiet->warningmsg); + echo '

'; + } + } + + $maxpunkte = $gebiet->berechneMaximalpunkte($gebiet_id); + if ($gebiet->maxpunkte != $maxpunkte) + { + echo '
die empfohlene Punkteanzahl betraegt '.$maxpunkte.' Punkte anstatt '.$gebiet->maxpunkte.' Punkte'; + } +} + +//Vorschlaege aktiv und inaktiv setzen +if (isset($_GET['type']) && $_GET['type'] == 'vorschlaegeaktiv') +{ + if (isset($_POST['allevorschlaege'])) + { + $vs = new vorschlag(); + $vs->new = false; + if (isset($_POST['vorschlagaktiv'])) + { + $vorschlaegeAktiv = array(); + $vorschlaegeInaktiv = array(); + $checkedVorschlaege = $_POST['vorschlagaktiv']; + $allevorschlaege = array(); + $allevorschlaege = explode(",", rtrim($_POST['allevorschlaege'], ",")); + + foreach ($allevorschlaege as $vorschlag) + { + $vs->load($vorschlag, $sprache); + if (in_array($vorschlag, $checkedVorschlaege)) + { + $vs->aktiv = true; + $vs->save(); + } + else + { + $vs->aktiv = false; + $vs->save(); + } + } + } + else + { + $allevorschlaege = array(); + $allevorschlaege = explode(",", rtrim($_POST['allevorschlaege'], ",")); + + foreach ($allevorschlaege as $vorschlag) + { + $vs->load($vorschlag, $sprache); + $vs->aktiv = false; + $vs->save(); + } + } + } +} + +echo '
'; + +//Liste der Studiengänge +echo 'Studiengang: '; + +//Liste der Gebiete + $qry = "SELECT * FROM testtool.tbl_ablauf WHERE studiengang_kz=".$stg_kz.""; + $anzahl = $db->db_num_rows($db->db_query($qry)); + + if ($stg_kz !== "-1" && $anzahl !== 0) + $qry = "SELECT * FROM testtool.tbl_gebiet LEFT JOIN testtool.tbl_ablauf USING (gebiet_id) WHERE studiengang_kz=".$stg_kz." ORDER BY semester,reihung"; + else + $qry = "SELECT * FROM testtool.tbl_gebiet ORDER BY bezeichnung"; + +if (($anzahl !== 0) || ($stg_kz == '-1') && ($stg_kz !== '')) +{ + if ($result = $db->db_query($qry)) + { + echo ' Gebiet:'; + + while ($row = $db->db_fetch_object($result)) + { + if ($gebiet_id == '') + $gebiet_id = $row->gebiet_id; + + if ($gebiet_id == $row->gebiet_id) + $selected = 'selected="selected"'; + else + $selected = ''; + + if ($stg_kz == "-1") + echo ''."\n"; + else + echo ''."\n"; + } + echo ''; + } + + echo " Prüfen | "; + echo " Bearbeiten |"; + echo " Neues Gebiet | "; + //echo " PDF exportieren"; + //echo "
Gebiet_id=".$gebiet_id.""; + echo '
'; + + //Liste der Sprachen + + $qry = "SELECT sprache FROM public.tbl_sprache WHERE content ORDER BY sprache DESC"; + + if ($result = $db->db_query($qry)) + { + while ($row = $db->db_fetch_object($result)) + { + if ($sprache == '') + $sprache = $row->sprache; + if ($sprache == $row->sprache) + $selected = 'style="border:1px solid black;"'; + else + $selected = ''; + echo " $row->sprache"; + } + } + echo '
'; + echo '
'; + + // Liste der Fragen + if ($filter == 'aktiv') + { + $qry = "SELECT distinct nummer, aktiv FROM testtool.tbl_frage WHERE gebiet_id=".$db->db_add_param($gebiet_id)." AND aktiv ORDER BY nummer"; + } + elseif ($filter == 'inaktiv') + { + $qry = "SELECT distinct nummer, aktiv FROM testtool.tbl_frage WHERE gebiet_id=".$db->db_add_param($gebiet_id)." AND NOT aktiv ORDER BY nummer"; + } + else + { + $qry = "SELECT distinct nummer, aktiv FROM testtool.tbl_frage WHERE gebiet_id=".$db->db_add_param($gebiet_id)." ORDER BY nummer"; + } + + if ($result = $db->db_query($qry)) + { + // Aktiv / Inaktiv Checkboxes + $aktivchecked = ($filter == 'aktiv' || $filter == '')?'checked="checked"':''; + $inaktivchecked = ($filter == 'inaktiv' || $filter == '')?'checked="checked"':''; + if ($filter == 'aktiv') + { + $link = ""; + echo ' + aktiv + + inaktiv'; + } + elseif ($filter == 'inaktiv') + { + echo ' + aktiv + + inaktiv'; + } + elseif ($filter == '') + { + echo ' + aktiv + + inaktiv'; + } + echo '
Nummer: '; + while ($row = $db->db_fetch_object($result)) + { + if ($nummer == '') + $nummer = $row->nummer; + + $style = ''; + if ($db->db_parse_bool($row->aktiv) == false) + $style = 'style="color: lightgrey"'; + + if ($nummer == $row->nummer) + echo " $row->nummer -"; + else + echo " $row->nummer -"; + } + echo " neue Frage hinzufuegen"; + $frage_obj = new frage(); + if ($filter == 'aktiv') + { + $nextNummer = $frage_obj->getNextFrageNummer($nummer, $gebiet_id, true); + } + elseif ($filter == 'inaktiv') + { + $nextNummer = $frage_obj->getNextFrageNummer($nummer, $gebiet_id, false); + } + else + { + $nextNummer = $frage_obj->getNextFrageNummer($nummer, $gebiet_id); + } + //if ($nummer<$db->db_num_rows($result)-1) + if ($nextNummer != '') + echo " - Weiter >>"; + } + + echo "\n\n
"; + + //Fragen holen + $frage = new frage(); + $frage->getFragen($gebiet_id, $nummer); + + if (count($frage->result) == 1) + { + $frage_id = $frage->result[0]->frage_id; + } + else + { + //Wenn fuer diese Nummer mehrere Fragen vorhanden sind, + //koennen diese extra ausgewaehlt werden + echo 'FrageID: '; + foreach ($frage->result as $row) + { + if ($frage_id == '') + $frage_id = $row->frage_id; + + if ($frage_id == $row->frage_id) + echo "$row->frage_id -"; + else + echo "$row->frage_id -"; + } + } +} +else +{ + echo ' Keine Gebiete in diesem Studiengang '; + echo ''; +} + +if ($frage_id != '') +{ + $frage->load($frage_id); + $frage->getFrageSprache($frage_id, $sprache); + + + echo '"; + //Vorschau fuer das Text-Feld + echo ""; + echo "
'; + echo '
+ + +
'; + //Fragen + echo ""; + echo ""; + //Upload Feld fuer Bild + echo " + + "; + //Wenn ein Bild vorhanden ist, dann anzeigen + if ($frage->bild != '') + { + echo "\n'; + //Zusaetzliche EingabeFelder anzeigen + echo ""; + echo " + "; + echo "
+
+ Bild: + +
+
+
+ Audio: + +
+
"; + } + else + { + echo "\n
\n"; + if ($frage->audio == '') + echo "Kein Bild vorhanden\n"; + } + if ($frage->audio != '') + { + echo ' '; + } + echo '"; + echo "
"; + echo ""; + //Bei Aenderungen im Textfeld werden diese sofort in der Vorschau angezeigt + //Wenn beim Speichern der Text kein Gueltiges XML ist, wird der vorige Text erneut angezeigt + + echo ""; + echo "
\n\n
"; + echo "
"; + echo ""; + echo "

"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "Operatoren:
π
·


Weitere"; + echo "
Demo demo?'checked="true"':'')." /> + Level + Nummer + Aktiv aktiv == true?'checked="true"':'')." />
"; + echo ""; + echo "
Vorschau:
$frage->text
"; + echo ''; + + $vorschlag = new vorschlag(); + + if ($vorschlag_id != '') + if (!$vorschlag->load($vorschlag_id, $sprache)) + die($vorschlag->errormsg); + + if ($save_vorschlag_error) + { + $vorschlag->vorschlag_id = (isset($_POST['vorschlag_id'])?$_POST['vorschlag_id']:''); + $vorschlag->frage_id = $_GET['frage_id']; + $vorschlag->nummer = $_POST['nummer']; + $vorschlag->punkte = $_POST['punkte']; + $vorschlag->text = $_POST['text']; + $vorschlag->bild = ''; + } + //Vorschlag + echo 'Vorschlag'.($vorschlag_id != ''?' Edit':'').'

'; + echo "
"; + echo ""; + echo ''; + if (!isset($vorschlag_id) || $vorschlag_id != '') + { + echo ""; + echo ''; + echo ""; + echo ''; + echo ''; + echo '"; + echo ""; + echo ''; + //Upload Feld fuer Bild + echo ""; + echo ''; + echo ''; + //Upload Feld fuer Audio + echo ""; + + //Aktiv Checkbox + echo ""; + echo ""; + //Vorschau fuer das Text-Feld + echo ""; + echo "
Nummer:"; + } + else + { + if (isset($_GET['gebiet_id']) && isset($_GET['nummer'])) + { + $fragef1 = new frage(); + $fragef1->getFragen($_GET['gebiet_id'], $_GET['nummer']); + $vorschlag->getVorschlag($fragef1->result[0]->frage_id, $sprache, false, false); + echo "
Nummer:"; //@Todo: Count ($vorschlag->result) liefert die naechste Nummer nur dann richtig, falls keine Zahl dazwischen fehlt (1,3,4,..). Hier sollte die letzte Nummer ermittelt werden. + } + else + { + echo "
Nummer:"; + } + } + echo ""; + echo ""; + echo ""; + echo "
Punkte:"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo "
Text:\n"; + echo ""; + echo "

"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "
"; + echo "Operatoren:
π
·


Weitere"; + echo "
Bild:
Audio:
Aktivaktiv == true || is_null($vorschlag->aktiv)) + { + echo "checked='checked'"; + } + elseif ($vorschlag->aktiv == false) + { + echo ""; + } + echo "/>
".($vorschlag_id != ''?"frage_id'\" />":'')."
Vorschau:
$vorschlag->text
"; + echo "
"; + + echo ''; + + $vorschlag = new vorschlag(); + $vorschlag->getVorschlag($frage_id, $sprache, false, false); + $i = 0; + $allevorschlaege = ''; + if (count($vorschlag->result) > 0) + { + echo '
'; + echo ''; + + $a = array(); + foreach ($vorschlag->result as $vs) + { + $i++; + echo ""; + if ($vs->punkte >= 0) + { + echo " + + + + + "; + $allevorschlaege .= $vs->vorschlag_id.","; + } + + echo ''; + echo '
NummerPunkteTextBildAudioAktiv
$vs->nummer$vs->punkte"; + } + else + echo "$vs->punkte"; + echo "$vs->text".($vs->bild != ''?"":"").""; + $a[] = $vs->punkte; + if ($vs->audio != '') + { + echo ' '; + } + echo " editdeleteload($vs->vorschlag_id); + if ($vss->aktiv == true) echo "checked='checked'"; + + echo "/>
Summe:'.number_format(array_sum($a), 2, ".", "").'  













'; + } +} + + +?> + + diff --git a/cms/content.php b/cms/content.php index cd36f29e0..0571e8968 100644 --- a/cms/content.php +++ b/cms/content.php @@ -24,10 +24,12 @@ * zeigt diese an. */ require_once('../config/cis.config.inc.php'); +require_once('../config/global.config.inc.php'); require_once('../include/content.class.php'); require_once('../include/template.class.php'); require_once('../include/functions.inc.php'); require_once('../include/phrasen.class.php'); +require_once('../include/webservicelog.class.php'); if(isset($_GET['content_id'])) $content_id = $_GET['content_id']; @@ -64,6 +66,27 @@ if($content->islocked($content_id)) if(!$content->getContent($content_id, $sprache, $version, $sichtbar, true)) die($content->errormsg); +// Legt einen Logeintrag für die Klickstatistik an +if (defined('LOG_CONTENT') && LOG_CONTENT==true) +{ + // Nur eingeloggte User werden geloggt, das sonst auch alle Infoscreenaufrufe und dgl. mitgeloggt werden + if (is_user_logged_in()) + { + $uid = get_uid(); + + $requestdata = $_SERVER['QUERY_STRING'].'&sprache='.$sprache; + $log = new webservicelog(); + + $log->webservicetyp_kurzbz = 'content'; + $log->request_id = $content_id; + $log->beschreibung = 'content'; + $log->request_data = $requestdata; + $log->execute_user = $uid; + + $log->save(true); + } +} + $XML = new DOMDocument(); $XML->loadXML($content->content); diff --git a/cms/menu/menu_addon_lehrveranstaltungen_studienplan.inc.php b/cms/menu/menu_addon_lehrveranstaltungen_studienplan.inc.php index 0455b87c6..c5f68776e 100644 --- a/cms/menu/menu_addon_lehrveranstaltungen_studienplan.inc.php +++ b/cms/menu/menu_addon_lehrveranstaltungen_studienplan.inc.php @@ -72,7 +72,7 @@ class menu_addon_lehrveranstaltungen_studienplan extends menu_addon $sprachen_obj = new sprache(); $sprachen_obj->getAll(); $sprachen_arr=array(); - + $sprachen_arr['']=''; foreach($sprachen_obj->result as $row) { if(isset($row->bezeichnung_arr[$sprache])) @@ -84,6 +84,7 @@ class menu_addon_lehrveranstaltungen_studienplan extends menu_addon $orgform_obj = new organisationsform(); $orgform_obj->getAll(); $orgform_arr=array(); + $orgform_arr['']=''; foreach($orgform_obj->result as $row) $orgform_arr[$row->orgform_kurzbz]=$row->bezeichnung; @@ -329,7 +330,7 @@ class menu_addon_lehrveranstaltungen_studienplan extends menu_addon $bold='font-weight:bold;'; else $bold=''; - if(!$row->lehrauftrag && defined('CIS_LEHRVERANSTALTUNG_MODULE_LINK') && !CIS_LEHRVERANSTALTUNG_MODULE_LINK) + if(!$row->lehrauftrag && defined('CIS_LEHRVERANSTALTUNG_MODULE_LINK') && !CIS_LEHRVERANSTALTUNG_MODULE_LINK) $this->block.= "
  • ".$this->CutString($row->bezeichnung_arr[$sprache], 21).' '.$row->lehrform_kurzbz."
  • "; else $this->block.= "
  • bezeichnung_arr[$sprache]."\" href=\"private/lehre/lesson.php?lvid=$row->lehrveranstaltung_id&studiensemester_kurzbz=$studiensemester_kurzbz\" target=\"content\">".$this->CutString($row->bezeichnung_arr[$sprache], 21).' '.$row->lehrform_kurzbz."
  • "; diff --git a/cms/menu/menu_addon_meinelv.inc.php b/cms/menu/menu_addon_meinelv.inc.php index 188945aab..6132b4f53 100755 --- a/cms/menu/menu_addon_meinelv.inc.php +++ b/cms/menu/menu_addon_meinelv.inc.php @@ -46,9 +46,6 @@ class menu_addon_meinelv extends menu_addon //Meine LVs Student if(!$is_lector) { - $studiengang_obj = new studiengang(); - $studiengang_obj->getAll(); - $stsemobj = new studiensemester(); $stsem_arr=array(); @@ -57,10 +54,30 @@ class menu_addon_meinelv extends menu_addon foreach($stsem_arr as $stsem) { - $qry = "SELECT distinct lehrveranstaltung_id, bezeichnung, studiengang_kz, semester, lehre, - lehreverzeichnis, studiensemester_kurzbz from campus.vw_student_lehrveranstaltung - WHERE uid=".$this->db_add_param($user)." AND studiensemester_kurzbz=".$this->db_add_param($stsem)." - AND lehre=true AND lehreverzeichnis<>'' ORDER BY studiengang_kz, semester, bezeichnung"; + $qry = "SELECT + distinct + tbl_studiengang.typ, + tbl_studiengang.kurzbz, + vw_student_lehrveranstaltung.lehrveranstaltung_id, + vw_student_lehrveranstaltung.bezeichnung, + vw_student_lehrveranstaltung.studiengang_kz, + vw_student_lehrveranstaltung.semester, + vw_student_lehrveranstaltung.lehre, + vw_student_lehrveranstaltung.lehreverzeichnis, + vw_student_lehrveranstaltung.studiensemester_kurzbz + FROM + campus.vw_student_lehrveranstaltung + JOIN public.tbl_studiengang USING(studiengang_kz) + WHERE + uid=".$this->db_add_param($user)." + AND studiensemester_kurzbz=".$this->db_add_param($stsem)." + AND lehre=true + AND lehreverzeichnis<>'' + ORDER BY + tbl_studiengang.typ, + tbl_studiengang.kurzbz, + semester, + bezeichnung"; if($result = $this->db_query($qry)) { if($this->db_num_rows($result)>0) @@ -88,7 +105,7 @@ class menu_addon_meinelv extends menu_addon $this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache], 'target'=>'content', 'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$row->studiensemester_kurzbz, - 'name'=>$studiengang_obj->kuerzel_arr[$row->studiengang_kz].$row->semester.' '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength) + 'name'=>strtoupper($row->typ.$row->kurzbz).$row->semester.' '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength) ); } } @@ -96,7 +113,6 @@ class menu_addon_meinelv extends menu_addon } else echo "Fehler beim Auslesen der LV"; - } } @@ -117,11 +133,41 @@ class menu_addon_meinelv extends menu_addon foreach($stsem_arr as $stsem) { $stsementry=array(); - $qry = "SELECT distinct bezeichnung, studiengang_kz, semester, lehreverzeichnis, tbl_lehrveranstaltung.lehrveranstaltung_id, tbl_lehrveranstaltung.orgform_kurzbz, studiensemester_kurzbz FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehreinheitmitarbeiter - WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND - tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND - mitarbeiter_uid=".$this->db_add_param($user)." AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($stsem)." - ORDER BY studiengang_kz, semester, bezeichnung"; + $qry = "SELECT + distinct + tbl_studiengang.typ, + tbl_studiengang.kurzbz, + tbl_studiengang.bezeichnung AS studiengang_bezeichnung, + tbl_studiengangstyp.bezeichnung AS studiengangstyp_bezeichnung, + tbl_lehrveranstaltung.bezeichnung, + tbl_lehrveranstaltung.studiengang_kz, + tbl_lehrveranstaltung.semester, + tbl_lehrveranstaltung.lehreverzeichnis, + tbl_lehrveranstaltung.lehrveranstaltung_id, + tbl_lehrveranstaltung.orgform_kurzbz, + tbl_lehreinheit.studiensemester_kurzbz, + tbl_orgform.bezeichnung AS orgform_bezeichnung + FROM + lehre.tbl_lehrveranstaltung + LEFT JOIN + bis.tbl_orgform ON (tbl_lehrveranstaltung.orgform_kurzbz=tbl_orgform.orgform_kurzbz), + lehre.tbl_lehreinheit, + lehre.tbl_lehreinheitmitarbeiter, + public.tbl_studiengang + LEFT JOIN + public.tbl_studiengangstyp ON (tbl_studiengang.typ=tbl_studiengangstyp.typ) + + WHERE + tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND + tbl_studiengang.studiengang_kz=tbl_lehrveranstaltung.studiengang_kz AND + tbl_lehreinheit.lehreinheit_id=tbl_lehreinheitmitarbeiter.lehreinheit_id AND + mitarbeiter_uid=".$this->db_add_param($user)." AND + tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($stsem)." + ORDER BY + tbl_studiengang.typ, + tbl_studiengang.kurzbz, + tbl_lehrveranstaltung.semester, + tbl_lehrveranstaltung.bezeichnung"; if($result = $this->db_query($qry)) { @@ -147,11 +193,10 @@ class menu_addon_meinelv extends menu_addon } else { - $stg_obj = new studiengang(); - $stg_obj->load($row->studiengang_kz); - $kurzbz = $stg_obj->kuerzel.'-'.$row->semester.' '.$row->orgform_kurzbz; + $kurzbz = strtoupper($row->typ.$row->kurzbz).'-'.$row->semester.' '.$row->orgform_kurzbz; + $titel = $row->studiengangstyp_bezeichnung.' '.$row->studiengang_bezeichnung.' '.$row->semester.'.Semester '.$row->orgform_bezeichnung.' '.$lv_obj->bezeichnung_arr[$sprache]; - $this->items[] = array('title'=>$lv_obj->bezeichnung_arr[$sprache], + $this->items[] = array('title'=>$titel, 'target'=>'content', 'link'=>'private/lehre/lesson.php?lvid='.$row->lehrveranstaltung_id.'&studiensemester_kurzbz='.$row->studiensemester_kurzbz, 'name'=>$kurzbz.' '.$this->CutString($lv_obj->bezeichnung_arr[$sprache], $cutlength) @@ -162,16 +207,6 @@ class menu_addon_meinelv extends menu_addon } else echo "Fehler beim Auslesen des Lehrfaches"; -/* - if(count($stsementry)>0) - { - $this->items[] = array('title'=>$stsem, - 'target'=>'', - 'link'=>'#', - 'name'=>$stsem, - 'childs'=>$stsementry - ); - }*/ } } else diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php index a176e297e..440d3c1a6 100644 --- a/config/global.config-default.inc.php +++ b/config/global.config-default.inc.php @@ -227,4 +227,17 @@ define('KOLLISIONSFREIE_USER',serialize(array('_DummyLektor'))); // Soll der Lageplan am Infoterminal angezeigt werden (true|false) //define('CIS_INFOSCREEN_LAGEPLAN_ANZEIGEN', true); +//Wenn auf 'true' gesetzt, dann wird im FAS beim Konto das Feld fuer die CreditPoints angezeigt +define('FAS_KONTO_SHOW_CREDIT_POINTS','false'); + +// Wenn definiert, wird bei der Vorrückung der Lehreinheiten nicht der Stundensatz des Vorjahres eingetragen. +// Erlaubt sind numerische Werte oder der Wert "default". +// Bei "default" wird der Standard-Stundensatz des Lektors (aus tbl_mitarbeiter) ermittelt, und dieser eingetragen. +// Wenn numerisch, wird dieser Wert bei allen LektorInnen eingetragen. +// Wenn nicht definiert, wird der Stundensatz des Vorjahres übernommen. +define('VILESCI_STUNDENSATZ_VORRUECKUNG', ''); + +// Wenn true, werden die Content-Aufrufe des CIS in der tbl_webservicelog mitgeloggt. Zuvor manuell einen neuen Webservicetyp "content" anlegen! +define('LOG_CONTENT', false); + ?> diff --git a/content/fas.xul.php b/content/fas.xul.php index 492ca34d9..dd63abf14 100644 --- a/content/fas.xul.php +++ b/content/fas.xul.php @@ -923,11 +923,11 @@ foreach($addon_obj->result as $addon) echo ''; //echo ''; echo ''; - echo ''; + echo ''; } if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter')) { - echo ''; + echo ''; } ?> diff --git a/content/fasDBDML.php b/content/fasDBDML.php index ca8cf5aef..90f8a8f15 100644 --- a/content/fasDBDML.php +++ b/content/fasDBDML.php @@ -689,6 +689,108 @@ if(!$error) } } } + elseif(isset($_POST['type']) && $_POST['type']=='anwesenheittogglemitarbeiter') + { + if(!$rechte->isBerechtigt('student/anwesenheit')) + { + $return = false; + $errormsg = 'Sie haben keine Berechtigung fuer diese Aktion'; + $data = ''; + $error = true; + } + else + { + if(isset($_POST['lehreinheit_id']) && isset($_POST['datum'])) + { + $lehreinheit_id = $_POST['lehreinheit_id']; + $datum = $_POST['datum']; + + if($_POST['setanwesend']=='false') + { + // Anwesenheit loeschen + $anwesenheit = new anwesenheit(); + if($anwesenheit->getAnwesenheitLehreinheit($lehreinheit_id, $datum)) + { + $return = true; + $errormsg = ""; + foreach($anwesenheit->result as $row) + { + $aw = new anwesenheit(); + if(!$aw->delete($row->anwesenheit_id)) + { + $errormsg.=$aw->errormsg; + $return = false; + } + } + } + else + { + $return = false; + $errormsg = $anwesenheit->errormsg; + } + } + else + { + $error = false; + // Anwesenheit bei allen zugeteilten Studierenden setzen + // Teilnehmer ermitteln + $einheiten = 0; + // Anzahl der Einheiten ermitteln + $qry = "SELECT distinct stunde + FROM + lehre.tbl_stundenplan + WHERE + lehreinheit_id=".$db->db_add_param($lehreinheit_id)." + AND datum=".$db->db_add_param($datum).";"; + if($result = $db->db_query($qry)) + { + $einheiten = $db->db_num_rows($result); + } + else + { + $return = false; + $error = true; + $errormsg = 'Fehler beim Ermitteln der Einheiten'; + } + + if(!$error) + { + $qry = "SELECT distinct uid, vorname, nachname, person_id + FROM + campus.vw_student_lehrveranstaltung + JOIN public.tbl_benutzer USING(uid) + JOIN public.tbl_person USING(person_id) WHERE lehreinheit_id=".$db->db_add_param($lehreinheit_id); + + if($result = $db->db_query($qry)) + { + while($row = $db->db_fetch_object($result)) + { + $anwesenheit = new anwesenheit(); + $anwesenheit->uid = $row->uid; + $anwesenheit->einheiten = $einheiten; + $anwesenheit->lehreinheit_id = $lehreinheit_id; + $anwesenheit->datum = $datum; + $anwesenheit->anwesend = true; + $anwesenheit->anmerkung; + $anwesenheit->save(); + } + $return = true; + } + else + { + $return = false; + $erorrmsg = 'Fehler beim Ermitteln der Studierenden'; + } + } + } + } + else + { + $return = false; + $errormsg = 'Fehlerhafte Parameteruebergabe'; + } + } + } else { $return = false; diff --git a/content/fasoverlay.js.php b/content/fasoverlay.js.php index 0aa8c8a56..a12208fa4 100644 --- a/content/fasoverlay.js.php +++ b/content/fasoverlay.js.php @@ -1797,6 +1797,8 @@ function PrintStudienblatt(event) if(stsem == ss) { studienplan_id = getTreeCellText(tree, 'student-prestudent-tree-rolle-studienplan_id', v); + if(studienplan_id!='') + break; } } } diff --git a/content/fasoverlay.xul.php b/content/fasoverlay.xul.php index 81c66efef..f62f2a1f2 100644 --- a/content/fasoverlay.xul.php +++ b/content/fasoverlay.xul.php @@ -164,12 +164,12 @@ echo ' - - - - - - + + + + + + @@ -320,12 +320,12 @@ echo 'isBerechtigt('admin') || $rechte->isBerechtigt('assistenz')) { - echo ''; + echo ''; echo ''; } if($rechte->isBerechtigt('admin') || $rechte->isBerechtigt('mitarbeiter')) { - echo ''; + echo ''; } ?> diff --git a/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php b/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php index 17c929b4b..6c8fab6ea 100644 --- a/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php +++ b/content/lvplanung/lehrveranstaltungdetailoverlay.xul.php @@ -350,10 +350,10 @@ echo ''; - - - - + + + + @@ -368,7 +368,7 @@ echo ''; - + @@ -261,6 +261,7 @@ echo ' + @@ -275,6 +276,9 @@ echo ''; ?>