mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 00:12:15 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -81,10 +81,15 @@ class Manager extends Auth_Controller
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Installiert eine Extension.
|
||||
* Es wird davon ausgegangen, dass die Extension ueber einen Fileupload hochgeladen wird.
|
||||
* alternativ kann hier auch der Name und Filename uebergeben werden um die installation ueber
|
||||
* die Commandline ohne Upload durchzufuehren.
|
||||
* @param $extensioName string Name der Extension
|
||||
* @param $filename Url Encoded Pfad zum tgz File der Extension
|
||||
*/
|
||||
public function uploadExtension()
|
||||
public function uploadExtension($extensionName = null, $filename = null)
|
||||
{
|
||||
$this->extensionslib->installExtension();
|
||||
$this->extensionslib->installExtension($extensionName, urldecode($filename));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,17 +59,29 @@ class ExtensionsLib
|
||||
|
||||
/**
|
||||
* Main method to install an extension
|
||||
* If no filename / Extensionname is provided the extension should be uploaded via webupload
|
||||
*
|
||||
* @param $extensionName string Name of Extension (optional)
|
||||
* @param $filename Path to tgz Extension File (optional)
|
||||
*/
|
||||
public function installExtension()
|
||||
public function installExtension($extensionName = null, $filename = null)
|
||||
{
|
||||
$extensionDB = null; // contains data from DB about an extension
|
||||
$extensionJson = null; // contains the extension.json data
|
||||
|
||||
$this->_printInfo('WARNING!!! Please do not change page or stop this procedure before it is finished');
|
||||
|
||||
$this->_loadUploadLibrary(); // loads CI upload library
|
||||
|
||||
$uploadData = $this->_uploadExtension(); // perform the upload of the file and returns info about it
|
||||
if (!is_null($extensionName) && !is_null($filename))
|
||||
{
|
||||
$uploadData = new stdClass();
|
||||
$uploadData->fullPath = $filename;
|
||||
$uploadData->extensionName = $extensionName;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->_loadUploadLibrary(); // loads CI upload library
|
||||
$uploadData = $this->_uploadExtension(); // perform the upload of the file and returns info about it
|
||||
}
|
||||
|
||||
if ($uploadData != null) // if no error occurred
|
||||
{
|
||||
|
||||
@@ -123,11 +123,12 @@ class PermissionLib
|
||||
public function isEntitled($requiredPermissions, $calledMethod)
|
||||
{
|
||||
$checkPermissions = false;
|
||||
$requestMethod = $_SERVER['REQUEST_METHOD'];
|
||||
|
||||
// If it's called from command line than it's trusted
|
||||
if (is_cli()) return true;
|
||||
|
||||
$requestMethod = $_SERVER['REQUEST_METHOD'];
|
||||
|
||||
// Checks if the parameter $requiredPermissions is set, is an array and contains at least one element
|
||||
if (isset($requiredPermissions) && !isEmptyArray($requiredPermissions))
|
||||
{
|
||||
|
||||
@@ -155,7 +155,7 @@ if (isset($_SESSION['pruefling_id']))
|
||||
prestudent_id = ".$db->db_add_param($_SESSION['prestudent_id'])."
|
||||
)
|
||||
|
||||
-- Filter only future studiensemester (incl. actual one)
|
||||
/* Filter only future studiensemester (incl. actual one) */
|
||||
AND
|
||||
studiensemester_kurzbz IN (
|
||||
SELECT
|
||||
@@ -184,7 +184,7 @@ if (isset($_SESSION['pruefling_id']))
|
||||
|
||||
$qry .= "
|
||||
|
||||
-- Order to get last semester when using distinct on
|
||||
/* Order to get last semester when using distinct on */
|
||||
ORDER BY
|
||||
prestudent_id,
|
||||
datum DESC,
|
||||
@@ -197,6 +197,7 @@ if (isset($_SESSION['pruefling_id']))
|
||||
semester,
|
||||
gebiet_id,
|
||||
bezeichnung,
|
||||
reihung,
|
||||
". $bezeichnung_mehrsprachig_sel. "
|
||||
FROM
|
||||
(
|
||||
@@ -250,7 +251,8 @@ if (isset($_SESSION['pruefling_id']))
|
||||
) temp
|
||||
|
||||
ORDER BY
|
||||
semester
|
||||
semester,
|
||||
reihung
|
||||
";
|
||||
|
||||
$result = $db->db_query($qry);
|
||||
|
||||
@@ -174,6 +174,9 @@ define('VIEW_BEGIN', 'vw_');
|
||||
//Legt fest ob die Personalnummer beim Anlegen NULL sein soll
|
||||
define('FAS_PERSONALNUMMER_GENERATE_NULL', false);
|
||||
|
||||
// Legt fest ob Felder mit Reihgungstest-Basispunkten im Reiter Aufnahme-Termine angezeigt werden
|
||||
define('FAS_REIHUNGSTEST_PUNKTE_BASISGEBIET_ANZEIGEN', false);
|
||||
|
||||
// API Informationen
|
||||
define('FHC_REST_API_KEY', 'testapikey@fhcomplete.org');
|
||||
define('FHC_REST_USER', 'username');
|
||||
|
||||
@@ -244,6 +244,7 @@ function AufnahmeTermineAuswahl()
|
||||
var studienplan_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#studienplan_id" ));
|
||||
var endpunkte_inkl_gebiete = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#endpunkte_inkl_gebiete" ));
|
||||
var endpunkte_exkl_gebiete = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#endpunkte_exkl_gebiete" ));
|
||||
var typ = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#typ" ));
|
||||
|
||||
document.getElementById('aufnahmetermine-textbox-rt_person_id').value=rt_person_id;
|
||||
document.getElementById('aufnahmetermine-textbox-person_id').value=person_id;
|
||||
@@ -259,6 +260,24 @@ function AufnahmeTermineAuswahl()
|
||||
document.getElementById('aufnahmetermine-menulist-studienplan').value=studienplan_id;
|
||||
document.getElementById('aufnahmetermine-textbox-endpunkte-inkl-gebiete').value = endpunkte_inkl_gebiete;
|
||||
document.getElementById('aufnahmetermine-textbox-endpunkte-exkl-gebiete').value = endpunkte_exkl_gebiete;
|
||||
|
||||
// Sichtbarkeit der RT-Vergleichsergebnispunkte (ohne Quereinsteiger)
|
||||
var basisgebiet_punkte_anzeigen = <?php echo FAS_REIHUNGSTEST_PUNKTE_BASISGEBIET_ANZEIGEN ? 'true' : 'false' ?>;
|
||||
|
||||
// * Generell Anzeige nur wenn über config-Datei gesetzt ist
|
||||
if (basisgebiet_punkte_anzeigen)
|
||||
{
|
||||
// * für Bachelor-Studiengänge anzeigen
|
||||
if (typ == 'b')
|
||||
{
|
||||
document.getElementById('aufnahmetermine-groupbox-vergleich-endpunkte').hidden = false;
|
||||
}
|
||||
// * für Master-Studiengänge verstecken
|
||||
else if (typ == 'm')
|
||||
{
|
||||
document.getElementById('aufnahmetermine-groupbox-vergleich-endpunkte').hidden = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function AufnahmeTermineNeu()
|
||||
|
||||
@@ -28,6 +28,7 @@ require_once('../../config/global.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/variable.class.php');
|
||||
require_once('../../include/prestudent.class.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
|
||||
$user=get_uid();
|
||||
$variable = new variable();
|
||||
@@ -294,18 +295,24 @@ echo ']>
|
||||
<spacer flex="1" />
|
||||
</hbox>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Punkte inkl. Physik" control="aufnahmetermine-textbox-endpunkte-inkl-gebiete" />
|
||||
<hbox>
|
||||
<textbox id="aufnahmetermine-textbox-endpunkte-inkl-gebiete" readonly="true" maxlength="8" size="6"/>
|
||||
</hbox>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Punkte exkl. Physik" control="aufnahmetermine-textbox-endpunkte-exkl-gebiete" />
|
||||
<hbox>
|
||||
<textbox id="aufnahmetermine-textbox-endpunkte-exkl-gebiete" readonly="true" maxlength="8" size="6"/>
|
||||
</hbox>
|
||||
</row>
|
||||
<groupbox id="aufnahmetermine-groupbox-vergleich-endpunkte" hidden="true">
|
||||
<caption label="Vergleichswerte Reihungstestpunkte (Basisgebiete)"></caption>
|
||||
<vbox style="padding: 10px;">
|
||||
<spacer resize='none' height='10' flex="1"/>
|
||||
<row>
|
||||
<label value="Reihungstestpunkte (inkl. Physik)" control="aufnahmetermine-textbox-endpunkte-inkl-gebiete" style="margin-right: 7px;"/>
|
||||
<hbox>
|
||||
<textbox id="aufnahmetermine-textbox-endpunkte-inkl-gebiete" readonly="true" maxlength="8" size="6" flex="1"/>
|
||||
</hbox>
|
||||
</row>
|
||||
<row>
|
||||
<label value="Reihungstestpunkte (exkl. Physik)" control="aufnahmetermine-textbox-endpunkte-exkl-gebiete" />
|
||||
<hbox>
|
||||
<textbox id="aufnahmetermine-textbox-endpunkte-exkl-gebiete" readonly="true" maxlength="8" size="6" flex="1"/>
|
||||
</hbox>
|
||||
</row>
|
||||
</vbox>
|
||||
</groupbox>
|
||||
</rows>
|
||||
</grid>
|
||||
<hbox>
|
||||
|
||||
@@ -995,9 +995,9 @@ function StudentAbschlusspruefungPrintUrkundeMultiple(event, sprache)
|
||||
return false;
|
||||
}
|
||||
|
||||
if(pruefungstyp_kurzbz=='Bachelor' && sprache=='deutsch')
|
||||
if((pruefungstyp_kurzbz=='Bachelor' || pruefungstyp_kurzbz=='lgabschluss') && sprache=='deutsch')
|
||||
xsl='Bakkurkunde';
|
||||
else if(pruefungstyp_kurzbz=='Bachelor' && sprache=='englisch')
|
||||
else if((pruefungstyp_kurzbz=='Bachelor' || pruefungstyp_kurzbz=='lgabschluss') && sprache=='englisch')
|
||||
xsl='BakkurkundeEng';
|
||||
else if(pruefungstyp_kurzbz=='Diplom' && sprache=='deutsch')
|
||||
xsl='Diplomurkunde';
|
||||
|
||||
+115
-74
@@ -20,6 +20,7 @@
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
require_once(dirname(__FILE__).'/ablauf.class.php');
|
||||
|
||||
class pruefling extends basis_db
|
||||
{
|
||||
@@ -308,100 +309,140 @@ class pruefling extends basis_db
|
||||
|
||||
/**
|
||||
* Berechnet das Reihungstestergebnis fuer eine Person und ggf Reihungstest
|
||||
* ACHTUNG - Diese Funktion liefert keine zuverlaessigen Ergebnisse wenn keine ReihungstestID uebergeben wird
|
||||
* und die Person mehrere Reihungstests absolviert hat!
|
||||
* @param $person_id ID der Person.
|
||||
* @param $punkte Wenn true werden Punkte geliefert, sonst Prozentsumme.
|
||||
* @param $reihungstest_id ID des Reihungstests.
|
||||
* @param $has_excluded_gebiete Wenn true werden die Punkte der Fragengebiete, die im config-array
|
||||
* definiert sind, bei der Berechnung der Endpunkte nicht berücksichtigt.
|
||||
* @param $studiengang_kz Wenn eine Studiengangskennzahl übergeben wird, dann werden nur die Punkte der
|
||||
* Basis-Fragengebiete (ohne Quereinsteiger) bei der Berechnung der Endpunkte berücksichtigt.
|
||||
* @return Endpunkte des Reihungstests oder False wenn keine Punkte vorhanden
|
||||
*/
|
||||
public function getReihungstestErgebnisPerson($person_id, $punkte=false, $reihungstest_id=null, $has_excluded_gebiete = false)
|
||||
public function getReihungstestErgebnisPerson($person_id, $punkte=false, $reihungstest_id, $has_excluded_gebiete = false, $studiengang_kz = null)
|
||||
{
|
||||
$qry = "SELECT * FROM testtool.vw_auswertung
|
||||
WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER);
|
||||
|
||||
if ($has_excluded_gebiete)
|
||||
if(is_numeric($reihungstest_id))
|
||||
{
|
||||
if (defined('FAS_REIHUNGSTEST_EXCLUDE_GEBIETE') && !empty(FAS_REIHUNGSTEST_EXCLUDE_GEBIETE))
|
||||
$ergebnis=0;
|
||||
|
||||
$qry = "
|
||||
SELECT DISTINCT ON (vw_auswertung_ablauf.gebiet_id) gebiet_id,
|
||||
vw_auswertung_ablauf.*,
|
||||
tbl_studiengang.typ
|
||||
FROM
|
||||
testtool.vw_auswertung_ablauf
|
||||
JOIN
|
||||
public.tbl_studiengang ON vw_auswertung_ablauf.stg_kurzbz = tbl_studiengang.kurzbzlang
|
||||
WHERE
|
||||
reihungstest_id = ".$this->db_add_param($reihungstest_id, FHC_INTEGER);
|
||||
|
||||
// Ggf. die Basis-Fragengebiete ermitteln (ohne Quereinsteigergebiete)
|
||||
if (is_numeric($studiengang_kz))
|
||||
{
|
||||
$exclude_gebiet_id_arr = FAS_REIHUNGSTEST_EXCLUDE_GEBIETE;
|
||||
$exclude_gebiet_id_toString = implode(', ', $exclude_gebiet_id_arr);
|
||||
$qry .= " AND gebiet_id NOT IN (". $exclude_gebiet_id_toString. ")";
|
||||
$ablauf = new Ablauf();
|
||||
$ablauf->getAblaufGebiete($studiengang_kz, NULL, 1);
|
||||
$basis_gebiet_id_arr = array();
|
||||
$basis_gebiet_id_toString = '';
|
||||
|
||||
foreach ($ablauf->result as $obj)
|
||||
{
|
||||
$basis_gebiet_id_arr []= $obj->gebiet_id;
|
||||
}
|
||||
$basis_gebiet_id_toString = implode(', ', $basis_gebiet_id_arr);
|
||||
|
||||
if (!empty($basis_gebiet_id_toString))
|
||||
{
|
||||
$qry .= "
|
||||
AND
|
||||
gebiet_id IN (". $basis_gebiet_id_toString. ")
|
||||
";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$ergebnis=0;
|
||||
|
||||
if(!is_null($reihungstest_id))
|
||||
{
|
||||
$qry.=" AND reihungstest_id=".$this->db_add_param($reihungstest_id, FHC_INTEGER);
|
||||
|
||||
// Quercheck der PrestudentID ueber den Status damit bei Personen
|
||||
// die den Reihungstest oefter im selben Studiengang gemacht haben nicht das
|
||||
// Ergebniss der beiden Tests summiert bekommen
|
||||
// Im Zweifelsfall wird der neuere Reihungstest genommen
|
||||
$qry.= "
|
||||
AND
|
||||
prestudent_id = (
|
||||
SELECT
|
||||
prestudent_id
|
||||
FROM
|
||||
public.tbl_rt_person
|
||||
JOIN
|
||||
public.tbl_prestudent USING(person_id)
|
||||
JOIN
|
||||
public.tbl_prestudentstatus USING (prestudent_id)
|
||||
JOIN
|
||||
tbl_reihungstest ON (
|
||||
tbl_rt_person.rt_id = tbl_reihungstest.reihungstest_id
|
||||
AND
|
||||
tbl_prestudentstatus.studiensemester_kurzbz = tbl_reihungstest.studiensemester_kurzbz
|
||||
)
|
||||
WHERE
|
||||
tbl_rt_person.person_id = ".$this->db_add_param($person_id, FHC_INTEGER)."
|
||||
// Ggf. Fragengebiete exkludieren
|
||||
if ($has_excluded_gebiete)
|
||||
{
|
||||
if (defined('FAS_REIHUNGSTEST_EXCLUDE_GEBIETE') && !empty(FAS_REIHUNGSTEST_EXCLUDE_GEBIETE))
|
||||
{
|
||||
$exclude_gebiet_id_arr = FAS_REIHUNGSTEST_EXCLUDE_GEBIETE;
|
||||
$exclude_gebiet_id_toString = implode(', ', $exclude_gebiet_id_arr);
|
||||
$qry .= "
|
||||
AND
|
||||
tbl_rt_person.rt_id = ".$this->db_add_param($reihungstest_id, FHC_INTEGER)."
|
||||
gebiet_id NOT IN (". $exclude_gebiet_id_toString. ")
|
||||
AND
|
||||
tbl_prestudentstatus.status_kurzbz='Interessent'
|
||||
AND
|
||||
(tbl_reihungstest.stufe = 1 OR tbl_reihungstest.stufe IS NULL)
|
||||
ORDER BY
|
||||
tbl_reihungstest.datum desc LIMIT 1
|
||||
)";
|
||||
}
|
||||
typ = 'b'
|
||||
";
|
||||
}
|
||||
}
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
// Wenn keine Eintraege vorhanden dann false
|
||||
if($this->db_num_rows($result)==0)
|
||||
/**
|
||||
* Quercheck der PrestudentID ueber den Status damit bei Personen
|
||||
* die den Reihungstest oefter im selben Studiengang gemacht haben nicht das
|
||||
* Ergebniss der beiden Tests summiert bekommen
|
||||
* Im Zweifelsfall wird der neuere Reihungstest genommen */
|
||||
$qry .= "
|
||||
AND prestudent_id = (
|
||||
SELECT
|
||||
prestudent_id
|
||||
FROM
|
||||
public.tbl_rt_person
|
||||
JOIN
|
||||
public.tbl_prestudent USING(person_id)
|
||||
JOIN
|
||||
public.tbl_prestudentstatus USING (prestudent_id, studienplan_id)
|
||||
JOIN
|
||||
tbl_reihungstest ON (
|
||||
tbl_rt_person.rt_id = tbl_reihungstest.reihungstest_id
|
||||
)
|
||||
WHERE
|
||||
tbl_rt_person.person_id = ".$this->db_add_param($person_id, FHC_INTEGER)."
|
||||
AND
|
||||
tbl_rt_person.rt_id = ".$this->db_add_param($reihungstest_id, FHC_INTEGER)."
|
||||
AND
|
||||
tbl_prestudentstatus.status_kurzbz='Interessent'
|
||||
AND
|
||||
(tbl_reihungstest.stufe = 1 OR tbl_reihungstest.stufe IS NULL)
|
||||
ORDER BY
|
||||
tbl_reihungstest.datum desc LIMIT 1
|
||||
)
|
||||
";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
// Wenn keine Eintraege vorhanden dann false
|
||||
if($this->db_num_rows($result)==0)
|
||||
return false;
|
||||
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
//wenn maxpunkte ueberschritten wurde -> 100%
|
||||
if($row->punkte>=$row->maxpunkte)
|
||||
{
|
||||
$prozent=100;
|
||||
$row->punkte = $row->maxpunkte;
|
||||
}
|
||||
else
|
||||
$prozent = ($row->punkte/$row->maxpunkte)*100;
|
||||
|
||||
if($punkte)
|
||||
{
|
||||
$ergebnis +=$row->punkte;
|
||||
}
|
||||
|
||||
else
|
||||
$ergebnis+=$prozent*$row->gewicht;
|
||||
}
|
||||
return $ergebnis;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Abfrage';
|
||||
return false;
|
||||
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
//wenn maxpunkte ueberschritten wurde -> 100%
|
||||
if($row->punkte>=$row->maxpunkte)
|
||||
{
|
||||
$prozent=100;
|
||||
$row->punkte = $row->maxpunkte;
|
||||
}
|
||||
else
|
||||
$prozent = ($row->punkte/$row->maxpunkte)*100;
|
||||
|
||||
if($punkte)
|
||||
{
|
||||
$ergebnis +=$row->punkte;
|
||||
}
|
||||
|
||||
else
|
||||
$ergebnis+=$prozent*$row->gewicht;
|
||||
}
|
||||
return $ergebnis;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler bei einer Abfrage';
|
||||
$this->errormsg = 'reihungstest_id muss numerisch sein';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
+40
-17
@@ -95,35 +95,47 @@ if($prestudent_id!='')
|
||||
$stsem_arr[] = $reihungstest_obj_arr[$row->reihungstest_id]->studiensemester_kurzbz;
|
||||
}
|
||||
|
||||
// Reale (nicht von Assistenz überarbeitete) Gesamtpunkte des RT laden; ggf. ohne bestimmte Fragengebiete
|
||||
$pruefling = new Pruefling();
|
||||
// Studiengangstyp ermitteln
|
||||
$stpl = new Studienplan();
|
||||
$stpl->loadStudienplan($row->studienplan_id); // Studienplan von RT-Person
|
||||
$rtp_sto_id = $stpl->studienordnung_id; // Studienordnung-ID von RT-Person
|
||||
$sto = new Studienordnung();
|
||||
$sto->loadStudienordnung($rtp_sto_id);
|
||||
$studiengang_kz = $sto->studiengang_kz; // Studiengang-KZ von RT-Person
|
||||
$stg = new Studiengang($studiengang_kz);
|
||||
$typ = $stg->typ; // Studiengangstyp von RT-Person
|
||||
|
||||
// * Gesamtpunkte inklusive alle Fragengebiete
|
||||
// Reihungstestpunkte der Basisgebiete ermitteln (ohne Quereinsteiger)
|
||||
$pruefling = new Pruefling();
|
||||
$endpunkte_inkl_gebiete = 0;
|
||||
$endpunkte_exkl_gebiete = 0;
|
||||
|
||||
// * Endpunkte über alle Basisgebiete
|
||||
if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE)
|
||||
{
|
||||
$endpunkte_inkl_gebiete = $pruefling->getReihungstestErgebnisPerson($row->person_id, true, $row->reihungstest_id);
|
||||
$endpunkte_inkl_gebiete = $pruefling->getReihungstestErgebnisPerson($row->person_id, true, $row->reihungstest_id, false, $row->studiengang_kz);
|
||||
}
|
||||
else
|
||||
{
|
||||
$endpunkte_inkl_gebiete = $pruefling->getReihungstestErgebnisPerson($row->person_id, false, $row->reihungstest_id);
|
||||
$endpunkte_inkl_gebiete = $pruefling->getReihungstestErgebnisPerson($row->person_id, false, $row->reihungstest_id, false, $row->studiengang_kz);
|
||||
}
|
||||
// * ggf. Gesamtpunkte exklusive bestimmte Fragengebiete
|
||||
|
||||
// * ggf. Endpunkte exklusive bestimmter Gebiete, die in der config-Datei gesetzt sind
|
||||
if (defined('FAS_REIHUNGSTEST_EXCLUDE_GEBIETE') && !empty(FAS_REIHUNGSTEST_EXCLUDE_GEBIETE))
|
||||
{
|
||||
if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE)
|
||||
{
|
||||
$endpunkte_exkl_gebiete = $pruefling->getReihungstestErgebnisPerson($row->person_id, true, $row->reihungstest_id, true);
|
||||
$endpunkte_exkl_gebiete = $pruefling->getReihungstestErgebnisPerson($row->person_id, true, $row->reihungstest_id, true, $row->studiengang_kz);
|
||||
}
|
||||
else
|
||||
{
|
||||
$endpunkte_exkl_gebiete = $pruefling->getReihungstestErgebnisPerson($row->person_id, false, $row->reihungstest_id, true);
|
||||
$endpunkte_exkl_gebiete = $pruefling->getReihungstestErgebnisPerson($row->person_id, false, $row->reihungstest_id, true, $row->studiengang_kz);
|
||||
}
|
||||
}
|
||||
|
||||
$row->endpunkte_inkl_gebiete = round($endpunkte_inkl_gebiete, 2);
|
||||
$row->endpunkte_exkl_gebiete = round($endpunkte_exkl_gebiete, 2);
|
||||
$row->typ = $typ;
|
||||
}
|
||||
if(count($stsem_arr) > 0)
|
||||
{
|
||||
@@ -144,36 +156,46 @@ elseif($rt_person_id!='')
|
||||
$reihungstest_obj_arr[$reihungstest->reihungstest_id] = new reihungstest();
|
||||
$reihungstest_obj_arr[$reihungstest->reihungstest_id]->load($reihungstest->reihungstest_id);
|
||||
|
||||
// Reale (nicht von Assistenz überarbeitete) Gesamtpunkte des RT laden; ggf. ohne bestimmte Fragengebiete
|
||||
$pruefling = new Pruefling();
|
||||
// Studiengangstyp ermitteln
|
||||
$stpl = new Studienplan();
|
||||
$stpl->loadStudienplan($reihungstest->studienplan_id); // Studienplan von RT-Person
|
||||
$rtp_sto_id = $stpl->studienordnung_id; // Studienordnung-ID von RT-Person
|
||||
$sto = new Studienordnung();
|
||||
$sto->loadStudienordnung($rtp_sto_id);
|
||||
$studiengang_kz = $sto->studiengang_kz; // Studiengang-KZ von RT-Person
|
||||
$stg = new Studiengang($studiengang_kz);
|
||||
$typ = $stg->typ; // Studiengangstyp von RT-Person
|
||||
|
||||
// * Gesamtpunkte inklusive alle Fragengebiete
|
||||
// Reihungstestpunkte der Basisgebiete ermitteln (ohne Quereinsteiger)
|
||||
$pruefling = new Pruefling();
|
||||
$endpunkte_inkl_gebiete = 0;
|
||||
$endpunkte_exkl_gebiete = 0;
|
||||
|
||||
// * Endpunkte über alle Basisgebiete
|
||||
if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE)
|
||||
{
|
||||
$endpunkte_inkl_gebiete = $pruefling->getReihungstestErgebnisPerson($reihungstest->person_id, true, $reihungstest->reihungstest_id);
|
||||
$endpunkte_inkl_gebiete = $pruefling->getReihungstestErgebnisPerson($reihungstest->person_id, true, $reihungstest->reihungstest_id, false, $studiengang_kz);
|
||||
}
|
||||
else
|
||||
{
|
||||
$endpunkte_inkl_gebiete = $pruefling->getReihungstestErgebnisPerson($reihungstest->person_id, false, $reihungstest->reihungstest_id);
|
||||
$endpunkte_inkl_gebiete = $pruefling->getReihungstestErgebnisPerson($reihungstest->person_id, false, $reihungstest->reihungstest_id, false, $studiengang_kz);
|
||||
}
|
||||
// * ggf. Gesamtpunkte exklusive bestimmte Fragengebiete
|
||||
// * ggf. Endpunkte exklusive bestimmter Gebiete, die in der config-Datei gesetzt sind
|
||||
if (defined('FAS_REIHUNGSTEST_EXCLUDE_GEBIETE') && !empty(FAS_REIHUNGSTEST_EXCLUDE_GEBIETE))
|
||||
{
|
||||
if(defined('FAS_REIHUNGSTEST_PUNKTE') && FAS_REIHUNGSTEST_PUNKTE)
|
||||
{
|
||||
$endpunkte_exkl_gebiete = $pruefling->getReihungstestErgebnisPerson($reihungstest->person_id, true, $reihungstest->reihungstest_id, true);
|
||||
$endpunkte_exkl_gebiete = $pruefling->getReihungstestErgebnisPerson($reihungstest->person_id, true, $reihungstest->reihungstest_id, true, $studiengang_kz);
|
||||
}
|
||||
else
|
||||
{
|
||||
$endpunkte_exkl_gebiete = $pruefling->getReihungstestErgebnisPerson($reihungstest->person_id, false, $reihungstest->reihungstest_id, true);
|
||||
$endpunkte_exkl_gebiete = $pruefling->getReihungstestErgebnisPerson($reihungstest->person_id, false, $reihungstest->reihungstest_id, true, $studiengang_kz);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$reihungstest->endpunkte_inkl_gebiete = round($endpunkte_inkl_gebiete, 2);
|
||||
$reihungstest->endpunkte_exkl_gebiete = round($endpunkte_exkl_gebiete, 2);
|
||||
$reihungstest->typ = $typ;
|
||||
|
||||
drawrow($reihungstest);
|
||||
}
|
||||
@@ -228,6 +250,7 @@ function drawrow($row)
|
||||
$oRdf->obj[$i]->setAttribut('datum_iso',$reihungstest_obj->datum,true);
|
||||
$oRdf->obj[$i]->setAttribut('endpunkte_inkl_gebiete', $row->endpunkte_inkl_gebiete, true);
|
||||
$oRdf->obj[$i]->setAttribut('endpunkte_exkl_gebiete', $row->endpunkte_exkl_gebiete, true);
|
||||
$oRdf->obj[$i]->setAttribut('typ', $row->typ, true);
|
||||
|
||||
// Es wird der neueste Reihungstest im Studiengang des Prestudenten markiert damit im FAS erkennbar ist welches
|
||||
// Eintraege zur Punkteberechnung verwendet werden
|
||||
|
||||
Reference in New Issue
Block a user