Files
FHC-Core/vilesci/personen/zeitwunsch.php

600 lines
23 KiB
PHP

<?php
/* Copyright (C) 2006 Technikum-Wien
*
* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger < christian.paminger@technikum-wien.at >
* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
*/
/**
* kopiert von stdplan/profile/zeitwuensche.php mit dem Unterschied,
* dass der User hier parametrisiert ist + Speichern läuft hier über
* POST statt GET - ist aber Geschmacksache
*
*/
require_once('../../config/vilesci.config.inc.php');
require_once('../../include/basis_db.class.php');
require_once('../../include/functions.inc.php');
require_once('../../include/globals.inc.php');
require_once('../../include/datum.class.php');
require_once('../../include/benutzerberechtigung.class.php');
require_once('../../include/zeitwunsch.class.php');
require_once('../../include/zeitwunsch_gueltigkeit.class.php');
require_once('../../include/studiensemester.class.php');
if (!$db = new basis_db())
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
if (isset($_GET['uid']))
{
$uid=$_GET['uid'];
}
else if (isset($_POST['uid']))
{
$uid=$_POST['uid'];
}
if (!isset($uid))
{
die( "uid nicht gesetzt");
}
$uid_benutzer = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid_benutzer);
if(!$rechte->isBerechtigt('mitarbeiter/zeitwuensche', null, 's'))
die($rechte->errormsg);
$datum_obj = new datum();
$updatevon = 0;
// Nächstes Studiensemester
$next_ss = new Studiensemester();
$next_ss->getNextStudiensemester();
// Aktuelles Studiensemester
$akt_ss = new Studiensemester();
$akt_ss->load($akt_ss->getAkt());
// Zeitwunschgueltigkeiten nach Semester selektierbar
$selected_ss = (isset($_GET['stsem']) && !empty($_GET['stsem'])) ? $_GET['stsem'] : $next_ss->studiensemester_kurzbz; // Default: Nächstes Studiensemester
// Default: Letzte Zeitwunschgueltigkeit (ZWG) holen
$zwg = new Zeitwunsch_gueltigkeit();
$zwg->getByUID($uid, 1);
$selected_zwg = !empty($zwg->result) ? $zwg->result[0] : null; // NULL, wenn Lektor noch gar keinen ZW hinterlegt hat
// Zeitwunschgueltigkeit ueber Dropdown ZWG gewaehlt
if (isset($_GET['zwg_id']))
{
$selected_zwg = !empty($_GET['zwg_id']) ? new Zeitwunsch_gueltigkeit($_GET['zwg_id']) : null;
}
//Stundentabelleholen
if(! $result_stunde=$db->db_query("SELECT * FROM lehre.tbl_stunde ORDER BY stunde"))
die($db->db_last_error());
$num_rows_stunde=$db->db_num_rows($result_stunde);
// Zeitwuensche speichern
if (isset($_POST['save']))
{
if(!$rechte->isBerechtigt('mitarbeiter/zeitwuensche', null, 'suid'))
die($rechte->errormsg);
$selected_ss = isset($_POST['stsem']) ? $_POST['stsem'] : die('Studiensemester fehlt');
// Letzte Zeitwunschgueltigkeit (ZWG) holen
$zwg = new Zeitwunsch_gueltigkeit();
$zwg->getByUID($uid, 1);
$lastZwg = !empty($zwg->result) ? $zwg->result[0] : null;
// Check, ob letzte ZWG im nächsten Studiensemester startet. D.h. es existiert ein neuer Zeitwunsch in der Zukunft
$lastZwgStartsNextSemester = (!is_null($lastZwg) && $lastZwg->von >= $next_ss->start) ? true : false;
$zw_zwg_id = null; // ZWG ID, die zum Speichern / Updaten des Zeitwunsches uebergeben wird
// Wenn allererster Zeitwunsch, also noch keine ZWG vorhanden
if (is_null($lastZwg))
{
// Wenn ZW fuer naechstes Studiensemester ist
if ($selected_ss == $next_ss->studiensemester_kurzbz)
{
// Neue ZWG setzen: von = Start nächstes Studiensemester, bis offen lassen
$zw_zwg_id = insertZWG($uid, $next_ss->start, null, $uid_benutzer);
}
// Wenn Zeitwunsch fuer aktuelles Studiensemester ist
if ($selected_ss == $akt_ss->studiensemester_kurzbz)
{
// Neue ZWG setzen: von = now(), bis offen lassen
$zw_zwg_id = insertZWG($uid, (new DateTime())->format('Y-m-d H:i:s'), null, $uid_benutzer);
}
}
// Wenn mindestens eine ZWG vorhanden
if (!is_null($lastZwg))
{
// Wenn Zeitwunsch fuer naechstes Studiensemester ist
if ($selected_ss == $next_ss->studiensemester_kurzbz)
{
// Wenn naechstes Studiensemester schon eine eigene ZWG hat
if ($lastZwgStartsNextSemester)
{
// Nur Zeitwunsch dieser ZWG updaten
$zw_zwg_id = $lastZwg->zeitwunsch_gueltigkeit_id;
}
// Wenn naechstes Studiensemester keine eigene ZWG hat
if (!$lastZwgStartsNextSemester)
{
// Fuer bisher letzte ZWG ein Endedatum setzen: bis = Ende aktuelles Studiensemester
updateZWG($uid, $lastZwg->zeitwunsch_gueltigkeit_id, $akt_ss->ende, $uid_benutzer);
// Neue ZWG setzen: von = Start nächstes Studiensemester, bis offen lassen
$zw_zwg_id = insertZWG($uid, $next_ss->start, null, $uid_benutzer);
}
}
// Wenn Zeitwunsch fuer aktuelles Studiensemester ist
if ($selected_ss == $akt_ss->studiensemester_kurzbz)
{
/**
* Check, ob aktuelles Studiensemester eine ZWG hat.
* Wenn die allererste ZWG fuer das naechste Studiensemester erstellt wurde, dann hat das
* aktuelle Studiensemester noch keine ZWG.
* */
$zwg = new Zeitwunsch_gueltigkeit();
$zwg->getByStudiensemester($uid, $akt_ss->studiensemester_kurzbz);
$akt_ss_zwg = !empty($zwg->result) ? $zwg->result[0] : null;
// Keine ZWG fuer aktuelles Studiensemester vorhanden.
// Da eine ZWG ID aber schon vorhanden: USER HAT ERSTMALIG MIT NAECHSTEM STUDIENSEMESTER EINTRAG BEGONNEN
if (is_null($akt_ss_zwg))
{
// Neue ZWG setzen: von = now(), ende = Ende aktuelles Studiensemester
$zw_zwg_id = insertZWG(
$uid,
(new DateTime())->format('Y-m-d H:i:s'),
$akt_ss->ende,
$uid_benutzer
);
}
// ZWG für aktuelles Studiensemester ist vorhanden --> SPLIT AKTUELLE STUDIENSEMESTER
if ((!is_null($akt_ss_zwg)))
{
// Wenn am selben Tag schon neue ZWG gespeichert wurde, keine neue ZWG anlegen, sondern diese nur updaten
// Verhindert mehrfache Eintraege, wenn oefters zwischengespeichert wird.
if ((new DateTime($akt_ss_zwg->insertamum))->format('Y-m-d') == (new Datetime())->format('Y-m-d'))
{
updateZWG($uid, $akt_ss_zwg->zeitwunsch_gueltigkeit_id, $akt_ss_zwg->bis, $uid_benutzer);
$zw_zwg_id = $akt_ss_zwg->zeitwunsch_gueltigkeit_id;
}
else
{
// Neue ZWG setzen: von = now(), bis = Bis von ZWG des aktuellen Studiensemesters uebernehmen:
// -> bis ist entweder Ende aktuelles Studiensemester (wenn ZWG für nächstes Studiensemester vorhanden ist)
// -> sonst ist bis null
$zw_zwg_id = insertZWG(
$uid,
(new DateTime())->format('Y-m-d H:i:s'),
$akt_ss_zwg->bis,
$uid_benutzer
);
// Fuer bisher letzte ZWG das Endedatum auf gestern setzen: bis = gestern
// NOTE: MUSS nach dem insert sein
updateZWG(
$uid,
$akt_ss_zwg->zeitwunsch_gueltigkeit_id,
(new DateTime('yesterday'))->format('Y-m-d H:i:s'),
$uid_benutzer
);
}
}
}
}
// Insert Zeitwunsch mit Zeitwunsch ZWG ID
if (is_numeric($zw_zwg_id))
{
for ($t = 1; $t < 7; $t++)
{
for ($i = 0; $i < $num_rows_stunde; $i++)
{
$var = 'wunsch' . $t . '_' . $i;
//echo $$var;
$gewicht = $_POST[$var];
$stunde = $i + 1;
$query = "SELECT * FROM campus.tbl_zeitwunsch WHERE mitarbeiter_uid=" . $db->db_add_param($uid) . " AND zeitwunsch_gueltigkeit_id =" . $db->db_add_param($zw_zwg_id) . " AND stunde=" . $db->db_add_param($stunde, FHC_INTEGER) . " AND tag=" . $db->db_add_param($t, FHC_INTEGER);
if (!$erg_wunsch = $db->db_query($query))
die($db->db_last_error());
$num_rows_wunsch = $db->db_num_rows($erg_wunsch);
if ($num_rows_wunsch == 0) {
$query = "INSERT INTO campus.tbl_zeitwunsch (mitarbeiter_uid, stunde, tag, gewicht, updateamum, updatevon, zeitwunsch_gueltigkeit_id) VALUES (" . $db->db_add_param($uid) . ", " . $db->db_add_param($stunde) . ", " . $db->db_add_param($t) . ", " . $db->db_add_param($gewicht) . ", now(), " . $db->db_add_param($uid_benutzer) . ", " . $db->db_add_param($zw_zwg_id) . ")";
if (!($erg = $db->db_query($query)))
die($db->db_last_error());
} elseif ($num_rows_wunsch == 1) {
$query = "UPDATE campus.tbl_zeitwunsch SET gewicht=" . $db->db_add_param($gewicht) . ", updateamum=now(), updatevon=" . $db->db_add_param($uid_benutzer) . " WHERE mitarbeiter_uid=" . $db->db_add_param($uid) . " AND zeitwunsch_gueltigkeit_id=" . $db->db_add_param($zw_zwg_id) . " AND stunde=" . $db->db_add_param($stunde) . " AND tag=" . $db->db_add_param($t);
if (!($erg = $db->db_query($query)))
die($db->db_last_error());
}
else
die("Zuviele Eintraege!");
}
}
$selected_zwg = new Zeitwunsch_gueltigkeit($zw_zwg_id);
}
}
/**
* Init ZWG Objekt zum Erstellen einer neuen ZWG
*/
function insertZWG($uid, $von, $bis, $admin_uid)
{
$zwg = new Zeitwunsch_gueltigkeit();
$zwg->new = true;
$zwg->mitarbeiter_uid = $uid;
$zwg->von = $von;
$zwg->bis = $bis;
$zwg->insertvon = $admin_uid;
if ($zwg->save())
{
return $zwg->zeitwunsch_gueltigkeit_id;
}
else
{
die($zwg->errormsg);
}
}
/**
* Init ZWG Objekt zum Updaten einer bestehenden ZWG
*/
function updateZWG($uid, $zwg_id, $bis, $admin_uid)
{
$zwg = new Zeitwunsch_gueltigkeit();
$zwg->new = false;
$zwg->zeitwunsch_gueltigkeit_id = $zwg_id;
$zwg->mitarbeiter_uid = $uid;
$zwg->bis = $bis;
$zwg->updatevon = $admin_uid;
if (!$zwg->save())
{
die($zwg->errormsg);
}
return;
}
// Tabellendaten
/**
* Zeitwunschgueltigkeit
* Wurde ueber Dropdown gewaehlt (kann auch null sein, wenn noch kein Zeitwunsch vorliegt)
* ODER ueber Speichernbutton neu erstellt / upgedatet
*/
$selected_zwg_id = !is_null($selected_zwg) ? $selected_zwg->zeitwunsch_gueltigkeit_id : '';
if(!($erg=$db->db_query("
SELECT *
FROM campus.tbl_zeitwunsch
WHERE mitarbeiter_uid = ". $db->db_add_param($uid). "
AND zeitwunsch_gueltigkeit_id = ". $db->db_add_param(($selected_zwg_id))
)))
die($db->db_last_error());
$num_rows=$db->db_num_rows($erg);
for ($i=0;$i<$num_rows;$i++)
{
$tag=$db->db_result($erg,$i,"tag");
$stunde=$db->db_result($erg,$i,"stunde");
$gewicht=$db->db_result($erg,$i,"gewicht");
$wunsch[$tag][$stunde]=$gewicht;
$updateamum=$db->db_result($erg,$i,"updateamum");
$updatevon=$db->db_result($erg,$i,"updatevon");
}
if(!isset($wunsch))
{
//6-16
for ($i=1;$i<7;$i++)
{
for ($j=0;$j<17;$j++)
{
$wunsch[$i][$j]='1';
}
}
}
// Personendaten
if(! $result=$db->db_query("SELECT * FROM public.tbl_person JOIN public.tbl_benutzer USING(person_id) WHERE uid=".$db->db_add_param($uid)))
die($db->db_last_error());
if ($db->db_num_rows($result)==1)
$person=$db->db_fetch_object($result);
?>
<html>
<head>
<title>Profil</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
<script type="text/javascript" src="../../vendor/jquery/jquery1/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
$(function(){
// Bei Wechsel von Zeitwunschgueltigkeit die Seite mit GET params neu laden
$('#zwg').change(function(){
var uid = $('input[name="uid"]').val();
var zeitwunsch_gueltigkeit_id = $('option:selected', this).val();
var studiensemester = $('option:selected', this).data('stsem');
window.location = '?uid=' + uid + '&zwg_id=' + zeitwunsch_gueltigkeit_id + '&stsem=' + studiensemester;
});
});
</script>
</head>
<body>
<h2>Zeitw&uuml;nsche von <?php echo $person->titelpre.' '.$person->vorname.' '.$person->nachname. ' '.$person->titelpost; ?></h2>
<span>Zeitwunschgueltigkeit:</span>
<?php
$zwg = new Zeitwunsch_gueltigkeit();
$zwg->getByUID($uid, null, false);
$zwg_arr = $zwg->result;
// Dropdown
echo '<select name="zwg" id="zwg" class="form form-control">';
// Wenn nächstes Studiensemester keine Zeitwunschgueltigkeit hat...
if (!empty($zwg_arr) && $zwg_arr[0]->von < $next_ss->start)
{
// ...naechstes Studiensemester 'neu anlegen' als Option anzeigen
echo '<OPTION value="" data-stsem="'. $next_ss->studiensemester_kurzbz. '">'
. $next_ss->studiensemester_kurzbz.'&emsp;[&ensp;neu anlegen&ensp;]
</OPTION>';
}
// Vorhandene Zeitwunschgueltigkeiten
foreach($zwg_arr as $row)
{
$von = (new DateTime($row->von))->format('d.m.Y');
$bis = !is_null($row->bis) ? (new DateTime($row->bis))->format('d.m.Y') : "offen";
$selected = !empty($selected_zwg_id) && $row->zeitwunsch_gueltigkeit_id == $selected_zwg_id && $row->studiensemester_kurzbz == $selected_ss ? ' selected ' : '';
echo '<option value="'. $row->zeitwunsch_gueltigkeit_id. '" data-stsem="'. $row->studiensemester_kurzbz. '"'. $selected. '>'.
$row->studiensemester_kurzbz. '&emsp;[ '. $von. ' &ensp;-&ensp;' . $bis. ' ]
</option>';
}
// Wenn aktuelles Studiensemester keine Zeitwunschgueltigkeit hat, das naechste aber schon
if (count($zwg_arr) == 1 && ($zwg_arr[0]->von >= $next_ss->start))
{
// ...aktuelles Studiensemester 'neu anlegen' als Option anzeigen
$selected = $selected_ss == $akt_ss->studiensemester_kurzbz ? "selected" : '';
echo '<OPTION value="" data-stsem="'. $akt_ss->studiensemester_kurzbz. '" '. $selected. ' >'. $akt_ss->studiensemester_kurzbz.'&emsp;[&ensp;neu anlegen&ensp;]</OPTION>';
}
// Wenn es noch keine Zeitwuensche gibt
if (empty($zwg_arr))
{
// Optionen zum Anlegen einer Zeitwunschgueltigkeit fuer das aktuelle / naechste Studiensemester
$selected = $selected_ss == $akt_ss->studiensemester_kurzbz ? 'selected' : '';
echo '<OPTION value="" data-stsem="'. $next_ss->studiensemester_kurzbz. '">'. $next_ss->studiensemester_kurzbz.'&emsp;[&ensp;neu anlegen&ensp;]</OPTION>';
echo '<OPTION value="" data-stsem="'. $akt_ss->studiensemester_kurzbz. '" '. $selected. ' >'. $akt_ss->studiensemester_kurzbz.'&emsp;[&ensp;neu anlegen&ensp;]</OPTION>';
}
echo '</select>';
?>
<br><br>
<FORM name="zeitwunsch" method="post" action="zeitwunsch.php?type=save">
<INPUT type="hidden" name="uid" value="<?php echo $uid; ?>">
<INPUT type="hidden" name="zwg_id" value="<?php echo $selected_zwg_id; ?>">
<INPUT type="hidden" name="stsem" value="<?php echo $selected_ss; ?>">
<TABLE width="100%" border="1" cellspacing="0" cellpadding="0">
<TR>
<?php
echo '<th>Stunde<br>Beginn<br>Ende</th>';
for ($i=0;$i<$num_rows_stunde; $i++)
{
$beginn=$db->db_result($result_stunde,$i,'"beginn"');
$beginn=substr($beginn,0,5);
$ende=$db->db_result($result_stunde,$i,'"ende"');
$ende=substr($ende,0,5);
$stunde=$db->db_result($result_stunde,$i,'"stunde"');
echo "<th><div align=\"center\">$stunde<br>$beginn<br>$ende</div></th>";
}
?>
</TR>
<?php
$readonly = 'readonly';
if ($rechte->isBerechtigt('mitarbeiter/zeitwuensche', null, 'suid'))
$readonly = '';
for ($j=1; $j<7; $j++)
{
echo '<TR><TD>'.$tagbez[1][$j].'</TD>';
for ($i=0;$i<$num_rows_stunde;$i++)
{
$index=$wunsch[$j][$i+1];
if ($index=="")
$index=1;
$bgcolor=$cfgStdBgcolor[$index+3];
echo '<TD align="center" bgcolor="'.$bgcolor.'"><INPUT align="right" type="text" name="wunsch'.$j.'_'.$i.'" size="2" maxlength="2"' . $readonly .' value="'.$index.'"></TD>';
}
echo '</TR>';
}
?>
</TABLE>
<br/>
<?php
if($updatevon!='')
{
echo 'Zeitwunsch zuletzt aktualisiert von ';
echo $updatevon;
echo ' am ';
echo $datum_obj->formatDatum($updateamum,'d.m.Y H:i:s');
}
else
{
echo 'Noch keine Zeitwünsche eingetragen';
}
?>
<br/>
<br/>
<?php
if($rechte->isBerechtigt('mitarbeiter/zeitwuensche', null, 'suid'))
{
/**
* Disablen des Speicherbuttons und Textanzeige, wenn die gewaehlte Zeitwunschgueltigkeit nicht
*die letztgueltige fuer das aktuelle / naechste Studiensemester ist.
**/
$disabled = getDisabledString($uid, $selected_zwg, $akt_ss, $next_ss); // return 'disabled' oder ''
// Speichern Button
echo '<INPUT type="submit" name="save" value="Speichern" '. $disabled. '>';
if (!empty($disabled))
{
echo '<span style="color: red"><small>&emsp;Es können nur Zeitwünsche im aktuellen oder im nächsten Studiensemester bearbeitet werden.<br>
&emsp;&emsp;&emsp;&emsp;&emsp;&emsp;Falls mehrere Zeitwünsche im aktuellen Semester gespeichert sind, kann nur der letztgültige geändert werden.</small></span>';
}
}
?>
</FORM>
<br>
<hr>
<H3>Erkl&auml;rung:</H3>
<P>Bitte kontrollieren/&auml;ndern Sie Ihre Zeitw&uuml;nsche und klicken Sie anschlie&szlig;end
auf &quot;Speichern&quot;!<BR>
<BR>
</P>
<TABLE width="50%" border="1" cellspacing="0" cellpadding="0" name="Zeitwerte">
<TR>
<TD><B>Wert</B></TD>
<TD>
<DIV align="center"><B>Bedeutung</B></DIV>
</TD>
</TR>
<TR>
<TD>
<DIV align="right">2</DIV>
</TD>
<TD>Hier m&ouml;chte ich Unterrichten</TD>
</TR>
<TR>
<TD>
<DIV align="right">1</DIV>
</TD>
<TD>Hier kann ich Unterrichten</TD>
</TR>
<TR>
<TD>
<DIV align="right">-1</DIV>
</TD>
<TD>Hier m&ouml;chte ich eher nicht</TD>
</TR>
<TR>
<TD>
<DIV align="right">-2</DIV>
</TD>
<TD>Hier nur in extremen Notf&auml;llen</TD>
</TR>
</TABLE>
<P>&nbsp;</P>
<H3>Folgende Punkte sind zu beachten:</H3>
<OL>
<LI>Verwenden Sie den Wert -2 nur, wenn Sie zu dieser Stunde wirklich nicht k&ouml;nnen, um eine bessere Optimierung zu erm&ouml;glichen.</LI>
<LI>Es sollten f&uuml;r jede Stunde die tats&auml;chlich unterrichtet wird, mindestens das 3-fache an positiven Zeitw&uuml;nschen angegeben werden.<BR>
Beispiel: Sie unterrichten 4 Stunden/Woche, dann sollten Sie mindestens 12 Stunden im Raster mit positiven Werten ausf&uuml;llen.</LI>
</OL>
<P>&nbsp;</P>
</body>
<script type="text/javascript">
$(function(){
// Bei Wechsel von Zeitwunschgueltigkeit die Seite mit GET params neu laden
//$('#zwg').change(function(){
// let uid = $('input[name="uid"]').val();
// let zeitwunsch_gueltigkeit_id = $('option:selected', this).val();
// let studiensemester = $('option:selected', this).data('stsem');
//
// // window.location = '?uid=' + uid + '&zwg_id=' + zeitwunsch_gueltigkeit_id + '&stsem=' + studiensemester;
// window.open = <?php //echo $_SERVER['PHP_SELF'] ?>// + '?uid=' + uid + '&zwg_id=' + zeitwunsch_gueltigkeit_id + '&stsem=' + studiensemester;
//});
});
function submitZwg(obj){
// console.log(obj);
// console.log(obj.options[obj. selectedIndex].getAttribute('data-stsem'));
// var selectedValue = document.getElementById("zwg").value;
// console.log(selectedValue);
// console.log(document.getElementById("zwg"));
// console.log(document.getElementById("zwg").getAttribute('data'));
// console.log($(selectElem).val());
// console.log($(selectElem).selected);
// console.log($('option:selected', this));
// console.log($('option:selected', this).val());
// let uid = $('input[name="uid"]').val();
// let zeitwunsch_gueltigkeit_id = $('option:selected', obj).val();
// let studiensemester = $('option:selected', obj).data('stsem');
let uid = document.getElementById("uid").value;
let zeitwunsch_gueltigkeit_id = document.getElementById("zwg").value;
let studiensemester = obj.options[obj.selectedIndex].getAttribute('data-stsem');
console.log(uid);
console.log(zeitwunsch_gueltigkeit_id);
console.log(studiensemester);
// window.location = '?uid=' + uid + '&zwg_id=' + zeitwunsch_gueltigkeit_id + '&stsem=' + studiensemester;
//window.open('<?php //echo APP_ROOT ?>//vilesci/personen/zeitwunsch.php?uid=' + uid + '&zwg_id=' + zeitwunsch_gueltigkeit_id + '&stsem=' + studiensemester,"","chrome, status=no, width=500, height=350, centerscreen, resizable");
window.open('<?php echo $_SERVER['PHP_SELF'] ?>?uid=' + uid + '&zwg_id=' + zeitwunsch_gueltigkeit_id + '&stsem=' + studiensemester);
}
</script>
</html>
<?php
function getDisabledString($uid, $selected_zwg, $akt_ss, $next_ss){
// Disablen des Speicherbuttons und Textanzeige, wenn die gewaehlte Zeitwunschgueltigkeit nicht
// die letztgueltige fuer das aktuelle / naechste Studiensemester ist.
$zwg = new Zeitwunsch_gueltigkeit();
$zwg->getByStudiensemester($uid, $akt_ss->studiensemester_kurzbz);
$lastZwg_id_aktStudsem = empty($zwg->result) ? '' : $zwg->result[0]->zeitwunsch_gueltigkeit_id;
$zwg = new Zeitwunsch_gueltigkeit();
$zwg->getByStudiensemester($uid, $next_ss->studiensemester_kurzbz);
$lastZwg_id_nextStudsem = empty($zwg->result) ? '' : $zwg->result[0]->zeitwunsch_gueltigkeit_id;
return (
is_null($selected_zwg)
|| !is_null($selected_zwg)
&& (
$selected_zwg->zeitwunsch_gueltigkeit_id == $lastZwg_id_aktStudsem
|| $selected_zwg->zeitwunsch_gueltigkeit_id == $lastZwg_id_nextStudsem
)
)
? ''
: 'disabled';
}