This commit is contained in:
cris-technikum
2019-04-29 11:00:10 +02:00
11 changed files with 285 additions and 148 deletions
+23 -10
View File
@@ -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);
}
}
+1 -1
View File
@@ -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)
+1 -1
View File
@@ -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);
}
}
+34 -3
View File
@@ -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">
+1 -1
View File
@@ -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&uuml;r BIS-Meldung Stg '.$stg_kz.'</a><br>';
echo '<a href="'.$ddd.'" target="_blank" download>XML-Datei f&uuml;r BIS-Meldung Stg '.$stg_kz.'</a><br>';
}
if(file_exists($eee))
{
+105 -27
View File
@@ -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.'" />
&nbsp;&nbsp;Weitere Vornamen&nbsp;<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&auml;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>&nbsp;</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>&nbsp;</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)
+35 -57
View File
@@ -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;
+7 -7
View File
@@ -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(
{
+68 -33
View File
@@ -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();