mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
Merge branch 'master' of https://github.com/FH-Complete/FHC-Core
This commit is contained in:
@@ -5,6 +5,8 @@
|
||||
*/
|
||||
class APIv1_Controller extends REST_Controller
|
||||
{
|
||||
private $_requiredPermissions;
|
||||
|
||||
/**
|
||||
* Standard constructor for all the RESTful resources
|
||||
*/
|
||||
@@ -12,24 +14,35 @@ class APIv1_Controller extends REST_Controller
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
// Loads permission lib
|
||||
$this->load->library('PermissionLib');
|
||||
$this->_requiredPermissions = $requiredPermissions;
|
||||
|
||||
log_message('debug', 'Called API: '.$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']);
|
||||
|
||||
$this->_isAllowed($requiredPermissions);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the caller is allowed to access to this content with the given permissions
|
||||
* If it is not allowed will set the HTTP header with code 401
|
||||
* Wrapper for permissionlib->isEntitled
|
||||
* This method is automatically called by CodeIgniter after the execution of the constructor is completed
|
||||
* - Cheks if the AuthLib was loaded, if not it means that the authentication failed
|
||||
* - Loads the permsission lib and calls permissionlib->isEntitled
|
||||
* - Checks if the caller is allowed to access to this content with the given permissions
|
||||
* if it is not allowed will set the HTTP header with code 401
|
||||
* - Calls the parent (REST_Controller) _remap method to performs other checks
|
||||
*/
|
||||
private function _isAllowed($requiredPermissions)
|
||||
public function _remap($object_called, $arguments)
|
||||
{
|
||||
if (!$this->permissionlib->isEntitled($requiredPermissions, $this->router->method))
|
||||
if (isset($this->authlib)) // if set then the authentication is ok
|
||||
{
|
||||
$this->response(error('You are not allowed to access to this content'), REST_Controller::HTTP_UNAUTHORIZED);
|
||||
// Loads permission lib
|
||||
$this->load->library('PermissionLib');
|
||||
|
||||
// Cheks if the user has the permission to call a method
|
||||
if (!$this->permissionlib->isEntitled($this->_requiredPermissions, $this->router->method))
|
||||
{
|
||||
// If not...
|
||||
$this->response(error('You are not allowed to access to this content'), REST_Controller::HTTP_UNAUTHORIZED);
|
||||
}
|
||||
}
|
||||
|
||||
// Finally calls the parent _remap to perform other checks
|
||||
parent::_remap($object_called, $arguments);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -627,7 +627,7 @@ abstract class REST_Controller extends CI_Controller {
|
||||
{
|
||||
$this->_log_request();
|
||||
}
|
||||
//echo 'RestKey: '.$this->rest->key;
|
||||
|
||||
$this->response([
|
||||
$this->config->item('rest_status_field_name') => FALSE,
|
||||
$this->config->item('rest_message_field_name') => sprintf($this->lang->line('text_rest_invalid_api_key'), $this->rest->key)
|
||||
|
||||
@@ -237,7 +237,7 @@ class AuthLib
|
||||
*/
|
||||
public function basicAuthentication($username, $password)
|
||||
{
|
||||
return isSuccess($this->_checkLDAPAuthentication($username, $password));
|
||||
return isSuccess($this->loginLDAP($username, $password));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -552,8 +552,8 @@ if($result_stg = $db->db_query($qry_stg))
|
||||
}
|
||||
|
||||
//Gesamtkosten anzeigen
|
||||
$worksheet->writeNumber($zeile,11,$gesamtkosten, $format_number_bold);
|
||||
$gesamt->writeNumber($gesamtsheet_row,11,$gesamtkosten, $format_number_bold);
|
||||
$worksheet->writeNumber($zeile,13,$gesamtkosten, $format_number_bold);
|
||||
$gesamt->writeNumber($gesamtsheet_row,13,$gesamtkosten, $format_number_bold);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -447,7 +447,18 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
|
||||
<text:p text:style-name="P2">
|
||||
<text:span text:style-name="T4"><xsl:value-of select="studiensemester_beginn"/></text:span></text:p>
|
||||
<text:span text:style-name="T4">
|
||||
<!-- Deutsches "Sommersemester" auf englisches "Summersemester" ändern -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="substring(studiensemester_beginn, 1, 6)='Sommer'">
|
||||
Summer<xsl:value-of select="substring(studiensemester_beginn,7)" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="studiensemester_beginn"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:span>
|
||||
</text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<table:table-row table:style-name="Tabelle3.1">
|
||||
@@ -456,7 +467,17 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
|
||||
<text:p text:style-name="P2">
|
||||
<text:span text:style-name="T4"><xsl:value-of select="studiensemester_aktuell"/></text:span></text:p>
|
||||
<text:span text:style-name="T4">
|
||||
<!-- Deutsches "Sommersemester" auf englisches "Summersemester" ändern -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="substring(studiensemester_aktuell, 1, 6)='Sommer'">
|
||||
Summer<xsl:value-of select="substring(studiensemester_aktuell,7)" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="studiensemester_aktuell"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:span></text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<table:table-row table:style-name="Tabelle3.1">
|
||||
@@ -501,7 +522,17 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn
|
||||
</table:table-cell>
|
||||
<table:table-cell table:style-name="Tabelle3.A1" office:value-type="string">
|
||||
<text:p text:style-name="P2">
|
||||
<text:span text:style-name="T4"><xsl:value-of select="voraussichtlichLetztesStudiensemester"/></text:span></text:p>
|
||||
<text:span text:style-name="T4">
|
||||
<!-- Deutsches "Sommersemester" auf englisches "Summersemester" ändern -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="substring(voraussichtlichLetztesStudiensemester, 1, 6)='Sommer'">
|
||||
Summer<xsl:value-of select="substring(voraussichtlichLetztesStudiensemester,7)" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="voraussichtlichLetztesStudiensemester"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</text:span></text:p>
|
||||
</table:table-cell>
|
||||
</table:table-row>
|
||||
<table:table-row table:style-name="Tabelle3.1">
|
||||
|
||||
@@ -487,7 +487,7 @@ fclose($dateiausgabe);
|
||||
if(file_exists($ddd))
|
||||
{
|
||||
echo '<a href="archiv.php?meldung='.$ddd.'&html='.$eee.'&stg='.$stg_kz.'&sem='.$ssem.'&typ=studenten&action=archivieren">BIS-Meldung Stg '.$stg_kz.' archivieren</a><br>';
|
||||
echo '<a href="'.$ddd.'">XML-Datei für BIS-Meldung Stg '.$stg_kz.'</a><br>';
|
||||
echo '<a href="'.$ddd.'" target="_blank" download>XML-Datei für BIS-Meldung Stg '.$stg_kz.'</a><br>';
|
||||
}
|
||||
if(file_exists($eee))
|
||||
{
|
||||
|
||||
@@ -119,17 +119,38 @@ if(isset($_GET['type']) && $_GET['type']=='getortcontent' && isset($_GET['plz'])
|
||||
echo getOrtDropDown($_GET['plz'], $_GET['gemeinde']);
|
||||
exit;
|
||||
}
|
||||
|
||||
// Checken der UID mit Ajax
|
||||
if(isset($_POST['checkUID']))
|
||||
{
|
||||
$uid = filter_input(INPUT_POST, 'uid');
|
||||
$bn = new benutzer();
|
||||
|
||||
if($bn->uid_exists($uid))
|
||||
{
|
||||
echo json_encode(array(
|
||||
'status'=>'fehler',
|
||||
'msg'=>'UID ist bereits vorhanden'));
|
||||
}
|
||||
else
|
||||
{
|
||||
echo json_encode(array(
|
||||
'status'=>'ok',
|
||||
'msg'=>''));
|
||||
}
|
||||
exit();
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<link href="../../../skin/styles/tw.css" rel="stylesheet" type="text/css">
|
||||
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
|
||||
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
|
||||
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="../../../skin/jquery-ui-1.9.2.custom.min.css">
|
||||
<script type="text/javascript" src="../../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
|
||||
<script type="text/javascript" src="../../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
|
||||
<script type="text/javascript" src="../../../vendor/jquery/sizzle/sizzle.js"></script>
|
||||
<link rel="stylesheet" href="../../../skin/tablesort.css" type="text/css">
|
||||
<script type="text/Javascript">
|
||||
@@ -217,6 +238,48 @@ function checkInput1()
|
||||
return true;
|
||||
}
|
||||
|
||||
function checkWunschUid()
|
||||
{
|
||||
// Set UID lower case and remove whitespaces and -
|
||||
uid = $("#wunschUid").val().toLowerCase();
|
||||
uid = uid.replace(/\s+/g, '');
|
||||
uid = uid.replace('-', '');
|
||||
|
||||
$("#wunschUid").val(uid);
|
||||
|
||||
if (uid != '')
|
||||
{
|
||||
data = {
|
||||
uid: uid,
|
||||
checkUID: true
|
||||
};
|
||||
|
||||
$.ajax({
|
||||
url: 'mitarbeiterimport.php',
|
||||
data: data,
|
||||
type: 'POST',
|
||||
dataType: "json",
|
||||
success: function(data)
|
||||
{
|
||||
if(data.status != 'ok')
|
||||
{
|
||||
$("#checkUID").css( "color", "red" );
|
||||
$("#checkUID").html('UID bereits vorhanden');
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#checkUID").css( "color", "green" );
|
||||
$("#checkUID").html('UID verfügbar');
|
||||
}
|
||||
},
|
||||
error: function(data)
|
||||
{
|
||||
alert(data.msg)
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// **************************************
|
||||
// * XMLHttpRequest Objekt erzeugen
|
||||
// **************************************
|
||||
@@ -353,7 +416,7 @@ function GeschlechtChange()
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<body style="padding: 10px">
|
||||
<h1>MitarbeiterIn anlegen</h1>
|
||||
<?php
|
||||
//Berechtigung pruefen
|
||||
@@ -408,11 +471,16 @@ $svnr = (isset($_POST['svnr'])?$_POST['svnr']:'');
|
||||
$lektor = (isset($_POST['lektor'])?true:false);
|
||||
$fixangestellt = (isset($_POST['fixangestellt'])?true:false);
|
||||
if(!isset($_POST['svnr']))
|
||||
{
|
||||
$lektor = true;
|
||||
$fixangestellt = true;
|
||||
}
|
||||
|
||||
$ersatzkennzeichen = (isset($_POST['ersatzkennzeichen'])?$_POST['ersatzkennzeichen']:'');
|
||||
//end Parameter
|
||||
$geburtsdatum_error=false;
|
||||
$personalnummer = (isset($_POST['personalnummer'])?trim($_POST['personalnummer']):'');
|
||||
$wunschUid = (isset($_POST['wunschUid'])?trim($_POST['wunschUid']):'');
|
||||
|
||||
// *** Speichern der Daten ***
|
||||
if(isset($_POST['save']))
|
||||
@@ -486,12 +554,17 @@ if(isset($_POST['save']))
|
||||
|
||||
$uid = generateMitarbeiterUID($vorname_clean, $nachname_clean, $lektor, $fixangestellt);
|
||||
|
||||
if ($wunschUid != '')
|
||||
{
|
||||
$uid = $wunschUid;
|
||||
}
|
||||
|
||||
$bn = new benutzer();
|
||||
|
||||
if($bn->uid_exists($uid))
|
||||
{
|
||||
$error = true;
|
||||
$errormsg = 'Es konnte keine UID ermittelt werden';
|
||||
$errormsg = 'Die UID '.$uid.' existiert bereits';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -758,22 +831,27 @@ else
|
||||
<!--Formularfelder-->
|
||||
<table>
|
||||
<?php
|
||||
echo '<tr><td>Anrede</td><td><input type="text" id="anrede" name="anrede" maxlength="16" value="'.$anrede.'" onblur="AnredeChange()"/></td></tr>';
|
||||
echo '<tr><td>Titel(Pre)</td><td><input type="text" id="titel" name="titel" maxlength="64" value="'.$titel.'" /></td></tr>';
|
||||
echo '<tr><td>Vorname</td><td><input type="text" id="vorname" maxlength="32" name="vorname" value="'.$vorname.'" /></td></tr>';
|
||||
echo '<tr><td>Weitere Vornamen</td><td><input type="text" id="vornamen" maxlength="32" name="vornamen" value="'.$vornamen.'" /></td></tr>';
|
||||
echo '<tr><td>Nachname *</td><td><input type="text" maxlength="64" id="nachname" name="nachname" value="'.$nachname.'" /></td></tr>';
|
||||
echo '<tr><td>Titel(Post)</td><td><input type="text" id="titelpost" name="titelpost" maxlength="64" value="'.$titelpost.'" /></td></tr>';
|
||||
echo '<tr><td>Wunsch-UID</td><td><input type="text" name="wunschUid" id="wunschUid" maxlength="32" size="30" value="'.$wunschUid.'" />
|
||||
<span style="padding: 0 3px" id="checkUID"></span>
|
||||
<button type="button" title="Prüft, ob die UID schon vorhanden ist. Keine Sonderzeichen, Umlaute oder Leerzeichen in der UID" href="#" onclick="checkWunschUid()"> Check UID </button> (optional, max. 32)
|
||||
</td></tr>';
|
||||
echo '<tr><td>Anrede</td><td><input type="text" id="anrede" name="anrede" maxlength="16" size="30" value="'.$anrede.'" onblur="AnredeChange()"/></td></tr>';
|
||||
echo '<tr><td>Titel(Pre)</td><td><input type="text" id="titel" name="titel" maxlength="64" size="30" value="'.$titel.'" /></td></tr>';
|
||||
echo '<tr><td>Vorname</td><td><input type="text" id="vorname" maxlength="32" name="vorname" size="30" value="'.$vorname.'" />
|
||||
Weitere Vornamen <input type="text" id="vornamen" maxlength="32" size="30" name="vornamen" value="'.$vornamen.'" /></td></tr>';
|
||||
//echo '<tr></tr>';
|
||||
echo '<tr><td>Nachname *</td><td><input type="text" maxlength="64" size="30" id="nachname" name="nachname" value="'.$nachname.'" /></td></tr>';
|
||||
echo '<tr><td>Titel(Post)</td><td><input type="text" id="titelpost" name="titelpost" maxlength="64" size="30" value="'.$titelpost.'" /></td></tr>';
|
||||
echo '<tr><td>Geschlecht *</td><td><SELECT id="geschlecht" name="geschlecht" onchange="GeschlechtChange()">';
|
||||
echo '<OPTION value="m" '.($geschlecht=='m'?'selected':'').'>männlich</OPTION>';
|
||||
echo '<OPTION value="w" '.($geschlecht=='w'?'selected':'').'>weiblich</OPTION>';
|
||||
echo '<OPTION value="u" '.($geschlecht=='u'?'selected':'').'>unbekannt</OPTION>';
|
||||
echo '</SELECT>';
|
||||
echo '</td></tr>';
|
||||
echo '<tr><td>SVNR</td><td><input type="text" id="svnr" size="16" maxlength="16" name="svnr" value="'.$svnr.'" onblur="GeburtsdatumEintragen()" /></td></tr>';
|
||||
echo '<tr><td>Ersatzkennzeichen</td><td><input type="text" id="ersatzkennzeichen" size="10" maxlength="10" name="ersatzkennzeichen" value="'.$ersatzkennzeichen.'" /></td></tr>';
|
||||
echo '<tr><td>Geburtsdatum *</td><td><input type="text" id="geburtsdatum" size="10" maxlength="10" name="geburtsdatum" value="'.$geburtsdatum.'" /> (Format: TT.MM.JJJJ)</td></tr>';
|
||||
echo '<tr><td colspan="2"><fieldset><legend>Adresse</legend><table>';
|
||||
echo '<tr><td>SVNR</td><td><input type="text" id="svnr" size="30" maxlength="16" name="svnr" value="'.$svnr.'" onblur="GeburtsdatumEintragen()" /></td></tr>';
|
||||
echo '<tr><td>Ersatzkennzeichen</td><td><input type="text" id="ersatzkennzeichen" size="30" maxlength="10" name="ersatzkennzeichen" value="'.$ersatzkennzeichen.'" /></td></tr>';
|
||||
echo '<tr><td>Geburtsdatum *</td><td><input type="text" id="geburtsdatum" size="30" maxlength="10" name="geburtsdatum" value="'.$geburtsdatum.'" /> (Format: TT.MM.JJJJ)</td></tr>';
|
||||
echo '<tr><td> </td></tr>';
|
||||
echo '<tr><td>Nation</td><td><SELECT name="adresse_nation" id="adresse_nation" onchange="loadGemeindeData()">';
|
||||
$nation = new nation();
|
||||
$nation->getAll();
|
||||
@@ -786,8 +864,8 @@ foreach ($nation->nation as $row)
|
||||
echo "<option value='$row->code' $selected>$row->langtext</option>";
|
||||
}
|
||||
echo '</SELECT></td></tr>';
|
||||
echo '<tr><td>Postleitzahl</td><td><input type="text" size="5" maxlength="16" id="plz" name="plz" value="'.$plz.'" onblur="loadGemeindeData()" /></td></tr>';
|
||||
echo '<tr><td>Adresse</td><td><input type="text" id="adresse" maxlength="256" size="40" name="adresse" value="'.$adresse.'" /></td></tr>';
|
||||
echo '<tr><td>Postleitzahl</td><td><input type="text" size="10" maxlength="16" id="plz" name="plz" value="'.$plz.'" onblur="loadGemeindeData()" /></td></tr>';
|
||||
echo '<tr><td>Adresse</td><td><input type="text" id="adresse" maxlength="256" size="30" name="adresse" value="'.$adresse.'" /></td></tr>';
|
||||
echo '<tr><td>Gemeinde</td><td><div id="gemeindediv">';
|
||||
//wenn die Nation Oesterreich ist, dann wird ein DropDown fuer Gemeinde und Ort angezeigt.
|
||||
//wenn die Nation nicht Oesterreich ist, werden nur textfelder angezeigt
|
||||
@@ -814,15 +892,15 @@ if($adresse_nation=='A' && $plz!='')
|
||||
echo getOrtDropDown($plz, $gemeinde);
|
||||
}
|
||||
echo '</div><input type="'.($adresse_nation=='A'?'hidden':'text').'" id="adresse-ort-textfeld" maxlength="256" name="ort_txt" value="'.$ort.'"/></td></tr>';
|
||||
|
||||
echo '</table>';
|
||||
echo '<tr><td> </td></tr>';
|
||||
//echo '</table>';
|
||||
echo '<div style="display: none;" id="ueb1"><input type="radio" id="ueberschreiben1" name="ueberschreiben" value="Ja" onclick="disablefields2(false)">Bestehende Adresse überschreiben</div>';
|
||||
echo '<div style="display: none;" id="ueb2"><input type="radio" id="ueberschreiben2" name="ueberschreiben" value="Nein" onclick="disablefields2(false)" checked>Adresse hinzufügen</div>';
|
||||
echo '<div style="display: none;" id="ueb3"><input type="radio" id="ueberschreiben3" name="ueberschreiben" value="" onclick="disablefields2(true)">Adresse nicht anlegen</div>';
|
||||
echo '</fieldset></td></tr>';
|
||||
echo '<tr><td>EMail</td><td><input type="text" id="email" maxlength="128" name="email" value="'.$email.'" /></td></tr>';
|
||||
echo '<tr><td>Telefon</td><td><input type="text" id="telefon" maxlength="128" name="telefon" value="'.$telefon.'" /></td></tr>';
|
||||
echo '<tr><td>Mobil</td><td><input type="text" id="mobil" maxlength="128" name="mobil" value="'.$mobil.'" /></td></tr>';
|
||||
echo '</td></tr>';
|
||||
echo '<tr><td>EMail</td><td><input type="text" id="email" maxlength="128" size="30" name="email" value="'.$email.'" /></td></tr>';
|
||||
echo '<tr><td>Telefon</td><td><input type="text" id="telefon" maxlength="128" size="30" name="telefon" value="'.$telefon.'" /></td></tr>';
|
||||
echo '<tr><td>Mobil</td><td><input type="text" id="mobil" maxlength="128" size="30" name="mobil" value="'.$mobil.'" /></td></tr>';
|
||||
echo '<tr><td>Letzte Ausbildung</td><td><SELECT id="letzteausbildung" name="letzteausbildung">';
|
||||
echo '<OPTION value="">-- keine Auswahl --</OPTION>';
|
||||
$qry = "SELECT * FROM bis.tbl_ausbildung ORDER BY ausbildungcode";
|
||||
@@ -837,8 +915,8 @@ echo '</SELECT>';
|
||||
echo '</td></tr>';
|
||||
echo '<tr><td>Lektor</td><td><input type="checkbox" name="lektor" '.($lektor?'checked':'').' /></td></tr>';
|
||||
echo '<tr><td>Fixangestellt</td><td><input type="checkbox" name="fixangestellt" '.($fixangestellt?'checked':'').' /></td></tr>';
|
||||
echo '<tr><td>Personalnummer</td><td><input type="text" name="personalnummer" size="4" value="'.$personalnummer.'" /> (optional)</td></tr>';
|
||||
echo '<tr><td>Anmerkungen</td><td><textarea id="anmerkung" name="anmerkungen">'.$anmerkungen.'</textarea></td></tr>';
|
||||
echo '<tr><td>Personalnummer</td><td><input type="text" name="personalnummer" size="10" value="'.$personalnummer.'" /> (optional)</td></tr>';
|
||||
echo '<tr><td>Anmerkungen</td><td><textarea id="anmerkung" name="anmerkungen" cols="25">'.$anmerkungen.'</textarea></td></tr>';
|
||||
echo '<tr><td></td><td>';
|
||||
|
||||
if(($geburtsdatum=='' && $vorname=='' && $nachname=='') || $geburtsdatum_error)
|
||||
|
||||
@@ -1362,11 +1362,13 @@ if (isset($_REQUEST['reihungstest']))
|
||||
die($db->db_last_error());
|
||||
}
|
||||
|
||||
$gebiete_arr = array();
|
||||
while ($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if (!isset($ergebnis[$row->prestudent_id]))
|
||||
{
|
||||
$ergebnis[$row->prestudent_id] = new stdClass();
|
||||
$gebiete_arr[$row->prestudent_id] = array();
|
||||
}
|
||||
|
||||
$ergebnis[$row->prestudent_id]->prestudent_id = $row->prestudent_id;
|
||||
@@ -1423,78 +1425,54 @@ if (isset($_REQUEST['reihungstest']))
|
||||
$ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->prozent = $prozent;
|
||||
$ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->punkte = $punkte;
|
||||
|
||||
// Gesamtpunkte mit Physik
|
||||
if (isset($ergebnis[$row->prestudent_id]->gesamt))
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamt += $prozent * $row->gewicht;
|
||||
}
|
||||
else
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamt = $prozent * $row->gewicht;
|
||||
}
|
||||
// Bei Auswertungen ohne rt_id kann es vorkommen, dass Datensätze Doppelt sind
|
||||
// Bei der Summe darf ein Gebiet jedenfalls nur einmal summiert werden
|
||||
|
||||
if (isset($ergebnis[$row->prestudent_id]->gesamtpunkte))
|
||||
if (!in_array($row->gebiet_id, $gebiete_arr[$row->prestudent_id]))
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamtpunkte += $punkte;
|
||||
}
|
||||
else
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamtpunkte = $punkte;
|
||||
}
|
||||
$gebiete_arr[$row->prestudent_id][] = $row->gebiet_id;
|
||||
|
||||
// Gesamtpunkte ohne Physik
|
||||
if ($row->gebiet_id != 10)
|
||||
{
|
||||
if (isset($ergebnis[$row->prestudent_id]->gesamt_ohne_physik))
|
||||
// Gesamtpunkte mit Physik
|
||||
if (isset($ergebnis[$row->prestudent_id]->gesamt))
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamt_ohne_physik += $prozent * $row->gewicht;
|
||||
$ergebnis[$row->prestudent_id]->gesamt += $prozent * $row->gewicht;
|
||||
}
|
||||
else
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamt_ohne_physik = $prozent * $row->gewicht;
|
||||
$ergebnis[$row->prestudent_id]->gesamt = $prozent * $row->gewicht;
|
||||
}
|
||||
|
||||
if (isset($ergebnis[$row->prestudent_id]->gesamtpunkte_ohne_physik))
|
||||
if (isset($ergebnis[$row->prestudent_id]->gesamtpunkte))
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamtpunkte_ohne_physik += $punkte;
|
||||
$ergebnis[$row->prestudent_id]->gesamtpunkte += $punkte;
|
||||
}
|
||||
else
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamtpunkte_ohne_physik = $punkte;
|
||||
$ergebnis[$row->prestudent_id]->gesamtpunkte = $punkte;
|
||||
}
|
||||
|
||||
// Gesamtpunkte ohne Physik
|
||||
if ($row->gebiet_id != 10)
|
||||
{
|
||||
if (isset($ergebnis[$row->prestudent_id]->gesamt_ohne_physik))
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamt_ohne_physik += $prozent * $row->gewicht;
|
||||
}
|
||||
else
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamt_ohne_physik = $prozent * $row->gewicht;
|
||||
}
|
||||
|
||||
if (isset($ergebnis[$row->prestudent_id]->gesamtpunkte_ohne_physik))
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamtpunkte_ohne_physik += $punkte;
|
||||
}
|
||||
else
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamtpunkte_ohne_physik = $punkte;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Wenn Person ID gleich ist und kein Ergebnis vorhanden ist, jenes eines anderen PreStudenten dieser Person anzeigen
|
||||
/*if ($ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->punkte == '')
|
||||
{
|
||||
foreach ($ergebnis as $erg)
|
||||
{
|
||||
if ($row->person_id == $erg->person_id && isset($erg->gebiet[$row->gebiet_id]->punkte) && $erg->gebiet[$row->gebiet_id]->punkte != '')
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->punkte = $erg->gebiet[$row->gebiet_id]->punkte;
|
||||
}
|
||||
if ($row->person_id == $erg->person_id && isset($erg->gebiet[$row->gebiet_id]->prozent) && $erg->gebiet[$row->gebiet_id]->prozent != '')
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gebiet[$row->gebiet_id]->prozent = $erg->gebiet[$row->gebiet_id]->prozent;
|
||||
}
|
||||
if ($row->person_id == $erg->person_id && $erg->gesamt != '')
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamt = $erg->gesamt;
|
||||
}
|
||||
if ($row->person_id == $erg->person_id && $erg->gesamtpunkte != '')
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamtpunkte = $erg->gesamtpunkte;
|
||||
}
|
||||
if ($row->person_id == $erg->person_id && $erg->gesamt_ohne_physik != '')
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamt_ohne_physik = $erg->gesamt_ohne_physik;
|
||||
}
|
||||
if ($row->person_id == $erg->person_id && $erg->gesamtpunkte_ohne_physik != '')
|
||||
{
|
||||
$ergebnis[$row->prestudent_id]->gesamtpunkte_ohne_physik = $erg->gesamtpunkte_ohne_physik;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
$ergb = $ergebnis;
|
||||
|
||||
@@ -226,8 +226,8 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
$akteInhalt = $akte1->result[0]->inhalt;
|
||||
$akteDMS = $akte1->result[0]->dms_id;
|
||||
// Bestehende Fotohistorie löschen und jene vom neuen Foto übernehmen
|
||||
$sql_query_upd1 .= "DELETE FROM public.tbl_person_fotostatus WHERE person_id=" . $db->db_add_param($akte2->result[0]->person_id, FHC_INTEGER) . ";";
|
||||
$sql_query_upd1 .= "UPDATE public.tbl_person_fotostatus SET person_id=" . $db->db_add_param($akte2->result[0]->person_id, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($akte1->result[0]->person_id, FHC_INTEGER) . ";";
|
||||
$sql_query_upd1 .= "DELETE FROM public.tbl_person_fotostatus WHERE person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . ";";
|
||||
$sql_query_upd1 .= "UPDATE public.tbl_person_fotostatus SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
|
||||
$msg_warning[] = "Das Foto von Person ".$personToDelete." war aktueller und wurde übernommen";
|
||||
}
|
||||
elseif ($insertamum1 < $insertamum2)
|
||||
@@ -235,7 +235,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
$akteInhalt = $akte2->result[0]->inhalt;
|
||||
$akteDMS = $akte2->result[0]->dms_id;
|
||||
// Bestehende Fotohistorie löschen und jene vom neuen Foto übernehmen
|
||||
$sql_query_upd1 .= "DELETE FROM public.tbl_person_fotostatus WHERE person_id=" . $db->db_add_param($akte1->result[0]->person_id, FHC_INTEGER) . ";";
|
||||
$sql_query_upd1 .= "DELETE FROM public.tbl_person_fotostatus WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
|
||||
$msg_warning[] = "Das Foto von Person ".$personToKeep." war aktueller und wurde übernommen";
|
||||
}
|
||||
else
|
||||
@@ -245,11 +245,11 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
}
|
||||
// Wenn Inhalt vorhanden, diesen laden, sonst aus DMS
|
||||
$base64foto = '';
|
||||
if ($akteInhalt != '')
|
||||
if (isset($akteInhalt) && $akteInhalt != '')
|
||||
{
|
||||
$base64foto = $akteInhalt;
|
||||
}
|
||||
elseif ($akteDMS != '')
|
||||
elseif (isset($akteDMS) && $akteDMS != '')
|
||||
{
|
||||
$dms = new dms();
|
||||
if ($dms->load($akteDMS))
|
||||
@@ -713,7 +713,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
$prestudentenArray[$previousKey]['zgvmadatum'] = $zgvmadatum = $value['zgvmadatum'];
|
||||
$prestudentenArray[$previousKey]['zgvmanation'] = $zgvmanation = $value['zgvmanation'];
|
||||
// Wenn kein Status außer Interessent und Abgewiesener mehr vorhanden ist, löschen
|
||||
if (!isset($statusArrayWichtige[$value->prestudent_id]))
|
||||
if (!isset($statusArrayWichtige[$value['prestudent_id']]))
|
||||
{
|
||||
unset($prestudentenArray[$key]);
|
||||
$prestudentLoeschArray[] = $value['prestudent_id'];
|
||||
@@ -730,7 +730,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
$warningList['zgvUnklar'][$prestudentId][$i]['zgvmadatum'] = $value['zgvmadatum'];
|
||||
$warningList['zgvUnklar'][$prestudentId][$i]['zgvmanation'] = $value['zgvmanation'];
|
||||
// Wenn kein Status außer Interessent und Abgewiesener mehr vorhanden ist, löschen
|
||||
if (!isset($statusArrayWichtige[$value->prestudent_id]))
|
||||
if (!isset($statusArrayWichtige[$value['prestudent_id']]))
|
||||
{
|
||||
unset($prestudentenArray[$key]);
|
||||
$prestudentLoeschArray[] = $value['prestudent_id'];
|
||||
|
||||
@@ -92,18 +92,20 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//DE" "http://www
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../include/js/tablesort/table.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../skin/jquery-ui-1.9.2.custom.min.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
|
||||
<script type="text/javascript" src="../../vendor/jquery/jqueryV1/jquery-1.12.4.min.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
|
||||
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>';
|
||||
|
||||
include('../../include/meta/jquery.php');
|
||||
include('../../include/meta/jquery-tablesorter.php');
|
||||
|
||||
echo ' <script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#t1").tablesorter(
|
||||
{
|
||||
sortList: [[1,0],[3,0]],
|
||||
widgets: ["zebra"]
|
||||
widgets: ["zebra", "filter"],
|
||||
headers: {1: { sorter: "shortDate", dateFormat: "ddmmyyyy" }}
|
||||
});
|
||||
$("#t2").tablesorter(
|
||||
{
|
||||
|
||||
@@ -2547,57 +2547,92 @@ if($reihungstest_id!='')
|
||||
{
|
||||
//Liste der Interessenten die zum Reihungstest angemeldet sind
|
||||
$qry = "
|
||||
SELECT DISTINCT
|
||||
rt_person_id,
|
||||
SELECT DISTINCT rt_person_id,
|
||||
rt_id,
|
||||
'0' as prestudent_id,
|
||||
'0' AS prestudent_id,
|
||||
tbl_rt_person.person_id,
|
||||
vorname,
|
||||
nachname,
|
||||
ort_kurzbz,
|
||||
studienplan_id,
|
||||
studiengang_kz,
|
||||
tbl_rt_person.ort_kurzbz,
|
||||
tbl_rt_person.studienplan_id,
|
||||
tbl_prestudent.studiengang_kz,
|
||||
gebdatum,
|
||||
geschlecht,
|
||||
punkte
|
||||
,(
|
||||
punkte,
|
||||
(
|
||||
SELECT kontakt
|
||||
FROM tbl_kontakt
|
||||
WHERE kontakttyp = 'email'
|
||||
AND person_id = tbl_rt_person.person_id
|
||||
AND zustellung = true LIMIT 1
|
||||
) AS email
|
||||
,(
|
||||
) AS email,
|
||||
(
|
||||
SELECT ausbildungssemester
|
||||
FROM public.tbl_prestudentstatus
|
||||
FROM PUBLIC.tbl_prestudentstatus
|
||||
WHERE prestudent_id = tbl_prestudent.prestudent_id
|
||||
AND datum = (
|
||||
SELECT MAX(datum)
|
||||
FROM public.tbl_prestudentstatus
|
||||
FROM PUBLIC.tbl_prestudentstatus
|
||||
WHERE prestudent_id = tbl_prestudent.prestudent_id
|
||||
AND status_kurzbz = 'Interessent'
|
||||
) LIMIT 1
|
||||
) AS ausbildungssemester
|
||||
,(
|
||||
SELECT orgform_kurzbz
|
||||
FROM public.tbl_prestudentstatus
|
||||
WHERE prestudent_id = tbl_prestudent.prestudent_id
|
||||
AND datum = (
|
||||
SELECT MAX(datum)
|
||||
FROM public.tbl_prestudentstatus
|
||||
WHERE prestudent_id = tbl_prestudent.prestudent_id
|
||||
AND status_kurzbz = 'Interessent'
|
||||
) LIMIT 1
|
||||
) AS orgform_kurzbz
|
||||
FROM
|
||||
public.tbl_rt_person
|
||||
JOIN public.tbl_person USING (person_id)
|
||||
JOIN public.tbl_prestudent ON (tbl_rt_person.person_id=tbl_prestudent.person_id)
|
||||
WHERE
|
||||
rt_id = ".$db->db_add_param($reihungstest_id, FHC_INTEGER);
|
||||
|
||||
$qry .= " AND tbl_rt_person.studienplan_id IN(SELECT studienplan_id FROM public.tbl_prestudentstatus where prestudent_id=tbl_prestudent.prestudent_id)
|
||||
ORDER BY ort_kurzbz NULLS FIRST,nachname,vorname";
|
||||
) AS ausbildungssemester,
|
||||
(
|
||||
SELECT orgform_kurzbz
|
||||
FROM PUBLIC.tbl_prestudentstatus
|
||||
WHERE prestudent_id = tbl_prestudent.prestudent_id
|
||||
AND datum = (
|
||||
SELECT MAX(datum)
|
||||
FROM PUBLIC.tbl_prestudentstatus
|
||||
WHERE prestudent_id = tbl_prestudent.prestudent_id
|
||||
AND status_kurzbz = 'Interessent'
|
||||
) LIMIT 1
|
||||
) AS orgform_kurzbz
|
||||
FROM PUBLIC.tbl_rt_person
|
||||
JOIN PUBLIC.tbl_person USING (person_id)
|
||||
JOIN PUBLIC.tbl_reihungstest rt ON (rt_id = rt.reihungstest_id)
|
||||
JOIN PUBLIC.tbl_prestudent ON (tbl_rt_person.person_id = tbl_prestudent.person_id)
|
||||
JOIN PUBLIC.tbl_prestudentstatus USING (prestudent_id)
|
||||
WHERE rt_id = ".$db->db_add_param($reihungstest_id, FHC_INTEGER)."
|
||||
AND tbl_rt_person.studienplan_id IN (
|
||||
SELECT studienplan_id
|
||||
FROM PUBLIC.tbl_prestudentstatus
|
||||
WHERE prestudent_id = tbl_prestudent.prestudent_id
|
||||
)
|
||||
AND tbl_prestudentstatus.studiensemester_kurzbz IN (
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE studiensemester_kurzbz = rt.studiensemester_kurzbz
|
||||
|
||||
UNION
|
||||
|
||||
(
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE ende <= (
|
||||
SELECT start
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE studiensemester_kurzbz = rt.studiensemester_kurzbz
|
||||
)
|
||||
ORDER BY ende DESC LIMIT 1
|
||||
)
|
||||
|
||||
UNION
|
||||
|
||||
(
|
||||
SELECT studiensemester_kurzbz
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE start >= (
|
||||
SELECT ende
|
||||
FROM PUBLIC.tbl_studiensemester
|
||||
WHERE studiensemester_kurzbz = rt.studiensemester_kurzbz
|
||||
)
|
||||
ORDER BY start ASC LIMIT 1
|
||||
)
|
||||
)
|
||||
ORDER BY ort_kurzbz NULLS FIRST,
|
||||
nachname,
|
||||
vorname";
|
||||
|
||||
$mailto = '';
|
||||
$result_arr = array();
|
||||
|
||||
Reference in New Issue
Block a user