mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Merge branch 'master' of https://github.com/FH-Complete/FHC-Core
This commit is contained in:
@@ -45,6 +45,7 @@ require_once('../../../../include/mail.class.php');
|
||||
require_once('../../../../include/phrasen.class.php');
|
||||
require_once('../../../../include/note.class.php');
|
||||
require_once('../../../../include/notenschluessel.class.php');
|
||||
require_once('../../../../include/studienplan.class.php');
|
||||
|
||||
$summe_stud=0;
|
||||
$summe_t2=0;
|
||||
@@ -57,7 +58,7 @@ $p = new phrasen($sprache);
|
||||
if (!$db = new basis_db())
|
||||
die($p->t('global/fehlerBeimOeffnenDerDatenbankverbindung'));
|
||||
|
||||
$debg=(isset($_REQUEST['debug'])?$_REQUEST['debug']:'');
|
||||
$debg=(isset($_REQUEST['debug'])?$_REQUEST['debug']:'');
|
||||
|
||||
$user = get_uid();
|
||||
if(!check_lektor($user))
|
||||
@@ -108,10 +109,10 @@ echo '<!DOCTYPE HTML>
|
||||
<title>Gesamtnote</title>
|
||||
<link href="../../../../skin/jquery.css" rel="stylesheet" type="text/css"/>
|
||||
<link href="../../../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
|
||||
<script src="../../../../include/js/jquery1.9.min.js" type="text/javascript"></script>
|
||||
<script src="../../../../include/js/jquery1.9.min.js" type="text/javascript"></script>
|
||||
|
||||
<style type="text/css">
|
||||
.td_datum
|
||||
.td_datum
|
||||
{
|
||||
width:70px;
|
||||
text-align: left;
|
||||
@@ -127,10 +128,10 @@ echo '<!DOCTYPE HTML>
|
||||
font-size: 8pt;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
|
||||
|
||||
var noten_array=Array();
|
||||
';
|
||||
|
||||
@@ -143,7 +144,7 @@ foreach($noten_obj->result as $row)
|
||||
$noten_array[$row->note]['aktiv']=$row->aktiv;
|
||||
$noten_array[$row->note]['lehre']=$row->lehre;
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
function getTopOffset()
|
||||
{
|
||||
@@ -186,18 +187,18 @@ foreach($noten_obj->result as $row)
|
||||
punkte = document.getElementById(uid).punkte.value;
|
||||
else
|
||||
punkte='';
|
||||
|
||||
|
||||
note_orig = document.getElementById(uid).note_orig.value;
|
||||
|
||||
|
||||
//Request erzeugen und die Note speichern
|
||||
stud_uid = uid;
|
||||
|
||||
|
||||
var jetzt = new Date();
|
||||
var ts = jetzt.getTime();
|
||||
|
||||
|
||||
var url= '<?php echo "lvgesamtnoteeintragen.php?lvid=".urlencode($lvid)."&stsem=".urlencode($stsem); ?>';
|
||||
url += '&submit=1&student_uid='+encodeURIComponent(uid)+"¬e="+encodeURIComponent(note)+"&punkte="+encodeURIComponent(punkte)+"&"+ts;
|
||||
|
||||
|
||||
$.ajax({
|
||||
type:"GET",
|
||||
url: url,
|
||||
@@ -208,7 +209,7 @@ foreach($noten_obj->result as $row)
|
||||
var note = document.getElementById(uid).note.value;
|
||||
var resp = result;
|
||||
if (resp == "neu" || resp == "update" || resp == "update_f")
|
||||
{
|
||||
{
|
||||
notentd = document.getElementById("note_"+uid);
|
||||
while (notentd.childNodes.length>0)
|
||||
{
|
||||
@@ -236,17 +237,17 @@ foreach($noten_obj->result as $row)
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// *************************************************
|
||||
// * Formular zum Eintragen einer Pruefung erstellen
|
||||
// *************************************************
|
||||
function pruefungAnlegen(uid,datum,note,lehreinheit_id,punkte)
|
||||
{
|
||||
var str = "<form name='nachpruefung_form'><center><table style='width:95%'><tr><td colspan='2' align='right'><a href='#' onclick='closeDiv();'>X</a></td></tr>";
|
||||
|
||||
|
||||
var anlegendiv = document.getElementById("nachpruefung_div");
|
||||
var y = getTopOffset();
|
||||
y = y+50;
|
||||
y = y+50;
|
||||
anlegendiv.style.top = y+"px";
|
||||
|
||||
str += "<tr><td colspan='2'><b><?php echo $p->t('benotungstool/pruefungAnlegenFuer');?> "+uid+":</b></td></tr>";
|
||||
@@ -275,13 +276,13 @@ foreach($noten_obj->result as $row)
|
||||
echo '</select></td>';
|
||||
?>';
|
||||
str += "</tr><tr><td colspan='2' align='center'><input type='button' name='speichern' value='<?php echo $p->t('global/speichern');?>' onclick='pruefungSpeichern();'></td></tr>";
|
||||
str += "</table></center></form>";
|
||||
anlegendiv.innerHTML = str;
|
||||
str += "</table></center></form>";
|
||||
anlegendiv.innerHTML = str;
|
||||
anlegendiv.style.visibility = "visible";
|
||||
$('#pruefungsdatum').datepicker();
|
||||
$('#pruefungnoteselect').val(note);
|
||||
}
|
||||
|
||||
|
||||
// **********************************************
|
||||
// * Speichern der Pruefung
|
||||
// **********************************************
|
||||
@@ -292,34 +293,34 @@ foreach($noten_obj->result as $row)
|
||||
var punkte = document.nachpruefung_form.punkte.value;
|
||||
else
|
||||
var punkte='';
|
||||
var datum = document.nachpruefung_form.datum.value;
|
||||
var datum = document.nachpruefung_form.datum.value;
|
||||
var datum_test = datum.split(".");
|
||||
if (datum_test[0].length != 2 || datum_test[1].length != 2 || datum_test[2].length!=4 || isNaN(datum_test[2]) || datum_test[1]>12 || datum_test[1]<1 || datum_test[0]>31 || datum_test[0]<1)
|
||||
alert("Invalid Date Format: DD.MM.YYYY");
|
||||
else
|
||||
{
|
||||
var anlegendiv = document.getElementById("nachpruefung_div");
|
||||
|
||||
var anlegendiv = document.getElementById("nachpruefung_div");
|
||||
|
||||
var note = document.nachpruefung_form.note.value;
|
||||
if (note == "" || isNaN(note))
|
||||
{
|
||||
document.nachpruefung_form.note.value = "9";
|
||||
note = "9";
|
||||
}
|
||||
}
|
||||
var uid = document.nachpruefung_form.uid.value;
|
||||
var lehreinheit_id = document.nachpruefung_form.le_id.value;
|
||||
|
||||
|
||||
var jetzt = new Date();
|
||||
var ts = jetzt.getTime();
|
||||
var url= '<?php echo "nachpruefungeintragen.php?lvid=$lvid&stsem=$stsem"; ?>';
|
||||
url += '&submit=1&student_uid='+uid+'¬e='+note+'&datum='+datum+'&lehreinheit_id_pr='+lehreinheit_id+'&punkte='+punkte+'&'+ts;
|
||||
|
||||
|
||||
$.ajax({
|
||||
type:"GET",
|
||||
url: url,
|
||||
success:function(result)
|
||||
{
|
||||
var anlegendiv = document.getElementById("nachpruefung_div");
|
||||
var anlegendiv = document.getElementById("nachpruefung_div");
|
||||
var datum = document.nachpruefung_form.datum.value;
|
||||
var note = document.nachpruefung_form.note.value;
|
||||
if(document.nachpruefung_form.punkte)
|
||||
@@ -329,12 +330,12 @@ foreach($noten_obj->result as $row)
|
||||
var uid = document.nachpruefung_form.uid.value;
|
||||
var lehreinheit_id = document.nachpruefung_form.le_id.value;
|
||||
var resp = result;
|
||||
|
||||
|
||||
if (resp == "neu" || resp == "update" || resp == "update_f" || resp == "update_pr")
|
||||
{
|
||||
if (resp != "update_pr")
|
||||
{
|
||||
notentd = document.getElementById("note_"+uid);
|
||||
notentd = document.getElementById("note_"+uid);
|
||||
while (notentd.childNodes.length>0)
|
||||
{
|
||||
notentd.removeChild(notentd.lastChild);
|
||||
@@ -345,12 +346,12 @@ foreach($noten_obj->result as $row)
|
||||
var notentext = noten_array[note];
|
||||
notenode = document.createTextNode(notentext);
|
||||
notentd.appendChild(notenode);
|
||||
}
|
||||
}
|
||||
notenstatus = document.getElementById("status_"+uid);
|
||||
if (resp == "update_f")
|
||||
notenstatus.innerHTML = "<img src='../../../../skin/images/changed.png'>";
|
||||
document.getElementById("lvnoteneingabe_"+uid).style.visibility = "hidden";
|
||||
|
||||
|
||||
anlegendiv.innerHTML = "";
|
||||
anlegendiv.style.visibility = "hidden";
|
||||
document.getElementById("span_"+uid).innerHTML = "<table><tr><td class='td_datum'>"+datum+"</td><td class='td_note'>"+noten_array[note]+"<td><input type='button' name='anlegen' value='<?php echo $p->t('global/aendern'); ?>' onclick='pruefungAnlegen(\""+uid+"\",\""+datum+"\",\""+note+"\",\""+lehreinheit_id+"\")'></td></tr></table>";
|
||||
@@ -370,7 +371,7 @@ foreach($noten_obj->result as $row)
|
||||
anlegendiv.innerHTML = "";
|
||||
anlegendiv.style.visibility = "hidden";
|
||||
}
|
||||
|
||||
|
||||
function OnFreigabeSubmit()
|
||||
{
|
||||
if(document.getElementById('textbox-freigabe-passwort').value.length==0)
|
||||
@@ -380,9 +381,9 @@ foreach($noten_obj->result as $row)
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Wird bei der Punkteeingabe aufgerufen und laedt
|
||||
* Wird bei der Punkteeingabe aufgerufen und laedt
|
||||
* die dazupassende Noten anhand des Notenschluessels
|
||||
*/
|
||||
function PunkteEingabe(idx)
|
||||
@@ -395,15 +396,15 @@ foreach($noten_obj->result as $row)
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"lvgesamtnote_worker.php",
|
||||
data: { lehrveranstaltung_id: '<?php echo $lvid; ?>',
|
||||
punkte: punkte,
|
||||
data: { lehrveranstaltung_id: '<?php echo $lvid; ?>',
|
||||
punkte: punkte,
|
||||
work: 'getGradeFromPoints',
|
||||
studiensemester_kurzbz: '<?php echo $stsem;?>'
|
||||
},
|
||||
success:function(result)
|
||||
{
|
||||
note=result;
|
||||
|
||||
|
||||
var notendropdown = $('#dropdown-note-'+idx);
|
||||
notendropdown.val(note);
|
||||
notendropdown.prop('disabled',true);
|
||||
@@ -422,7 +423,7 @@ foreach($noten_obj->result as $row)
|
||||
}
|
||||
|
||||
/**
|
||||
* Wird bei der Punkteeingabe aufgerufen und laedt
|
||||
* Wird bei der Punkteeingabe aufgerufen und laedt
|
||||
* die dazupassende Noten anhand des Notenschluessels
|
||||
*/
|
||||
function PruefungPunkteEingabe()
|
||||
@@ -436,15 +437,15 @@ foreach($noten_obj->result as $row)
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
url:"lvgesamtnote_worker.php",
|
||||
data: { lehrveranstaltung_id: '<?php echo $lvid; ?>',
|
||||
punkte: punkte,
|
||||
data: { lehrveranstaltung_id: '<?php echo $lvid; ?>',
|
||||
punkte: punkte,
|
||||
work: 'getGradeFromPoints',
|
||||
studiensemester_kurzbz: '<?php echo $stsem;?>'
|
||||
},
|
||||
success:function(result)
|
||||
{
|
||||
note=result;
|
||||
|
||||
|
||||
var notendropdown = $('#pruefungnoteselect');
|
||||
notendropdown.val(note);
|
||||
notendropdown.prop('disabled',true);
|
||||
@@ -466,29 +467,29 @@ foreach($noten_obj->result as $row)
|
||||
// * Oeffnet ein Fenster fuer den Import von Noten aus dem Excel
|
||||
// ****
|
||||
function GradeImport()
|
||||
{
|
||||
{
|
||||
var str = "<form name='gradeimport_form'><center><table style='width:95%'><tr><td colspan='2' align='right'><a href='#' onclick='closeDiv();'>X</a></td></tr>";
|
||||
|
||||
|
||||
var anlegendiv = document.getElementById("nachpruefung_div");
|
||||
var y = getTopOffset();
|
||||
y = y+50;
|
||||
y = y+50;
|
||||
anlegendiv.style.top = y+"px";
|
||||
|
||||
str += '<tr><td><?php echo $p->t('benotungstool/importAnweisung');?>:</td>';
|
||||
str += '<td></td><tr><td><textarea id="noteimporttextarea" name="notenimport"></textarea></td></tr>';
|
||||
str += "<tr><td><input type='button' name='speichern' value='<?php echo $p->t('global/speichern');?>' onclick='saveGradeBulk();'>";
|
||||
str += "</td><td></td></tr></table></center></form>";
|
||||
anlegendiv.innerHTML = str;
|
||||
str += "</td><td></td></tr></table></center></form>";
|
||||
anlegendiv.innerHTML = str;
|
||||
anlegendiv.style.visibility = "visible";
|
||||
$('#noteimporttextarea').focus();
|
||||
}
|
||||
|
||||
// Speichert die Noten ueber den Import
|
||||
// Speichert die Noten ueber den Import
|
||||
function saveGradeBulk()
|
||||
{
|
||||
data = $('#noteimporttextarea').val();
|
||||
closeDiv();
|
||||
|
||||
|
||||
//Reihen ermitteln
|
||||
var rows = data.split("\n");
|
||||
var i=0;
|
||||
@@ -499,7 +500,7 @@ foreach($noten_obj->result as $row)
|
||||
for(row in rows)
|
||||
{
|
||||
zeile = rows[row].split(" ");
|
||||
|
||||
|
||||
if(zeile[0]!='' && zeile[1]!='')
|
||||
{
|
||||
gradedata['matrikelnr_'+i]=zeile[0];
|
||||
@@ -513,10 +514,10 @@ foreach($noten_obj->result as $row)
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(i>0)
|
||||
{
|
||||
|
||||
|
||||
var jetzt = new Date();
|
||||
var ts = jetzt.getTime();
|
||||
var url= '<?php echo "lvgesamtnoteeintragen.php?lvid=".urlencode($lvid)."&stsem=".urlencode($stsem); ?>';
|
||||
@@ -539,7 +540,7 @@ foreach($noten_obj->result as $row)
|
||||
alert('Request fehlgeschlagen');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -556,41 +557,41 @@ foreach($noten_obj->result as $row)
|
||||
<?php
|
||||
//wenn eine Uebung oder LE-Gesamtnote existiert die Note aus dem Uebungstool uebernehmen
|
||||
//sonst aus dem Moodle
|
||||
$qry = "SELECT
|
||||
1
|
||||
FROM
|
||||
lehre.tbl_lehrveranstaltung
|
||||
$qry = "SELECT
|
||||
1
|
||||
FROM
|
||||
lehre.tbl_lehrveranstaltung
|
||||
JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
|
||||
JOIN campus.tbl_uebung USING(lehreinheit_id)
|
||||
WHERE
|
||||
WHERE
|
||||
studiensemester_kurzbz=".$db->db_add_param($stsem)." AND
|
||||
lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)."
|
||||
UNION
|
||||
SELECT
|
||||
SELECT
|
||||
1
|
||||
FROM
|
||||
campus.tbl_legesamtnote
|
||||
WHERE
|
||||
lehreinheit_id in (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
|
||||
campus.tbl_legesamtnote
|
||||
WHERE
|
||||
lehreinheit_id in (SELECT lehreinheit_id FROM lehre.tbl_lehreinheit
|
||||
WHERE studiensemester_kurzbz=".$db->db_add_param($stsem)." AND
|
||||
lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER).")
|
||||
|
||||
|
||||
";
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result)>0)
|
||||
$grade_from_moodle=false;
|
||||
else
|
||||
else
|
||||
{
|
||||
if(MOODLE)
|
||||
$grade_from_moodle=true;
|
||||
else
|
||||
else
|
||||
$grade_from_moodle=false;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
die($p->t('global/fehleraufgetreten'));
|
||||
|
||||
|
||||
//Kopfzeile
|
||||
echo '
|
||||
<table width="100%"><tr><td>
|
||||
@@ -619,7 +620,7 @@ if(!$rechte->isBerechtigt('admin',0) &&
|
||||
!$rechte->isBerechtigt('lehre',$lv_obj->studiengang_kz))
|
||||
{
|
||||
$qry = "SELECT lehreinheit_id FROM lehre.tbl_lehrveranstaltung JOIN lehre.tbl_lehreinheit USING(lehrveranstaltung_id)
|
||||
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
|
||||
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
|
||||
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=".$db->db_add_param($lvid, FHC_INTEGER)." AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem)." AND tbl_lehreinheitmitarbeiter.mitarbeiter_uid=".$db->db_add_param($user).';';
|
||||
if($result = $db->db_query($qry))
|
||||
@@ -627,7 +628,7 @@ if(!$rechte->isBerechtigt('admin',0) &&
|
||||
if($db->db_num_rows($result)==0)
|
||||
die($p->t('global/keineBerechtigungFuerDieseSeite'));
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
die($p->t('global/fehleraufgetreten'));
|
||||
}
|
||||
@@ -649,14 +650,19 @@ if (isset($_REQUEST["freigabe"]) and ($_REQUEST["freigabe"] == 1))
|
||||
{
|
||||
$jetzt = date("Y-m-d H:i:s");
|
||||
$neuenoten = 0;
|
||||
$studlist = "<table border='1'><tr><td><b>".$p->t('global/personenkz')."</b></td><td><b>".$p->t('global/nachname')."</b></td><td><b>".$p->t('global/vorname')."</b></td><td><b>".$p->t('benotungstool/note')."</b></td></tr>\n";
|
||||
$studlist = "<table border='1'><tr><td><b>".$p->t('global/personenkz')."</b></td><td><b>".$p->t('global/nachname')."</b></td><td><b>".$p->t('global/vorname')."</b></td>";
|
||||
if(defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
|
||||
{
|
||||
$studlist.="<td><b>".$p->t('benotungstool/punkte')."</b></td>\n";
|
||||
}
|
||||
$studlist.="<td><b>".$p->t('benotungstool/note')."</b></td></tr>\n";
|
||||
|
||||
// studentenquery
|
||||
$qry_stud = "SELECT
|
||||
DISTINCT uid, vorname, nachname, matrikelnr
|
||||
FROM
|
||||
campus.vw_student_lehrveranstaltung
|
||||
JOIN campus.vw_student USING(uid)
|
||||
// studentenquery
|
||||
$qry_stud = "SELECT
|
||||
DISTINCT uid, vorname, nachname, matrikelnr
|
||||
FROM
|
||||
campus.vw_student_lehrveranstaltung
|
||||
JOIN campus.vw_student USING(uid)
|
||||
WHERE
|
||||
studiensemester_kurzbz = ".$db->db_add_param($stsem)."
|
||||
AND lehrveranstaltung_id = ".$db->db_add_param($lvid, FHC_INTEGER)."
|
||||
@@ -665,45 +671,57 @@ if (isset($_REQUEST["freigabe"]) and ($_REQUEST["freigabe"] == 1))
|
||||
{
|
||||
$i=1;
|
||||
while($row_stud = $db->db_fetch_object($result_stud))
|
||||
{
|
||||
{
|
||||
$lvgesamtnote = new lvgesamtnote();
|
||||
if ($lvgesamtnote->load($lvid,$row_stud->uid,$stsem))
|
||||
{
|
||||
if ($lvgesamtnote->benotungsdatum > $lvgesamtnote->freigabedatum)
|
||||
{
|
||||
if ($lvgesamtnote->benotungsdatum > $lvgesamtnote->freigabedatum)
|
||||
{
|
||||
$lvgesamtnote->freigabedatum = $jetzt;
|
||||
$lvgesamtnote->freigabevon_uid = $user;
|
||||
$lvgesamtnote->save($new=null);
|
||||
$studlist .= "<tr><td>".trim($row_stud->matrikelnr)."</td><td>".trim($row_stud->nachname)."</td><td>".trim($row_stud->vorname)."</td><td>".trim($lvgesamtnote->note)."</td></tr>\n";
|
||||
$studlist .= "<tr><td>".trim($row_stud->matrikelnr)."</td>";
|
||||
$studlist .= "<td>".trim($row_stud->nachname)."</td>";
|
||||
$studlist .= "<td>".trim($row_stud->vorname)."</td>";
|
||||
if(defined('CIS_GESAMTNOTE_PUNKTE') && CIS_GESAMTNOTE_PUNKTE)
|
||||
{
|
||||
$studlist.="<td>".($lvgesamtnote->punkte!=''?trim(number_format($lvgesamtnote->punkte,2)):'')."</td>\n";
|
||||
}
|
||||
$studlist.="<td>".$noten_array[trim($lvgesamtnote->note)]['bezeichnung']."</td></tr>\n";
|
||||
$neuenoten++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$studlist .= "</table>";
|
||||
|
||||
//mail an assistentin und den user selber verschicken
|
||||
|
||||
//mail an assistentin und den user selber verschicken
|
||||
if ($neuenoten > 0)
|
||||
{
|
||||
$lv = new lehrveranstaltung($lvid);
|
||||
$sg = new studiengang($lv->studiengang_kz);
|
||||
$lektor_adresse = $user."@".DOMAIN;
|
||||
$adressen = $sg->email.", ".$user."@".DOMAIN;
|
||||
|
||||
|
||||
|
||||
$studienplan = new studienplan();
|
||||
$studienplan->getStudienplanLehrveranstaltung($lvid, $stsem);
|
||||
$studienplan_bezeichnung='';
|
||||
foreach($studienplan->result as $row)
|
||||
$studienplan_bezeichnung.=$row->bezeichnung.' ';
|
||||
|
||||
$mit = new mitarbeiter();
|
||||
$mit->load($user);
|
||||
|
||||
$freigeber = "<b>".mb_strtoupper($user)."</b>";
|
||||
$mail = new mail($adressen, 'vilesci@'.DOMAIN, 'Notenfreigabe '.$lv->bezeichnung,'');
|
||||
$htmlcontent="<html><body><b>".$sg->kuerzel.' '.$lv->semester.'.Semester '.$lv->bezeichnung." - ".$stsem."</b> (".$lv->semester.". Sem.) <br><br>".$p->t('global/benutzer')." ".$freigeber." (".$mit->kurzbz.") ".$p->t('benotungstool/hatDieLvNotenFuerFolgendeStudenten').":<br><br>\n".$studlist."<br>".$p->t('abgabetool/mailVerschicktAn').": ".$adressen."</body></html>";
|
||||
$mail = new mail($adressen, 'vilesci@'.DOMAIN, 'Notenfreigabe '.$lv->bezeichnung." ".$lv->orgform_kurzbz.' - '.$studienplan_bezeichnung,'');
|
||||
$htmlcontent="<html><body><b>".$sg->kuerzel.' '.$lv->semester.'.Semester '.$lv->bezeichnung." ".$lv->orgform_kurzbz." - ".$stsem."</b> (".$lv->semester.". Sem.) <br><br>".$p->t('global/benutzer')." ".$freigeber." (".$mit->kurzbz.") ".$p->t('benotungstool/hatDieLvNotenFuerFolgendeStudenten').":<br><br>\n".$studlist."<br>".$p->t('abgabetool/mailVerschicktAn').": ".$adressen."</body></html>";
|
||||
$mail->setHTMLContent($htmlcontent);
|
||||
$mail->setReplyTo($lektor_adresse);
|
||||
$mail->send();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo '<span><font class="error">'.$p->t('gesamtnote/passwortFalsch').'</font></span>';
|
||||
}
|
||||
@@ -724,11 +742,11 @@ if ($pr_all->getPruefungenLV($lvid,"Termin2",$stsem))
|
||||
if ($pr_all->result)
|
||||
{
|
||||
foreach ($pr_all->result as $pruefung)
|
||||
{
|
||||
{
|
||||
$studpruef_arr[$pruefung->student_uid][$pruefung->lehreinheit_id]["note"] = $pruefung->note;
|
||||
$studpruef_arr[$pruefung->student_uid][$pruefung->lehreinheit_id]["punkte"] = $pruefung->punkte;
|
||||
$studpruef_arr[$pruefung->student_uid][$pruefung->lehreinheit_id]["datum"] = $datum_obj->formatDatum($pruefung->datum,'d.m.Y');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$summe_t2=count($studpruef_arr);
|
||||
@@ -739,11 +757,11 @@ if ($pr_komm->getPruefungenLV($lvid,"kommPruef",$stsem))
|
||||
if ($pr_komm->result)
|
||||
{
|
||||
foreach ($pr_komm->result as $kpruefung)
|
||||
{
|
||||
{
|
||||
$studpruef_komm[$kpruefung->student_uid][$kpruefung->lehreinheit_id]["note"] = $kpruefung->note;
|
||||
$studpruef_komm[$kpruefung->student_uid][$kpruefung->lehreinheit_id]["punkte"] = $kpruefung->punkte;
|
||||
$studpruef_komm[$kpruefung->student_uid][$kpruefung->lehreinheit_id]["datum"] = $datum_obj->formatDatum($kpruefung->datum,'d.m.Y');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$summe_komm=count($studpruef_komm);
|
||||
@@ -823,13 +841,13 @@ echo "
|
||||
}
|
||||
}
|
||||
|
||||
// studentenquery
|
||||
$qry_stud = "SELECT
|
||||
DISTINCT uid, vorname, nachname, matrikelnr
|
||||
FROM
|
||||
campus.vw_student_lehrveranstaltung
|
||||
JOIN campus.vw_student USING(uid)
|
||||
WHERE
|
||||
// studentenquery
|
||||
$qry_stud = "SELECT
|
||||
DISTINCT uid, vorname, nachname, matrikelnr
|
||||
FROM
|
||||
campus.vw_student_lehrveranstaltung
|
||||
JOIN campus.vw_student USING(uid)
|
||||
WHERE
|
||||
studiensemester_kurzbz = ".$db->db_add_param($stsem)."
|
||||
AND lehrveranstaltung_id = ".$db->db_add_param($lvid)."
|
||||
ORDER BY nachname, vorname ";
|
||||
@@ -841,14 +859,14 @@ echo "
|
||||
$summe_stud=$db->db_num_rows($result_stud);
|
||||
while($row_stud = $db->db_fetch_object($result_stud))
|
||||
{
|
||||
|
||||
|
||||
echo "<tr class='liste".($i%2)."'>
|
||||
<td><a href='mailto:$row_stud->uid@".DOMAIN."'><img src='../../../../skin/images/button_mail.gif'></a></td>";
|
||||
echo "
|
||||
<td>$row_stud->uid</td>
|
||||
<td>$row_stud->nachname</td>
|
||||
<td>$row_stud->vorname</td>";
|
||||
|
||||
|
||||
$note_les_str = '';
|
||||
$le_anz = 0;
|
||||
$note_le = 0;
|
||||
@@ -863,18 +881,18 @@ echo "
|
||||
//Noten aus Moodle
|
||||
if (!isset($moodle_course))
|
||||
$moodle_course = new moodle19_course();
|
||||
|
||||
|
||||
if (!$mdldaten = $moodle_course->loadNoten($lvid, $stsem, '', true,$debg))
|
||||
$mdldaten='';
|
||||
}
|
||||
$mdldaten='';
|
||||
}
|
||||
// Verarbeitet die Kursdaten
|
||||
if (!is_null($mdldaten) && is_array($mdldaten))
|
||||
{
|
||||
reset($mdldaten);
|
||||
reset($mdldaten);
|
||||
$title="";
|
||||
$mdl_shortname='';
|
||||
for ($imdldaten=0;$imdldaten<count($mdldaten) ;$imdldaten++)
|
||||
{
|
||||
for ($imdldaten=0;$imdldaten<count($mdldaten) ;$imdldaten++)
|
||||
{
|
||||
|
||||
$mdldata=$mdldaten[$imdldaten]->result;
|
||||
$kursArr=(isset($mdldata[2])?$mdldata[2]:array());
|
||||
@@ -884,49 +902,49 @@ echo "
|
||||
|
||||
$note=0;
|
||||
$userGef=false;
|
||||
|
||||
reset($kursArr);
|
||||
for ($iKurs=0;$iKurs<count($kursArr) ;$iKurs++)
|
||||
{
|
||||
|
||||
reset($kursArr);
|
||||
for ($iKurs=0;$iKurs<count($kursArr) ;$iKurs++)
|
||||
{
|
||||
if (isset($kursArr[$iKurs]) && isset($kursArr[$iKurs][2]) && isset($kursArr[$iKurs][6]) && strtolower(trim($row_stud->uid))==strtolower(trim($kursArr[$iKurs][2])) )
|
||||
{
|
||||
$note=trim($kursArr[$iKurs][6]);
|
||||
$userGef=true;
|
||||
|
||||
|
||||
if (is_numeric($note) || $debg)
|
||||
{
|
||||
if (is_numeric($note))
|
||||
{
|
||||
$note_le += $note;
|
||||
$le_anz += 1;
|
||||
}
|
||||
}
|
||||
if ($note == 5)
|
||||
$leneg = " style='color:red; font-weight:bold'";
|
||||
else
|
||||
$leneg = " style='font-weight:bold'";
|
||||
|
||||
|
||||
$mdl_shortname=$mdldaten[$imdldaten]->mdl_shortname;
|
||||
$title="\r\nMoodle 1.9 KursID: ".$mdldaten[$imdldaten]->mdl_course_id ."\r\n\r\n".$kursname.', '.$mdl_shortname."\r\n";
|
||||
foreach ($kursasObj[$iKurs] as $key => $value)
|
||||
foreach ($kursasObj[$iKurs] as $key => $value)
|
||||
{
|
||||
$title.=$key."=>".$value."\r\n";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
$note_les_str .= "<span ".$leneg.">".$note."</span> <span title='".$title."' style='font-size:10px'>(".$mdl_shortname.")</span> ";
|
||||
}
|
||||
}
|
||||
} // ende If Richtiger User
|
||||
|
||||
|
||||
if ($userGef)
|
||||
{
|
||||
$iKurs=count($kursArr)+1; // diesen USER for beenden - user wurde gefunden
|
||||
}
|
||||
$iKurs=count($kursArr)+1; // diesen USER for beenden - user wurde gefunden
|
||||
}
|
||||
|
||||
} // ende Kursschleife
|
||||
} // MoodleKurse abarbeiten
|
||||
|
||||
#echo "<p><h1> $title Anzahl Noten gef. $le_anz $note_le </h1></p>";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(defined('CONN_STRING_MOODLE'))
|
||||
@@ -964,17 +982,17 @@ echo "
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
//Noten aus Uebungstool
|
||||
$le = new lehreinheit();
|
||||
$le->load_lehreinheiten($lvid, $stsem);
|
||||
foreach($le->lehreinheiten as $l)
|
||||
{
|
||||
foreach($le->lehreinheiten as $l)
|
||||
{
|
||||
$legesamtnote = new legesamtnote($l->lehreinheit_id);
|
||||
|
||||
|
||||
if (!$legesamtnote->load($row_stud->uid,$l->lehreinheit_id))
|
||||
{
|
||||
{
|
||||
//$note_les_str .= "- (".$l->lehreinheit_id.")";
|
||||
}
|
||||
else
|
||||
@@ -988,8 +1006,8 @@ echo "
|
||||
$note_les_str .= "<span".$leneg.">".$legesamtnote->note."</span> (".$l->lehreinheit_id.") ";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ($lvgesamtnote = new lvgesamtnote($lvid,$row_stud->uid,$stsem))
|
||||
{
|
||||
$note_lv = $lvgesamtnote->note;
|
||||
@@ -1000,7 +1018,7 @@ echo "
|
||||
$note_lv = null;
|
||||
$punkte_lv = null;
|
||||
}
|
||||
|
||||
|
||||
$punkte_vorschlag='';
|
||||
if (!is_null($note_lv))
|
||||
$note_vorschlag = $note_lv;
|
||||
@@ -1014,7 +1032,7 @@ echo "
|
||||
}
|
||||
else
|
||||
{
|
||||
$note_vorschlag = round($note_le/$le_anz);
|
||||
$note_vorschlag = round($note_le/$le_anz);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1022,15 +1040,15 @@ echo "
|
||||
if ($zeugnisnote = new zeugnisnote($lvid, $row_stud->uid, $stsem))
|
||||
$znote = $zeugnisnote->note;
|
||||
else
|
||||
$znote = null;
|
||||
|
||||
|
||||
$znote = null;
|
||||
|
||||
|
||||
echo "<td style='white-space: nowrap;'>".$note_les_str." </td>";
|
||||
|
||||
if (key_exists($row_stud->uid,$studpruef_arr))
|
||||
|
||||
if (key_exists($row_stud->uid,$studpruef_arr))
|
||||
$hide = "style='display:none;visibility:hidden;'";
|
||||
else
|
||||
$hide = "style='display:block;visibility:visible;'";
|
||||
$hide = "style='display:block;visibility:visible;'";
|
||||
|
||||
if(!defined('CIS_GESAMTNOTE_UEBERSCHREIBEN') || CIS_GESAMTNOTE_UEBERSCHREIBEN || (!CIS_GESAMTNOTE_UEBERSCHREIBEN && is_null($znote)))
|
||||
{
|
||||
@@ -1045,7 +1063,7 @@ echo "
|
||||
//$punkte_lv = $punkte_vorschlag;
|
||||
echo '<input type="text" name="punkte" id="textbox-punkte-'.$i.'" value="'.$punkte_vorschlag.'" size="3" oninput="PunkteEingabe('.$i.')"/>';
|
||||
}
|
||||
|
||||
|
||||
// Noten DropDown
|
||||
if($punkte_vorschlag!='' && CIS_GESAMTNOTE_PUNKTE)
|
||||
$disabled='disabled="disabled"';
|
||||
@@ -1074,12 +1092,12 @@ echo "
|
||||
{
|
||||
echo '<td></td>';
|
||||
}
|
||||
|
||||
|
||||
if(isset($noten_array[$note_lv]) && $noten_array[$note_lv]['positiv']==false)
|
||||
$negmarkier = " style='color:red; font-weight:bold;'";
|
||||
else
|
||||
$negmarkier = "";
|
||||
|
||||
$negmarkier = "";
|
||||
|
||||
// LV Note
|
||||
echo '<td align="center" id="note_'.$row_stud->uid.'"><span '.$negmarkier.'>';
|
||||
if(isset($noten_array[$note_lv]))
|
||||
@@ -1087,16 +1105,16 @@ echo "
|
||||
if($punkte_lv!='')
|
||||
echo ' ('.number_format($punkte_lv,2).')';
|
||||
echo '</span></td>';
|
||||
|
||||
|
||||
//status
|
||||
echo "<td align='center' id='status_$row_stud->uid'>";
|
||||
echo "<td align='center' id='status_$row_stud->uid'>";
|
||||
if (!$lvgesamtnote->freigabedatum)
|
||||
echo "<img src='../../../../skin/images/offen.png'>";
|
||||
echo "<img src='../../../../skin/images/offen.png'>";
|
||||
else if ($lvgesamtnote->benotungsdatum > $lvgesamtnote->freigabedatum)
|
||||
echo "<img src='../../../../skin/images/changed.png'>";
|
||||
else
|
||||
echo "<img src='../../../../skin/images/ok.png'>";
|
||||
|
||||
|
||||
echo "</td>";
|
||||
if (($znote) && ($note_lv != $znote))
|
||||
$stylestr = " style='color:red; border-color:red; border-style:solid; border-width:1px;'";
|
||||
@@ -1110,20 +1128,20 @@ echo "
|
||||
$summe_ng++;
|
||||
|
||||
// Pruefung 2.Termin
|
||||
if (key_exists($row_stud->uid, $studpruef_arr))
|
||||
if (key_exists($row_stud->uid, $studpruef_arr))
|
||||
{
|
||||
echo "<td colspan='2'>";
|
||||
echo "<span id='span_".$row_stud->uid."'>";
|
||||
echo "<table>";
|
||||
$le_id_arr = array();
|
||||
$le_id_arr = array();
|
||||
$le_id_arr = array_keys($studpruef_arr[$row_stud->uid]);
|
||||
foreach ($le_id_arr as $le_id_stud)
|
||||
{
|
||||
{
|
||||
$pr_note = $studpruef_arr[$row_stud->uid][$le_id_stud]["note"];
|
||||
$pr_punkte = $studpruef_arr[$row_stud->uid][$le_id_stud]["punkte"];
|
||||
$pr_datum = $studpruef_arr[$row_stud->uid][$le_id_stud]["datum"];
|
||||
$pr_le_id = $le_id_stud;
|
||||
|
||||
|
||||
if($pr_punkte!='')
|
||||
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung'].' ('.number_format($pr_punkte,2).')';
|
||||
else
|
||||
@@ -1135,33 +1153,33 @@ echo "
|
||||
<td><input type="button" name="anlegen" value="'.$p->t('global/aendern').'" onclick="pruefungAnlegen(\''.$row_stud->uid.'\',\''.$pr_datum.'\',\''.$pr_note.'\',\''.$pr_le_id.'\',\''.$pr_punkte.'\')"><td>
|
||||
</tr>';
|
||||
}
|
||||
echo "</table>";
|
||||
echo "</table>";
|
||||
echo "</span>";
|
||||
echo "</td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!is_null($note_lv) || !is_null($znote))
|
||||
if (!is_null($note_lv) || !is_null($znote))
|
||||
echo "<td colspan='2'><span id='span_".$row_stud->uid."'><input type='button' name='anlegen' value='".$p->t('benotungstool/anlegen')."' onclick='pruefungAnlegen(\"".$row_stud->uid."\",\"\",\"\",\"\",\"\")'></span></td>";
|
||||
else
|
||||
echo "<td colspan='2'></td>";
|
||||
echo "<td colspan='2'></td>";
|
||||
}
|
||||
|
||||
// komm Pruefung
|
||||
if (key_exists($row_stud->uid,$studpruef_komm))
|
||||
if (key_exists($row_stud->uid,$studpruef_komm))
|
||||
{
|
||||
echo "<td colspan='2'>";
|
||||
echo "<span id='span_".$row_stud->uid."'>";
|
||||
echo "<table>";
|
||||
$le_id_arr = array();
|
||||
$le_id_arr = array();
|
||||
$le_id_arr = array_keys($studpruef_komm[$row_stud->uid]);
|
||||
foreach ($le_id_arr as $le_id_stud)
|
||||
{
|
||||
{
|
||||
$pr_note = $studpruef_komm[$row_stud->uid][$le_id_stud]["note"];
|
||||
$pr_punkte = $studpruef_komm[$row_stud->uid][$le_id_stud]["punkte"];
|
||||
$pr_datum = $studpruef_komm[$row_stud->uid][$le_id_stud]["datum"];
|
||||
$pr_le_id = $le_id_stud;
|
||||
|
||||
|
||||
if($pr_punkte!='')
|
||||
$pr_notenbezeichnung = $noten_array[$pr_note]['bezeichnung'].' ('.$pr_punkte.')';
|
||||
else
|
||||
@@ -1172,15 +1190,15 @@ echo "
|
||||
<td class="td_note">'.$pr_notenbezeichnung.'</td>
|
||||
</tr>';
|
||||
}
|
||||
echo "</table>";
|
||||
echo "</table>";
|
||||
echo "</span>";
|
||||
echo "</td>";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<td colspan='2'></td>";
|
||||
echo "<td colspan='2'></td>";
|
||||
}
|
||||
|
||||
|
||||
echo "</tr>";
|
||||
$i++;
|
||||
}
|
||||
|
||||
@@ -220,6 +220,7 @@ function showHideBezeichnungDropDown()
|
||||
str += '<option value="Ableben P/K/E">f) Ableben Partner/Kinder/Elternteil</option>';
|
||||
str += '<option value="Bestattung G/S/G">g) Teilnahme an Bestattung Geschwister/Schwiegereltern/eigener Großeltern</option>';
|
||||
str += '<option value="Wohnungswechsel">h) Wohnungswechsel in eigenen Haushalt</option>';
|
||||
str += '<option value="Bundesheer">i) Einberufung Bundesheer</option>';
|
||||
str += '</select>';
|
||||
|
||||
sp.innerHTML = str;
|
||||
|
||||
@@ -86,6 +86,9 @@ define('LVPLAN_SYNC_ENDE','');
|
||||
// Soll nach dem LVPlan Sync automatisch das Horde Sync angestoßen werden
|
||||
define('LVPLAN_HORDE_SYNC',false);
|
||||
|
||||
// Format der Tagesinfo im Tempus %t = Wochentag %b = Begin der Stunde %e = Ende der Stunde %s = Stunde
|
||||
define('TEMPUS_TAGESINFO_FORMAT','%t %b');
|
||||
|
||||
/*
|
||||
* VORRUECKUNG_LEHRVERBAND_MAX_SEMESTER
|
||||
* leer: Studentlehrverband Semester wird bei der Vorrueckung normal weitergezaehlt bis zum max_semester des Studienganges
|
||||
|
||||
@@ -863,8 +863,109 @@ if(!$error)
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit_lektor_del_lvplan')
|
||||
{
|
||||
//Pruefen ob dieser Lektor im Stundenplan schon verplant wurde
|
||||
$qry = "SELECT tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.lehrveranstaltung_id
|
||||
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach
|
||||
WHERE tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_lehreinheit.lehrveranstaltung_id AND
|
||||
tbl_lehreinheit.lehrfach_id=lehrfach.lehrveranstaltung_id AND lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_id'], FHC_INTEGER);
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
if($row = $db->db_fetch_object())
|
||||
{
|
||||
$lva = new lehrveranstaltung($row->lehrveranstaltung_id);
|
||||
|
||||
if(!$rechte->isBerechtigtMultipleOe('lv-plan/lektorentfernen', $lva->getAllOe(), 'suid'))
|
||||
{
|
||||
$error = true;
|
||||
$return = false;
|
||||
$errormsg = 'Keine Berechtigung';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error = true;
|
||||
$return = false;
|
||||
$errormsg = 'Lehreinheit wurde nicht gefunden';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error = true;
|
||||
$return = false;
|
||||
$errormsg = 'Lehreinheit wurde nicht gefunden';
|
||||
}
|
||||
|
||||
// Wenn nur noch dieser Lektor im LVPlan verplant ist, dann wird das loeschen verhindert
|
||||
// da sonst der gesamte LVPlan der Lehreinheit weg ist
|
||||
$qry = "SELECT
|
||||
distinct mitarbeiter_uid
|
||||
FROM
|
||||
lehre.tbl_stundenplandev
|
||||
WHERE
|
||||
lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_id'], FHC_INTEGER);
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result)<2)
|
||||
{
|
||||
$error = true;
|
||||
$return = false;
|
||||
$errormsg='Dieser Lektor kann nicht aus dem LVPlan entfernt werden da dies der letzte verplante Lektor ist';
|
||||
}
|
||||
}
|
||||
|
||||
// Wenn Ressourcen an einem der Stundenplaneintraege haengen die geloescht werden wuerden
|
||||
// dann wird das loeschen verhindert
|
||||
$qry = "SELECT
|
||||
1
|
||||
FROM
|
||||
lehre.tbl_stundenplandev
|
||||
JOIN lehre.tbl_stundenplan_betriebsmittel USING(stundenplandev_id)
|
||||
WHERE
|
||||
tbl_stundenplandev.lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_id'], FHC_INTEGER)."
|
||||
AND tbl_stundenplandev.mitarbeiter_uid=".$db->db_add_param($_POST['mitarbeiter_uid']);
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result)>0)
|
||||
{
|
||||
$return = false;
|
||||
$error = true;
|
||||
$errormsg = 'Gruppe kann nicht entfernt werden da bereits Ressourcen zugeordnet wurden';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$error = true;
|
||||
$errormsg = 'Fehler bei Datenbankabfrage';
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
$qry = "DELETE FROM lehre.tbl_stundenplandev
|
||||
WHERE
|
||||
lehreinheit_id=".$db->db_add_param($_POST['lehreinheit_id'], FHC_INTEGER)."
|
||||
AND mitarbeiter_uid=".$db->db_add_param($_POST['mitarbeiter_uid']);
|
||||
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
$error = false;
|
||||
$return = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = 'Fehler beim Entfernen des LV-Plans: '.$db->db_last_error();
|
||||
$return = false;
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif(isset($_POST['type']) && $_POST['type']=='lehreinheit_gruppe_del_lvplan')
|
||||
{
|
||||
//Pruefen ob diese Gruppe im Stundenplan schon verplant wurde
|
||||
$qry = "SELECT tbl_lehrveranstaltung.studiengang_kz, tbl_lehrveranstaltung.lehrveranstaltung_id,
|
||||
(SELECT fachbereich_kurzbz FROM public.tbl_fachbereich WHERE oe_kurzbz=lehrfach.oe_kurzbz) as fachbereich_kurzbz
|
||||
FROM lehre.tbl_lehrveranstaltung, lehre.tbl_lehreinheit, lehre.tbl_lehrveranstaltung as lehrfach
|
||||
@@ -897,9 +998,69 @@ if(!$error)
|
||||
$errormsg = 'Lehreinheit wurde nicht gefunden';
|
||||
}
|
||||
|
||||
//Pruefen ob diese Gruppe im Stundenplan schon verplant wurde
|
||||
// Wenn nur noch diese eine Gruppe im LVPlan verplant ist, dann wird das loeschen verhindert
|
||||
// da sonst der gesamte LVPlan der Lehreinheit weg ist
|
||||
$qry = "SELECT
|
||||
distinct studiengang_kz, semester, verband, gruppe, gruppe_kurzbz
|
||||
FROM
|
||||
lehre.tbl_stundenplandev
|
||||
WHERE
|
||||
lehreinheit_id=(SELECT lehreinheit_id FROM lehre.tbl_lehreinheitgruppe WHERE lehreinheitgruppe_id=".$db->db_add_param($_POST['lehreinheitgruppe_id'], FHC_INTEGER).")";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result)<2)
|
||||
{
|
||||
$error = true;
|
||||
$return = false;
|
||||
$errormsg='Diese Gruppe kann nicht aus dem LVPlan entfernt werden da dies die letzte verplante Gruppe ist';
|
||||
}
|
||||
}
|
||||
|
||||
// Wenn Ressourcen an einem der Stundenplaneintraege haengen die geloescht werden wuerden
|
||||
// dann wird das loeschen verhindert
|
||||
$qry = "SELECT
|
||||
1
|
||||
FROM
|
||||
lehre.tbl_stundenplandev
|
||||
JOIN lehre.tbl_stundenplan_betriebsmittel USING(stundenplandev_id)
|
||||
JOIN lehre.tbl_lehreinheitgruppe USING(lehreinheit_id)
|
||||
WHERE
|
||||
tbl_lehreinheitgruppe.lehreinheitgruppe_id=".$db->db_add_param($_POST['lehreinheitgruppe_id'], FHC_INTEGER)."
|
||||
AND
|
||||
(
|
||||
(
|
||||
tbl_lehreinheitgruppe.gruppe_kurzbz is not null
|
||||
AND
|
||||
tbl_lehreinheitgruppe.gruppe_kurzbz=tbl_stundenplandev.gruppe_kurzbz
|
||||
)
|
||||
OR
|
||||
(
|
||||
tbl_lehreinheitgruppe.gruppe_kurzbz is null
|
||||
AND
|
||||
tbl_lehreinheitgruppe.studiengang_kz=tbl_stundenplandev.studiengang_kz
|
||||
AND
|
||||
tbl_lehreinheitgruppe.semester=tbl_stundenplandev.semester
|
||||
AND
|
||||
tbl_lehreinheitgruppe.verband = tbl_stundenplandev.verband
|
||||
AND
|
||||
tbl_lehreinheitgruppe.gruppe = tbl_stundenplandev.gruppe
|
||||
)
|
||||
)";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result)>0)
|
||||
{
|
||||
$return = false;
|
||||
$error = true;
|
||||
$errormsg = 'Gruppe kann nicht entfernt werden da bereits Ressourcen zugeordnet wurden';
|
||||
}
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
|
||||
$qry = "DELETE FROM lehre.tbl_stundenplandev
|
||||
WHERE
|
||||
(lehreinheit_id, studiengang_kz, semester, trim(COALESCE(verband,'')), trim(COALESCE(gruppe,'')), trim(COALESCE(gruppe_kurzbz,''))) =
|
||||
|
||||
@@ -57,6 +57,13 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<popupset>
|
||||
<menupopup id="lehrveranstaltung-lektor-tree-popup">
|
||||
<menuitem label="Entfernen" oncommand="LeMitarbeiterDel();" />
|
||||
<?php
|
||||
if($rechte->isBerechtigt('lv-plan/lektorentfernen'))
|
||||
{
|
||||
echo '<menuseparator />';
|
||||
echo '<menuitem label="Stunden aus LV-Plan entfernen" oncommand="LeLektorDelLVPlan();" />';
|
||||
}
|
||||
?>
|
||||
</menupopup>
|
||||
</popupset>
|
||||
<popupset>
|
||||
@@ -329,6 +336,10 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#lehreinheit_id"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="lehrveranstaltung-lehreinheitmitarbeiter-treecol-verplant" label="Verplant" flex="2" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#verplant"/>
|
||||
<splitter class="tree-splitter"/>
|
||||
</treecols>
|
||||
<template>
|
||||
<rule>
|
||||
@@ -339,6 +350,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<treecell label="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#vorname" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#mitarbeiter_uid" />
|
||||
<treecell label="rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#lehreinheit_id" />
|
||||
<treecell src="../skin/images/verplant_rdf:http://www.technikum-wien.at/lehreinheitmitarbeiter/rdf#verplant^.png" />
|
||||
</treerow>
|
||||
</treeitem>
|
||||
</treechildren>
|
||||
|
||||
@@ -271,43 +271,49 @@ if(defined('FAS_GESAMTNOTE_PRUEFUNGSHONORAR') && FAS_GESAMTNOTE_PRUEFUNGSHONORAR
|
||||
<hbox>
|
||||
<groupbox id="lehrveranstaltung-noten-groupbox-pruefung">
|
||||
<caption label="Prüfungshonorar" />
|
||||
<hbox>
|
||||
<label value="Mitarbeiter" control="lehrveranstaltung-noten-pruefung-menulist-mitarbeiter"/>
|
||||
<menulist id="lehrveranstaltung-noten-pruefung-menulist-mitarbeiter"
|
||||
datasources="'.APP_ROOT.'rdf/mitarbeiter.rdf.php" flex="1"
|
||||
ref="http://www.technikum-wien.at/mitarbeiter/_alle"
|
||||
minwidth="250"
|
||||
>
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid"
|
||||
label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname ( rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid )"
|
||||
uri="rdf:*"/>
|
||||
</menupopup>
|
||||
</template>
|
||||
</menulist>
|
||||
<label value="Prüfungstyp" control="lehrveranstaltung-noten-pruefung-menulist-vertragstyp"/>
|
||||
<menulist id="lehrveranstaltung-noten-pruefung-menulist-vertragstyp"
|
||||
datasources="'.APP_ROOT.'rdf/vertragstyp.rdf.php" flex="1"
|
||||
ref="http://www.technikum-wien.at/vertragstyp"
|
||||
minwidth="250"
|
||||
>
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/vertragstyp/rdf#vertragstyp_kurzbz"
|
||||
label="rdf:http://www.technikum-wien.at/vertragstyp/rdf#vertragstyp_bezeichnung"
|
||||
uri="rdf:*"/>
|
||||
</menupopup>
|
||||
</template>
|
||||
</menulist>
|
||||
<label value="Satz pro Prüfung" control="lehrveranstaltung-noten-pruefung-textbox-satz"/>
|
||||
<textbox id="lehrveranstaltung-noten-pruefung-textbox-satz" size="2" oninput="LehrveranstaltungNotenPruefungCalculate()"/>
|
||||
<label value="Anzahl Prüfungen" control="lehrveranstaltung-noten-pruefung-textbox-anzahl"/>
|
||||
<textbox id="lehrveranstaltung-noten-pruefung-textbox-anzahl" size="2" oninput="LehrveranstaltungNotenPruefungCalculate()"/>
|
||||
<label value="0.0" id="lehrveranstaltung-noten-pruefung-label-gesamt"/>
|
||||
<button id="lehrveranstaltung-noten-pruefung-button-save" label="Speichern" oncommand="LehrveranstaltungNotenPruefungSave();" />
|
||||
<spacer flex="1"/>
|
||||
</hbox>
|
||||
<vbox>
|
||||
<hbox>
|
||||
<label value="Mitarbeiter" control="lehrveranstaltung-noten-pruefung-menulist-mitarbeiter"/>
|
||||
<menulist id="lehrveranstaltung-noten-pruefung-menulist-mitarbeiter"
|
||||
datasources="'.APP_ROOT.'rdf/mitarbeiter.rdf.php" flex="1"
|
||||
ref="http://www.technikum-wien.at/mitarbeiter/_alle"
|
||||
minwidth="250"
|
||||
>
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid"
|
||||
label="rdf:http://www.technikum-wien.at/mitarbeiter/rdf#nachname rdf:http://www.technikum-wien.at/mitarbeiter/rdf#vorname ( rdf:http://www.technikum-wien.at/mitarbeiter/rdf#uid )"
|
||||
uri="rdf:*"/>
|
||||
</menupopup>
|
||||
</template>
|
||||
</menulist>
|
||||
<label value="Prüfungstyp" control="lehrveranstaltung-noten-pruefung-menulist-vertragstyp"/>
|
||||
<menulist id="lehrveranstaltung-noten-pruefung-menulist-vertragstyp"
|
||||
datasources="'.APP_ROOT.'rdf/vertragstyp.rdf.php" flex="1"
|
||||
ref="http://www.technikum-wien.at/vertragstyp"
|
||||
minwidth="250"
|
||||
>
|
||||
<template>
|
||||
<menupopup>
|
||||
<menuitem value="rdf:http://www.technikum-wien.at/vertragstyp/rdf#vertragstyp_kurzbz"
|
||||
label="rdf:http://www.technikum-wien.at/vertragstyp/rdf#vertragstyp_bezeichnung"
|
||||
uri="rdf:*"/>
|
||||
</menupopup>
|
||||
</template>
|
||||
</menulist>
|
||||
<label value="Satz pro Prüfung" control="lehrveranstaltung-noten-pruefung-textbox-satz"/>
|
||||
<textbox id="lehrveranstaltung-noten-pruefung-textbox-satz" size="2" oninput="LehrveranstaltungNotenPruefungCalculate()"/>
|
||||
<label value="Anzahl Prüfungen" control="lehrveranstaltung-noten-pruefung-textbox-anzahl"/>
|
||||
<textbox id="lehrveranstaltung-noten-pruefung-textbox-anzahl" size="2" oninput="LehrveranstaltungNotenPruefungCalculate()"/>
|
||||
<label value="0.0" id="lehrveranstaltung-noten-pruefung-label-gesamt"/>
|
||||
<spacer flex="1"/>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<label value="Anmerkung" control="lehrveranstaltung-noten-pruefung-textbox-anmerkung"/>
|
||||
<textbox id="lehrveranstaltung-noten-pruefung-textbox-anmerkung" size="60"/>
|
||||
<button id="lehrveranstaltung-noten-pruefung-button-save" label="Speichern" oncommand="LehrveranstaltungNotenPruefungSave();" />
|
||||
</hbox>
|
||||
</vbox>
|
||||
</groupbox>
|
||||
</hbox>';
|
||||
}
|
||||
|
||||
@@ -1308,7 +1308,7 @@ function LeGruppeDel()
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Loescht den LVPlan einer Gruppe zu einer aus dem LVPlan
|
||||
// * Loescht den LVPlan einer Gruppe zu einer Lehreinheit aus dem LVPlan
|
||||
// ****
|
||||
function LeGruppeDelLVPlan()
|
||||
{
|
||||
@@ -1360,6 +1360,61 @@ function LeGruppeDelLVPlan()
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Loescht den LVPlan eines Lektors zu einer Lehreinheit aus dem LVPlan
|
||||
// ****
|
||||
function LeLektorDelLVPlan()
|
||||
{
|
||||
tree = document.getElementById('lehrveranstaltung-detail-tree-lehreinheitmitarbeiter');
|
||||
|
||||
//Nachsehen ob Lektor markiert wurde
|
||||
var idx;
|
||||
if(tree.currentIndex>=0)
|
||||
idx = tree.currentIndex;
|
||||
else
|
||||
{
|
||||
alert('Bitte zuerst einen Lektor markieren');
|
||||
return false;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
//Lehreinheit_id holen
|
||||
var col = tree.columns ? tree.columns["lehrveranstaltung-lehreinheitmitarbeiter-treecol-lehreinheit_id"] : "lehrveranstaltung-lehreinheitmitarbeiter-treecol-lehreinheit_id";
|
||||
var lehreinheit_id=tree.view.getCellText(idx,col);
|
||||
var col = tree.columns ? tree.columns["lehrveranstaltung-lehreinheitmitarbeiter-treecol-mitarbeiter_uid"] : "lehrveranstaltung-lehreinheitmitarbeiter-treecol-mitarbeiter_uid";
|
||||
var mitarbeiter_uid=tree.view.getCellText(idx,col);
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
alert(e);
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!confirm("Sind Sie sicher dass Sie diesen Mitarbeiter aus dem LVPlan entfernen wollen?"))
|
||||
return false;
|
||||
|
||||
var req = new phpRequest('lvplanung/lehrveranstaltungDBDML.php','','');
|
||||
|
||||
req.add('type', 'lehreinheit_lektor_del_lvplan');
|
||||
req.add('lehreinheit_id', lehreinheit_id);
|
||||
req.add('mitarbeiter_uid', mitarbeiter_uid);
|
||||
|
||||
var response = req.executePOST();
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
alert(val.dbdml_errormsg)
|
||||
}
|
||||
else
|
||||
{
|
||||
//Refresh des Trees
|
||||
LeLektorTreeRefresh();
|
||||
LvTreeRefresh();
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Gruppen Tree Refreshen
|
||||
// ****
|
||||
@@ -2473,6 +2528,7 @@ function LehrveranstaltungNotenPruefungCalculate()
|
||||
|
||||
var gesamt = satz*anzahl;
|
||||
document.getElementById('lehrveranstaltung-noten-pruefung-label-gesamt').value=gesamt;
|
||||
document.getElementById('lehrveranstaltung-noten-pruefung-textbox-anmerkung').value=satz+'€ * '+anzahl;
|
||||
}
|
||||
|
||||
function LehrveranstaltungNotenPruefungSave()
|
||||
@@ -2481,6 +2537,7 @@ function LehrveranstaltungNotenPruefungSave()
|
||||
var satz = document.getElementById('lehrveranstaltung-noten-pruefung-textbox-satz').value;
|
||||
var anzahl = document.getElementById('lehrveranstaltung-noten-pruefung-textbox-anzahl').value;
|
||||
var vertragstyp_kurzbz = document.getElementById('lehrveranstaltung-noten-pruefung-menulist-vertragstyp').value;
|
||||
var anmerkung = document.getElementById('lehrveranstaltung-noten-pruefung-textbox-anmerkung').value;
|
||||
satz = satz.replace(',','.');
|
||||
|
||||
if(mitarbeiter_uid == '' || satz == '' || anzahl == '' || vertragstyp_kurzbz=='')
|
||||
@@ -2518,7 +2575,7 @@ function LehrveranstaltungNotenPruefungSave()
|
||||
req.add('vertragstyp_kurzbz', vertragstyp_kurzbz);
|
||||
req.add('betrag', gesamt);
|
||||
req.add('bezeichnung', 'Pruefungshonorar '+lv_studiengang+' '+lv_semester+' '+lv_bezeichnung+' '+lehrveranstaltung_id);
|
||||
req.add('anmerkung', satz+'€ * '+anzahl);
|
||||
req.add('anmerkung', anmerkung);
|
||||
req.add('vertragsdatum', datum);
|
||||
req.add('lehrveranstaltung_id',lehrveranstaltung_id);
|
||||
|
||||
@@ -2539,5 +2596,6 @@ function LehrveranstaltungNotenPruefungSave()
|
||||
document.getElementById('lehrveranstaltung-noten-pruefung-textbox-satz').value='';
|
||||
document.getElementById('lehrveranstaltung-noten-pruefung-textbox-anzahl').value='';
|
||||
document.getElementById('lehrveranstaltung-noten-pruefung-label-gesamt').value='';
|
||||
document.getElementById('lehrveranstaltung-noten-pruefung-textbox-anmerkung').value='';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -195,6 +195,7 @@ if(!$error)
|
||||
$verwendung->updateamum = date('Y-m-d H:i:s');
|
||||
$verwendung->updatevon = $user;
|
||||
$verwendung->dv_art = $_POST['dv_art'];
|
||||
$verwendung->inkludierte_lehre = $_POST['inkludierte_lehre'];
|
||||
|
||||
if($verwendung->save())
|
||||
{
|
||||
|
||||
@@ -1136,7 +1136,7 @@ function MitarbeiterVerwendungBearbeiten()
|
||||
bisverwendung_id=tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
//Dialog laden
|
||||
window.open("<?php echo APP_ROOT; ?>content/mitarbeiter/mitarbeiterverwendungdialog.xul.php?mitarbeiter_uid="+mitarbeiter_uid+"&bisverwendung_id="+bisverwendung_id,"popup","chrome, status=no, width=500, height=350, centerscreen, resizable");
|
||||
window.open("<?php echo APP_ROOT; ?>content/mitarbeiter/mitarbeiterverwendungdialog.xul.php?mitarbeiter_uid="+mitarbeiter_uid+"&bisverwendung_id="+bisverwendung_id,"popup","chrome, status=no, width=500, height=400, centerscreen, resizable");
|
||||
}
|
||||
|
||||
// ****
|
||||
@@ -1166,6 +1166,7 @@ function MitarbeiterVerwendungSpeichern(dialog, bisverwendung_id, mitarbeiter_ui
|
||||
ende = dialog.getElementById('mitarbeiter-verwendung-detail-datum-ende').value;
|
||||
vertragsstunden = dialog.getElementById('mitarbeiter-verwendung-detail-textbox-vertragsstunden').value;
|
||||
dv_art = dialog.getElementById('mitarbeiter-verwendung-detail-textbox-dv_art').value;
|
||||
inkludierte_lehre = dialog.getElementById('mitarbeiter-verwendung-detail-textbox-inkludierte_lehre').value;
|
||||
|
||||
if(verwendung_code=='1' || verwendung_code=='5' || verwendung_code=='6')
|
||||
{
|
||||
@@ -1222,6 +1223,7 @@ function MitarbeiterVerwendungSpeichern(dialog, bisverwendung_id, mitarbeiter_ui
|
||||
req.add('ende', ConvertDateToISO(ende));
|
||||
req.add('vertragsstunden', vertragsstunden);
|
||||
req.add('dv_art', dv_art);
|
||||
req.add('inkludierte_lehre', inkludierte_lehre);
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
|
||||
@@ -34,28 +34,28 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
MitarbeiterVerwendungDetailMitarbeiterUid=mitarbeiter_uid;
|
||||
|
||||
|
||||
if(bisverwendung_id!='')
|
||||
{
|
||||
//Wenn eine BisverwendungID uebergeben wird, dann wird dieser Datensatz geladen
|
||||
MitarbeiterVerwendungDetailNeu='false';
|
||||
MitarbeiterVerwendungDetailBisverwendungId=bisverwendung_id;
|
||||
|
||||
|
||||
//Laden der Daten
|
||||
//Daten holen
|
||||
var url = '<?php echo APP_ROOT ?>rdf/bisverwendung.rdf.php?bisverwendung_id='+bisverwendung_id+'&'+gettimestamp();
|
||||
|
||||
|
||||
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
|
||||
getService(Components.interfaces.nsIRDFService);
|
||||
|
||||
|
||||
var dsource = rdfService.GetDataSourceBlocking(url);
|
||||
|
||||
|
||||
var subject = rdfService.GetResource("http://www.technikum-wien.at/bisverwendung/" + bisverwendung_id);
|
||||
|
||||
|
||||
var predicateNS = "http://www.technikum-wien.at/bisverwendung/rdf";
|
||||
|
||||
|
||||
//RDF parsen
|
||||
|
||||
|
||||
ba1code = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ba1code" ));
|
||||
ba2code = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ba2code" ));
|
||||
beschausmasscode = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#beschausmasscode" ));
|
||||
@@ -68,12 +68,13 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id)
|
||||
ende = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ende" ));
|
||||
vertragsstunden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#vertragsstunden" ));
|
||||
dv_art = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#dv_art" ));
|
||||
inkludierte_lehre = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#inkludierte_lehre" ));
|
||||
}
|
||||
else
|
||||
{
|
||||
//neuer Datensatz wird angelegt
|
||||
MitarbeiterVerwendungDetailNeu='true';
|
||||
|
||||
|
||||
//Defaultwerte
|
||||
ba1code=3; //fixer Dienstvertrag
|
||||
ba2code=1; //unbefristet
|
||||
@@ -86,8 +87,9 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id)
|
||||
ende='';
|
||||
vertragsstunden='38.5';
|
||||
dv_art='';
|
||||
inkludierte_lehre='';
|
||||
}
|
||||
|
||||
|
||||
document.getElementById('mitarbeiter-verwendung-detail-menulist-beschart1').value=ba1code;
|
||||
document.getElementById('mitarbeiter-verwendung-detail-menulist-beschart2').value=ba2code;
|
||||
document.getElementById('mitarbeiter-verwendung-detail-menulist-ausmass').value=beschausmasscode;
|
||||
@@ -97,17 +99,18 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id)
|
||||
document.getElementById('mitarbeiter-verwendung-detail-checkbox-hauptberuflich').checked=true;
|
||||
else
|
||||
document.getElementById('mitarbeiter-verwendung-detail-checkbox-hauptberuflich').checked=false;
|
||||
|
||||
|
||||
if(habilitation=='Ja')
|
||||
document.getElementById('mitarbeiter-verwendung-detail-checkbox-habilitation').checked=true;
|
||||
else
|
||||
document.getElementById('mitarbeiter-verwendung-detail-checkbox-habilitation').checked=false;
|
||||
|
||||
|
||||
document.getElementById('mitarbeiter-verwendung-detail-datum-beginn').value=beginn;
|
||||
document.getElementById('mitarbeiter-verwendung-detail-datum-ende').value=ende;
|
||||
document.getElementById('mitarbeiter-verwendung-detail-textbox-vertragsstunden').value=vertragsstunden;
|
||||
document.getElementById('mitarbeiter-verwendung-detail-textbox-dv_art').value=dv_art;
|
||||
|
||||
document.getElementById('mitarbeiter-verwendung-detail-textbox-inkludierte_lehre').value=inkludierte_lehre;
|
||||
|
||||
MitarbeiterVerwendungDetailToggleHauptberuf();
|
||||
MitarbeiterVerwendungVerwendungChange();
|
||||
}
|
||||
@@ -118,7 +121,7 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id)
|
||||
function MitarbeiterVerwendungDetailToggleHauptberuf()
|
||||
{
|
||||
var checked = document.getElementById('mitarbeiter-verwendung-detail-checkbox-hauptberuflich').checked;
|
||||
|
||||
|
||||
if(checked)
|
||||
{
|
||||
document.getElementById('mitarbeiter-verwendung-detail-menulist-hauptberuf').disabled=true;
|
||||
|
||||
@@ -31,12 +31,12 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
|
||||
if(isset($_GET['mitarbeiter_uid']))
|
||||
$mitarbeiter_uid=$_GET['mitarbeiter_uid'];
|
||||
else
|
||||
else
|
||||
die('MitarbeiterUID muss uebergeben werden');
|
||||
|
||||
if(isset($_GET['bisverwendung_id']))
|
||||
$bisverwendung_id = $_GET['bisverwendung_id'];
|
||||
else
|
||||
else
|
||||
$bisverwendung_id = '';
|
||||
|
||||
echo '<?xml-stylesheet href="'.APP_ROOT.'skin/tempus.css" type="text/css"?>';
|
||||
@@ -52,7 +52,7 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
onload="MitarbeiterVerwendungInit('<?php echo $mitarbeiter_uid."',".($bisverwendung_id!=''?$bisverwendung_id:"''");?>)"
|
||||
>
|
||||
|
||||
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/mitarbeiter/mitarbeiterverwendungdialog.js.php" />
|
||||
<script type="application/x-javascript" src="<?php echo APP_ROOT; ?>content/functions.js.php" />
|
||||
|
||||
@@ -110,7 +110,7 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type
|
||||
<label value="Verwendung" control="mitarbeiter-verwendung-detail-menulist-verwendung"/>
|
||||
<menulist id="mitarbeiter-verwendung-detail-menulist-verwendung"
|
||||
datasources="<?php echo APP_ROOT ?>rdf/verwendung.rdf.php" flex="1"
|
||||
ref="http://www.technikum-wien.at/verwendung/liste"
|
||||
ref="http://www.technikum-wien.at/verwendung/liste"
|
||||
oncommand="MitarbeiterVerwendungVerwendungChange()">
|
||||
<template>
|
||||
<menupopup>
|
||||
@@ -145,7 +145,7 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type
|
||||
</row>
|
||||
<row>
|
||||
<label value="Beginn" control="mitarbeiter-verwendung-detail-datum-beginn"/>
|
||||
<box class="Datum" id="mitarbeiter-verwendung-detail-datum-beginn" />
|
||||
<box class="Datum" id="mitarbeiter-verwendung-detail-datum-beginn" />
|
||||
</row>
|
||||
<row>
|
||||
<label value="Ende" control="mitarbeiter-verwendung-detail-datum-ende"/>
|
||||
@@ -158,6 +158,10 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type
|
||||
<row>
|
||||
<label value="DV-Art" control="mitarbeiter-verwendung-detail-textbox-dv_art" />
|
||||
<textbox id="mitarbeiter-verwendung-detail-textbox-dv_art" />
|
||||
</row>
|
||||
<row>
|
||||
<label value="Inkludierte Lehre" control="mitarbeiter-verwendung-detail-textbox-inkludierte_lehre" />
|
||||
<textbox id="mitarbeiter-verwendung-detail-textbox-inkludierte_lehre" />
|
||||
</row>
|
||||
<row>
|
||||
<spacer />
|
||||
@@ -167,7 +171,7 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type
|
||||
</hbox>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</grid>
|
||||
</groupbox>
|
||||
|
||||
</window>
|
||||
|
||||
+125
-180
@@ -151,6 +151,114 @@ function generateMatrikelnummer($studiengang_kz, $studiensemester_kurzbz)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Wenn die Anwesenheit und einen bestimmten Prozentsatz faellt, wird ein Pruefungstermin abgezogen
|
||||
* @param $studiensemester_kurzbz
|
||||
* @param $student_uid
|
||||
* @param $lehrveranstaltung_id
|
||||
* @param $note
|
||||
* @return null, error wird direkt in globale Variable geschrieben
|
||||
*/
|
||||
function NotePruefungAnlegen($studiensemester_kurzbz, $student_uid, $lehrveranstaltung_id, $note)
|
||||
{
|
||||
global $return, $error, $errormsg;
|
||||
|
||||
$db = new basis_db();
|
||||
$anwesenheit = new anwesenheit();
|
||||
$anwesenheit->loadAnwesenheitStudiensemester($studiensemester_kurzbz, $student_uid, $lehrveranstaltung_id);
|
||||
|
||||
// Lehreinheit ermitteln
|
||||
$error = false;
|
||||
$qry = "SELECT lehreinheit_id FROM campus.vw_student_lehrveranstaltung "
|
||||
. "WHERE uid=".$db->db_add_param($student_uid)." AND lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id)." "
|
||||
. "ORDER BY lehreinheit_id ASC "
|
||||
. "LIMIT 1";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$lehreinheit_id = $row->lehreinheit_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$error = true;
|
||||
$errormsg = 'Fehler beim Ermitteln der Lehreinheit ID';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$error = true;
|
||||
$errormsg = 'Fehler beim Ermitteln der Lehreinheit ID';
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
$pruefung = new pruefung;
|
||||
$pruefung->new = true;
|
||||
$pruefung->student_uid = $student_uid;
|
||||
$pruefung->lehreinheit_id = $lehreinheit_id;
|
||||
$pruefung->datum = date("Y-m-d");
|
||||
|
||||
$stsem_obj = new studiensemester();
|
||||
$stsem_obj->load($studiensemester_kurzbz);
|
||||
|
||||
// In Benutzerfunktion nachsehen ob eine Anwesenheitsbefreiung eingetragen ist
|
||||
$benutzerfunktion = new benutzerfunktion();
|
||||
$benutzerfunktion->getBenutzerFunktionByUid($student_uid, 'awbefreit', $stsem_obj->start, $stsem_obj->ende);
|
||||
|
||||
$anwesenheitsbefreit=false;
|
||||
if(count($benutzerfunktion->result)>0)
|
||||
$anwesenheitsbefreit=true;
|
||||
|
||||
// Wenn nicht Anwesenheitsbefreit und Anwesenheit unter einem bestimmten Prozentsatz faellt dann wird ein
|
||||
// Pruefungsantritt abgezogen
|
||||
if(isset($anwesenheit->result[0]) && $anwesenheit->result[0]->prozent < FAS_ANWESENHEIT_ROT && !$anwesenheitsbefreit)
|
||||
{
|
||||
// 1. Termin mit "nicht beurteilt" erstellen
|
||||
$pruefung->pruefungstyp_kurzbz = "Termin1";
|
||||
$pruefung->note = 7;
|
||||
if($pruefung->save())
|
||||
{
|
||||
// 2. Termin mit Note erstellen
|
||||
$pruefung->pruefungstyp_kurzbz = "Termin2";
|
||||
$pruefung->note = $note;
|
||||
if($pruefung->save())
|
||||
{
|
||||
$return = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = $pruefung->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = $pruefung->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 1. Termin mit Note erstellen
|
||||
$pruefung->pruefungstyp_kurzbz = "Termin1";
|
||||
$pruefung->note = $note;
|
||||
|
||||
if($pruefung->save())
|
||||
{
|
||||
$return = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = $pruefung->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
@@ -1031,6 +1139,7 @@ if(!$error)
|
||||
$rolle->datum = $_POST['datum'];
|
||||
$rolle->orgform_kurzbz = $_POST['orgform_kurzbz'];
|
||||
$rolle->studienplan_id = $_POST['studienplan_id'];
|
||||
$rolle->anmerkung_status = $_POST['anmerkung'];
|
||||
|
||||
if($rolle->save_rolle())
|
||||
$return = true;
|
||||
@@ -2588,101 +2697,8 @@ if(!$error)
|
||||
|
||||
if(FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN && $return == true && $noten->new == true)
|
||||
{
|
||||
$anwesenheit = new anwesenheit();
|
||||
$anwesenheit->loadAnwesenheitStudiensemester($studiensemester_kurzbz, $student_uid, $lehrveranstaltung_id);
|
||||
|
||||
// Lehreinheit ermitteln
|
||||
$error = false;
|
||||
$qry = "SELECT lehreinheit_id FROM campus.vw_student_lehrveranstaltung "
|
||||
. "WHERE uid=".$db->db_add_param($student_uid)." AND lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id)." "
|
||||
. "ORDER BY lehreinheit_id ASC "
|
||||
. "LIMIT 1";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$lehreinheit_id = $row->lehreinheit_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$error = true;
|
||||
$errormsg = 'Fehler beim Ermitteln der Lehreinheit ID';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$error = true;
|
||||
$errormsg = 'Fehler beim Ermitteln der Lehreinheit ID';
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
$pruefung = new pruefung;
|
||||
$pruefung->new = true;
|
||||
$pruefung->student_uid = $student_uid;
|
||||
$pruefung->lehreinheit_id = $lehreinheit_id;
|
||||
$pruefung->datum = date("Y-m-d");
|
||||
|
||||
$stsem_obj = new studiensemester();
|
||||
$stsem_obj->load($studiensemester_kurzbz);
|
||||
|
||||
// In Benutzerfunktion nachsehen ob eine Anwesenheitsbefreiung eingetragen ist
|
||||
$benutzerfunktion = new benutzerfunktion();
|
||||
$benutzerfunktion->getBenutzerFunktionByUid($student_uid, 'awbefreit', $stsem_obj->start, $stsem_obj->ende);
|
||||
|
||||
$anwesenheitsbefreit=false;
|
||||
if(count($benutzerfunktion->result)>0)
|
||||
$anwesenheitsbefreit=true;
|
||||
|
||||
// Wenn nicht Anwesenheitsbefreit und Anwesenheit unter einem bestimmten Prozentsatz faellt dann wird ein
|
||||
// Pruefungsantritt abgezogen
|
||||
if(isset($anwesenheit->result[0]) && $anwesenheit->result[0]->prozent < FAS_ANWESENHEIT_ROT && !$anwesenheitsbefreit)
|
||||
{
|
||||
// 1. Termin mit "nicht beurteilt" erstellen
|
||||
$pruefung->pruefungstyp_kurzbz = "Termin1";
|
||||
$pruefung->note = 7;
|
||||
if($pruefung->save())
|
||||
{
|
||||
// 2. Termin mit Note erstellen
|
||||
$pruefung->pruefungstyp_kurzbz = "Termin2";
|
||||
$pruefung->note = $noten->note;
|
||||
if($pruefung->save())
|
||||
{
|
||||
$return = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = $pruefung->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = $pruefung->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 1. Termin mit Note erstellen
|
||||
$pruefung->pruefungstyp_kurzbz = "Termin1";
|
||||
$pruefung->note = $noten->note;
|
||||
|
||||
if($pruefung->save())
|
||||
{
|
||||
$return = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = $pruefung->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
NotePruefungAnlegen($studiensemester_kurzbz, $student_uid, $lehrveranstaltung_id, $noten->note);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2792,6 +2808,13 @@ if(!$error)
|
||||
{
|
||||
$errormsg .= "\n".$zeugnisnote->errormsg;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN && $zeugnisnote->new == true)
|
||||
{
|
||||
NotePruefungAnlegen($zeugnisnote->studiensemester_kurzbz, $zeugnisnote->student_uid, $zeugnisnote->lehrveranstaltung_id, $zeugnisnote->note);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2944,91 +2967,13 @@ if(!$error)
|
||||
{
|
||||
$errormsg .= "\n".$zeugnisnote->errormsg;
|
||||
}
|
||||
|
||||
if(FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN && $errormsg == '' && $zeugnisnote->new == true)
|
||||
{
|
||||
$anwesenheit = new anwesenheit();
|
||||
$anwesenheit->loadAnwesenheitStudiensemester($semester_aktuell, $uid, $_POST['lehrveranstaltung_id']);
|
||||
|
||||
// Lehreinheit ermitteln
|
||||
$error = false;
|
||||
$qry = "SELECT lehreinheit_id FROM campus.vw_student_lehrveranstaltung "
|
||||
. "WHERE uid=".$db->db_add_param($uid)." AND lehrveranstaltung_id=".$db->db_add_param($_POST['lehrveranstaltung_id'])." "
|
||||
. "ORDER BY lehreinheit_id ASC "
|
||||
. "LIMIT 1";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$lehreinheit_id = $row->lehreinheit_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$error = true;
|
||||
$errormsg = 'Fehler beim Ermitteln der Lehreinheit ID';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$error = true;
|
||||
$errormsg = 'Fehler beim Ermitteln der Lehreinheit ID';
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
$pruefung = new pruefung;
|
||||
$pruefung->new = true;
|
||||
$pruefung->student_uid = $uid;
|
||||
$pruefung->lehreinheit_id = $lehreinheit_id;
|
||||
$pruefung->datum = date("Y-m-d");
|
||||
|
||||
if(isset($anwesenheit->result[0]) && $anwesenheit->result[0]->prozent < FAS_ANWESENHEIT_ROT)
|
||||
{
|
||||
// 1. Termin mit "nicht beurteilt" erstellen
|
||||
$pruefung->pruefungstyp_kurzbz = "Termin1";
|
||||
$pruefung->note = 7;
|
||||
if($pruefung->save())
|
||||
{
|
||||
// 2. Termin mit Note erstellen
|
||||
$pruefung->pruefungstyp_kurzbz = "Termin2";
|
||||
$pruefung->note = $zeugnisnote->note;
|
||||
if($pruefung->save())
|
||||
{
|
||||
$return = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = $pruefung->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = $pruefung->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// 1. Termin mit Note erstellen
|
||||
$pruefung->pruefungstyp_kurzbz = "Termin1";
|
||||
$pruefung->note = $zeugnisnote->note;
|
||||
|
||||
if($pruefung->save())
|
||||
{
|
||||
$return = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$errormsg = $pruefung->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN && $zeugnisnote->new == true)
|
||||
{
|
||||
NotePruefungAnlegen($semester_aktuell, $uid, $_POST['lehrveranstaltung_id'], $zeugnisnote->note);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ $db = new basis_db();
|
||||
<row>
|
||||
<label value="Studiensemester" control="student-rolle-menulist-studiensemester"/>
|
||||
<menulist id="student-rolle-menulist-studiensemester"
|
||||
datasources="<?php echo APP_ROOT ?>rdf/studiensemester.rdf.php" flex="1"
|
||||
datasources="<?php echo APP_ROOT ?>rdf/studiensemester.rdf.php?order=desc" flex="1"
|
||||
ref="http://www.technikum-wien.at/studiensemester/liste" >
|
||||
<template>
|
||||
<menupopup>
|
||||
|
||||
@@ -43,8 +43,9 @@ class bisverwendung extends basis_db
|
||||
public $updatevon;
|
||||
public $insertamum;
|
||||
public $insertvon;
|
||||
public $ext_id;
|
||||
public $ext_id;
|
||||
public $dv_art;
|
||||
public $inkludierte_lehre;
|
||||
|
||||
public $ba1bez;
|
||||
public $ba2bez;
|
||||
@@ -118,6 +119,7 @@ class bisverwendung extends basis_db
|
||||
$this->hauptberuf = $row->bezeichnung;
|
||||
$this->vertragsstunden = $row->vertragsstunden;
|
||||
$this->dv_art = $row->dv_art;
|
||||
$this->inkludierte_lehre = $row->inkludierte_lehre;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
@@ -210,7 +212,7 @@ class bisverwendung extends basis_db
|
||||
//Neuen Datensatz anlegen
|
||||
$qry = "BEGIN;INSERT INTO bis.tbl_bisverwendung (ba1code, ba2code, beschausmasscode,
|
||||
verwendung_code, mitarbeiter_uid, hauptberufcode, hauptberuflich, habilitation, beginn, ende, vertragsstunden,
|
||||
updateamum, updatevon, insertamum, insertvon, dv_art) VALUES (".
|
||||
updateamum, updatevon, insertamum, insertvon, dv_art, inkludierte_lehre) VALUES (".
|
||||
$this->db_add_param($this->ba1code, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->ba2code, FHC_INTEGER).', '.
|
||||
$this->db_add_param($this->beschausmasscode, FHC_INTEGER).', '.
|
||||
@@ -226,7 +228,8 @@ class bisverwendung extends basis_db
|
||||
$this->db_add_param($this->updatevon).', '.
|
||||
$this->db_add_param($this->insertamum).', '.
|
||||
$this->db_add_param($this->insertvon).', '.
|
||||
$this->db_add_param($this->dv_art).');';
|
||||
$this->db_add_param($this->dv_art).','.
|
||||
$this->db_add_param($this->inkludierte_lehre).';';
|
||||
|
||||
}
|
||||
else
|
||||
@@ -248,7 +251,8 @@ class bisverwendung extends basis_db
|
||||
" updatevon=".$this->db_add_param($this->updatevon).",".
|
||||
" insertamum=".$this->db_add_param($this->insertamum).",".
|
||||
" insertvon=".$this->db_add_param($this->insertvon).",".
|
||||
" dv_art=".$this->db_add_param($this->dv_art).
|
||||
" dv_art=".$this->db_add_param($this->dv_art).",".
|
||||
" inkludierte_lehre=".$this->db_add_param($this->inkludierte_lehre).
|
||||
" WHERE bisverwendung_id=".$this->db_add_param($this->bisverwendung_id, FHC_INTEGER);
|
||||
}
|
||||
|
||||
@@ -339,6 +343,7 @@ class bisverwendung extends basis_db
|
||||
$obj->hauptberuf = $row->bezeichnung;
|
||||
$obj->vertragsstunden = $row->vertragsstunden;
|
||||
$obj->dv_art = $row->dv_art;
|
||||
$obj->inkludierte_lehre = $row->inkludierte_lehre;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
@@ -394,6 +399,7 @@ class bisverwendung extends basis_db
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->vertragsstunden = $row->vertragsstunden;
|
||||
$obj->dv_art = $row->dv_art;
|
||||
$obj->inkludierte_lehre = $row->inkludierte_lehre;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
@@ -443,6 +449,7 @@ class bisverwendung extends basis_db
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->vertragsstunden = $row->vertragsstunden;
|
||||
$this->dv_art = $row->dv_art;
|
||||
$this->inkludierte_lehre = $row->inkludierte_lehre;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -494,6 +501,7 @@ class bisverwendung extends basis_db
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->vertragsstunden = $row->vertragsstunden;
|
||||
$this->dv_art = $row->dv_art;
|
||||
$this->inkludierte_lehre = $row->inkludierte_lehre;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -479,13 +479,22 @@ class moodle24_user extends basis_db
|
||||
{
|
||||
if(!isset($this->gruppenzuordnungen[$groupid]))
|
||||
{
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$response = $client->core_group_get_group_members(array($groupid));
|
||||
|
||||
if(isset($response[0]['userids']))
|
||||
try
|
||||
{
|
||||
$this->gruppenzuordnungen[$groupid]=$response[0]['userids'];
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$response = $client->core_group_get_group_members(array($groupid));
|
||||
|
||||
if(isset($response[0]['userids']))
|
||||
{
|
||||
$this->gruppenzuordnungen[$groupid]=$response[0]['userids'];
|
||||
}
|
||||
}
|
||||
catch (SoapFault $E)
|
||||
{
|
||||
$this->errormsg.="SOAP Fehler beim Laden der Gruppenzuordnung: ".$E->faultstring;
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
foreach($this->gruppenzuordnungen[$groupid] as $id)
|
||||
@@ -680,12 +689,19 @@ class moodle24_user extends basis_db
|
||||
$data->userid=$this->mdl_user_id;
|
||||
$data->courseid=$mdl_course_id;
|
||||
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$client->enrol_manual_enrol_users(array($data));
|
||||
// WS-Funktion enrol_manual_enrol_users liefert immer null zurück
|
||||
// Fehler bei der Zuordnung koennen daher nicht abgefangen werden.
|
||||
// Eventuell sollten hier nochmals die Teilnehmer des Kurses geladen werden
|
||||
// um zu pruefen ob die Zuordnung erfolgreich war.
|
||||
try
|
||||
{
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$client->enrol_manual_enrol_users(array($data));
|
||||
// WS-Funktion enrol_manual_enrol_users liefert immer null zurück
|
||||
// Fehler bei der Zuordnung koennen daher nicht abgefangen werden.
|
||||
// Eventuell sollten hier nochmals die Teilnehmer des Kurses geladen werden
|
||||
// um zu pruefen ob die Zuordnung erfolgreich war.
|
||||
}
|
||||
catch (SoapFault $E)
|
||||
{
|
||||
$this->errormsg.="SOAP Fehler beim Zuordnen der User: ".$E->faultstring.' '.(isset($E->detail)?$E->detail:'');
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -717,8 +733,16 @@ class moodle24_user extends basis_db
|
||||
|
||||
$param[]=$data;
|
||||
}
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$client->enrol_manual_enrol_users($param);
|
||||
|
||||
try
|
||||
{
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$client->enrol_manual_enrol_users($param);
|
||||
}
|
||||
catch (SoapFault $E)
|
||||
{
|
||||
$this->errormsg.="SOAP Fehler beim Zuordnen der User: ".$E->faultstring.' '.(isset($E->detail)?$E->detail:'');
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -548,6 +548,34 @@ class studienordnung extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* prüft ob die Studienordnung aktiv ist
|
||||
* @param int $studienordnung_id Die ID der Studienordnung
|
||||
* @param string $studiensemester_kurzbz Kurzbezeichnung des Studiensemesters
|
||||
* @param int $ausbildungssemester Ausbildungssemester als Zahl
|
||||
*/
|
||||
public function isAktiv($studienordnung_id)
|
||||
{
|
||||
if(!is_numeric($studienordnung_id))
|
||||
{
|
||||
$this->errormsg = 'studienordnung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'SELECT * FROM lehre.tbl_studienordnung_semester WHERE
|
||||
studienordnung_id='.$this->db_add_param($studienordnung_id).';';
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows() >= 1)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* lädt alle zugeordneten Semester einer Studienordnung
|
||||
* @param int $studienordnung_id ID der Studienordnung
|
||||
@@ -644,13 +672,13 @@ class studienordnung extends basis_db
|
||||
{
|
||||
$studiensemester = new studiensemester();
|
||||
$studiensemester->getTimestamp($studiensemester_kurzbz);
|
||||
|
||||
|
||||
$semGueltigVon = $studiensemester->begin->start;
|
||||
//$semGueltigBis = $studiensemester->ende->ende;
|
||||
|
||||
$studiensemester = new studiensemester();
|
||||
$studiensemester->getTimestamp($this->gueltigvon);
|
||||
|
||||
|
||||
$stoGueltigVon = $studiensemester->begin->start;
|
||||
|
||||
if($this->gueltigbis != null)
|
||||
@@ -719,5 +747,69 @@ class studienordnung extends basis_db
|
||||
$this->new=false;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt alle Studienordnungen zu einem Studiengang der uebergeben wird, die noch nicht aktiv sind
|
||||
* @param $studiengang_kz Kennzahl des Studiengangs
|
||||
* @param $studiensemester_kurzbz
|
||||
* @param $semester
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function loadStudienordnungSTGInaktiv($studiengang_kz)
|
||||
{
|
||||
//Pruefen ob studiengang_kz eine gueltige Zahl ist
|
||||
if(!is_numeric($studiengang_kz) || $studiengang_kz === '')
|
||||
{
|
||||
$this->errormsg = 'studiengang_kz muss eine gültige Zahl sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = 'SELECT
|
||||
*
|
||||
FROM
|
||||
lehre.tbl_studienordnung
|
||||
WHERE
|
||||
studiengang_kz='.$this->db_add_param($studiengang_kz, FHC_INTEGER, false);
|
||||
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Datenbankabfrage';
|
||||
return false;
|
||||
}
|
||||
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$obj = new studienordnung();
|
||||
|
||||
$obj->studienordnung_id = $row->studienordnung_id;
|
||||
$obj->studiengang_kz = $row->studiengang_kz;
|
||||
$obj->version = $row->version;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->ects = $row->ects;
|
||||
$obj->gueltigvon = $row->gueltigvon;
|
||||
$obj->gueltigbis = $row->gueltigbis;
|
||||
$obj->studiengangbezeichnung = $row->studiengangbezeichnung;
|
||||
$obj->studiengangbezeichnung_englisch = $row->studiengangbezeichnung_englisch;
|
||||
$obj->studiengangkurzbzlang = $row->studiengangkurzbzlang;
|
||||
$obj->akadgrad_id = $row->akadgrad_id;
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->new = false;
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
|
||||
foreach($this->result as $key => $obj)
|
||||
{
|
||||
if($this->isAktiv($obj->studienordnung_id))
|
||||
{
|
||||
unset($this->result[$key]);
|
||||
}
|
||||
}
|
||||
array_values($this->result);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
+115
-67
@@ -1,24 +1,24 @@
|
||||
<?php
|
||||
/*
|
||||
* studienplan.class.php
|
||||
*
|
||||
* Copyright 2013 fhcomplete.org
|
||||
*
|
||||
*
|
||||
* Copyright 2013 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Authors: Andreas Österreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
* Stefan Puraner <puraner@technikum-wien.at>
|
||||
@@ -255,7 +255,7 @@ class studienplan extends basis_db
|
||||
if($this->new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry='BEGIN;INSERT INTO lehre.tbl_studienplan (studienordnung_id, orgform_kurzbz,version,
|
||||
$qry='BEGIN;INSERT INTO lehre.tbl_studienplan (studienordnung_id, orgform_kurzbz,version,
|
||||
bezeichnung, regelstudiendauer, sprache, aktiv, semesterwochen, testtool_sprachwahl,
|
||||
insertamum, insertvon) VALUES ('.
|
||||
$this->db_add_param($this->studienordnung_id, FHC_INTEGER).', '.
|
||||
@@ -390,7 +390,7 @@ class studienplan extends basis_db
|
||||
$obj->studienplan_lehrveranstaltung_id_parent = $row->studienplan_lehrveranstaltung_id_parent;
|
||||
$obj->pflicht = $row->pflicht;
|
||||
$obj->koordinator = $row->koordinator;
|
||||
$obj->sort = $row->sort;
|
||||
$obj->sort = $row->sort;
|
||||
$data[]=$obj;
|
||||
}
|
||||
}
|
||||
@@ -417,7 +417,7 @@ class studienplan extends basis_db
|
||||
$obj->studienplan_lehrveranstaltung_id_parent = $this->studienplan_lehrveranstaltung_id_parent;
|
||||
$obj->pflicht = $this->pflicht;
|
||||
$obj->koordinator = $this->koordinator;
|
||||
$obj->sort = $this->sort;
|
||||
$obj->sort = $this->sort;
|
||||
$data[]=$obj;
|
||||
}
|
||||
return $data;
|
||||
@@ -440,7 +440,7 @@ class studienplan extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "SELECT 1 FROM
|
||||
$qry = "SELECT 1 FROM
|
||||
lehre.tbl_studienplan_lehrveranstaltung
|
||||
WHERE
|
||||
studienplan_id=".$this->db_add_param($studienplan_id, FHC_INTEGER).
|
||||
@@ -454,7 +454,7 @@ class studienplan extends basis_db
|
||||
if($this->db_num_rows()!=0)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
@@ -465,10 +465,10 @@ class studienplan extends basis_db
|
||||
* Speichert die Zuordnung einer Lehrveranstaltung zu einem Studienplan
|
||||
* @return true wenn ok, false im Fehlerfall
|
||||
*/
|
||||
public function saveStudienplanLehrveranstaltung()
|
||||
public function saveStudienplanLehrveranstaltung()
|
||||
{
|
||||
|
||||
if ($this->new)
|
||||
if ($this->new)
|
||||
{
|
||||
//Neuen Datensatz einfuegen
|
||||
$qry = 'BEGIN;INSERT INTO lehre.tbl_studienplan_lehrveranstaltung (studienplan_id, lehrveranstaltung_id,
|
||||
@@ -482,11 +482,11 @@ class studienplan extends basis_db
|
||||
$this->db_add_param($this->koordinator) . ', ' .
|
||||
'now(), ' .
|
||||
$this->db_add_param($this->insertvon) . ');';
|
||||
}
|
||||
else
|
||||
}
|
||||
else
|
||||
{
|
||||
//Pruefen ob studienplan_id eine gueltige Zahl ist
|
||||
if (!is_numeric($this->studienplan_lehrveranstaltung_id))
|
||||
if (!is_numeric($this->studienplan_lehrveranstaltung_id))
|
||||
{
|
||||
$this->errormsg = 'studienplan_lehrveranstaltung_id muss eine gueltige Zahl sein';
|
||||
return false;
|
||||
@@ -503,19 +503,19 @@ class studienplan extends basis_db
|
||||
' updatevon=' . $this->db_add_param($this->updatevon) . ' ' .
|
||||
' WHERE studienplan_lehrveranstaltung_id=' . $this->db_add_param($this->studienplan_lehrveranstaltung_id, FHC_INTEGER, false) . ';';
|
||||
|
||||
// Bei allen darunterliegenden Zuordnungen wird das Semester angepasst, damit beim
|
||||
// Bei allen darunterliegenden Zuordnungen wird das Semester angepasst, damit beim
|
||||
// verschieben von Modulen die darunterliegenden Eintraege korrekt sind
|
||||
$qry.='
|
||||
UPDATE lehre.tbl_studienplan_lehrveranstaltung SET semester='.$this->db_add_param($this->semester).'
|
||||
WHERE studienplan_lehrveranstaltung_id IN(
|
||||
WITH RECURSIVE stpllv(studienplan_lehrveranstaltung_id, studienplan_lehrveranstaltung_id_parent) as
|
||||
WITH RECURSIVE stpllv(studienplan_lehrveranstaltung_id, studienplan_lehrveranstaltung_id_parent) as
|
||||
(
|
||||
SELECT studienplan_lehrveranstaltung_id, studienplan_lehrveranstaltung_id_parent
|
||||
SELECT studienplan_lehrveranstaltung_id, studienplan_lehrveranstaltung_id_parent
|
||||
FROM lehre.tbl_studienplan_lehrveranstaltung
|
||||
WHERE studienplan_lehrveranstaltung_id='.$this->db_add_param($this->studienplan_lehrveranstaltung_id, FHC_INTEGER).'
|
||||
UNION ALL
|
||||
SELECT st.studienplan_lehrveranstaltung_id, st.studienplan_lehrveranstaltung_id_parent
|
||||
FROM lehre.tbl_studienplan_lehrveranstaltung st, stpllv
|
||||
FROM lehre.tbl_studienplan_lehrveranstaltung st, stpllv
|
||||
WHERE st.studienplan_lehrveranstaltung_id_parent=stpllv.studienplan_lehrveranstaltung_id
|
||||
)
|
||||
SELECT studienplan_lehrveranstaltung_id
|
||||
@@ -523,27 +523,27 @@ class studienplan extends basis_db
|
||||
GROUP BY studienplan_lehrveranstaltung_id);';
|
||||
}
|
||||
|
||||
if ($this->db_query($qry))
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
if ($this->new)
|
||||
if ($this->new)
|
||||
{
|
||||
//naechste ID aus der Sequence holen
|
||||
$qry = "SELECT currval('lehre.seq_studienplan_studienplan_lehrveranstaltung_id') as id;";
|
||||
if ($this->db_query($qry))
|
||||
if ($this->db_query($qry))
|
||||
{
|
||||
if ($row = $this->db_fetch_object())
|
||||
if ($row = $this->db_fetch_object())
|
||||
{
|
||||
$this->studienplan_lehrveranstaltung_id = $row->id;
|
||||
$this->db_query('COMMIT');
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->db_query('ROLLBACK');
|
||||
$this->errormsg = "Fehler beim Auslesen der Sequence";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->db_query('ROLLBACK');
|
||||
$this->errormsg = 'Fehler beim Auslesen der Sequence';
|
||||
@@ -551,7 +551,7 @@ class studienplan extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern des Datensatzes';
|
||||
return false;
|
||||
@@ -653,7 +653,7 @@ class studienplan extends basis_db
|
||||
return false;
|
||||
}
|
||||
|
||||
$qry = "DELETE from lehre.tbl_studienplan_lehrveranstaltung
|
||||
$qry = "DELETE from lehre.tbl_studienplan_lehrveranstaltung
|
||||
WHERE studienplan_lehrveranstaltung_id=".$this->db_add_param($studienplan_lehrveranstaltung_id, FHC_INTEGER).";";
|
||||
|
||||
if($this->db_query($qry))
|
||||
@@ -675,13 +675,13 @@ class studienplan extends basis_db
|
||||
*/
|
||||
function getStudienplan($studiengang_kz, $studiensemester_kurzbz, $ausbildungssemester, $orgform_kurzbz)
|
||||
{
|
||||
$qry = "SELECT
|
||||
$qry = "SELECT
|
||||
tbl_studienplan.studienplan_id
|
||||
FROM
|
||||
lehre.tbl_studienplan
|
||||
FROM
|
||||
lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
JOIN lehre.tbl_studienordnung_semester USING(studienordnung_id)
|
||||
WHERE
|
||||
WHERE
|
||||
tbl_studienplan.aktiv
|
||||
AND tbl_studienordnung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER)."
|
||||
AND tbl_studienordnung_semester.studiensemester_kurzbz = ".$this->db_add_param($studiensemester_kurzbz)."
|
||||
@@ -707,42 +707,42 @@ class studienplan extends basis_db
|
||||
*/
|
||||
function getStudienplaene($studiengang_kz)
|
||||
{
|
||||
$qry = "SELECT
|
||||
distinct tbl_studienplan.*
|
||||
FROM
|
||||
lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
WHERE
|
||||
tbl_studienordnung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
$qry = "SELECT
|
||||
distinct tbl_studienplan.*
|
||||
FROM
|
||||
lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
WHERE
|
||||
tbl_studienordnung.studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new studienplan();
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new studienplan();
|
||||
|
||||
$obj->studienplan_id = $row->studienplan_id;
|
||||
$obj->studienordnung_id = $row->studienordnung_id;
|
||||
$obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$obj->version = $row->version;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->regelstudiendauer = $row->regelstudiendauer;
|
||||
$obj->sprache = $row->sprache;
|
||||
$obj->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
$obj->semesterwochen = $row->semesterwochen;
|
||||
$obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl);
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->new=false;
|
||||
$obj->studienplan_id = $row->studienplan_id;
|
||||
$obj->studienordnung_id = $row->studienordnung_id;
|
||||
$obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$obj->version = $row->version;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->regelstudiendauer = $row->regelstudiendauer;
|
||||
$obj->sprache = $row->sprache;
|
||||
$obj->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
$obj->semesterwochen = $row->semesterwochen;
|
||||
$obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl);
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->new=false;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Speichert die Sortierung
|
||||
* @param type $tudienplan_lehrveranstaltung_id
|
||||
@@ -752,10 +752,10 @@ class studienplan extends basis_db
|
||||
{
|
||||
if($studienplan_lehrveranstaltung_id==NULL)
|
||||
$studienplan_lehrveranstaltung_id = $this->studienplan_lehrveranstaltung_id;
|
||||
|
||||
|
||||
if($sort==NULL)
|
||||
$sort = $this->sort;
|
||||
|
||||
|
||||
if(!(is_numeric($sort) || is_null($sort)))
|
||||
{
|
||||
$this->errormsg = "Es muss eine Zahl als Sortierungswert angegeben werden.";
|
||||
@@ -764,7 +764,7 @@ class studienplan extends basis_db
|
||||
$qry = 'UPDATE lehre.tbl_studienplan_lehrveranstaltung '
|
||||
. 'SET sort='.$this->db_add_param($sort)
|
||||
. ' WHERE studienplan_lehrveranstaltung_id='.$this->db_add_param($studienplan_lehrveranstaltung_id).';';
|
||||
|
||||
|
||||
$this->orgform_kurzbz = $qry;
|
||||
if(!$this->db_query($qry))
|
||||
{
|
||||
@@ -773,5 +773,53 @@ class studienplan extends basis_db
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Studienplaene zu denen eine Lehrveranstaltung zugeordnet ist
|
||||
*/
|
||||
public function getStudienplanLehrveranstaltung($lehrveranstaltung_id, $studiensemester_kurzbz)
|
||||
{
|
||||
$qry= "
|
||||
SELECT
|
||||
distinct tbl_studienplan.*
|
||||
FROM
|
||||
lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienplan_lehrveranstaltung USING(studienplan_id)
|
||||
WHERE
|
||||
tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id, FHC_INTEGER)."
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM lehre.tbl_studienordnung_semester
|
||||
WHERE studienordnung_id=tbl_studienplan.studienordnung_id
|
||||
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
|
||||
AND semester = tbl_studienplan_lehrveranstaltung.semester)
|
||||
ORDER BY bezeichnung";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new studienplan();
|
||||
|
||||
$obj->studienplan_id = $row->studienplan_id;
|
||||
$obj->studienordnung_id = $row->studienordnung_id;
|
||||
$obj->orgform_kurzbz = $row->orgform_kurzbz;
|
||||
$obj->version = $row->version;
|
||||
$obj->bezeichnung = $row->bezeichnung;
|
||||
$obj->regelstudiendauer = $row->regelstudiendauer;
|
||||
$obj->sprache = $row->sprache;
|
||||
$obj->aktiv = $this->db_parse_bool($row->aktiv);
|
||||
$obj->semesterwochen = $row->semesterwochen;
|
||||
$obj->testtool_sprachwahl = $this->db_parse_bool($row->testtool_sprachwahl);
|
||||
$obj->updateamum = $row->updateamum;
|
||||
$obj->updatevon = $row->updatevon;
|
||||
$obj->insertamum = $row->insertamum;
|
||||
$obj->insertvon = $row->insertvon;
|
||||
$obj->new=false;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -289,9 +289,12 @@ class studiensemester extends basis_db
|
||||
*
|
||||
* @return true wenn ok, sonst false
|
||||
*/
|
||||
public function getAll()
|
||||
public function getAll($order = null)
|
||||
{
|
||||
$qry = "SELECT * FROM public.tbl_studiensemester ORDER BY ende";
|
||||
|
||||
if($order == "desc")
|
||||
$qry .= " DESC";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
@@ -730,9 +733,9 @@ class studiensemester extends basis_db
|
||||
if(!isset($this->begin))
|
||||
$this->begin=new stdclass();
|
||||
$this->begin->start=mktime(0,0,0,mb_substr($row->start,5,2),mb_substr($row->start,8,2),mb_substr($row->start,0,4));
|
||||
if(!isset($this->ende))
|
||||
$this->ende=new stdclass();
|
||||
$this->ende->ende=mktime(0,0,0,mb_substr($row->ende,5,2),mb_substr($row->ende,8,2),mb_substr($row->ende,0,4));
|
||||
if(!isset($this->end))
|
||||
$this->end=new stdclass();
|
||||
$this->end->ende=mktime(0,0,0,mb_substr($row->ende,5,2),mb_substr($row->ende,8,2),mb_substr($row->ende,0,4));
|
||||
return true;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -1021,9 +1021,9 @@ else
|
||||
Aufdecken und Darstellen von größeren (z.B. wirtschaftlichen und sozialen) Zusammenhängen und entsprechende Diskussion</td>
|
||||
<td width="30%"><textarea name="hintergrund" value="'.$db->convert_html_chars($hintergrund).'" cols="50" rows="10"
|
||||
onKeyDown="txtcount(this.form.hintergrund,this.form.remLen3,500);" onKeyUp="txtcount(this.form.hintergrund,this.form.remLen3,500);"></textarea>
|
||||
<br>Buchstaben noch zur Verfügung<input readonly disabled type=text name=remLen3 size=3 maxlength=3 value="500" style="text-align:right"></td>\n
|
||||
<br>Buchstaben noch zur Verfügung<input readonly disabled type=text name=remLen3 size=3 maxlength=3 value="500" style="text-align:right"></td>
|
||||
<td width="10%" align="center"><input type="hidden" name="weight" id="weight3" value="0.25">
|
||||
<input type="text" name="punkte3" value="'.$db->convert_html_chars($punkte3).'" size="5" maxlength="5" id="punkte3" style="text-align:right" onkeyup="berechne()"></td>\n
|
||||
<input type="text" name="punkte3" value="'.$db->convert_html_chars($punkte3).'" size="5" maxlength="5" id="punkte3" style="text-align:right" onkeyup="berechne()"></td>
|
||||
<td width="10%" align="center">0.25</td>
|
||||
<td width="10%" align="center"><input type="text" name="punkteges3" value="'.$db->convert_html_chars($punkteges3).'" id="punkteges3" style="text-align:right" size="5" maxlength="5" readonly></td></tr>';
|
||||
}
|
||||
|
||||
@@ -670,15 +670,16 @@ function checkZeilenUmbruch()
|
||||
// Email an Studierende
|
||||
|
||||
$mailto='mailto:';
|
||||
$qry = 'SELECT
|
||||
|
||||
$qry = "SELECT
|
||||
distinct vw_lehreinheit.stg_kurzbz, vw_lehreinheit.stg_typ, vw_lehreinheit.semester,
|
||||
vw_lehreinheit.verband, vw_lehreinheit.gruppe, vw_lehreinheit.gruppe_kurzbz, tbl_gruppe.mailgrp
|
||||
COALESCE(vw_lehreinheit.verband,'') as verband, COALESCE(vw_lehreinheit.gruppe,'') as gruppe, vw_lehreinheit.gruppe_kurzbz, tbl_gruppe.mailgrp
|
||||
FROM
|
||||
campus.vw_lehreinheit
|
||||
LEFT JOIN public.tbl_gruppe USING(gruppe_kurzbz)
|
||||
WHERE
|
||||
lehrveranstaltung_id='.$db->db_add_param($lvid).'
|
||||
AND studiensemester_kurzbz='.$db->db_add_param($angezeigtes_stsem);
|
||||
lehrveranstaltung_id=".$db->db_add_param($lvid)."
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($angezeigtes_stsem);
|
||||
$nomail='';
|
||||
$variable = new variable();
|
||||
$variable->loadVariables($user);
|
||||
@@ -694,7 +695,7 @@ function checkZeilenUmbruch()
|
||||
$nomail=$row->gruppe_kurzbz.' ';
|
||||
}
|
||||
else
|
||||
$mailto.=mb_strtolower($row->gruppe_kurzbz.'@'.DOMAIN.',');
|
||||
$mailto.=mb_strtolower($row->gruppe_kurzbz.'@'.DOMAIN.$variable->variable->emailadressentrennzeichen);
|
||||
}
|
||||
else
|
||||
$mailto.=mb_strtolower($row->stg_typ.$row->stg_kurzbz.$row->semester.trim($row->verband).trim($row->gruppe).'@'.DOMAIN.$variable->variable->emailadressentrennzeichen);
|
||||
|
||||
+158
-141
@@ -38,8 +38,8 @@ require_once(dirname(__FILE__).'/studiengang.class.php');
|
||||
require_once(dirname(__FILE__).'/mitarbeiter.class.php');
|
||||
require_once(dirname(__FILE__).'/datum.class.php');
|
||||
require_once(dirname(__FILE__).'/zeitsperre.class.php');
|
||||
require_once(dirname(__FILE__).'/phrasen.class.php');
|
||||
require_once(dirname(__FILE__).'/globals.inc.php');
|
||||
require_once(dirname(__FILE__).'/phrasen.class.php');
|
||||
require_once(dirname(__FILE__).'/globals.inc.php');
|
||||
require_once(dirname(__FILE__).'/sprache.class.php');
|
||||
require_once(dirname(__FILE__).'/functions.inc.php');
|
||||
require_once(dirname(__FILE__).'/betriebsmittel.class.php');
|
||||
@@ -97,7 +97,7 @@ class wochenplan extends basis_db
|
||||
public $wochenplan;
|
||||
public $errormsg;
|
||||
public $fachbereich_kurzbz;
|
||||
|
||||
|
||||
public $raeume = array();
|
||||
|
||||
/**
|
||||
@@ -107,9 +107,9 @@ class wochenplan extends basis_db
|
||||
public function __construct($type)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this->type=$type;
|
||||
|
||||
|
||||
$this->type=$type;
|
||||
|
||||
$this->link='stpl_week.php?type='.$type;
|
||||
$this->kal_link='stpl_kalender.php?type='.$type;
|
||||
// Timezone setzten
|
||||
@@ -117,7 +117,7 @@ class wochenplan extends basis_db
|
||||
$this->datum=time();
|
||||
$this->init_stdplan();
|
||||
$this->crlf=crlf();
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -215,9 +215,9 @@ class wochenplan extends basis_db
|
||||
return false;
|
||||
}
|
||||
$this->fachbereich_kurzbz=$fachbereich_kurzbz;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
// LVA
|
||||
if($type=='lva' && $lva==NULL)
|
||||
{
|
||||
@@ -228,7 +228,7 @@ class wochenplan extends basis_db
|
||||
{
|
||||
$this->lva=$lva;
|
||||
}
|
||||
|
||||
|
||||
// Zusaetzliche Daten ermitteln
|
||||
//personendaten
|
||||
if ($this->type=='student' || $this->type=='lektor')
|
||||
@@ -252,7 +252,7 @@ class wochenplan extends basis_db
|
||||
$this->pers_nachname = $row->nachname;
|
||||
$this->pers_vorname =$row->vorname;
|
||||
$this->pers_vornamen = $row->vornamen;
|
||||
|
||||
|
||||
if ($this->type=='student')
|
||||
{
|
||||
$this->stg_kz = $row->studiengang_kz;
|
||||
@@ -261,7 +261,7 @@ class wochenplan extends basis_db
|
||||
$this->grp = $row->gruppe;
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg='User nicht gefunden';
|
||||
return false;
|
||||
@@ -295,7 +295,7 @@ class wochenplan extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($this->type=='ort' && $this->ort_kurzbz == 'all')
|
||||
{
|
||||
$sql_query="SELECT bezeichnung, ort_kurzbz, planbezeichnung, ausstattung, max_person, content_id FROM public.tbl_ort WHERE lehre AND ort_kurzbz != 'Dummy'";
|
||||
@@ -405,7 +405,7 @@ class wochenplan extends basis_db
|
||||
$this->errormsg=$this->wochenplan->errormsg;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// Stundenplandaten aufbereiten
|
||||
for($i=0;$i<$anz;$i++)
|
||||
{
|
||||
@@ -462,9 +462,9 @@ class wochenplan extends basis_db
|
||||
*/
|
||||
public function draw_header()
|
||||
{
|
||||
$sprache = getSprache();
|
||||
$p=new phrasen($sprache);
|
||||
|
||||
$sprache = getSprache();
|
||||
$p=new phrasen($sprache);
|
||||
|
||||
echo '<TABLE width="100%" border="0" cellspacing="0">'.$this->crlf;
|
||||
echo ' <TR>'.$this->crlf;
|
||||
echo ' <TD style="padding-bottom: 5px;" valign="top">'.$this->crlf;
|
||||
@@ -543,7 +543,7 @@ class wochenplan extends basis_db
|
||||
for ($i=0;$i<($num_rows_ort-1);$i++)
|
||||
{
|
||||
$row = $this->db_fetch_object(null,$i+1);
|
||||
|
||||
|
||||
if ($row->ort_kurzbz==$this->ort_kurzbz)
|
||||
$prev_ort=$this->db_fetch_object(null,$i);
|
||||
}
|
||||
@@ -616,18 +616,18 @@ class wochenplan extends basis_db
|
||||
$this->jahreskalenderjump_hoverbox($this->link);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Zeichnen der Stundenplanwoche in HTML
|
||||
*/
|
||||
public function draw_week($raumres, $user_uid='', $gruppieren=LVPLAN_LEHREINHEITEN_GRUPPIEREN)
|
||||
{
|
||||
global $tagbez;
|
||||
$sprache = getSprache();
|
||||
$spracheLoad = new sprache();
|
||||
$spracheLoad->load($sprache);
|
||||
$p=new phrasen($sprache);
|
||||
|
||||
$sprache = getSprache();
|
||||
$spracheLoad = new sprache();
|
||||
$spracheLoad->load($sprache);
|
||||
$p=new phrasen($sprache);
|
||||
|
||||
$o_datum=new datum();
|
||||
// Stundentafel abfragen
|
||||
$sql_query="SELECT stunde, beginn, ende FROM lehre.tbl_stunde ORDER BY stunde";
|
||||
@@ -635,7 +635,7 @@ class wochenplan extends basis_db
|
||||
die($this->db_last_error());
|
||||
$result_stunde = $this->db_result;
|
||||
$num_rows_stunde = $this->db_num_rows($result_stunde);
|
||||
|
||||
|
||||
// Formularbeginn wenn Lektor
|
||||
if ($raumres && $this->type=='ort')
|
||||
echo '<form name="reserve" method="post" action="stpl_week.php">'.$this->crlf;
|
||||
@@ -669,7 +669,7 @@ class wochenplan extends basis_db
|
||||
echo '<tr><td>'.$tagbez[$spracheLoad->index][$i].'<br>'.strftime("%e. %b %Y",$datum).'<br></td>'.$this->crlf; //.strftime("%A %d %B %Y",$this->datum)
|
||||
for ($k=0; $k<$num_rows_stunde; $k++)
|
||||
{
|
||||
|
||||
|
||||
$row = $this->db_fetch_object($result_stunde, $k);
|
||||
$j = $row->stunde;
|
||||
// Stunde aufbereiten
|
||||
@@ -692,7 +692,7 @@ class wochenplan extends basis_db
|
||||
$reservierung=false;
|
||||
foreach ($this->std_plan[$i][$j] as $lehrstunde)
|
||||
{
|
||||
|
||||
|
||||
$unr[]=$lehrstunde->unr;
|
||||
// Lektoren
|
||||
$lektor[]=$lehrstunde->lektor;
|
||||
@@ -700,11 +700,11 @@ class wochenplan extends basis_db
|
||||
$typ='';
|
||||
if($lehrstunde->reservierung)
|
||||
{
|
||||
$studiengang = new studiengang();
|
||||
$studiengang = new studiengang();
|
||||
$studiengang->load($lehrstunde->stg_kz);
|
||||
$typ = $studiengang->typ;
|
||||
$typ = $studiengang->typ;
|
||||
}
|
||||
|
||||
|
||||
$lvb=$typ.$lehrstunde->stg.'-'.$lehrstunde->sem;
|
||||
$stg = $lehrstunde->stg_kz;
|
||||
if ($lehrstunde->ver!=null && $lehrstunde->ver!='0' && $lehrstunde->ver!='')
|
||||
@@ -782,7 +782,7 @@ class wochenplan extends basis_db
|
||||
else
|
||||
$anm='';
|
||||
}
|
||||
|
||||
|
||||
// Blinken oder nicht ?
|
||||
if ($kollision)
|
||||
{
|
||||
@@ -869,7 +869,7 @@ class wochenplan extends basis_db
|
||||
$uEinheiten[$unrIndex]['lektor'][]=$lektor[$n];
|
||||
$uEinheiten[$unrIndex]['titel'][]=$titel_arr[$n];
|
||||
}
|
||||
|
||||
|
||||
// Ausgabe einer Stunde im Raster (HTML)
|
||||
echo ' <td nowrap valign="top">';
|
||||
// for($n=0;$n<count($uEinheiten);$n++)
|
||||
@@ -879,7 +879,7 @@ class wochenplan extends basis_db
|
||||
if (isset($uEinheit['farbe']))
|
||||
echo 'style="background-color: #'.$uEinheit['farbe'].'; margin-bottom: 3px;"';
|
||||
echo '>';
|
||||
|
||||
|
||||
// Link zu Details setzten
|
||||
echo '<A class="stpl_detail" onClick="window.open(';
|
||||
echo "'stpl_detail.php";
|
||||
@@ -955,10 +955,10 @@ class wochenplan extends basis_db
|
||||
echo '<table><tr><br>';
|
||||
echo ' <td>'.$p->t('global/titel').':</td><td><input onchange="if (this.value.length>0 && document.getElementById(\'beschreibung\').value.length<1) {document.getElementById(\'beschreibung\').value=document.getElementById(\'titel\').value;document.getElementById(\'beschreibung\').focus();};" type="text" id="titel" name="titel" size="10" maxlength="10" value="" /></td> '.$this->crlf;
|
||||
echo ' <td>'.$p->t('global/beschreibung').':</td><td colspan="6"> <input onchange="if (this.value.length<1 && document.getElementById(\'titel\').value.length>0) {alert(\'Achtung! Speichern nur mit Beschreibung moeglich!\');this.focus();};" type="text" id="beschreibung" name="beschreibung" size="20" maxlength="32" value="" /> </td>'.$this->crlf;
|
||||
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user_uid);
|
||||
|
||||
|
||||
//Pruefen ob die erweiterte Reservierungsrechte vorhanden sind
|
||||
if($rechte->isBerechtigt('lehre/reservierung', null, 'sui'))
|
||||
{
|
||||
@@ -966,31 +966,31 @@ class wochenplan extends basis_db
|
||||
//Lektor
|
||||
echo '<td>'.$p->t('lvplan/lektor').':</td>
|
||||
<td><SELECT name="user_uid">'.$this->crlf;
|
||||
|
||||
$qry = "SELECT uid, kurzbz, vorname, nachname FROM campus.vw_mitarbeiter
|
||||
|
||||
$qry = "SELECT uid, kurzbz, vorname, nachname FROM campus.vw_mitarbeiter
|
||||
WHERE aktiv=true
|
||||
ORDER BY nachname, uid";
|
||||
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
if($row->uid==$user_uid)
|
||||
$selected='selected="selected"';
|
||||
else
|
||||
else
|
||||
$selected='';
|
||||
|
||||
|
||||
echo '<OPTION value="'.$row->uid.'" '.$selected.'>'.$row->nachname.' '.$row->vorname.' - '.$row->uid.'</OPTION>'.$this->crlf;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
echo '</SELECT></td>'.$this->crlf;
|
||||
echo '</tr><tr>'.$this->crlf;
|
||||
|
||||
|
||||
//Studiengaenge Laden fuer die eine erweiterte Reservierungsberechtigung vorhanden ist
|
||||
$stg = new studiengang();
|
||||
$stg->loadArray($rechte->getStgKz('lehre/reservierung'),'typ, kurzbz',true);
|
||||
|
||||
|
||||
//Studiengang
|
||||
echo '<td>'.$p->t('global/studiengang').':</td><td> <SELECT name="studiengang_kz">'.$this->crlf;
|
||||
echo '<OPTION value="0">*</OPTION>'.$this->crlf;
|
||||
@@ -999,7 +999,7 @@ class wochenplan extends basis_db
|
||||
echo '<OPTION value="'.$row->studiengang_kz.'">'.$row->kuerzel.' ('.$row->kurzbzlang.')</OPTION>'.$this->crlf;
|
||||
}
|
||||
echo '</SELECT></td>';
|
||||
|
||||
|
||||
//Semester
|
||||
echo '<td>'.$p->t('global/semester').':</td>
|
||||
<td>
|
||||
@@ -1016,7 +1016,7 @@ class wochenplan extends basis_db
|
||||
</SELECT>
|
||||
</td>
|
||||
'.$this->crlf;
|
||||
|
||||
|
||||
//Verband
|
||||
echo '<td>'.$p->t('global/verband').':</td>
|
||||
<td>
|
||||
@@ -1031,7 +1031,7 @@ class wochenplan extends basis_db
|
||||
<OPTION value="V">V</OPTION>
|
||||
</SELECT>
|
||||
</td>'.$this->crlf;
|
||||
|
||||
|
||||
//Gruppe
|
||||
echo '<td>'.$p->t('global/gruppe').':</td>
|
||||
<td>
|
||||
@@ -1043,11 +1043,11 @@ class wochenplan extends basis_db
|
||||
<OPTION value="4">4</OPTION>
|
||||
</SELECT>
|
||||
</td>'.$this->crlf;
|
||||
|
||||
|
||||
//Spezialgruppe
|
||||
echo '<td>'.$p->t('lvplan/spezialgruppe').':</td><td><SELECT name="gruppe_kurzbz">'.$this->crlf;
|
||||
echo '<OPTION value="">*</OPTION>'.$this->crlf;
|
||||
|
||||
|
||||
//Spezialgruppen aus den Studiengaengen mit erweiterten Reservierungsberechtigung holen
|
||||
$stgs = $rechte->getStgKz('lehre/reservierung');
|
||||
$in='';
|
||||
@@ -1067,24 +1067,24 @@ class wochenplan extends basis_db
|
||||
echo '</SELECT></td>'.$this->crlf;
|
||||
echo '<td><input type="checkbox" name="check_all" onclick="toggle_checkboxes(this);" /> alle auswählen</td>'.$this->crlf;
|
||||
echo '</tr><tr>';
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
echo ' <input type="hidden" name="user_uid" value="'.$this->user_uid.'" />'.$this->crlf;
|
||||
}
|
||||
|
||||
|
||||
echo '<td>';
|
||||
echo ' <input type="submit" name="reserve" value="Reservieren" />'.$this->crlf;
|
||||
echo ' <input type="hidden" name="ort_kurzbz" value="'.$this->ort_kurzbz.'" />'.$this->crlf;
|
||||
echo ' <input type="hidden" name="datum" value="'.$this->datum.'" />'.$this->crlf;
|
||||
echo ' <input type="hidden" name="type" value="'.$this->type.'" />'.$this->crlf;
|
||||
echo '</td>';
|
||||
|
||||
|
||||
echo '</tr></table></form>';
|
||||
echo ' <a href="stpl_reserve_list.php">'.$p->t('lvplan/reservierungenLoeschen').' </a>';
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if($this->type=='ort')
|
||||
{
|
||||
@@ -1150,11 +1150,14 @@ class wochenplan extends basis_db
|
||||
kw="'.$this->kalenderwoche.'"
|
||||
align="left">KW:'.$this->kalenderwoche.'</label>
|
||||
</vbox>'.$this->crlf; //<html:br />Beginn<html:br />Ende
|
||||
$stunden_arr=array();
|
||||
for ($i=0;$i<$num_rows_stunde; $i++)
|
||||
{
|
||||
$row=$this->db_fetch_object($result_stunde,$i);
|
||||
$beginn=mb_substr($row->beginn,0,5);
|
||||
$ende=mb_substr($row->ende,0,5);
|
||||
$stunden_arr[$row->stunde]['beginn']=$beginn;
|
||||
$stunden_arr[$row->stunde]['ende']=$ende;
|
||||
$stunde=$row->stunde;
|
||||
echo '<vbox><label align="center">'.$stunde.'<html:br />
|
||||
<html:small>'.$beginn.'<html:br />
|
||||
@@ -1206,10 +1209,15 @@ class wochenplan extends basis_db
|
||||
if ($index=='')
|
||||
$index=1;
|
||||
$bgcolor=$cfgStdBgcolor[$index+3];
|
||||
|
||||
// Sonntag wie Ferien markieren
|
||||
if($i==7)
|
||||
$bgcolor='#FFFF55';
|
||||
|
||||
if ($isferien)
|
||||
{
|
||||
$bgcolor='#FFFF55';
|
||||
|
||||
|
||||
//Wenn Ferien eingetragen sind, dann die Bezeichnung im Tooltiptext anzeigen
|
||||
foreach($ferien->getFerien($datum) as $bezeichnung)
|
||||
{
|
||||
@@ -1223,7 +1231,7 @@ class wochenplan extends basis_db
|
||||
{
|
||||
echo ' tooltiptext="'.$this->convert_html_chars($tooltip).'"';
|
||||
}
|
||||
echo '
|
||||
echo '
|
||||
ondragdrop="nsDragAndDrop.drop(event,boardObserver)"
|
||||
ondragover="nsDragAndDrop.dragOver(event,boardObserver)"
|
||||
ondragenter="nsDragAndDrop.dragEnter(event,boardObserver)"
|
||||
@@ -1232,7 +1240,7 @@ class wochenplan extends basis_db
|
||||
stg_kz="'.$this->stg_kz.'" sem="'.$this->sem.'" ver="'.$this->ver.'"
|
||||
grp="'.$this->grp.'" gruppe="'.$this->gruppe_kurzbz.'"
|
||||
pers_uid="'.$this->pers_uid.'" stpltype="'.$this->type.'">';
|
||||
|
||||
|
||||
if (isset($this->std_plan[$i][$j][0]->lehrfach))
|
||||
{
|
||||
// Daten aufbereiten
|
||||
@@ -1250,7 +1258,7 @@ class wochenplan extends basis_db
|
||||
$a_unr[]=$lehrstunde->unr;
|
||||
$a_lvb[$lehrstunde->unr][]=$lehrstunde->sem.$lehrstunde->ver.$lehrstunde->grp;
|
||||
}
|
||||
|
||||
|
||||
// Unterrichtsnummer (Kollision?)
|
||||
$a_unr=array_unique($a_unr);
|
||||
$kollision+=count($a_unr);
|
||||
@@ -1259,16 +1267,16 @@ class wochenplan extends basis_db
|
||||
{
|
||||
$kollision=0;
|
||||
$studiensemester = getStudiensemesterFromDatum(date('Y-m-d',$datum));
|
||||
|
||||
|
||||
$qry = "SELECT datum, stunde, student_uid, count(student_uid) AS anzahl
|
||||
FROM (
|
||||
SELECT sub_stpl_uid.unr, sub_stpl_uid.datum, sub_stpl_uid.stunde, sub_stpl_uid.student_uid
|
||||
FROM ( SELECT stpl.unr, stpl.datum, stpl.stunde, tbl_benutzergruppe.uid AS student_uid
|
||||
FROM lehre.tbl_stundenplandev stpl
|
||||
JOIN public.tbl_benutzergruppe USING (gruppe_kurzbz)
|
||||
WHERE tbl_benutzergruppe.studiensemester_kurzbz::text = ".$this->db_add_param($studiensemester)."
|
||||
WHERE tbl_benutzergruppe.studiensemester_kurzbz::text = ".$this->db_add_param($studiensemester)."
|
||||
GROUP BY stpl.unr, stpl.datum, stpl.stunde, tbl_benutzergruppe.uid
|
||||
UNION
|
||||
UNION
|
||||
SELECT stpl.unr, stpl.datum, stpl.stunde, tbl_studentlehrverband.student_uid
|
||||
FROM lehre.tbl_stundenplandev stpl
|
||||
JOIN public.tbl_studentlehrverband ON stpl.gruppe_kurzbz IS NULL AND stpl.studiengang_kz = tbl_studentlehrverband.studiengang_kz AND stpl.semester = tbl_studentlehrverband.semester AND (stpl.verband = tbl_studentlehrverband.verband OR stpl.verband = ' '::bpchar AND stpl.verband <> tbl_studentlehrverband.verband) AND (stpl.gruppe = tbl_studentlehrverband.gruppe OR stpl.gruppe = ' '::bpchar AND stpl.gruppe <> tbl_studentlehrverband.gruppe)
|
||||
@@ -1285,9 +1293,9 @@ class wochenplan extends basis_db
|
||||
{
|
||||
// Nur die Eintraege als kollision anzeigen, die auch aktuell im Tempus sichtbar sind
|
||||
// Dazu werden die UNRs der betroffenen Studierenden zuerst ein ein Array gruppiert und danach
|
||||
// verglichen ob die angezeigte UNR dabei ist.
|
||||
// verglichen ob die angezeigte UNR dabei ist.
|
||||
// Etwas kompliziert aber performanter als wenn die betroffenen UNRs zusätzlich zum WHERE hinzugefügt werden
|
||||
|
||||
|
||||
$qry.=" AND array_agg(unr) && ARRAY[".implode('::bigint,',$a_unr)."::bigint] ";
|
||||
// ==> AND array_agg(unr) && ARRAY[123::bigint,345::bigint]
|
||||
}
|
||||
@@ -1303,11 +1311,11 @@ class wochenplan extends basis_db
|
||||
$kollisionsmeldungen[$kollision_unr][]=' Studentenkollision '.$stud_row->student_uid;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
|
||||
|
||||
//Kollisionspruefung LVB Ebene
|
||||
// Ist es bei LVB-Ansicht wirklich eine Kollision?
|
||||
if ($kollision>0 && $this->type=='verband')
|
||||
@@ -1341,7 +1349,7 @@ class wochenplan extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Kollision anzeigen?
|
||||
if ($ignore_kollision)
|
||||
$kollision=0;
|
||||
@@ -1417,7 +1425,7 @@ class wochenplan extends basis_db
|
||||
$anmerkung=htmlspecialchars($lehrstunde->anmerkung);
|
||||
$tooltip_anmerkung[]=$titel.' '.$anmerkung;
|
||||
}
|
||||
|
||||
|
||||
if(isset($raumcheck[$lehrstunde->ort]) && $raumcheck[$lehrstunde->ort]!=$lehrstunde->unr)
|
||||
{
|
||||
$kollision++;
|
||||
@@ -1465,7 +1473,7 @@ class wochenplan extends basis_db
|
||||
|
||||
// Ort
|
||||
//if ($this->type=='verband')
|
||||
|
||||
|
||||
$ort=array_unique($ort);
|
||||
sort($ort);
|
||||
$orte='';
|
||||
@@ -1485,10 +1493,10 @@ class wochenplan extends basis_db
|
||||
$updatevonam.='am ';
|
||||
foreach ($updateamum as $u)
|
||||
$updatevonam.=$u.' ';
|
||||
|
||||
|
||||
// Blinken oder nicht ?
|
||||
if (isset($kollisionsmeldungen[$unr])
|
||||
|| (isset($kollisionsmeldung) && count($kollisionsmeldungen, COUNT_RECURSIVE)==0 && $kollision>0))
|
||||
if (isset($kollisionsmeldungen[$unr])
|
||||
|| (isset($kollisionsmeldung) && count($kollisionsmeldungen, COUNT_RECURSIVE)==0 && $kollision>0))
|
||||
{
|
||||
$blink_ein='<html:blink>';// .$kollision;
|
||||
$blink_aus='</html:blink>';
|
||||
@@ -1533,7 +1541,7 @@ class wochenplan extends basis_db
|
||||
grp="'.$this->grp.'" gruppe="'.$this->gruppe_kurzbz.'"
|
||||
datum="'.date("Y-m-d",$datum).'" stunde="'.$j.'" wochentag="'.$i.'"
|
||||
pers_uid="'.$this->pers_uid.'" ort_kurzbz="'.$button_orte.'">';
|
||||
|
||||
|
||||
echo '<label align="center">'.$blink_ein;
|
||||
$count++;
|
||||
//echo $lf;
|
||||
@@ -1565,9 +1573,9 @@ class wochenplan extends basis_db
|
||||
|
||||
if(LVPLAN_ANMERKUNG_ANZEIGEN)
|
||||
echo $anmerkung;
|
||||
|
||||
|
||||
echo $blink_aus;
|
||||
|
||||
|
||||
echo '</label>';
|
||||
echo '</button>';
|
||||
}
|
||||
@@ -1576,14 +1584,14 @@ class wochenplan extends basis_db
|
||||
{
|
||||
//orte sortieren => AnzahlKollisionen ASC, Ort_kurzbz ASC
|
||||
$keys=array();
|
||||
$values=array();
|
||||
$values=array();
|
||||
foreach ($this->std_plan[$i][$j][0]->frei_orte as $key=>$value)
|
||||
{
|
||||
$keys[]=$key;
|
||||
$values[]=$value;
|
||||
}
|
||||
array_multisort($values, SORT_ASC, $keys, SORT_ASC, $this->std_plan[$i][$j][0]->frei_orte);
|
||||
|
||||
|
||||
foreach ($this->std_plan[$i][$j][0]->frei_orte as $f_ort=>$anzahl)
|
||||
{
|
||||
if($anzahl<=$max_kollision)
|
||||
@@ -1602,7 +1610,16 @@ class wochenplan extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
echo '<description class="stplweek_tagesinfo">'.date("D",$datum).'-'.$j.'</description>';
|
||||
|
||||
if(defined('TEMPUS_TAGESINFO_FORMAT'))
|
||||
$tagesinfo = TEMPUS_TAGESINFO_FORMAT;
|
||||
else
|
||||
$tagesinfo = '%t %s';
|
||||
$tagesinfo = str_replace('%t',date("D",$datum),$tagesinfo);
|
||||
$tagesinfo = str_replace('%b',$stunden_arr[$j]['beginn'],$tagesinfo);
|
||||
$tagesinfo = str_replace('%e',$stunden_arr[$j]['ende'],$tagesinfo);
|
||||
$tagesinfo = str_replace('%s',$j,$tagesinfo);
|
||||
echo '<description class="stplweek_tagesinfo">'.$tagesinfo.'</description>';
|
||||
echo '</vbox>'.$this->crlf;
|
||||
}
|
||||
echo "</row>";
|
||||
@@ -1750,8 +1767,8 @@ class wochenplan extends basis_db
|
||||
// $rtype='1=1';
|
||||
// Raeume die in Frage kommen, aufgrund der Raumtypen
|
||||
$sql_query="SELECT DISTINCT ort_kurzbz, hierarchie FROM public.tbl_ort
|
||||
JOIN public.tbl_ortraumtyp USING (ort_kurzbz) WHERE ($rtype) AND aktiv AND ort_kurzbz NOT LIKE '\\\\_%' ORDER BY hierarchie,ort_kurzbz";
|
||||
|
||||
JOIN public.tbl_ortraumtyp USING (ort_kurzbz) WHERE ($rtype) AND aktiv AND ort_kurzbz NOT LIKE '\\\\_%' ORDER BY hierarchie,ort_kurzbz";
|
||||
|
||||
if(!$this->db_query($sql_query))
|
||||
die($this->db_last_error());
|
||||
while($row = $this->db_fetch_object())
|
||||
@@ -1786,14 +1803,14 @@ class wochenplan extends basis_db
|
||||
$sql_query="SELECT DISTINCT datum, stunde, ort_kurzbz FROM $stpl_view
|
||||
WHERE datum>=".$this->db_add_param($this->datum_begin)." AND datum<".$this->db_add_param($this->datum_end)." AND unr!=".$this->db_add_param($unr);
|
||||
//echo $sql_query; NATURAL JOIN tbl_ortraumtyp AND ($rtype) "
|
||||
|
||||
|
||||
// Reservierungen beruecksichtigen
|
||||
$sql_query.=" UNION SELECT DISTINCT datum, stunde, ort_kurzbz FROM campus.tbl_reservierung
|
||||
WHERE datum>=".$this->db_add_param($this->datum_begin)." AND datum<".$this->db_add_param($this->datum_end)." ";
|
||||
|
||||
|
||||
if(!$this->db_query($sql_query))
|
||||
die($this->db_last_error());
|
||||
|
||||
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$mtag=mb_substr($row->datum, 8,2);
|
||||
@@ -1802,7 +1819,7 @@ class wochenplan extends basis_db
|
||||
$tag=date("w",mktime(12,0,0,$month,$mtag,$jahr));
|
||||
$raster[$tag][$row->stunde]->ort[]=$row->ort_kurzbz;
|
||||
}
|
||||
|
||||
|
||||
// freie Plaetze in den Stundenplan eintragen.
|
||||
for ($t=1;$t<=TAGE_PRO_WOCHE;$t++)
|
||||
{
|
||||
@@ -1815,23 +1832,23 @@ class wochenplan extends basis_db
|
||||
{
|
||||
$this->std_plan[$t][$s][0]->frei_orte[$ort]=(isset($this->std_plan[$t][$s][0]->frei_orte[$ort])?$this->std_plan[$t][$s][0]->frei_orte[$ort]:0);
|
||||
}
|
||||
|
||||
|
||||
// Besetzte Raueme eintragen
|
||||
foreach($raster[$t][$s]->ort as $ort)
|
||||
{
|
||||
if(in_array($ort, $orte))
|
||||
$this->std_plan[$t][$s][0]->frei_orte[$ort]=(isset($this->std_plan[$t][$s][0]->frei_orte[$ort])?$this->std_plan[$t][$s][0]->frei_orte[$ort]+1:1);
|
||||
}
|
||||
|
||||
|
||||
// Gruppenkollision eintragen
|
||||
if($raster[$t][$s]->kollision)
|
||||
{
|
||||
foreach($this->std_plan[$t][$s][0]->frei_orte as $ort=>$value)
|
||||
{
|
||||
$this->std_plan[$t][$s][0]->frei_orte[$ort]=(isset($this->std_plan[$t][$s][0]->frei_orte[$ort])?$this->std_plan[$t][$s][0]->frei_orte[$ort]+1:1);
|
||||
$this->std_plan[$t][$s][0]->frei_orte[$ort]=(isset($this->std_plan[$t][$s][0]->frei_orte[$ort])?$this->std_plan[$t][$s][0]->frei_orte[$ort]+1:1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Blockung beruecksichtigen
|
||||
for ($b=1;$b<$block && ($s+$block)<=($max_stunde+1);$b++)
|
||||
{
|
||||
@@ -1844,7 +1861,7 @@ class wochenplan extends basis_db
|
||||
$this->std_plan[$t][$s][0]->frei_orte[$ort]=(isset($this->std_plan[$t][$s][0]->frei_orte[$ort])?$this->std_plan[$t][$s][0]->frei_orte[$ort]+1:1);
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
// Bei Gruppenkollision kollidieren alle Raeume
|
||||
foreach($this->std_plan[$t][$s][0]->frei_orte as $ort=>$value)
|
||||
@@ -1854,7 +1871,7 @@ class wochenplan extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
// Wenn sich die Stunden mit der Blockung nicht ausgehen, dann keine Raeume anzeigen
|
||||
$this->std_plan[$t][$s][0]->frei_orte = array();
|
||||
@@ -1918,7 +1935,7 @@ class wochenplan extends basis_db
|
||||
for ($i=0;$i<$num_rows_lva;$i++)
|
||||
{
|
||||
$row=$this->db_fetch_object(null,$i);
|
||||
|
||||
|
||||
$raumtyp[$i]=$row->raumtyp;
|
||||
$raumtypalt[$i]=$row->raumtypalternativ;
|
||||
if ($row->gruppe_kurzbz!=null && $row->gruppe_kurzbz!='')
|
||||
@@ -2049,7 +2066,7 @@ class wochenplan extends basis_db
|
||||
$orte = array();
|
||||
for ($i=0;$i<$num_orte;$i++)
|
||||
{
|
||||
$row = $this->db_fetch_object(null, $i);
|
||||
$row = $this->db_fetch_object(null, $i);
|
||||
$orte[]=$row->ort_kurzbz;
|
||||
}
|
||||
|
||||
@@ -2084,14 +2101,14 @@ class wochenplan extends basis_db
|
||||
$raster[$t][$s]->kollision=false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Stundenplanabfrage bauen (Wo ist Kollision?)
|
||||
$sql_query="SELECT DISTINCT datum, stunde FROM $stpl_table
|
||||
WHERE datum>=".$this->db_add_param($datum_begin)." AND datum<".$this->db_add_param($datum_end)." AND
|
||||
($lkt $gruppen OR ($lvb) )";
|
||||
if (is_numeric($unr))
|
||||
$sql_query.=" AND unr!=".$this->db_add_param($unr);
|
||||
|
||||
|
||||
if(!$this->db_query($sql_query))
|
||||
{
|
||||
$this->errormsg = $this->db_last_error().$sql_query;
|
||||
@@ -2115,17 +2132,17 @@ class wochenplan extends basis_db
|
||||
($rtype)";
|
||||
if (is_numeric($unr))
|
||||
$sql_query.=" AND unr!=".$this->db_add_param($unr);
|
||||
|
||||
|
||||
// Reservierungen beruecksichtigen
|
||||
$sql_query.=" UNION SELECT distinct datum, stunde, ort_kurzbz FROM campus.tbl_reservierung
|
||||
WHERE datum>=".$this->db_add_param($datum_begin)." AND datum<".$this->db_add_param($datum_end);
|
||||
|
||||
|
||||
if(!$this->db_query($sql_query))
|
||||
{
|
||||
$this->errormsg = $this->db_last_error().$sql_query;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$mtag=mb_substr($row->datum, 8,2);
|
||||
@@ -2152,14 +2169,14 @@ class wochenplan extends basis_db
|
||||
foreach($orte as $ort)
|
||||
$this->std_plan[$t][$s][0]->frei_orte[$ort]=(isset($this->std_plan[$t][$s][0]->frei_orte[$ort])?$this->std_plan[$t][$s][0]->frei_orte[$ort]:0);
|
||||
}
|
||||
|
||||
|
||||
// Besetzte Orte eintragen
|
||||
foreach ($raster[$t][$s]->ort as $ort)
|
||||
{
|
||||
if(in_array($ort, $orte))
|
||||
$this->std_plan[$t][$s][0]->frei_orte[$ort]=(isset($this->std_plan[$t][$s][0]->frei_orte[$ort])?$this->std_plan[$t][$s][0]->frei_orte[$ort]+1:1);
|
||||
}
|
||||
|
||||
|
||||
//Kollision mit Gruppe
|
||||
if($raster[$t][$s]->kollision)
|
||||
{
|
||||
@@ -2172,7 +2189,7 @@ class wochenplan extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Blockung beruecksichtigen
|
||||
for ($b=1;$b<$block && ($s+$block)<=($max_stunde+1);$b++)
|
||||
{
|
||||
@@ -2239,7 +2256,7 @@ class wochenplan extends basis_db
|
||||
{
|
||||
$row = $this->db_fetch_object($this->stunde, $k);
|
||||
$j=$row->stunde; // get id of hour
|
||||
|
||||
|
||||
if (isset($this->std_plan[$i][$j][0]->lehrfach))
|
||||
{
|
||||
// Daten aufbereiten
|
||||
@@ -2253,7 +2270,7 @@ class wochenplan extends basis_db
|
||||
unset($lehrfach);
|
||||
foreach ($this->std_plan[$i][$j] as $lehrstunde)
|
||||
{
|
||||
|
||||
|
||||
$unr[]=$lehrstunde->unr;
|
||||
// Lektoren
|
||||
$lektor[]=$lehrstunde->lektor;
|
||||
@@ -2311,22 +2328,22 @@ class wochenplan extends basis_db
|
||||
|
||||
$row = $this->db_fetch_object($this->stunde, $k);
|
||||
$start_time=$row->beginn;
|
||||
|
||||
|
||||
for($idx=0;$idx<count($this->std_plan[$i][$j]);$idx++)
|
||||
{
|
||||
if(!isset($this->std_plan[$i][$j][$idx]))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Wenn Lektoren in mehreren Raeumen gleichzeitig unterrichten
|
||||
* Oder mehrere Lektoren /Gruppen im selben Raum sind werden diese
|
||||
* zu einem Eintrag zusammengruppiert.
|
||||
*
|
||||
* Zusammengruppiert werden nur Eintraege die am gleichen Tag
|
||||
*
|
||||
* Zusammengruppiert werden nur Eintraege die am gleichen Tag
|
||||
* in der gleichen Stunde stattfinden.
|
||||
*
|
||||
*
|
||||
* Es wird nur der erste Eintrag ausgegeben. Die restlichen werden uebersprungen da
|
||||
* die Lektoren, Gruppen und Raeume bereits zum Ersten Eintrag hinzugefuegt wurden.
|
||||
*/
|
||||
@@ -2335,14 +2352,14 @@ class wochenplan extends basis_db
|
||||
$gruppiert[$this->std_plan[$i][$j][$idx]->unr]--;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Unterricht der ueber mehrere Stunden geht wird nicht einzeln Exportiert,
|
||||
* sondern zusammengeblockt. (in maximal 4er Bloecke)
|
||||
*
|
||||
*
|
||||
* Es wird nur ein Eintrag geschrieben, die restlichen werden uebersprungen.
|
||||
* Vor dem Ueberspringen des Eintrages werden jedoch noch die dazu Gruppierten Eintraege
|
||||
* ermittelt und dann ebenfalls uebersprungen
|
||||
* Vor dem Ueberspringen des Eintrages werden jedoch noch die dazu Gruppierten Eintraege
|
||||
* ermittelt und dann ebenfalls uebersprungen
|
||||
*/
|
||||
$blockcontinue=false;
|
||||
if(isset($blocked[$this->std_plan[$i][$j][$idx]->unr]) && $blocked[$this->std_plan[$i][$j][$idx]->unr]>0)
|
||||
@@ -2350,12 +2367,12 @@ class wochenplan extends basis_db
|
||||
$blocked[$this->std_plan[$i][$j][$idx]->unr]--;
|
||||
$blockcontinue=true;
|
||||
}
|
||||
|
||||
|
||||
if(!$blockcontinue)
|
||||
{
|
||||
// Blockungen ueber mehrere Stunden erkennen
|
||||
if (isset($this->std_plan[$i][$j+1][$idx]) && isset($this->std_plan[$i][$j+1][$idx]->stundenplan_id)
|
||||
&& ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+1][$idx]->unr)
|
||||
&& ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+1][$idx]->unr)
|
||||
&& $this->std_plan[$i][$j][$idx]!='0' && $k<($num_rows_stunde-1)
|
||||
&& !($this->std_plan[$i][$j][$idx]->reservierung && $this->std_plan[$i][$j][$idx]->lektor!=$this->std_plan[$i][$j+1][$idx]->lektor))
|
||||
{
|
||||
@@ -2368,7 +2385,7 @@ class wochenplan extends basis_db
|
||||
$end_time=$row->ende;
|
||||
|
||||
if (isset($this->std_plan[$i][$j+2][$idx]) && isset($this->std_plan[$i][$j+2][$idx]->stundenplan_id)
|
||||
&& ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+2][$idx]->unr)
|
||||
&& ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+2][$idx]->unr)
|
||||
&& $k<($num_rows_stunde-2)
|
||||
&& !($this->std_plan[$i][$j][$idx]->reservierung && $this->std_plan[$i][$j][$idx]->lektor!=$this->std_plan[$i][$j+2][$idx]->lektor))
|
||||
{
|
||||
@@ -2378,7 +2395,7 @@ class wochenplan extends basis_db
|
||||
$end_time=$row->ende;
|
||||
|
||||
if (isset($this->std_plan[$i][$j+3][$idx]) && isset($this->std_plan[$i][$j+3][$idx]->stundenplan_id)
|
||||
&& ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+3][$idx]->unr)
|
||||
&& ($this->std_plan[$i][$j][$idx]->unr == $this->std_plan[$i][$j+3][$idx]->unr)
|
||||
&& $k<($num_rows_stunde-3)
|
||||
&& !($this->std_plan[$i][$j][$idx]->reservierung && $this->std_plan[$i][$j][$idx]->lektor!=$this->std_plan[$i][$j+3][$idx]->lektor))
|
||||
{
|
||||
@@ -2395,8 +2412,8 @@ class wochenplan extends basis_db
|
||||
$end_time=$row->ende;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//Wenn im selben Raum mehrere Lektoren sind bzw mehrere Gruppen
|
||||
//dann werden diese zusammengruppiert und als ein Eintrag angezeigt
|
||||
for($idx1=0;$idx1<count($this->std_plan[$i][$j]);$idx1++)
|
||||
@@ -2409,21 +2426,21 @@ class wochenplan extends basis_db
|
||||
$gruppiert[$this->std_plan[$i][$j][$idx]->unr]++;
|
||||
else
|
||||
$gruppiert[$this->std_plan[$i][$j][$idx]->unr]=1;
|
||||
|
||||
|
||||
//Bezeichnungen zusammenfuehren
|
||||
|
||||
|
||||
//Lektoren
|
||||
if(!mb_strstr($this->std_plan[$i][$j][$idx1]->lektor,$this->std_plan[$i][$j][$idx]->lektor))
|
||||
{
|
||||
$this->std_plan[$i][$j][$idx]->lektor.=' / '.$this->std_plan[$i][$j][$idx1]->lektor;
|
||||
}
|
||||
|
||||
|
||||
//Ort
|
||||
if(!mb_strstr($this->std_plan[$i][$j][$idx1]->ort,$this->std_plan[$i][$j][$idx]->ort))
|
||||
{
|
||||
$this->std_plan[$i][$j][$idx]->ort.=' / '.$this->std_plan[$i][$j][$idx1]->ort;
|
||||
}
|
||||
|
||||
|
||||
//Gruppen
|
||||
if(isset($lehrverband[$idx]) && isset($lehrverband[$idx1]))
|
||||
{
|
||||
@@ -2433,13 +2450,13 @@ class wochenplan extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//Geblockte Eintraege werden uebersprungen nachdem die Gruppierung ermittelt wurde
|
||||
if($blockcontinue)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
$start_date=date("d.m.Y",$this->datum);
|
||||
$end_date=$start_date;
|
||||
if(isset($lehrverband[$idx]))
|
||||
@@ -2457,12 +2474,12 @@ class wochenplan extends basis_db
|
||||
$sta = explode(":",$start_time); //sta start time array
|
||||
$eda = explode(".",$end_date); //eda end date array
|
||||
$eta = explode(":",$end_time); //eta end time array
|
||||
|
||||
//Die Zeitzone muss angegeben werden, da sonst der Google Kalender die Endzeiten nicht richtig erkennt
|
||||
|
||||
//Die Zeitzone muss angegeben werden, da sonst der Google Kalender die Endzeiten nicht richtig erkennt
|
||||
// diese wird in stpl_kalender global definiert und bei den Start und Ende Zeiten mitangegeben
|
||||
$start_date_time_ical = $sda[2].$sda[1].$sda[0].'T'.sprintf('%02s',($sta[0])).$sta[1].$sta[2]; //neu gruppieren der Startzeit und des Startdatums
|
||||
$end_date_time_ical = $eda[2].$eda[1].$eda[0].'T'.sprintf('%02s',($eta[0])).$eta[1].$eta[2]; //neu gruppieren der Startzeit und des Startdatums
|
||||
|
||||
|
||||
echo $this->crlf.'BEGIN:VEVENT'.$this->crlf
|
||||
.'UID:'.'FH'.str_replace(',',' ',$lvb.$this->std_plan[$i][$j][$idx]->ort.$this->std_plan[$i][$j][$idx]->lektor.$lehrfach[$idx].$start_date_time_ical.$this->crlf)
|
||||
.'SUMMARY:'.str_replace(',',' ',$lehrfach[$idx].' '.$this->std_plan[$i][$j][$idx]->ort.' - '.$lvb.$this->crlf)
|
||||
@@ -2479,19 +2496,19 @@ class wochenplan extends basis_db
|
||||
$sta = explode(":",$start_time); //sta start time array
|
||||
$eda = explode(".",$end_date); //eda end date array
|
||||
$eta = explode(":",$end_time); //eta end time array
|
||||
|
||||
|
||||
$start_date_time_ical = $sda[2].$sda[1].$sda[0].'T'.sprintf('%02s',($sta[0])).$sta[1].$sta[2]; //neu gruppieren der Startzeit und des Startdatums
|
||||
$end_date_time_ical = $eda[2].$eda[1].$eda[0].'T'.sprintf('%02s',($eta[0])).$eta[1].$eta[2]; //neu gruppieren der Startzeit und des Startdatums
|
||||
|
||||
|
||||
// Zeit in UTC umwandeln
|
||||
$date = new DateTime($start_date_time_ical, new DateTimeZone('Europe/Vienna'));
|
||||
$date->setTimezone(new DateTimeZone('UTC'));
|
||||
$start_date_time_ical = $date->format('Ymd\THis').'Z';
|
||||
|
||||
|
||||
$date = new DateTime($end_date_time_ical, new DateTimeZone('Europe/Vienna'));
|
||||
$date->setTimezone(new DateTimeZone('UTC'));
|
||||
$end_date_time_ical = $date->format('Ymd\THis').'Z';
|
||||
|
||||
|
||||
echo $this->crlf,'FREEBUSY: ',$start_date_time_ical,'/',$end_date_time_ical;
|
||||
}
|
||||
elseif ($target=='return')
|
||||
@@ -2500,8 +2517,8 @@ class wochenplan extends basis_db
|
||||
$sta = explode(":",$start_time); //sta start time array
|
||||
$eda = explode(".",$end_date); //eda end date array
|
||||
$eta = explode(":",$end_time); //eta end time array
|
||||
|
||||
//Die Zeitzone muss angegeben werden, da sonst der Google Kalender die Endzeiten nicht richtig erkennt
|
||||
|
||||
//Die Zeitzone muss angegeben werden, da sonst der Google Kalender die Endzeiten nicht richtig erkennt
|
||||
// diese wird in stpl_kalender global definiert und bei den Start und Ende Zeiten mitangegeben
|
||||
$start_date_time_ical = $sda[2].$sda[1].$sda[0].'T'.sprintf('%02s',($sta[0])).$sta[1].$sta[2]; //neu gruppieren der Startzeit und des Startdatums
|
||||
$end_date_time_ical = $eda[2].$eda[1].$eda[0].'T'.sprintf('%02s',($eta[0])).$eta[1].$eta[2]; //neu gruppieren der Startzeit und des Startdatums
|
||||
@@ -2513,7 +2530,7 @@ class wochenplan extends basis_db
|
||||
$UID = str_replace(',',' ',$UID);
|
||||
$Summary = str_replace(',',' ',$Summary);
|
||||
$description = str_replace(',',' ',$description);
|
||||
|
||||
|
||||
$return[]=array('UID'=>$UID,
|
||||
'unr'=>$unr,
|
||||
'Summary'=>$Summary,
|
||||
@@ -2554,7 +2571,7 @@ class wochenplan extends basis_db
|
||||
* Prueft, ob Eintraege fuer den Export zusammengruppiert werden koennen zu einer Stunde
|
||||
* Dies ist der Fall, wenn mehrere Lektoren in einem Raum unterrichten, ein Lektor mehrere
|
||||
* Raeume parallel beaufsichtigt oder mehrere Gruppen in einem Raum sind
|
||||
*
|
||||
*
|
||||
* @param $tag Tag des Unterrichts
|
||||
* @param $stunde Stunde des Unterrichts
|
||||
* @param $idx Index des ersten Eintrages
|
||||
@@ -2562,7 +2579,7 @@ class wochenplan extends basis_db
|
||||
*/
|
||||
protected function kannGruppieren($tag, $stunde, $idx, $idx1)
|
||||
{
|
||||
if(isset($this->std_plan[$tag][$stunde][$idx]) &&
|
||||
if(isset($this->std_plan[$tag][$stunde][$idx]) &&
|
||||
isset($this->std_plan[$tag][$stunde][$idx1]))
|
||||
{
|
||||
$unr1 = $this->std_plan[$tag][$stunde][$idx]->unr;
|
||||
@@ -2572,7 +2589,7 @@ class wochenplan extends basis_db
|
||||
$lektor1 = $this->std_plan[$tag][$stunde][$idx]->lektor;
|
||||
$lektor2 = $this->std_plan[$tag][$stunde][$idx1]->lektor;
|
||||
|
||||
if($unr1==$unr2 && ($ort1==$ort2 || $lektor1==$lektor2)
|
||||
if($unr1==$unr2 && ($ort1==$ort2 || $lektor1==$lektor2)
|
||||
&& !$this->std_plan[$tag][$stunde][$idx]->reservierung && !$this->std_plan[$tag][$stunde][$idx1]->reservierung)
|
||||
return true;
|
||||
else
|
||||
@@ -2580,13 +2597,13 @@ class wochenplan extends basis_db
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
protected function searchForId($id, $array)
|
||||
protected function searchForId($id, $array)
|
||||
{
|
||||
foreach ($array as $key => $val)
|
||||
foreach ($array as $key => $val)
|
||||
{
|
||||
if ($val['unr'] == $id)
|
||||
if ($val['unr'] == $id)
|
||||
{
|
||||
return $key;
|
||||
}
|
||||
@@ -2600,13 +2617,13 @@ class wochenplan extends basis_db
|
||||
*/
|
||||
protected function jahreskalenderjump_hoverbox($link)
|
||||
{
|
||||
$sprache = getSprache();
|
||||
$p=new phrasen($sprache);
|
||||
$sprache = getSprache();
|
||||
$p=new phrasen($sprache);
|
||||
$crlf=crlf();
|
||||
$datum=time();
|
||||
$woche=kalenderwoche($datum);
|
||||
$wochenmontag=montag($datum);
|
||||
|
||||
|
||||
echo '<table align="center"><tr valign="top"><td>
|
||||
<div class="hoverbox">
|
||||
<div class="preview">
|
||||
|
||||
+95
-81
@@ -23,166 +23,180 @@ require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
|
||||
class zgv extends basis_db
|
||||
{
|
||||
|
||||
public $zgv_code;
|
||||
public $zgv_bez;
|
||||
public $zgv_kurzbz;
|
||||
|
||||
public $zgvmas_code;
|
||||
public $zgvmas_bez;
|
||||
public $zgvmas_kurzbz;
|
||||
|
||||
public $zgvdoktor_code;
|
||||
public $zgvdoktor_bez;
|
||||
public $zgvdoktor_kurzbz;
|
||||
|
||||
public $result = array();
|
||||
|
||||
|
||||
public $zgv_code;
|
||||
public $zgv_bez;
|
||||
public $zgv_kurzbz;
|
||||
|
||||
public $zgvmas_code;
|
||||
public $zgvmas_bez;
|
||||
public $zgvmas_kurzbz;
|
||||
|
||||
public $zgvdoktor_code;
|
||||
public $zgvdoktor_bez;
|
||||
public $zgvdoktor_kurzbz;
|
||||
|
||||
public $bezeichnung;
|
||||
|
||||
public $result = array();
|
||||
|
||||
public function __construct($zgv_code=null)
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
|
||||
if($zgv_code!=null)
|
||||
$this->load($zgv_code);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Lädt eine zgv von tbl_zgv
|
||||
* @param $zgv_code
|
||||
* @return boolean
|
||||
* @return boolean
|
||||
*/
|
||||
public function load($zgv_code)
|
||||
{
|
||||
$qry = 'SELECT * FROM bis.tbl_zgv WHERE zgv_code = '.$this->db_add_param($zgv_code, FHC_INTEGER).';';
|
||||
|
||||
$sprache = new sprache();
|
||||
$qry = 'SELECT *,'.$sprache->getSprachQuery('bezeichnung').' FROM bis.tbl_zgv WHERE zgv_code = '.$this->db_add_param($zgv_code, FHC_INTEGER).';';
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$this->zgv_code = $row->zgv_code;
|
||||
$this->zgv_bez = $row->zgv_bez;
|
||||
$this->zgv_kurzbz = $row->zgv_kurzbz;
|
||||
|
||||
$this->zgv_code = $row->zgv_code;
|
||||
$this->zgv_bez = $row->zgv_bez;
|
||||
$this->zgv_kurzbz = $row->zgv_kurzbz;
|
||||
$this->bezeichnung=$sprache->parseSprachResult('bezeichnung',$row);
|
||||
}
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
|
||||
return false;
|
||||
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Lädt eine Master-ZGV von tbl_zgvmaster
|
||||
* @param $zgvmas_code
|
||||
* @return boolean
|
||||
* @return boolean
|
||||
*/
|
||||
public function load_mas($zgvmas_code)
|
||||
{
|
||||
$qry = 'SELECT * FROM bis.tbl_zgvmaster WHERE zgvmas_code = '.$this->db_add_param($zgvmas_code, FHC_INTEGER).';';
|
||||
|
||||
$sprache = new sprache();
|
||||
$qry = 'SELECT *,'.$sprache->getSprachQuery('bezeichnung').' FROM bis.tbl_zgvmaster WHERE zgvmas_code = '.$this->db_add_param($zgvmas_code, FHC_INTEGER).';';
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$this->zgvmas_code = $row->zgvmas_code;
|
||||
$this->zgvmas_bez = $row->zgvmas_bez;
|
||||
$this->zgvmas_kurzbz = $row->zgvmas_kurzbz;
|
||||
|
||||
$this->zgvmas_code = $row->zgvmas_code;
|
||||
$this->zgvmas_bez = $row->zgvmas_bez;
|
||||
$this->zgvmas_kurzbz = $row->zgvmas_kurzbz;
|
||||
$this->bezeichnung=$sprache->parseSprachResult('bezeichnung',$row);
|
||||
}
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
|
||||
return false;
|
||||
$this->errormsg = "Fehler bei der Abfrage aufgetreten";
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* lädt alle ZGVs von tbl_zgv
|
||||
* @return boolean
|
||||
* @return boolean
|
||||
*/
|
||||
public function getAll()
|
||||
{
|
||||
$qry ='SELECT * FROM bis.tbl_zgv;';
|
||||
|
||||
$sprache = new sprache();
|
||||
$qry ='SELECT *,'.$sprache->getSprachQuery('bezeichnung').' FROM bis.tbl_zgv;';
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$zgv = new zgv();
|
||||
$zgv->zgv_code = $row->zgv_code;
|
||||
$zgv->zgv_bez = $row->zgv_bez;
|
||||
$zgv->zgv_kurzbz = $row->zgv_kurzbz;
|
||||
|
||||
$this->result[] = $zgv;
|
||||
$zgv = new zgv();
|
||||
$zgv->zgv_code = $row->zgv_code;
|
||||
$zgv->zgv_bez = $row->zgv_bez;
|
||||
$zgv->zgv_kurzbz = $row->zgv_kurzbz;
|
||||
$zgv->bezeichnung=$sprache->parseSprachResult('bezeichnung',$row);
|
||||
|
||||
$this->result[] = $zgv;
|
||||
}
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Abfrage aufgetreten';
|
||||
return false;
|
||||
$this->errormsg = 'Fehler bei der Abfrage aufgetreten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Lädt alle Master ZGVs von tbl_zgvmaster
|
||||
* @return boolean
|
||||
* @return boolean
|
||||
*/
|
||||
public function getAllMaster()
|
||||
{
|
||||
$qry = 'SELECT * FROM bis.tbl_zgvmaster;';
|
||||
|
||||
$sprache = new sprache();
|
||||
$qry = 'SELECT *,'.$sprache->getSprachQuery('bezeichnung').' FROM bis.tbl_zgvmaster;';
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$zgv_master = new zgv();
|
||||
|
||||
$zgv_master->zgvmas_code = $row->zgvmas_code;
|
||||
$zgv_master->zgvmas_bez = $row->zgvmas_bez;
|
||||
$zgv_master->zgvmas_kurzbz = $row->zgvmas_kurzbz;
|
||||
|
||||
$this->result[] = $zgv_master;
|
||||
$zgv_master = new zgv();
|
||||
|
||||
$zgv_master->zgvmas_code = $row->zgvmas_code;
|
||||
$zgv_master->zgvmas_bez = $row->zgvmas_bez;
|
||||
$zgv_master->zgvmas_kurzbz = $row->zgvmas_kurzbz;
|
||||
$zgv_master->bezeichnung=$sprache->parseSprachResult('bezeichnung',$row);
|
||||
|
||||
$this->result[] = $zgv_master;
|
||||
}
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei der Abfrage aufgetreten';
|
||||
return false;
|
||||
$this->errormsg = 'Fehler bei der Abfrage aufgetreten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Lädt alle Doktor ZGVs von tbl_zgvdoktor
|
||||
* @return boolean
|
||||
*/
|
||||
public function getAllDoktor()
|
||||
{
|
||||
$qry="SELECT * FROM bis.tbl_zgvdoktor;";
|
||||
|
||||
$sprache = new sprache();
|
||||
$qry='SELECT *,'.$sprache->getSprachQuery('bezeichnung').' FROM bis.tbl_zgvdoktor;';
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row= $this->db_fetch_object($result))
|
||||
{
|
||||
$zgv_doktor = new zgv();
|
||||
|
||||
$zgv_doktor = new zgv();
|
||||
|
||||
$zgv_doktor->zgvdoktor_code = $row->zgvdoktor_code;
|
||||
$zgv_doktor->zgvdoktor_bez = $row->zgvdoktor_bez;
|
||||
$zgv_doktor->zgvdoktor_kurzbz = $row->zgvdoktor_kurzbz;
|
||||
|
||||
$this->result[] = $zgv_doktor;
|
||||
$zgv_doktor->zgvdoktor_bez = $row->zgvdoktor_bez;
|
||||
$zgv_doktor->zgvdoktor_kurzbz = $row->zgvdoktor_kurzbz;
|
||||
$zgv_doktor->bezeichnung=$sprache->parseSprachResult('bezeichnung',$row);
|
||||
|
||||
$this->result[] = $zgv_doktor;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->erromsg = "Fehler bei der Abfrage aufgetreten";
|
||||
return false;
|
||||
$this->erromsg = "Fehler bei der Abfrage aufgetreten";
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -35,12 +35,12 @@ require_once('../include/datum.class.php');
|
||||
|
||||
if(isset($_GET['uid']))
|
||||
$uid = $_GET['uid'];
|
||||
else
|
||||
else
|
||||
$uid = '';
|
||||
|
||||
if(isset($_GET['bisverwendung_id']) && is_numeric($_GET['bisverwendung_id']))
|
||||
$bisverwendung_id = $_GET['bisverwendung_id'];
|
||||
else
|
||||
else
|
||||
$bisverwendung_id = '';
|
||||
|
||||
$datum = new datum();
|
||||
@@ -68,10 +68,10 @@ elseif($bisverwendung_id!='')
|
||||
{
|
||||
if($verwendung_obj->load($bisverwendung_id))
|
||||
draw_row($verwendung_obj);
|
||||
else
|
||||
else
|
||||
die($verwendung_obj->errormsg);
|
||||
}
|
||||
else
|
||||
else
|
||||
die('Falsche Parameteruebergabe');
|
||||
|
||||
|
||||
@@ -79,12 +79,12 @@ else
|
||||
function draw_row($row)
|
||||
{
|
||||
global $rdf_url, $datum;
|
||||
|
||||
|
||||
if(is_bool($row->hauptberuflich))
|
||||
$hauptberuflich = $row->hauptberuflich?'Ja':'Nein';
|
||||
else
|
||||
else
|
||||
$hauptberuflich = '';
|
||||
|
||||
|
||||
echo '
|
||||
<RDF:li>
|
||||
<RDF:Description id="'.$row->bisverwendung_id.'" about="'.$rdf_url.'/'.$row->bisverwendung_id.'" >
|
||||
@@ -98,7 +98,7 @@ function draw_row($row)
|
||||
<VERWENDUNG:hauptberuflich><![CDATA['.$hauptberuflich.']]></VERWENDUNG:hauptberuflich>
|
||||
<VERWENDUNG:habilitation><![CDATA['.($row->habilitation?'Ja':'Nein').']]></VERWENDUNG:habilitation>
|
||||
<VERWENDUNG:beginn><![CDATA['.$datum->convertISODate($row->beginn).']]></VERWENDUNG:beginn>
|
||||
<VERWENDUNG:beginn_iso><![CDATA['.$row->beginn.']]></VERWENDUNG:beginn_iso>
|
||||
<VERWENDUNG:beginn_iso><![CDATA['.$row->beginn.']]></VERWENDUNG:beginn_iso>
|
||||
<VERWENDUNG:ende><![CDATA['.$datum->convertISODate($row->ende).']]></VERWENDUNG:ende>
|
||||
<VERWENDUNG:ende_iso><![CDATA['.$row->ende.']]></VERWENDUNG:ende_iso>
|
||||
<VERWENDUNG:ba1bez><![CDATA['.$row->ba1bez.']]></VERWENDUNG:ba1bez>
|
||||
@@ -112,6 +112,7 @@ function draw_row($row)
|
||||
<VERWENDUNG:insertamum><![CDATA['.$row->insertamum.']]></VERWENDUNG:insertamum>
|
||||
<VERWENDUNG:insertvon><![CDATA['.$row->insertvon.']]></VERWENDUNG:insertvon>
|
||||
<VERWENDUNG:dv_art><![CDATA['.$row->dv_art.']]></VERWENDUNG:dv_art>
|
||||
<VERWENDUNG:inkludierte_lehre><![CDATA['.$row->inkludierte_lehre.']]></VERWENDUNG:inkludierte_lehre>
|
||||
</RDF:Description>
|
||||
</RDF:li>
|
||||
';
|
||||
|
||||
@@ -71,6 +71,17 @@ foreach ($DAO_obj->lehreinheitmitarbeiter as $row)
|
||||
$nachname = $row_lkt->nachname;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$qry_verplant = "SELECT 1 FROM lehre.tbl_stundenplandev
|
||||
WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id)."
|
||||
AND mitarbeiter_uid=".$db->db_add_param($row->mitarbeiter_uid);
|
||||
|
||||
if($result_verplant = $db->db_query($qry_verplant))
|
||||
if($db->db_num_rows($result_verplant)>0)
|
||||
$verplant = true;
|
||||
else
|
||||
$verplant = false;
|
||||
?>
|
||||
<RDF:li>
|
||||
<RDF:Description id="<?php echo $row->lehreinheit_id.'/'.$row->mitarbeiter_uid; ?>" about="<?php echo $rdf_url.'/'.$row->lehreinheit_id.'/'.$row->mitarbeiter_uid; ?>" >
|
||||
@@ -85,6 +96,7 @@ foreach ($DAO_obj->lehreinheitmitarbeiter as $row)
|
||||
<LEHREINHEITMITARBEITER:faktor><![CDATA[<?php echo $row->faktor ?>]]></LEHREINHEITMITARBEITER:faktor>
|
||||
<LEHREINHEITMITARBEITER:anmerkung><![CDATA[<?php echo $row->anmerkung ?>]]></LEHREINHEITMITARBEITER:anmerkung>
|
||||
<LEHREINHEITMITARBEITER:bismelden><![CDATA[<?php echo ($row->bismelden?'Ja':'Nein') ?>]]></LEHREINHEITMITARBEITER:bismelden>
|
||||
<LEHREINHEITMITARBEITER:verplant><![CDATA[<?php echo ($verplant?'true':'false'); ?>]]></LEHREINHEITMITARBEITER:verplant>
|
||||
</RDF:Description>
|
||||
</RDF:li>
|
||||
<?php
|
||||
@@ -92,4 +104,4 @@ foreach ($DAO_obj->lehreinheitmitarbeiter as $row)
|
||||
?>
|
||||
</RDF:Seq>
|
||||
|
||||
</RDF:RDF>
|
||||
</RDF:RDF>
|
||||
|
||||
@@ -35,8 +35,9 @@ require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/studiensemester.class.php');
|
||||
|
||||
// studiensemester holen
|
||||
isset($_GET['order']) ? $order = $_GET['order'] : $order = null;
|
||||
$studiensemesterDAO=new studiensemester();
|
||||
$studiensemesterDAO->getAll();
|
||||
$studiensemesterDAO->getAll($order);
|
||||
|
||||
$rdf_url='http://www.technikum-wien.at/studiensemester';
|
||||
|
||||
|
||||
+5
-4
@@ -53,13 +53,13 @@ grid.lvaStundenplan button
|
||||
|
||||
|
||||
tree treecol {
|
||||
background-color: #FFFFCC;
|
||||
border: 1px solid black;
|
||||
background-color: #FFFFCC;
|
||||
border: 1px solid black;
|
||||
}
|
||||
|
||||
tree {
|
||||
font-size:9pt;
|
||||
font-family:Arial;
|
||||
font-family:Arial;
|
||||
}
|
||||
|
||||
box.studentDetail {
|
||||
@@ -120,7 +120,7 @@ treechildren::-moz-tree-row(lehrveranstaltung_, selected)
|
||||
}
|
||||
|
||||
|
||||
treechildren::-moz-tree-checkbox
|
||||
treechildren::-moz-tree-checkbox
|
||||
{
|
||||
/* unchecked checkbox treecells. This style MUST come before treechildren::-moz-tree-checkbox(checked) otherwise it won't take effect. */
|
||||
list-style-image: url("../skin/images/round.png");
|
||||
@@ -161,6 +161,7 @@ toolbarbutton.stplweekoverlay-toolbarbutton:hover
|
||||
{
|
||||
color: #AAAAAA;
|
||||
visibility:hidden;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
treechildren::-moz-tree-row(makeItred)
|
||||
|
||||
@@ -57,10 +57,10 @@ switch($method)
|
||||
$data['errormsg']=$studienordnung->errormsg;
|
||||
}
|
||||
break;
|
||||
case 'copyStudienordnung':
|
||||
$studienordnung_id=$_REQUEST['studienordnung_id'];
|
||||
|
||||
$studienordnung = new studienordnung();
|
||||
case 'copyStudienordnung':
|
||||
$studienordnung_id=$_REQUEST['studienordnung_id'];
|
||||
|
||||
$studienordnung = new studienordnung();
|
||||
if($studienordnung->loadStudienordnung($studienordnung_id))
|
||||
{
|
||||
// Studienordnung anlegen
|
||||
@@ -150,28 +150,28 @@ switch($method)
|
||||
}
|
||||
}
|
||||
|
||||
// Alle neuen LVRegeln nochmals durchlaufen und die parents korrekt setzen
|
||||
foreach($lvregel_ID_Array as $lvregel_id)
|
||||
{
|
||||
$lvregel_obj = new lvregel();
|
||||
if($lvregel_obj->load($lvregel_id))
|
||||
// Alle neuen LVRegeln nochmals durchlaufen und die parents korrekt setzen
|
||||
foreach($lvregel_ID_Array as $lvregel_id)
|
||||
{
|
||||
$lvregel_obj = new lvregel();
|
||||
if($lvregel_obj->load($lvregel_id))
|
||||
{
|
||||
if($lvregel_obj->lvregel_id_parent!='')
|
||||
{
|
||||
$lvregel_obj->lvregel_id_parent = $lvregel_ID_Array[$lvregel_obj->lvregel_id_parent];
|
||||
{
|
||||
$lvregel_obj->lvregel_id_parent = $lvregel_ID_Array[$lvregel_obj->lvregel_id_parent];
|
||||
$lvregel_obj->save();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// tbl_studienordnung_semester: wird nicht kopiert da es sonst dazu kommen kann, dass mehrere aktive Studienordnungen vorhanden sind
|
||||
$data['error']='false';
|
||||
// tbl_studienordnung_semester: wird nicht kopiert da es sonst dazu kommen kann, dass mehrere aktive Studienordnungen vorhanden sind
|
||||
$data['error']='false';
|
||||
$data['errormsg']='';
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['error']='true';
|
||||
$data['errormsg']=$studienplan->errormsg;
|
||||
else
|
||||
{
|
||||
$data['error']='true';
|
||||
$data['errormsg']=$studienplan->errormsg;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -179,12 +179,12 @@ switch($method)
|
||||
$data['error']='true';
|
||||
$data['errormsg']=$studienordnung->errormsg;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['error']='true';
|
||||
$data['errormsg']=$studienordnung->errormsg;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['error']='true';
|
||||
$data['errormsg']=$studienordnung->errormsg;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -14,7 +14,7 @@ $uid = get_uid();
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
if(!$rechte->isBerechtigt('lehre/studienordnung'))
|
||||
if((!$rechte->isBerechtigt('lehre/studienordnung')) && (!$rechte->isBerechtigt('lehre/studienordnungInaktiv')))
|
||||
die('Sie haben keine Berechtigung für diese Seite');
|
||||
|
||||
$method = isset($_REQUEST['method'])?$_REQUEST['method']:'';
|
||||
|
||||
+78
-5
@@ -3477,6 +3477,77 @@ if($result = $db->db_query("SELECT 1 FROM public.tbl_funktion WHERE funktion_kur
|
||||
}
|
||||
}
|
||||
|
||||
// BIS-Verwendung
|
||||
if(!@$db->db_query("SELECT inkludierte_lehre FROM bis.tbl_bisverwendung LIMIT 1"))
|
||||
{
|
||||
$qry = "ALTER TABLE bis.tbl_bisverwendung ADD COLUMN inkludierte_lehre smallint;";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>BIS-Verwendung: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>BIS-Verwendung inkludierte_lehre hinzugefuegt';
|
||||
|
||||
}
|
||||
|
||||
// Eigene Berechtigung fuer Bearbeitung inaktiver Studienordnungen
|
||||
if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz='lehre/lehrveranstaltungAnlegen' LIMIT 1"))
|
||||
{
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
$qry = "
|
||||
INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('lehre/lehrveranstaltungAnlegen','Recht zur Anlage von Lehrveranstaltungen');
|
||||
|
||||
INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('lehre/lehrveranstaltungAnlegen','assistenz','suid');
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>system.tbl_berechtigung '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' system.tbl_berechtigung: Eigene Berechtigung lehre/lehrveranstalgungAnlegen Anlage von Lehrveranstaltungen hinzugefuegt!<br>';
|
||||
}
|
||||
}
|
||||
|
||||
// Mehrsprachigkeit fuer ZGV
|
||||
if(!@$db->db_query("SELECT bezeichnung FROM bis.tbl_zgv LIMIT 1"))
|
||||
{
|
||||
$qry = "
|
||||
ALTER TABLE bis.tbl_zgv ADD COLUMN bezeichnung varchar(64)[];
|
||||
ALTER TABLE bis.tbl_zgvmaster ADD COLUMN bezeichnung varchar(64)[];
|
||||
ALTER TABLE bis.tbl_zgvdoktor ADD COLUMN bezeichnung varchar(64)[];
|
||||
|
||||
UPDATE bis.tbl_zgv SET bezeichnung[1]=zgv_bez;
|
||||
UPDATE bis.tbl_zgv SET bezeichnung[2]=zgv_bez;
|
||||
UPDATE bis.tbl_zgvmaster SET bezeichnung[1]=zgvmas_bez;
|
||||
UPDATE bis.tbl_zgvmaster SET bezeichnung[2]=zgvmas_bez;
|
||||
UPDATE bis.tbl_zgvdoktor SET bezeichnung[1]=zgvdoktor_bez;
|
||||
UPDATE bis.tbl_zgvdoktor SET bezeichnung[2]=zgvdoktor_bez;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>bis.tbl_zgv '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' Mehrsprachige Bezeichnung für ZGV, Master ZGV und Doktor ZGV hinzugefügt<br>';
|
||||
}
|
||||
|
||||
// Eigene Berechtigung fuer Anlage neuer Lehrveranstaltung
|
||||
if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berechtigung_kurzbz='lehre/studienordnungInaktiv' LIMIT 1"))
|
||||
{
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
$qry = "
|
||||
INSERT INTO system.tbl_berechtigung(berechtigung_kurzbz, beschreibung) VALUES('lehre/studienordnungInaktiv','Recht zur Bearbeitung inaktiver Studienordnungen');
|
||||
|
||||
INSERT INTO system.tbl_rolleberechtigung(berechtigung_kurzbz, rolle_kurzbz, art) VALUES('lehre/studienordnungInaktiv','assistenz','suid');
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>system.tbl_berechtigung '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo ' system.tbl_berechtigung: Eigene Berechtigung lehre/studienordnungInaktiv zur Bearbeitung von inaktiven Studienordnungen hinzugefuegt!<br>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
echo '<br><br><br>';
|
||||
|
||||
$tabellen=array(
|
||||
@@ -3489,7 +3560,7 @@ $tabellen=array(
|
||||
"bis.tbl_besqual" => array("besqualcode","besqualbez"),
|
||||
"bis.tbl_bisfunktion" => array("bisverwendung_id","studiengang_kz","sws","updateamum","updatevon","insertamum","insertvon","ext_id"),
|
||||
"bis.tbl_bisio" => array("bisio_id","mobilitaetsprogramm_code","nation_code","von","bis","zweck_code","student_uid","updateamum","updatevon","insertamum","insertvon","ext_id","ort","universitaet","lehreinheit_id"),
|
||||
"bis.tbl_bisverwendung" => array("bisverwendung_id","ba1code","ba2code","vertragsstunden","beschausmasscode","verwendung_code","mitarbeiter_uid","hauptberufcode","hauptberuflich","habilitation","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id","dv_art"),
|
||||
"bis.tbl_bisverwendung" => array("bisverwendung_id","ba1code","ba2code","vertragsstunden","beschausmasscode","verwendung_code","mitarbeiter_uid","hauptberufcode","hauptberuflich","habilitation","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id","dv_art","inkludierte_lehre"),
|
||||
"bis.tbl_bundesland" => array("bundesland_code","kurzbz","bezeichnung"),
|
||||
"bis.tbl_entwicklungsteam" => array("mitarbeiter_uid","studiengang_kz","besqualcode","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id"),
|
||||
"bis.tbl_gemeinde" => array("gemeinde_id","plz","name","ortschaftskennziffer","ortschaftsname","bulacode","bulabez","kennziffer"),
|
||||
@@ -3499,10 +3570,10 @@ $tabellen=array(
|
||||
"bis.tbl_nation" => array("nation_code","entwicklungsstand","eu","ewr","kontinent","kurztext","langtext","engltext","sperre"),
|
||||
"bis.tbl_orgform" => array("orgform_kurzbz","code","bezeichnung","rolle"),
|
||||
"bis.tbl_verwendung" => array("verwendung_code","verwendungbez"),
|
||||
"bis.tbl_zgv" => array("zgv_code","zgv_bez","zgv_kurzbz"),
|
||||
"bis.tbl_zgvmaster" => array("zgvmas_code","zgvmas_bez","zgvmas_kurzbz"),
|
||||
"bis.tbl_zgv" => array("zgv_code","zgv_bez","zgv_kurzbz","bezeichnung"),
|
||||
"bis.tbl_zgvmaster" => array("zgvmas_code","zgvmas_bez","zgvmas_kurzbz","bezeichnung"),
|
||||
"bis.tbl_zgvdoktor" => array("zgvdoktor_code", "zgvdoktor_bez", "zgvdoktor_kurzbz","bezeichnung"),
|
||||
"bis.tbl_zweck" => array("zweck_code","kurzbz","bezeichnung"),
|
||||
"bis.tbl_zgvdoktor" => array("zgvdoktor_code", "zgvdoktor_bez", "zgvdoktor_kurzbz"),
|
||||
"campus.tbl_abgabe" => array("abgabe_id","abgabedatei","abgabezeit","anmerkung"),
|
||||
"campus.tbl_anwesenheit" => array("anwesenheit_id","uid","einheiten","datum","anwesend","lehreinheit_id","anmerkung","ext_id"),
|
||||
"campus.tbl_beispiel" => array("beispiel_id","uebung_id","nummer","bezeichnung","punkte","updateamum","updatevon","insertamum","insertvon"),
|
||||
@@ -3857,9 +3928,11 @@ $berechtigungen = array(
|
||||
array('lehre/reservierung','erweiterte Reservierung inkl. Lektorauswahl, Stg, Sem und Gruppe'),
|
||||
array('lehre/reservierung:begrenzt','normale Raumreservierung im CIS'),
|
||||
array('lehre/studienordnung','Studienordnung'),
|
||||
array('lehre/studienordnungInaktiv','Studienordnung Inaktiv'),
|
||||
array('lehre/vorrueckung','Lehreinheitenvorrückung'),
|
||||
array('lv-plan','Stundenplan'),
|
||||
array('lv-plan/gruppenentfernen','Erlaut das Entfernen von Gruppen aus LVPlan vom FAS aus'),
|
||||
array('lv-plan/lektorentfernen','Erlaut das Entfernen von Lektoren aus LVPlan vom FAS aus'),
|
||||
array('mitarbeiter','FAS Mitarbeitermodul'),
|
||||
array('mitarbeiter/bankdaten','Bankdaten für Mitarbeiter und Studierende anzeigen'),
|
||||
array('mitarbeiter/personalnummer','Editieren der Personalnummer im FAS'),
|
||||
@@ -3974,7 +4047,7 @@ foreach($berechtigungen as $row)
|
||||
}
|
||||
if($neue==false)
|
||||
echo '<br>Keine neuen Berechtigungen';
|
||||
|
||||
|
||||
// ******** Pruefen ob die Webservice Berechtigungen alle gesetzt sind **********
|
||||
|
||||
echo '<h2>Webservice Berechtigungen pruefen</h2>';
|
||||
|
||||
@@ -0,0 +1,135 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
|
||||
<xsl:output method="xml" version="1.0" indent="yes" />
|
||||
|
||||
<xsl:template match="abschlusspruefung">
|
||||
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
|
||||
<fo:layout-master-set>
|
||||
<fo:simple-page-master page-height="297mm" page-width="210mm" margin="5mm 25mm 5mm 25mm" master-name="PageMaster">
|
||||
<fo:region-body margin="20mm 0mm 20mm 0mm" />
|
||||
</fo:simple-page-master>
|
||||
</fo:layout-master-set>
|
||||
<xsl:apply-templates select="pruefung" />
|
||||
</fo:root>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="pruefung">
|
||||
<fo:page-sequence master-reference="PageMaster">
|
||||
|
||||
<fo:flow flow-name="xsl-region-body">
|
||||
|
||||
<fo:block-container position="absolute" top="64mm" left="16mm" height="20mm">
|
||||
<fo:block text-align="center" line-height="30pt" font-family="arial" font-size="28pt">
|
||||
<xsl:text>Diploma</xsl:text>
|
||||
</fo:block>
|
||||
</fo:block-container>
|
||||
|
||||
<fo:block-container position="absolute" top="91mm" left="16mm" height="20mm">
|
||||
<fo:block text-align="center" line-height="14pt" font-family="arial" font-size="10pt">
|
||||
<xsl:text>Pursuant to paragraph 6 subsection 1 of the Universities of Applied Sciences Studies Act\n
|
||||
(Austrian legal reference: Fachhochschul-Studiengesetz - FHStG, BGBl. Nr. </xsl:text>
|
||||
<xsl:value-of select="bescheidbgbl1" />
|
||||
<xsl:text> idgF)\n
|
||||
the University of Applied Sciences Council (Fachhochschulkollegium) awards
|
||||
</xsl:text>
|
||||
</fo:block>
|
||||
</fo:block-container>
|
||||
|
||||
<fo:block-container position="absolute" top="112mm" left="16mm" height="10mm">
|
||||
<fo:block text-align="center" line-height="16pt" font-family="arial" font-size="16pt">
|
||||
<xsl:value-of select="anrede_engl" />
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="titelpre" />
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="vorname" />
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="vornamen" />
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="nachname" />
|
||||
<xsl:if test="string-length(titelpost)!=0">
|
||||
<xsl:text>, </xsl:text>
|
||||
<xsl:value-of select="titelpost" />
|
||||
</xsl:if>
|
||||
</fo:block>
|
||||
</fo:block-container>
|
||||
|
||||
<fo:block-container position="absolute" top="124mm" left="16mm" height="10mm">
|
||||
<fo:block text-align="center" line-height="14pt" font-family="arial" font-size="10pt">
|
||||
<xsl:text>born </xsl:text>
|
||||
<xsl:value-of select="gebdatum" />
|
||||
<xsl:text> in </xsl:text>
|
||||
<xsl:if test="string-length(gebort)!=0">
|
||||
<xsl:value-of select="gebort" />
|
||||
<xsl:text>, </xsl:text>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="geburtsnation_engl" />
|
||||
<xsl:text>, citizen of </xsl:text>
|
||||
<xsl:value-of select="staatsbuergerschaft_engl" />
|
||||
<xsl:text>,\n
|
||||
student of the university of applied sciences </xsl:text>
|
||||
<xsl:value-of select="stg_art_engl" />
|
||||
<xsl:text>'s degree program</xsl:text>
|
||||
</fo:block>
|
||||
</fo:block-container>
|
||||
|
||||
<fo:block-container position="absolute" top="139mm" left="16mm" height="10mm">
|
||||
<fo:block text-align="center" line-height="20pt" font-family="arial" font-size="16pt">
|
||||
<xsl:value-of select="stg_bezeichnung_engl" />
|
||||
</fo:block>
|
||||
<fo:block text-align="center" line-height="10pt" font-family="arial" font-size="10pt" padding-top="8pt">
|
||||
<xsl:text>(program classification number </xsl:text>
|
||||
<xsl:value-of select="studiengang_kz" />
|
||||
<xsl:text>)</xsl:text>
|
||||
</fo:block>
|
||||
</fo:block-container>
|
||||
|
||||
<fo:block-container position="absolute" top="158mm" left="16mm" height="10mm">
|
||||
<fo:block text-align="center" line-height="14pt" font-family="arial" font-size="10pt">
|
||||
<xsl:text>after successfully passing the diploma examination on </xsl:text>
|
||||
<xsl:value-of select="datum" />
|
||||
<xsl:text>\n
|
||||
at the University of Applied Sciences Technikum Wien (Fachhochschule Technikum Wien)\n
|
||||
in accordance with the directive of the Agency for Quality Assurance and Accreditation Austria dated 9.5.2012\n
|
||||
the academic degree</xsl:text>
|
||||
</fo:block>
|
||||
</fo:block-container>
|
||||
|
||||
<fo:block-container position="absolute" top="188mm" left="16mm" height="30mm">
|
||||
<fo:block text-align="center" line-height="16pt" font-family="arial" font-size="16pt">
|
||||
<xsl:value-of select="titel" />
|
||||
</fo:block>
|
||||
<fo:block text-align="center" line-height="10pt" font-family="arial" font-size="10pt" padding-top="8pt">
|
||||
<xsl:text>abbreviated</xsl:text>
|
||||
</fo:block>
|
||||
<fo:block text-align="center" line-height="16pt" font-family="arial" font-size="16pt" padding-top="13pt">
|
||||
<xsl:value-of select="akadgrad_kurzbz" />
|
||||
</fo:block>
|
||||
</fo:block-container>
|
||||
|
||||
<fo:block-container position="absolute" top="217mm" left="16mm" height="10mm">
|
||||
<fo:block text-align="center" line-height="10pt" font-family="arial" font-size="10pt">
|
||||
<xsl:text>Vienna, </xsl:text>
|
||||
<xsl:value-of select="sponsion" />
|
||||
</fo:block>
|
||||
</fo:block-container>
|
||||
|
||||
<fo:block-container position="absolute" top="227mm" left="16mm" height="10mm">
|
||||
<fo:block text-align="center" line-height="11pt" font-family="arial" font-size="10pt">
|
||||
<xsl:text>On behalf of the University of Applied Sciences Council:\n
|
||||
The Rector</xsl:text>
|
||||
</fo:block>
|
||||
</fo:block-container>
|
||||
|
||||
<fo:block-container position="absolute" top="255mm" left="16mm" height="10mm">
|
||||
<fo:block text-align="center" line-height="10pt" font-family="arial" font-size="10pt">
|
||||
<xsl:value-of select="rektor" />
|
||||
</fo:block>
|
||||
</fo:block-container>
|
||||
|
||||
</fo:flow>
|
||||
</fo:page-sequence>
|
||||
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,496 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
|
||||
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0"
|
||||
>
|
||||
|
||||
<xsl:output method="xml" version="1.0" indent="yes"/>
|
||||
<xsl:template match="studenten">
|
||||
|
||||
<office:document-content xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rpt="http://openoffice.org/2005/report" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:officeooo="http://openoffice.org/2009/office" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:css3t="http://www.w3.org/TR/css3-text/" office:version="1.2">
|
||||
<office:scripts/>
|
||||
<office:font-face-decls>
|
||||
<style:font-face style:name="Mangal2" svg:font-family="Mangal"/>
|
||||
<style:font-face style:name="Mangal" svg:font-family="Mangal" style:font-family-generic="roman"/>
|
||||
<style:font-face style:name="Liberation Serif" svg:font-family="'Liberation Serif'" style:font-family-generic="roman" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Arial" svg:font-family="Arial" style:font-adornments="Standard" style:font-family-generic="swiss" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Liberation Sans" svg:font-family="'Liberation Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Liberation Sans1" svg:font-family="'Liberation Sans'" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Mangal1" svg:font-family="Mangal" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Microsoft YaHei" svg:font-family="'Microsoft YaHei'" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="SimSun" svg:font-family="SimSun" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
<style:font-face style:name="Tahoma" svg:font-family="Tahoma" style:font-family-generic="system" style:font-pitch="variable"/>
|
||||
</office:font-face-decls>
|
||||
<office:automatic-styles>
|
||||
<style:style style:name="Tabelle1" style:family="table">
|
||||
<style:table-properties style:width="17.701cm" table:align="left"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="12.991cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.B" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="4.71cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.1" style:family="table-row">
|
||||
<style:table-row-properties style:min-row-height="1.100cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.2" style:family="table-row">
|
||||
<style:table-row-properties style:min-row-height="0.500cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A1" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding="0.097cm" fo:border="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.B1" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="bottom" fo:padding="0.097cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.A2" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" style:min-row-height="0.600cm" fo:padding="0.0cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle1.B2" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding="0.097cm" fo:border="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle2" style:family="table">
|
||||
<style:table-properties style:width="17.7cm" fo:margin-left="0cm" table:align="left"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle2.A" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="8,850cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle2.B" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="8,851cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle2.A1" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding="0.0cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3" style:family="table">
|
||||
<style:table-properties style:width="17.701cm" table:align="left"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.A" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="12.991cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.B" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="4.71cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.1" style:family="table-row">
|
||||
<style:table-row-properties style:min-row-height="1.005cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.A1" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding="0.097cm" fo:border="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.B1" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="bottom" fo:padding="0.097cm" fo:border-left="0.05pt solid #000000" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle3.A2" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding="0.097cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle4" style:family="table">
|
||||
<style:table-properties style:width="17.013cm" fo:margin-left="0cm" table:align="left"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle4.A" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="7.911cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle4.B" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="9.102cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle4.A1" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding="0.097cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle5" style:family="table">
|
||||
<style:table-properties style:width="17.701cm" table:align="left"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle5.A" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="12.991cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle5.B" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="4.71cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle5.1" style:family="table-row">
|
||||
<style:table-row-properties style:min-row-height="1.005cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle5.A1" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding="0.097cm" fo:border="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle5.B1" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="bottom" fo:padding="0.097cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle5.A2" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding="0.097cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle6" style:family="table">
|
||||
<style:table-properties style:width="17.013cm" fo:margin-left="0cm" table:align="left"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle6.A" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="7.911cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle6.B" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="9.102cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle6.A1" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding="0.097cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle7" style:family="table">
|
||||
<style:table-properties style:width="17.701cm" table:align="left"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle7.A" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="12.991cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle7.B" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="4.71cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle7.1" style:family="table-row">
|
||||
<style:table-row-properties style:min-row-height="1.005cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle7.A1" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding="0.097cm" fo:border="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle7.B1" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="bottom" fo:padding="0.097cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle7.A2" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding="0.097cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle8" style:family="table">
|
||||
<style:table-properties style:width="17.013cm" fo:margin-left="0cm" table:align="left"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle8.A" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="7.911cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle8.B" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="9.102cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle8.A1" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding="0.097cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle9" style:family="table">
|
||||
<style:table-properties style:width="17.701cm" table:align="left"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle9.A" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="12.991cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle9.B" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="4.71cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle9.1" style:family="table-row">
|
||||
<style:table-row-properties style:min-row-height="1.005cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle9.A1" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding="0.097cm" fo:border="0.05pt solid #000000"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle9.B1" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="bottom" fo:padding="0.097cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle9.A2" style:family="table-cell">
|
||||
<style:table-cell-properties style:vertical-align="middle" fo:padding="0.097cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle10" style:family="table">
|
||||
<style:table-properties style:width="17.013cm" fo:margin-left="0cm" table:align="left"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle10.A" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="7.911cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle10.B" style:family="table-column">
|
||||
<style:table-column-properties style:column-width="9.102cm"/>
|
||||
</style:style>
|
||||
<style:style style:name="Tabelle10.A1" style:family="table-cell">
|
||||
<style:table-cell-properties fo:padding="0.097cm" fo:border="none"/>
|
||||
</style:style>
|
||||
<style:style style:name="P1" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:text-properties officeooo:rsid="00094cd9" officeooo:paragraph-rsid="000a79ac" style:font-name="Arial" fo:font-size="8pt" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P2" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties>
|
||||
<style:tab-stops/>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="00094cd9" officeooo:paragraph-rsid="000a79ac" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P3" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties fo:text-align="end" style:justify-single-word="false">
|
||||
<style:tab-stops/>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="00094cd9" officeooo:paragraph-rsid="000a79ac" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P4" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false">
|
||||
<style:tab-stops/>
|
||||
</style:paragraph-properties>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="7pt" officeooo:rsid="00094cd9" officeooo:paragraph-rsid="000a79ac" style:font-size-asian="7pt" style:font-size-complex="7pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P5" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="6pt" officeooo:rsid="00094cd9" officeooo:paragraph-rsid="000a79ac" style:font-size-asian="6pt" style:font-size-complex="6pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P6" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" officeooo:rsid="00094cd9" officeooo:paragraph-rsid="000a79ac" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P7" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="10pt" officeooo:rsid="00094cd9" officeooo:paragraph-rsid="000a79ac" style:font-size-asian="10pt" style:font-size-complex="10pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P8" style:family="paragraph" style:parent-style-name="Table_20_Contents">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="10pt" officeooo:rsid="00094cd9" officeooo:paragraph-rsid="000a79ac" style:font-size-asian="10pt" style:font-size-complex="10pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="P9" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.101cm" loext:contextual-spacing="false"/>
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="14pt" officeooo:rsid="00094cd9" officeooo:paragraph-rsid="000a79ac" style:font-size-asian="14pt" style:font-size-complex="14pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="T1" style:family="text">
|
||||
<style:text-properties style:font-name="Arial" fo:font-size="8pt" style:font-size-asian="8pt" style:font-size-complex="8pt"/>
|
||||
</style:style>
|
||||
</office:automatic-styles>
|
||||
<office:body>
|
||||
<xsl:apply-templates select="student"/>
|
||||
</office:body>
|
||||
</office:document-content>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="student">
|
||||
<office:text text:use-soft-page-breaks="true" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0">
|
||||
<text:sequence-decls>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Illustration"/>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Table"/>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Text"/>
|
||||
<text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
|
||||
</text:sequence-decls>
|
||||
<text:p text:style-name="P9">Studienbestätigung Fachhochschule Technikum Wien</text:p>
|
||||
<table:table table:name="Tabelle1" table:style-name="Tabelle1">
|
||||
<table:table-column table:style-name="Tabelle1.A"/>
|
||||
<table:table-column table:style-name="Tabelle1.B"/>
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P5">Zur Vorlage an (Stelle an der die Bestätigung vorgelegt wird und deren Bezugszahl, z.B. Sozialversicherungsnr.)</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.B1" office:value-type="string">
|
||||
<text:p text:style-name="P6">Personenkennzeichen</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<table:table-row table:style-name="Tabelle1.2">
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P8">
|
||||
<xsl:value-of select="titelpre" /><xsl:text> </xsl:text><xsl:value-of select="vorname" /><xsl:text> </xsl:text><xsl:value-of select="vornamen" /><xsl:text> </xsl:text><xsl:value-of select="nachname" /><xsl:text> </xsl:text><xsl:value-of select="titelpost" />
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.B2" office:value-type="string">
|
||||
<text:p text:style-name="P7">
|
||||
<xsl:value-of select="matrikelnummer" />
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</table:table>
|
||||
<text:p text:style-name="P1" />
|
||||
<text:p text:style-name="P1">
|
||||
geboren am<xsl:text> </xsl:text><xsl:value-of select="geburtsdatum" /><xsl:text> </xsl:text>
|
||||
ist im<xsl:text> </xsl:text><xsl:value-of select="studiensemester_aktuell" /><xsl:text> </xsl:text>(Beginn <xsl:text> </xsl:text><xsl:value-of select="studienbeginn_aktuell" />)
|
||||
als a.o. Studierende(r) (Studienbeginn,<xsl:text> </xsl:text><xsl:value-of select="studiensemester_aktuell" /> Beginn<xsl:text> </xsl:text><xsl:value-of select="studienbeginn_aktuell" />)
|
||||
<text:line-break />des Lehrgangs zur Weiterbildung nach §9 FHStG idgF. 0050023 Management und Umwelt im
|
||||
<xsl:text> </xsl:text><xsl:value-of select="semester" />. Semester gemeldet.
|
||||
</text:p>
|
||||
<text:p text:style-name="P1"/>
|
||||
<table:table table:name="Tabelle2" table:style-name="Tabelle2">
|
||||
<table:table-column table:style-name="Tabelle2.A"/>
|
||||
<table:table-column table:style-name="Tabelle2.B"/>
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle2.A1" office:value-type="string">
|
||||
<text:p text:style-name="P2">Datum:<xsl:text> </xsl:text><xsl:value-of select="tagesdatum" /><xsl:text> </xsl:text>DVR: 0928381</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle2.A1" office:value-type="string">
|
||||
<text:p text:style-name="P3">Rektor:<xsl:text> </xsl:text><xsl:value-of select="rektor" /></text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</table:table>
|
||||
<text:p />
|
||||
<text:p text:style-name="P4">------------------------------------------------------------------------------------------------------------------------------------------------------------------------</text:p>
|
||||
<text:p />
|
||||
<text:p text:style-name="P9">Studienbestätigung Fachhochschule Technikum Wien</text:p>
|
||||
<table:table table:name="Tabelle1" table:style-name="Tabelle1">
|
||||
<table:table-column table:style-name="Tabelle1.A"/>
|
||||
<table:table-column table:style-name="Tabelle1.B"/>
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P5">Zur Vorlage an (Stelle an der die Bestätigung vorgelegt wird und deren Bezugszahl, z.B. Sozialversicherungsnr.)</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.B1" office:value-type="string">
|
||||
<text:p text:style-name="P6">Personenkennzeichen</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<table:table-row table:style-name="Tabelle1.2">
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P8">
|
||||
<xsl:value-of select="titelpre" /><xsl:text> </xsl:text><xsl:value-of select="vorname" /><xsl:text> </xsl:text><xsl:value-of select="vornamen" /><xsl:text> </xsl:text><xsl:value-of select="nachname" /><xsl:text> </xsl:text><xsl:value-of select="titelpost" />
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.B2" office:value-type="string">
|
||||
<text:p text:style-name="P7">
|
||||
<xsl:value-of select="matrikelnummer" />
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</table:table>
|
||||
<text:p text:style-name="P1" />
|
||||
<text:p text:style-name="P1">
|
||||
geboren am<xsl:text> </xsl:text><xsl:value-of select="geburtsdatum" /><xsl:text> </xsl:text>
|
||||
ist im<xsl:text> </xsl:text><xsl:value-of select="studiensemester_aktuell" /><xsl:text> </xsl:text>(Beginn <xsl:text> </xsl:text><xsl:value-of select="studienbeginn_aktuell" />)
|
||||
als a.o. Studierende(r) (Studienbeginn,<xsl:text> </xsl:text><xsl:value-of select="studiensemester_aktuell" /> Beginn<xsl:text> </xsl:text><xsl:value-of select="studienbeginn_aktuell" />)
|
||||
<text:line-break />des Lehrgangs zur Weiterbildung nach §9 FHStG idgF. 0050023 Management und Umwelt im
|
||||
<xsl:text> </xsl:text><xsl:value-of select="semester" />. Semester gemeldet.
|
||||
</text:p>
|
||||
<text:p text:style-name="P1"/>
|
||||
<table:table table:name="Tabelle2" table:style-name="Tabelle2">
|
||||
<table:table-column table:style-name="Tabelle2.A"/>
|
||||
<table:table-column table:style-name="Tabelle2.B"/>
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle2.A1" office:value-type="string">
|
||||
<text:p text:style-name="P2">Datum:<xsl:text> </xsl:text><xsl:value-of select="tagesdatum" /><xsl:text> </xsl:text>DVR: 0928381</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle2.A1" office:value-type="string">
|
||||
<text:p text:style-name="P3">Rektor:<xsl:text> </xsl:text><xsl:value-of select="rektor" /></text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</table:table>
|
||||
<text:p />
|
||||
<text:p text:style-name="P4">------------------------------------------------------------------------------------------------------------------------------------------------------------------------</text:p>
|
||||
<text:p />
|
||||
<text:p text:style-name="P9">Studienbestätigung Fachhochschule Technikum Wien</text:p>
|
||||
<table:table table:name="Tabelle1" table:style-name="Tabelle1">
|
||||
<table:table-column table:style-name="Tabelle1.A"/>
|
||||
<table:table-column table:style-name="Tabelle1.B"/>
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P5">Zur Vorlage an (Stelle an der die Bestätigung vorgelegt wird und deren Bezugszahl, z.B. Sozialversicherungsnr.)</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.B1" office:value-type="string">
|
||||
<text:p text:style-name="P6">Personenkennzeichen</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<table:table-row table:style-name="Tabelle1.2">
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P8">
|
||||
<xsl:value-of select="titelpre" /><xsl:text> </xsl:text><xsl:value-of select="vorname" /><xsl:text> </xsl:text><xsl:value-of select="vornamen" /><xsl:text> </xsl:text><xsl:value-of select="nachname" /><xsl:text> </xsl:text><xsl:value-of select="titelpost" />
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.B2" office:value-type="string">
|
||||
<text:p text:style-name="P7">
|
||||
<xsl:value-of select="matrikelnummer" />
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</table:table>
|
||||
<text:p text:style-name="P1" />
|
||||
<text:p text:style-name="P1">
|
||||
geboren am<xsl:text> </xsl:text><xsl:value-of select="geburtsdatum" /><xsl:text> </xsl:text>
|
||||
ist im<xsl:text> </xsl:text><xsl:value-of select="studiensemester_aktuell" /><xsl:text> </xsl:text>(Beginn <xsl:text> </xsl:text><xsl:value-of select="studienbeginn_aktuell" />)
|
||||
als a.o. Studierende(r) (Studienbeginn,<xsl:text> </xsl:text><xsl:value-of select="studiensemester_aktuell" /> Beginn<xsl:text> </xsl:text><xsl:value-of select="studienbeginn_aktuell" />)
|
||||
<text:line-break />des Lehrgangs zur Weiterbildung nach §9 FHStG idgF. 0050023 Management und Umwelt im
|
||||
<xsl:text> </xsl:text><xsl:value-of select="semester" />. Semester gemeldet.
|
||||
</text:p>
|
||||
<text:p text:style-name="P1"/>
|
||||
<table:table table:name="Tabelle2" table:style-name="Tabelle2">
|
||||
<table:table-column table:style-name="Tabelle2.A"/>
|
||||
<table:table-column table:style-name="Tabelle2.B"/>
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle2.A1" office:value-type="string">
|
||||
<text:p text:style-name="P2">Datum:<xsl:text> </xsl:text><xsl:value-of select="tagesdatum" /><xsl:text> </xsl:text>DVR: 0928381</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle2.A1" office:value-type="string">
|
||||
<text:p text:style-name="P3">Rektor:<xsl:text> </xsl:text><xsl:value-of select="rektor" /></text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</table:table>
|
||||
<text:p />
|
||||
<text:p text:style-name="P4">------------------------------------------------------------------------------------------------------------------------------------------------------------------------</text:p>
|
||||
<text:p />
|
||||
<text:p text:style-name="P9">Studienbestätigung Fachhochschule Technikum Wien</text:p>
|
||||
<table:table table:name="Tabelle1" table:style-name="Tabelle1">
|
||||
<table:table-column table:style-name="Tabelle1.A"/>
|
||||
<table:table-column table:style-name="Tabelle1.B"/>
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P5">Zur Vorlage an (Stelle an der die Bestätigung vorgelegt wird und deren Bezugszahl, z.B. Sozialversicherungsnr.)</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.B1" office:value-type="string">
|
||||
<text:p text:style-name="P6">Personenkennzeichen</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<table:table-row table:style-name="Tabelle1.2">
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P8">
|
||||
<xsl:value-of select="titelpre" /><xsl:text> </xsl:text><xsl:value-of select="vorname" /><xsl:text> </xsl:text><xsl:value-of select="vornamen" /><xsl:text> </xsl:text><xsl:value-of select="nachname" /><xsl:text> </xsl:text><xsl:value-of select="titelpost" />
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.B2" office:value-type="string">
|
||||
<text:p text:style-name="P7">
|
||||
<xsl:value-of select="matrikelnummer" />
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</table:table>
|
||||
<text:p text:style-name="P1" />
|
||||
<text:p text:style-name="P1">
|
||||
geboren am<xsl:text> </xsl:text><xsl:value-of select="geburtsdatum" /><xsl:text> </xsl:text>
|
||||
ist im<xsl:text> </xsl:text><xsl:value-of select="studiensemester_aktuell" /><xsl:text> </xsl:text>(Beginn <xsl:text> </xsl:text><xsl:value-of select="studienbeginn_aktuell" />)
|
||||
als a.o. Studierende(r) (Studienbeginn,<xsl:text> </xsl:text><xsl:value-of select="studiensemester_aktuell" /> Beginn<xsl:text> </xsl:text><xsl:value-of select="studienbeginn_aktuell" />)
|
||||
<text:line-break />des Lehrgangs zur Weiterbildung nach §9 FHStG idgF. 0050023 Management und Umwelt im
|
||||
<xsl:text> </xsl:text><xsl:value-of select="semester" />. Semester gemeldet.
|
||||
</text:p>
|
||||
<text:p text:style-name="P1"/>
|
||||
<table:table table:name="Tabelle2" table:style-name="Tabelle2">
|
||||
<table:table-column table:style-name="Tabelle2.A"/>
|
||||
<table:table-column table:style-name="Tabelle2.B"/>
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle2.A1" office:value-type="string">
|
||||
<text:p text:style-name="P2">Datum:<xsl:text> </xsl:text><xsl:value-of select="tagesdatum" /><xsl:text> </xsl:text>DVR: 0928381</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle2.A1" office:value-type="string">
|
||||
<text:p text:style-name="P3">Rektor:<xsl:text> </xsl:text><xsl:value-of select="rektor" /></text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</table:table>
|
||||
<text:p />
|
||||
<text:p text:style-name="P4">------------------------------------------------------------------------------------------------------------------------------------------------------------------------</text:p>
|
||||
<text:p />
|
||||
<text:p text:style-name="P9">Studienbestätigung Fachhochschule Technikum Wien</text:p>
|
||||
<table:table table:name="Tabelle1" table:style-name="Tabelle1">
|
||||
<table:table-column table:style-name="Tabelle1.A"/>
|
||||
<table:table-column table:style-name="Tabelle1.B"/>
|
||||
<table:table-row table:style-name="Tabelle1.1">
|
||||
<table:table-cell table:style-name="Tabelle1.A1" office:value-type="string">
|
||||
<text:p text:style-name="P5">Zur Vorlage an (Stelle an der die Bestätigung vorgelegt wird und deren Bezugszahl, z.B. Sozialversicherungsnr.)</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.B1" office:value-type="string">
|
||||
<text:p text:style-name="P6">Personenkennzeichen</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<table:table-row table:style-name="Tabelle1.2">
|
||||
<table:table-cell table:style-name="Tabelle1.A2" office:value-type="string">
|
||||
<text:p text:style-name="P8">
|
||||
<xsl:value-of select="titelpre" /><xsl:text> </xsl:text><xsl:value-of select="vorname" /><xsl:text> </xsl:text><xsl:value-of select="vornamen" /><xsl:text> </xsl:text><xsl:value-of select="nachname" /><xsl:text> </xsl:text><xsl:value-of select="titelpost" />
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle1.B2" office:value-type="string">
|
||||
<text:p text:style-name="P7">
|
||||
<xsl:value-of select="matrikelnummer" />
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</table:table>
|
||||
<text:p text:style-name="P1" />
|
||||
<text:p text:style-name="P1">
|
||||
geboren am<xsl:text> </xsl:text><xsl:value-of select="geburtsdatum" /><xsl:text> </xsl:text>
|
||||
ist im<xsl:text> </xsl:text><xsl:value-of select="studiensemester_aktuell" /><xsl:text> </xsl:text>(Beginn <xsl:text> </xsl:text><xsl:value-of select="studienbeginn_aktuell" />)
|
||||
als a.o. Studierende(r) (Studienbeginn,<xsl:text> </xsl:text><xsl:value-of select="studiensemester_aktuell" /> Beginn<xsl:text> </xsl:text><xsl:value-of select="studienbeginn_aktuell" />)
|
||||
<text:line-break />des Lehrgangs zur Weiterbildung nach §9 FHStG idgF. 0050023 Management und Umwelt im
|
||||
<xsl:text> </xsl:text><xsl:value-of select="semester" />. Semester gemeldet.
|
||||
</text:p>
|
||||
<text:p text:style-name="P1"/>
|
||||
<table:table table:name="Tabelle2" table:style-name="Tabelle2">
|
||||
<table:table-column table:style-name="Tabelle2.A"/>
|
||||
<table:table-column table:style-name="Tabelle2.B"/>
|
||||
<table:table-row>
|
||||
<table:table-cell table:style-name="Tabelle2.A1" office:value-type="string">
|
||||
<text:p text:style-name="P2">Datum:<xsl:text> </xsl:text><xsl:value-of select="tagesdatum" /><xsl:text> </xsl:text>DVR: 0928381</text:p>
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle2.A1" office:value-type="string">
|
||||
<text:p text:style-name="P3">Rektor:<xsl:text> </xsl:text><xsl:value-of select="rektor" /></text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
</table:table>
|
||||
</office:text>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
@@ -853,7 +853,7 @@ echo $outp;
|
||||
|
||||
echo '</td><td valign="top">';
|
||||
//Neu Button
|
||||
if($write_admin)
|
||||
if($write_admin || $rechte->isBerechtigt('lehre/lehrveranstaltungAnlegen',null,'suid'))
|
||||
echo '<input type="button" onclick="parent.lv_detail.location=\'lehrveranstaltung_details.php?neu=true&stg_kz='.$db->convert_html_chars($stg_kz).'&semester='.$db->convert_html_chars($semester).'\'" value="Neu"/>';
|
||||
echo '</td></tr></table>';
|
||||
|
||||
|
||||
@@ -50,9 +50,9 @@
|
||||
|
||||
if(isset($_POST["schick"]) || isset($_POST["schick_neu"]))
|
||||
{
|
||||
if(!$rechte->isBerechtigt('lehre/lehrveranstaltung',null,'sui'))
|
||||
if(!$rechte->isBerechtigt('lehre/lehrveranstaltung',null,'sui') && !$rechte->isBerechtigt('lehre/lehrveranstaltungAnlegen',null,'sui'))
|
||||
die('Sie haben keine Berechtigung fuer diese Aktion');
|
||||
|
||||
|
||||
$lv = new lehrveranstaltung();
|
||||
|
||||
if(isset($_POST["schick_neu"]))
|
||||
|
||||
@@ -0,0 +1,190 @@
|
||||
<?php
|
||||
/*
|
||||
* Copyright 2013 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||
* MA 02110-1301, USA.
|
||||
*
|
||||
*
|
||||
* Authors: Stefan Puraner <stefan.puraner@technikum-wien.at>
|
||||
*/
|
||||
header( 'Expires: -1' );
|
||||
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
|
||||
header( 'Cache-Control: no-store, no-cache, must-revalidate' );
|
||||
header( 'Pragma: no-cache' );
|
||||
header('Content-Type: text/html;charset=UTF-8');
|
||||
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/webservicerecht.class.php');
|
||||
require_once('../../include/studienordnung.class.php');
|
||||
require_once('../../include/studienplan.class.php');
|
||||
|
||||
$class = $_REQUEST['class'];
|
||||
$method = $_REQUEST['method'];
|
||||
$typ = (isset($_REQUEST['typ'])?$_REQUEST['typ']:'');
|
||||
|
||||
// die einzelnen funktionsparameter werden durchnummeriert mit 0 beginnend:
|
||||
// parameter_0=param0¶meter_1=param1¶meter_3[0]=param3arr0¶meter_3[1]=param3arr1
|
||||
$parameter=array();
|
||||
for($i=0;$i<100;$i++)
|
||||
{
|
||||
if(isset($_REQUEST['parameter_'.$i]))
|
||||
{
|
||||
if($_REQUEST['parameter_'.$i]=="true")
|
||||
$parameter[]=true;
|
||||
elseif($_REQUEST['parameter_'.$i]=="false")
|
||||
$parameter[]=false;
|
||||
elseif($_REQUEST['parameter_'.$i]=="null")
|
||||
$parameter[]=null;
|
||||
else
|
||||
$parameter[]=$_REQUEST['parameter_'.$i];
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
require_once('../../include/'.$class.'.class.php');
|
||||
|
||||
// Berechtigung pruefen
|
||||
$uid = get_uid();
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
$wsrecht = new webservicerecht();
|
||||
if(!$wsrecht->isUserAuthorized($uid, $method, $class))
|
||||
die('Sie haben keine Berechtigung fuer diesen Vorgang:'.$class.'->'.$method);
|
||||
|
||||
// Funktion aufrufen
|
||||
$obj = new $class();
|
||||
$error=false;
|
||||
|
||||
|
||||
// Bei Save Funktionen werden alle Parameter zugewiesen
|
||||
if(mb_stristr($method,'save'))
|
||||
{
|
||||
|
||||
$loaddata=json_decode($_REQUEST['loaddata'], true);
|
||||
$savedata=json_decode($_REQUEST['savedata'], true);
|
||||
if(!$rechte->isBerechtigt('lehre/studienordnung'))
|
||||
{
|
||||
if(!$rechte->isBerechtigt("lehre/studienordnungInaktiv"))
|
||||
{
|
||||
die('Sie haben keine Berechtigung fuer diesen Vorgang. Recht: lehre/studienordnung');
|
||||
}
|
||||
else
|
||||
{
|
||||
if(isset($savedata['studienplan_id']))
|
||||
{
|
||||
$studienordnung = new studienordnung();
|
||||
$studienordnung->getStudienordnungFromStudienplan($savedata['studienplan_id']);
|
||||
if($studienordnung->isAktiv($studienordnung->studienordnung_id))
|
||||
die('Sie haben keine Berechtigung fuer diesen Vorgang. Studienordnung ist aktiv.');
|
||||
}
|
||||
elseif(isset($loaddata["loadStudienordnung"]))
|
||||
{
|
||||
$studienordnung = new studienordnung();
|
||||
if($studienordnung->isAktiv($loaddata["parameter_0"]))
|
||||
die('Sie haben keine Berechtigung fuer diesen Vorgang. Studienordnung ist aktiv.');
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if(isset($loaddata['method']))
|
||||
{
|
||||
if(!$wsrecht->isUserAuthorized($uid, $loaddata['method']))
|
||||
die('keine Berechtigung');
|
||||
|
||||
// Bearbeiten
|
||||
$loadparameter=array();
|
||||
for($i=0;$i<20;$i++)
|
||||
{
|
||||
$name = 'parameter_'.$i;
|
||||
if(isset($loaddata[$name]))
|
||||
$loadparameter[]=$loaddata[$name];
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
if(!call_user_func_array(array($obj, $loaddata['method']), $loadparameter))
|
||||
{
|
||||
$error=true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Neu
|
||||
$obj->insertvon = $uid;
|
||||
$obj->insertamum = date('Y-m-d H:i:s');
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
// Attribute zuweisen zum Speichern
|
||||
foreach($savedata as $key=>$value)
|
||||
{
|
||||
$obj->$key=$value;
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif(mb_stristr($method,'delete'))
|
||||
{
|
||||
if(!$rechte->isBerechtigt("lehre/studienordnung"))
|
||||
{
|
||||
if(!$rechte->isBerechtigt("lehre/studienordnungInaktiv"))
|
||||
{
|
||||
die('Sie haben keine Berechtigung fuer diesen Vorgang. Recht: lehre/studienordnung');
|
||||
}
|
||||
else
|
||||
{
|
||||
$studienplan = new studienplan();
|
||||
$studienplan->loadStudienplanLehrveranstaltung($_REQUEST['parameter_0']);
|
||||
$studienordnung = new studienordnung();
|
||||
$studienordnung->getStudienordnungFromStudienplan($studienplan->studienplan_id);
|
||||
|
||||
if($studienordnung->isAktiv($studienordnung->studienordnung_id))
|
||||
die('Sie haben keine Berechtigung fuer diesen Vorgang. Studienordnung ist aktiv.');
|
||||
}
|
||||
}
|
||||
}
|
||||
$return = '';
|
||||
if(!$error && ($return = call_user_func_array(array($obj, $method), $parameter)))
|
||||
{
|
||||
$data['result']=$obj->cleanResult();
|
||||
$data['return']=$return;
|
||||
$data['error']='false';
|
||||
$data['errormsg']='';
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['result']='';
|
||||
$data['return']=$return;
|
||||
$data['error']='true';
|
||||
$data['errormsg']=$obj->errormsg;
|
||||
}
|
||||
|
||||
// Daten ausgeben
|
||||
if($typ=='json')
|
||||
echo json_encode($data);
|
||||
elseif($typ=='xml')
|
||||
echo array_to_xml($data);
|
||||
else
|
||||
var_dump($data);
|
||||
?>
|
||||
@@ -39,7 +39,7 @@ $rechte->getBerechtigungen($uid);
|
||||
|
||||
$method=(isset($_GET['method'])?$_GET['method']:'');
|
||||
|
||||
if(!$rechte->isBerechtigt('lehre/studienordnung'))
|
||||
if((!$rechte->isBerechtigt('lehre/studienordnung')) && (!$rechte->isBerechtigt('lehre/studienordnungInaktiv')))
|
||||
die('Sie haben keine Berechtigung für diese Seite');
|
||||
|
||||
switch($method)
|
||||
|
||||
@@ -35,7 +35,7 @@ var isLVFilterLoaded=false;
|
||||
/**
|
||||
* Error-Behandlung bei Ajax Requests
|
||||
*/
|
||||
|
||||
|
||||
function loadError(xhr, textStatus, errorThrown)
|
||||
{
|
||||
if(xhr.status==200)
|
||||
@@ -83,6 +83,11 @@ function drawHeader(text)
|
||||
*/
|
||||
function loadStudienordnung()
|
||||
{
|
||||
var method = 'loadStudienordnungSTGInaktiv';
|
||||
if(typeof initSTOs === 'undefined')
|
||||
{
|
||||
method = 'loadStudienordnungSTG';
|
||||
}
|
||||
// Ausgewaehlten Studiengang holen
|
||||
studiengang_kz = $('#studiengang').val();
|
||||
studiengang_bezeichnung = $( "#studiengang option:selected" ).text();
|
||||
@@ -103,7 +108,7 @@ function loadStudienordnung()
|
||||
data: {
|
||||
"typ": "json",
|
||||
"class": "studienordnung",
|
||||
"method": "loadStudienordnungSTG",
|
||||
"method": method,
|
||||
"parameter_0": studiengang_kz
|
||||
},
|
||||
error: loadError
|
||||
@@ -129,7 +134,7 @@ function loadStudienordnung()
|
||||
function drawStudienordnungen(data)
|
||||
{
|
||||
var obj='<a href="#Neu" onclick="neueStudienordnung();return false;">Neue Studienordnung</a><ul style="padding-left: 15px">';
|
||||
|
||||
|
||||
for(i in data)
|
||||
{
|
||||
if(data[i].studienordnung_id !== null)
|
||||
@@ -310,10 +315,10 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
|
||||
treeData.push(obj);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// DIV fuer den Tree neu anlegen damit der alte Tree vollstaendig entfernt wird
|
||||
$("#data").html("<div id='treeData'></div>");
|
||||
|
||||
|
||||
function searchChildren(element, matchingId, original)
|
||||
{
|
||||
var found = false;
|
||||
@@ -330,7 +335,7 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -357,7 +362,7 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
|
||||
"select_limit": 1,
|
||||
"select_multiple_modifier": "ctrl"
|
||||
},
|
||||
json_data: {
|
||||
json_data: {
|
||||
data: treeData // Daten an den Tree binden
|
||||
},
|
||||
crrm: {
|
||||
@@ -379,7 +384,7 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(m.o.attr("rel")==="semester")
|
||||
{
|
||||
return false;
|
||||
@@ -449,7 +454,7 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
|
||||
"Delete" : {
|
||||
"label" : "Eintrag entfernen",
|
||||
"action": function(obj){
|
||||
// Pruefen ob LVs unterhalb dieser LV haengen,
|
||||
// Pruefen ob LVs unterhalb dieser LV haengen,
|
||||
// falls ja wird das loeschen verhindert
|
||||
if(obj.children().find("li").length === 0)
|
||||
{
|
||||
@@ -467,7 +472,7 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
plugins: ["themes", "ui", "dnd", "grid", "json_data", "crrm", "types", "sort", "contextmenu"]
|
||||
@@ -482,17 +487,17 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
|
||||
// {
|
||||
// Verschieben eines Eintrages
|
||||
|
||||
// Studienplan_lehrveranstaltung_id ermitteln
|
||||
// Studienplan_lehrveranstaltung_id ermitteln
|
||||
var studienplan_lehrveranstaltung_id='';
|
||||
if(data.rslt.o[0].attributes.studienplan_lehrveranstaltung_id){
|
||||
studienplan_lehrveranstaltung_id=data.rslt.o[0].attributes.studienplan_lehrveranstaltung_id.value;
|
||||
$("#treeData").jstree.refresh();
|
||||
//$("#treeData").jstree('refresh');
|
||||
}
|
||||
|
||||
|
||||
// Aenderung speichern
|
||||
saveJsondataFromTree(data.rslt.o[0].id, studienplan_id, studienplan_lehrveranstaltung_id);
|
||||
|
||||
// ECTS Summen neu berechnen
|
||||
// ECTS Summen neu berechnen
|
||||
var root = data.inst.get_container_ul();
|
||||
var nodes = root[0].childNodes;
|
||||
for(var i=0; i<nodes.length; i++)
|
||||
@@ -509,7 +514,7 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
|
||||
}).bind("loaded.jstree", function(event, data)
|
||||
{
|
||||
// Wenn der Tree geladen wird, die ECTS Summen der einzelnen Semester berechnen
|
||||
|
||||
|
||||
var root = data.inst.get_container_ul();
|
||||
var nodes = root[0].childNodes;
|
||||
for(var i=0; i<nodes.length; i++)
|
||||
@@ -517,7 +522,7 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
|
||||
if(nodes[i].getAttribute("rel") === "semester"){
|
||||
writeEctsSum(nodes[i]);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
writeOverallSum(nodes);
|
||||
}).bind("open_node.jstree", function(event, data)
|
||||
@@ -547,7 +552,7 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
|
||||
lvid = lvid.substring(5);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Lehrveranstaltungsdetails laden
|
||||
if(data.rslt.obj.attr("rel") !== "semester")
|
||||
@@ -558,7 +563,7 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
|
||||
{
|
||||
$("#tab-lehrveranstaltungdetail").html("<p>Klicken Sie auf eine Lehrveranstaltung um die Details anzuzeigen</p>");
|
||||
}
|
||||
|
||||
|
||||
// Regeln laden
|
||||
if(data.rslt.obj.attr("rel") !== "semester")
|
||||
{
|
||||
@@ -569,7 +574,7 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
|
||||
{
|
||||
$("#tab-regel").html("<p>Klicken Sie auf eine Lehrveranstaltung um die Regeln anzuzeigen</p>");
|
||||
}
|
||||
|
||||
|
||||
// Kompatibilitaet laden
|
||||
if(data.rslt.obj.attr("rel") !== "semester")
|
||||
{
|
||||
@@ -580,7 +585,7 @@ function loadLehrveranstaltungSTPL(studienplan_id, bezeichnung, max_semester)
|
||||
{
|
||||
$("#tab-kompatibel").html("<p>Klicken Sie auf eine Lehrveranstaltung um die kompatiblen Lehrveranstaltungen anzuzeigen</p>");
|
||||
}
|
||||
|
||||
|
||||
// Sortierung laden
|
||||
if(data.rslt.obj.attr("rel") !== "semester")
|
||||
{
|
||||
@@ -661,7 +666,7 @@ function LoadLVDetails(lvid, stpllvid)
|
||||
html+="<br>LV-Semester: "+ClearNull(lvdata.semester);
|
||||
html+="<br><br>LVID: "+ClearNull(lvdata.lehrveranstaltung_id)+" / StgKz: "+ClearNull(lvdata.studiengang_kz);
|
||||
$("#tab-lehrveranstaltungdetail").html(html);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -694,8 +699,8 @@ function loadLVKompatibilitaet(lvid)
|
||||
html = html+'<br><br><a href="lehrveranstaltung_kompatibel.php?lehrveranstaltung_id='+lvid+'&type=edit" target="_blank">kompatible Lehrveranstaltungen hinzufügen</a>';
|
||||
}
|
||||
$("#tab-kompatibel").html(html);
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
}
|
||||
/*
|
||||
* lädt die Sortierung einer Lehrveranstaltung innerhalb eines Studienplans
|
||||
@@ -740,7 +745,7 @@ function saveSortierung(stpllvid)
|
||||
"sort": sort
|
||||
};
|
||||
$.ajax(
|
||||
{
|
||||
{
|
||||
dataType: "json",
|
||||
url: "../../soap/fhcomplete.php",
|
||||
type: "POST",
|
||||
@@ -798,14 +803,14 @@ function editStudienplan(studienplan_id)
|
||||
}
|
||||
|
||||
/*
|
||||
* Funktion zum Laden des Baumes der
|
||||
* Funktion zum Laden des Baumes der
|
||||
* gefilterten LVs
|
||||
* */
|
||||
function loadFilteredLehrveranstaltungen()
|
||||
{
|
||||
if($("#oeDropdown option:selected").val() === "")
|
||||
{
|
||||
$.ajax(
|
||||
$.ajax(
|
||||
{
|
||||
dataType: "json",
|
||||
url: "../../soap/fhcomplete.php",
|
||||
@@ -873,8 +878,8 @@ function showLVTree(data)
|
||||
if($("#lvListe").length === 0)
|
||||
{
|
||||
$("#filteredLVs").html("<h3></h3><div id='lvListe'></div>");
|
||||
}
|
||||
else
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#filteredLVs").html("<h3>Daten werden geladen...</h3><div id='lvListe'></div>");
|
||||
}
|
||||
@@ -883,8 +888,8 @@ function showLVTree(data)
|
||||
"select_limit": 1,
|
||||
"select_multiple_modifier": "ctrl"
|
||||
},
|
||||
|
||||
json_data: {
|
||||
|
||||
json_data: {
|
||||
data: TreeData,
|
||||
progressive_render : true
|
||||
},
|
||||
@@ -925,7 +930,7 @@ function showLVTree(data)
|
||||
resizable: true
|
||||
},
|
||||
plugins: ["themes", "ui", "dnd", "grid", "json_data", "crrm", "types", "sort"]
|
||||
}).bind("loaded.jstree", function(event, data)
|
||||
}).bind("loaded.jstree", function(event, data)
|
||||
{
|
||||
$("#loadingGif").remove();
|
||||
$("h3:contains('Daten werden geladen...')").remove();
|
||||
@@ -936,13 +941,13 @@ function showLVTree(data)
|
||||
{
|
||||
// Bei einem Klick auf eine LV werden die Details geladen
|
||||
lvid = data.rslt.obj.attr("lvID");
|
||||
|
||||
|
||||
|
||||
|
||||
LoadLVDetails(lvid, null);
|
||||
|
||||
|
||||
// Regeln laden
|
||||
$("#tab-regel").html("<p>Regeln werden nur angezeigt wenn die LV im Studienplan hängt</p>");
|
||||
|
||||
|
||||
// Kompatibilitaet laden
|
||||
if(lvid!==undefined)
|
||||
loadLVKompatibilitaet(lvid);
|
||||
@@ -954,17 +959,17 @@ function showLVTree(data)
|
||||
studienplan_lehrveranstaltung_id=data.rslt.o[0].attributes.studienplan_lehrveranstaltung_id.value;
|
||||
$("#treeData").jstree.refresh();
|
||||
}
|
||||
|
||||
|
||||
// Aenderung speichern
|
||||
saveJsondataFromTree(data.rslt.o[0].id, studienplan_id, studienplan_lehrveranstaltung_id);
|
||||
|
||||
// ECTS Summen neu berechnen
|
||||
|
||||
// ECTS Summen neu berechnen
|
||||
|
||||
hideAllTreeColumns();
|
||||
writeOverallSum(nodes);
|
||||
});
|
||||
}
|
||||
else
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#filteredLVs .jstree-grid-wrapper").remove();
|
||||
if($("#lvListe").length !== 0)
|
||||
@@ -1052,6 +1057,10 @@ function loadSemester()
|
||||
}
|
||||
html+="</select>";
|
||||
$("#semesterListe").html(html);
|
||||
if($("#neueLV").length === 0)
|
||||
$("#lehrveranstaltung").append("<div id='neueLV'></div>");
|
||||
|
||||
$("#neueLV").html("<br/><a href='./lehrveranstaltung_details.php?neu=true&stg_kz="+studiengang_kz+"' target='_blank'><input type='button' value='Neue LV anlegen'></a>");
|
||||
isLVFilterLoaded=true;
|
||||
loadFilteredLehrveranstaltungen();
|
||||
});
|
||||
@@ -1073,7 +1082,7 @@ function hideAllTreeColumns()
|
||||
var divs = $("#filteredLVs .jstree-grid-col-" + j);
|
||||
for (var i = 0; i < divs.length; i++)
|
||||
{
|
||||
divs[i].style.display = "none";
|
||||
divs[i].style.display = "none";
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1115,7 +1124,7 @@ function saveJsondataFromTree(nodeId, studienplan_id, studienplan_lehrveranstalt
|
||||
{
|
||||
node = $("#"+studienplan_lehrveranstaltung_id);
|
||||
}
|
||||
|
||||
|
||||
var lehrveranstaltung_id = jsonData[0]["metadata"]["lehrveranstaltung_id"];
|
||||
var semester = node.closest("li[rel=semester]").attr("semester");
|
||||
|
||||
@@ -1130,14 +1139,14 @@ function saveJsondataFromTree(nodeId, studienplan_id, studienplan_lehrveranstalt
|
||||
parent_id = node.parent().parent().attr("studienplan_lehrveranstaltung_id");
|
||||
|
||||
var neu = true;
|
||||
|
||||
|
||||
if(studienplan_lehrveranstaltung_id !== undefined && studienplan_lehrveranstaltung_id!='')
|
||||
neu = false;
|
||||
|
||||
// Bei neuen Eintraegen kein Load noetig
|
||||
if(neu)
|
||||
loaddata='';
|
||||
|
||||
|
||||
savedata = {
|
||||
"studienplan_id": studienplan_id,
|
||||
"lehrveranstaltung_id" : lehrveranstaltung_id,
|
||||
@@ -1145,11 +1154,12 @@ function saveJsondataFromTree(nodeId, studienplan_id, studienplan_lehrveranstalt
|
||||
"studienplan_lehrveranstaltung_id_parent": parent_id,
|
||||
"pflicht": true
|
||||
};
|
||||
|
||||
|
||||
$.ajax(
|
||||
{
|
||||
{
|
||||
dataType: "json",
|
||||
url: "../../soap/fhcomplete.php",
|
||||
url: "./saveStudienordnung.php",
|
||||
//url: "../../soap/fhcomplete.php",
|
||||
type: "POST",
|
||||
data: {
|
||||
"typ": "json",
|
||||
@@ -1189,7 +1199,7 @@ function TreeSaveError(xhr, textStatus, errorThrown)
|
||||
alert('Fehler beim Laden der Daten. ErrorNr:'+xhr.status);
|
||||
|
||||
// Studienplan Tree neu Laden um inkonsistente Anzeigen zu verhindern
|
||||
loadLehrveranstaltungSTPL(loadLehrveranstaltungSTPLStudienplan_id, loadLehrveranstaltungSTPLBezeichnung, loadLehrveranstaltungSTPLSemester);
|
||||
loadLehrveranstaltungSTPL(loadLehrveranstaltungSTPLStudienplan_id, loadLehrveranstaltungSTPLBezeichnung, loadLehrveranstaltungSTPLSemester);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1199,7 +1209,7 @@ function deleteLehrveranstaltungFromStudienplan(lehrveranstaltung_studienplan_id
|
||||
{
|
||||
$.ajax({
|
||||
dataType: "json",
|
||||
url: "../../soap/fhcomplete.php",
|
||||
url: "./saveStudienordnung.php",
|
||||
type: "POST",
|
||||
data: {
|
||||
"typ": "json",
|
||||
@@ -1213,7 +1223,7 @@ function deleteLehrveranstaltungFromStudienplan(lehrveranstaltung_studienplan_id
|
||||
{
|
||||
$.ajax({
|
||||
dataType: "json",
|
||||
url: "../../soap/fhcomplete.php",
|
||||
url: "./saveStudienordnung.php",
|
||||
type: "POST",
|
||||
data: {
|
||||
"typ": "json",
|
||||
@@ -1280,11 +1290,11 @@ function saveStudienordnung()
|
||||
"studiengang_kz":studiengang_kz
|
||||
};
|
||||
|
||||
|
||||
|
||||
$.ajax(
|
||||
{
|
||||
dataType: "json",
|
||||
url: "../../soap/fhcomplete.php",
|
||||
url: "./saveStudienordnung.php",
|
||||
type: "POST",
|
||||
data: {
|
||||
"typ": "json",
|
||||
@@ -1344,11 +1354,11 @@ function saveStudienplan()
|
||||
"studienordnung_id":studienordnung_id
|
||||
};
|
||||
|
||||
|
||||
|
||||
$.ajax(
|
||||
{
|
||||
dataType: "json",
|
||||
url: "../../soap/fhcomplete.php",
|
||||
url: "./saveStudienordnung.php",
|
||||
type: "POST",
|
||||
data: {
|
||||
"typ": "json",
|
||||
@@ -1364,7 +1374,7 @@ function saveStudienplan()
|
||||
{
|
||||
$("#submsg").css("visibility", "visible");
|
||||
window.setTimeout(function(){$("#submsg").css("visibility", "hidden");}, 1500);
|
||||
loadStudienplanSTO(studienordnung_id,studienordnung_bezeichnung);
|
||||
loadStudienplanSTO(studienordnung_id,studienordnung_bezeichnung);
|
||||
}
|
||||
},
|
||||
error: loadError
|
||||
@@ -1381,7 +1391,7 @@ function writeEctsSum(parent)
|
||||
if($(parent).children("ul").children().length > 0)
|
||||
{
|
||||
writeEctsSum($(parent).children("ul").children()[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
if($(parent).attr("rel") === "semester")
|
||||
{
|
||||
@@ -1493,7 +1503,7 @@ function saveSemesterStoZuordnung(studiensemester, ausbildungssemester)
|
||||
semesterStoZuordnung();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
function deleteSemesterZuordnung(ausbildungssemester_kurzbz, studiensemester)
|
||||
@@ -1503,7 +1513,7 @@ function deleteSemesterZuordnung(ausbildungssemester_kurzbz, studiensemester)
|
||||
var row = $("#row_"+ausbildungssemester_kurzbz);
|
||||
$.ajax({
|
||||
dataType: "json",
|
||||
url: "../../soap/fhcomplete.php",
|
||||
url: "./saveStudienordnung.php",
|
||||
type: "POST",
|
||||
data: {
|
||||
"typ":"json",
|
||||
@@ -1521,7 +1531,7 @@ function deleteSemesterZuordnung(ausbildungssemester_kurzbz, studiensemester)
|
||||
{
|
||||
$.ajax({
|
||||
dataType: "json",
|
||||
url: "../../soap/fhcomplete.php",
|
||||
url: "./saveStudienordnung.php",
|
||||
type: "POST",
|
||||
data: {
|
||||
"typ":"json",
|
||||
@@ -1536,7 +1546,7 @@ function deleteSemesterZuordnung(ausbildungssemester_kurzbz, studiensemester)
|
||||
semesterStoZuordnung();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1563,6 +1573,6 @@ function copyStudienordnung(studienordnung_id)
|
||||
alert(data.errormsg);
|
||||
}
|
||||
loadStudienordnung();
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -146,9 +146,14 @@ echo "
|
||||
</style>
|
||||
</head>
|
||||
<body>";
|
||||
if(!$rechte->isBerechtigt('lehre/studienordnung'))
|
||||
if((!$rechte->isBerechtigt('lehre/studienordnung')) && (!$rechte->isBerechtigt('lehre/studienordnungInaktiv')))
|
||||
die('Sie haben keine Berechtigung für diese Seite');
|
||||
|
||||
if($rechte->isBerechtigt('lehre/studienordnungInaktiv'))
|
||||
echo "<script type='text/javascript'>var initSTOs = 'inaktiv';</script>";
|
||||
$stg_arr = $rechte->getStgKz('lehre/studienordnung');
|
||||
if(empty($stg_arr))
|
||||
$stg_arr = $rechte->getStgKz('lehre/studienordnungInaktiv');
|
||||
$studiengang = new studiengang();
|
||||
$studiengang->loadArray($stg_arr,'typ,kurzbz');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user