Merge remote-tracking branch 'origin/master'

This commit is contained in:
Manfred
2021-10-28 12:27:34 +02:00
19 changed files with 306 additions and 68 deletions
@@ -297,6 +297,13 @@ class InfoCenter extends Auth_Controller
}
$persondata = $this->_loadPersonData($person_id);
$checkPerson = $this->PersonModel->checkDuplicate($person_id);
if (isError($checkPerson)) show_error(getError($checkPerson));
$duplicate = array('duplicated' => getData($checkPerson));
$prestudentdata = $this->_loadPrestudentData($person_id);
$this->DokumentModel->addOrder('bezeichnung');
@@ -305,7 +312,8 @@ class InfoCenter extends Auth_Controller
$data = array_merge(
$persondata,
$prestudentdata,
$dokumentdata
$dokumentdata,
$duplicate
);
$data[self::FHC_CONTROLLER_ID] = $this->getControllerId();
@@ -734,7 +742,7 @@ class InfoCenter extends Auth_Controller
if (hasData($lastStatus) && hasData($statusgrresult))
{
//check if still Interessent
//check if still Interessent, Bewerber or Wartender
if ($lastStatus->retval[0]->status_kurzbz === self::INTERESSENTSTATUS
|| $lastStatus->retval[0]->status_kurzbz === self::BEWERBERSTATUS
|| $lastStatus->retval[0]->status_kurzbz === self::WARTENDER)
@@ -2134,17 +2142,18 @@ class InfoCenter extends Auth_Controller
{
$statusgrund = $this->input->post('statusgrund');
$studiengang = $this->input->post('studiengang');
$abgeschickt = $this->input->post('abgeschickt');
$personen = $this->input->post('personen');
$studienSemester = $this->variablelib->getVar('infocenter_studiensemester');
if ($statusgrund === 'null' || $studiengang === 'null' || empty($personen))
$this->terminateWithJsonError("Bitte Statusgrund, Studiengang und Personen auswählen.");
if ($statusgrund === 'null' || $studiengang === 'null' || $abgeschickt === 'null' || empty($personen))
$this->terminateWithJsonError("Bitte füllen Sie alle Felder aus");
foreach($personen as $person)
{
$prestudent = $this->PrestudentModel->getPrestudentByStudiengangAndPerson($studiengang, $person, $studienSemester);
$prestudent = $this->PrestudentModel->getPrestudentByStudiengangAndPerson($studiengang, $person, $studienSemester, $abgeschickt);
if(!hasData($prestudent))
if (!hasData($prestudent))
continue;
$prestudentData = getData($prestudent);
+3 -3
View File
@@ -312,10 +312,10 @@ class UDFLib
{
$resultElement->{$columnName} = $columnValue;
}
}
// And finally remove the UDFs column
unset($resultElement->{self::COLUMN_NAME});
// And finally remove the UDFs column
unset($resultElement->{self::COLUMN_NAME});
}
}
/**
+12 -2
View File
@@ -611,7 +611,7 @@ class Prestudent_model extends DB_Model
));
}
public function getPrestudentByStudiengangAndPerson($studiengang, $person, $studienSemester)
public function getPrestudentByStudiengangAndPerson($studiengang, $person, $studienSemester, $abgeschickt)
{
$query = "SELECT ps.prestudent_id
FROM public.tbl_prestudentstatus pss
@@ -621,7 +621,17 @@ class Prestudent_model extends DB_Model
WHERE ps.person_id = ?
AND UPPER((sg.typ || sg.kurzbz) || ':' || sp.orgform_kurzbz) = ?
AND pss.studiensemester_kurzbz = ?
";
AND";
if ($abgeschickt === 'true')
$query .= " EXISTS";
else
$query .= " NOT EXISTS";
$query .= " (SELECT 1 FROM public.tbl_prestudentstatus spss
JOIN public.tbl_prestudent sps USING(prestudent_id)
WHERE sps.prestudent_id = ps.prestudent_id
AND spss.bewerbung_abgeschicktamum IS NOT NULL)";
return $this->execQuery($query, array($person, $studiengang, $studienSemester));
}
@@ -265,4 +265,19 @@ class Person_model extends DB_Model
return success($result->vorname. ' '. $result->nachname);
}
public function checkDuplicate($person_id)
{
$qry = "SELECT sp.person_id
FROM public.tbl_person p
LEFT JOIN public.tbl_person sp ON p.vorname = sp.vorname
AND p.nachname = sp.nachname
AND p.gebdatum = sp.gebdatum
JOIN public.tbl_prestudent ps ON sp.person_id = ps.person_id
JOIN public.tbl_prestudentstatus pss ON ps.prestudent_id = pss.prestudent_id
WHERE p.person_id = ? AND sp.person_id != ? AND pss.status_kurzbz = ?";
return $this->execQuery($qry, array($person_id, $person_id, 'Abbrecher'));
}
}
@@ -6,7 +6,7 @@
$INTERESSENT_STATUS = '\'Interessent\'';
$STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\'';
$TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\'';
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'New application\', \'Interessent rejected\'';
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Interessent rejected\'';
$LOGDATA_NAME_PARKED = '\'Parked\'';
$LOGDATA_NAME_ONHOLD = '\'Onhold\'';
$LOGTYPE_KURZBZ = '\'Processstate\'';
@@ -14,6 +14,7 @@
$ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz');
$AKTE_TYP = '\'identity\', \'zgv_bakk\'';
$STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\'';
$ORG_NAME = '\'InfoCenter\'';
$query = '
SELECT
@@ -33,7 +34,7 @@
WHERE l.taetigkeit_kurzbz IN ('.$TAETIGKEIT_KURZBZ.')
AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.')
AND l.person_id = p.person_id
ORDER BY l.zeitpunkt DESC
ORDER BY l.log_id DESC
LIMIT 1
) AS "LastAction",
(
@@ -42,7 +43,7 @@
WHERE l.taetigkeit_kurzbz IN('.$TAETIGKEIT_KURZBZ.')
AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.')
AND l.person_id = p.person_id
ORDER BY l.zeitpunkt DESC
ORDER BY l.log_id DESC
LIMIT 1
) AS "LastActionType",
(
@@ -59,7 +60,7 @@
WHERE l.taetigkeit_kurzbz IN ('.$TAETIGKEIT_KURZBZ.')
AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.')
AND l.person_id = p.person_id
ORDER BY l.zeitpunkt DESC
ORDER BY l.log_id DESC
LIMIT 1
) AS "User/Operator",
(
@@ -254,13 +255,14 @@
JOIN public.tbl_organisationseinheit USING(oe_kurzbz)
WHERE (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von <= now())
AND (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis >= now())
AND tbl_organisationseinheit.bezeichnung = '.$ORG_NAME.'
AND tbl_benutzerfunktion.uid = (
SELECT l.insertvon
FROM system.tbl_log l
WHERE l.taetigkeit_kurzbz IN ('.$TAETIGKEIT_KURZBZ.')
AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.')
AND l.person_id = p.person_id
ORDER BY l.zeitpunkt DESC
ORDER BY l.log_id DESC
LIMIT 1
)
LIMIT 1
@@ -439,13 +441,13 @@
$datasetRaw->{'ZGVMNation'} = '-';
}
if ($datasetRaw->{'InfoCenterMitarbeiter'} === 'InfoCenter')
if ($datasetRaw->{'InfoCenterMitarbeiter'} === null)
{
$datasetRaw->{'InfoCenterMitarbeiter'} = 'Ja';
$datasetRaw->{'InfoCenterMitarbeiter'} = 'Nein';
}
else
{
$datasetRaw->{'InfoCenterMitarbeiter'} = 'Nein';
$datasetRaw->{'InfoCenterMitarbeiter'} = 'Ja';
}
return $datasetRaw;
@@ -101,6 +101,22 @@
</div>
</div>
</div>
<?php if (!is_null($duplicated)): ?>
<div class="row alert-warning">
<h3 class="header col-lg-12">
<?php echo $this->p->t('global', 'bewerberVorhanden') . ':'; ?>
</h3>
<div class="text-left col-lg-12">
<?php
foreach ($duplicated as $duplicate)
{
echo 'Person ID: ' . $duplicate->person_id . '<br />';
}
?>
</div>
</div>
<?php endif; ?>
<br/>
<section>
<div class="row">
@@ -5,13 +5,14 @@
$INTERESSENT_STATUS = '\'Interessent\'';
$STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\'';
$TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\'';
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'New application\'';
$LOGDATA_NAME = '\'Login with code\', \'Login with user\'';
$REJECTED_STATUS = '\'Abgewiesener\'';
$ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz');
$STATUS_KURZBZ = '\'Wartender\', \'Bewerber\', \'Aufgenommener\', \'Student\'';
$STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\'';
$ORG_NAME = '\'InfoCenter\'';
$query = '
$query = '
SELECT
p.person_id AS "PersonId",
p.vorname AS "Vorname",
@@ -27,7 +28,7 @@
WHERE l.taetigkeit_kurzbz IN('.$TAETIGKEIT_KURZBZ.')
AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.')
AND l.person_id = p.person_id
ORDER BY l.zeitpunkt DESC
ORDER BY l.log_id DESC
LIMIT 1
) AS "LastAction",
(
@@ -36,7 +37,7 @@
WHERE l.taetigkeit_kurzbz IN('.$TAETIGKEIT_KURZBZ.')
AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.')
AND l.person_id = p.person_id
ORDER BY l.zeitpunkt DESC
ORDER BY l.log_id DESC
LIMIT 1
) AS "LastActionType",
(
@@ -45,7 +46,7 @@
WHERE l.taetigkeit_kurzbz IN('.$TAETIGKEIT_KURZBZ.')
AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.')
AND l.person_id = p.person_id
ORDER BY l.zeitpunkt DESC
ORDER BY l.log_id DESC
LIMIT 1
) AS "User/Operator",
(
@@ -231,13 +232,14 @@
JOIN public.tbl_organisationseinheit USING(oe_kurzbz)
WHERE (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von <= now())
AND (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis >= now())
AND tbl_organisationseinheit.bezeichnung = '.$ORG_NAME.'
AND tbl_benutzerfunktion.uid = (
SELECT l.insertvon
FROM system.tbl_log l
WHERE l.taetigkeit_kurzbz IN ('.$TAETIGKEIT_KURZBZ.')
AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.')
AND l.person_id = p.person_id
ORDER BY l.zeitpunkt DESC
ORDER BY l.log_id DESC
LIMIT 1
)
LIMIT 1
@@ -410,13 +412,13 @@
$datasetRaw->{'ZGVMNation'} = '-';
}
if ($datasetRaw->{'InfoCenterMitarbeiter'} === 'InfoCenter')
if ($datasetRaw->{'InfoCenterMitarbeiter'} === null)
{
$datasetRaw->{'InfoCenterMitarbeiter'} = 'Ja';
$datasetRaw->{'InfoCenterMitarbeiter'} = 'Nein';
}
else
{
$datasetRaw->{'InfoCenterMitarbeiter'} = 'Nein';
$datasetRaw->{'InfoCenterMitarbeiter'} = 'Ja';
}
return $datasetRaw;
@@ -5,11 +5,12 @@
$INTERESSENT_STATUS = '\'Interessent\'';
$STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\'';
$TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\'';
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'New application\'';
$LOGDATA_NAME = '\'Login with code\', \'Login with user\'';
$ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz');
$STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\'';
$ORG_NAME = '\'InfoCenter\'';
$query = '
$query = '
SELECT
p.person_id AS "PersonId",
p.vorname AS "Vorname",
@@ -25,7 +26,7 @@
WHERE l.taetigkeit_kurzbz IN('.$TAETIGKEIT_KURZBZ.')
AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.')
AND l.person_id = p.person_id
ORDER BY l.zeitpunkt DESC
ORDER BY l.log_id DESC
LIMIT 1
) AS "LastAction",
(
@@ -34,7 +35,7 @@
WHERE l.taetigkeit_kurzbz IN('.$TAETIGKEIT_KURZBZ.')
AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.')
AND l.person_id = p.person_id
ORDER BY l.zeitpunkt DESC
ORDER BY l.log_id DESC
LIMIT 1
) AS "User/Operator",
(
@@ -182,13 +183,14 @@
JOIN public.tbl_organisationseinheit USING(oe_kurzbz)
WHERE (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von <= now())
AND (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis >= now())
AND tbl_organisationseinheit.bezeichnung = '.$ORG_NAME.'
AND tbl_benutzerfunktion.uid = (
SELECT l.insertvon
FROM system.tbl_log l
WHERE l.taetigkeit_kurzbz IN ('.$TAETIGKEIT_KURZBZ.')
AND l.logdata->>\'name\' NOT IN ('.$LOGDATA_NAME.')
AND l.person_id = p.person_id
ORDER BY l.zeitpunkt DESC
ORDER BY l.log_id DESC
LIMIT 1
)
LIMIT 1
@@ -347,13 +349,13 @@
$datasetRaw->{'ZGVMNation'} = '-';
}
if ($datasetRaw->{'InfoCenterMitarbeiter'} === 'InfoCenter')
if ($datasetRaw->{'InfoCenterMitarbeiter'} === null)
{
$datasetRaw->{'InfoCenterMitarbeiter'} = 'Ja';
$datasetRaw->{'InfoCenterMitarbeiter'} = 'Nein';
}
else
{
$datasetRaw->{'InfoCenterMitarbeiter'} = 'Nein';
$datasetRaw->{'InfoCenterMitarbeiter'} = 'Ja';
}
return $datasetRaw;
@@ -750,7 +750,7 @@ foreach ($projektnames as $projektname)
}
$worksheet->setColumn($spalte, $spalte, $phasewidth);
$worksheet->write($zeile, $spalte++, $projekt->beschreibung, $format_cell_leftrightline);
$worksheet->writeString($zeile, $spalte++, $projekt->beschreibung, $format_cell_leftrightline);
}
}
else
+1 -1
View File
@@ -713,7 +713,7 @@ class konto extends basis_db
$qry = "select sum(betrag) as betrag from public.tbl_konto
join public.tbl_benutzer benutzer using(person_id)
where uid=".$this->db_add_param($uid)." and studiensemester_kurzbz = ".$this->db_add_param($stsem)."
and buchungstyp_kurzbz = 'Studiengebuehr' and betrag > 0";
and buchungstyp_kurzbz in('Studiengebuehr','StudiengebuehrAnzahlung','StudiengebuehrRestzahlung') and betrag > 0";
if($studiengang_kz!= null)
$qry.=" and studiengang_kz = ".$this->db_add_param($studiengang_kz, FHC_INTEGER).";";
+43 -4
View File
@@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2006 fhcomplete.org
/* Copyright (C) 2021 fhcomplete.org
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -16,9 +16,10 @@
* 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> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Stefan Puraner <puraner@technikum-wien.at>
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
* Stefan Puraner <puraner@technikum-wien.at> and
* Manuela Thamer <manuela.thamer@technikum-wien.at>
*/
require_once(dirname(__FILE__) . '/basis_db.class.php');
require_once(dirname(__FILE__) . '/functions.inc.php');
@@ -2458,6 +2459,44 @@ class lehrveranstaltung extends basis_db
}
}
/**
* Laedt den LV-Leiter einer Lehrveranstaltung
* ist keiner der Lektoren als LV-Leitung eingetragen, wird Null zurückgegeben
* @param int $lehrveranstaltung_id ID der Lehrveranstaltung.
* @param char $studiensemester_kurzbz Studiensemester.
* @return char $mitarbeiter_uid UID des Mitarbeiters oder NULL, wenn keine LV-Leitung vorhanden
*/
public function getEingetrageneLVLeitung($lehrveranstaltung_id, $studiensemester_kurzbz)
{
$qry = "SELECT
mitarbeiter_uid
FROM
lehre.tbl_lehreinheit
JOIN lehre.tbl_lehreinheitmitarbeiter USING(lehreinheit_id)
WHERE
tbl_lehreinheit.lehrveranstaltung_id=".$this->db_add_param($lehrveranstaltung_id)."
AND tbl_lehreinheit.studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
AND lehrfunktion_kurzbz='LV-Leitung';";
if($result = $this->db_query($qry))
{
if($row = $this->db_fetch_object($result))
{
return $row->mitarbeiter_uid;
}
else
{
$this->errormsg = 'Keine Eintrag gefunden';
return false;
}
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
/**
* Liefert den Koordinator einer Lehrveranstaltung
* @param $lehrveranstaltung_id
+1 -1
View File
@@ -510,7 +510,7 @@ class statistik extends basis_db
$this->html='';
$this->csv='';
$this->json=array();
set_time_limit(60);
set_time_limit(120);
if($this->sql!='')
{
+2 -1
View File
@@ -2,7 +2,8 @@
$this->phrasen['lehre/keineLektorenZugeordnet']='Derzeit sind keine Lektoren für dieses Fach zugeteilt';
$this->phrasen['lehre/lehrveranstaltungsinformation']='Lehrveranstaltungsinformation';
$this->phrasen['lehre/lehrbeauftragter']='Lehrbeauftragte(r)';
$this->phrasen['lehre/lehrbeauftragter']='Lehrbeauftragte*r';
$this->phrasen['lehre/lvleitung']='LV-Leiter*in';
$this->phrasen['lehre/lvInfoBearbeiten']='Bearbeiten';
$this->phrasen['lehre/semesterplan']='Semesterplan';
+1
View File
@@ -3,6 +3,7 @@ $this->phrasen['lehre/keineLektorenZugeordnet']='Currently there are no lecturer
$this->phrasen['lehre/lehrveranstaltungsinformation']='Course Information';
$this->phrasen['lehre/lehrbeauftragter']='Lecturer(s)';
$this->phrasen['lehre/lvleitung']='Head of Course';
$this->phrasen['lehre/lvInfoBearbeiten']='Edit';
$this->phrasen['lehre/semesterplan']='Semesterplan';
@@ -49,6 +49,11 @@ var InfocenterPersonDataset = {
'<select class="form-control auswahlAbsageStg" style="width:auto; float:left;">' +
'<option value="null" selected="selected"> Studiengang </option>' +
'</select>' +
'<select class="form-control auswahlAbsageAbgeschickt" style="width:auto; float:left;">' +
'<option value="null" selected="selected"> Bewerbung abgeschickt? </option>' +
'<option value="true"> Ja </option>' +
'<option value="false"> Nein </option>' +
'</select>' +
'<button class="btn btn-default auswahlAbsageBtn" style="float:left"> Absage </button>';
InfocenterPersonDataset.getAbsageData();
@@ -327,6 +332,7 @@ var InfocenterPersonDataset = {
var statusgrund = $('.absgstatusgrund').val();
var studiengang = $('.auswahlAbsageStg').val();
var abgeschickt = $('.auswahlAbsageAbgeschickt').val();
var personen = [];
@@ -340,7 +346,8 @@ var InfocenterPersonDataset = {
{
'statusgrund': statusgrund,
'studiengang': studiengang,
'personen' : personen
'personen' : personen,
'abgeschickt' : abgeschickt
},
{
successCallback: function(data, textStatus, jqXHR) {
+14
View File
@@ -1725,6 +1725,20 @@ if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants
}
}
// UPDATE Berechtigungen fuer vilesci User erteilen fuer tbl_person_lock
if ($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_person_lock' AND table_schema='system' AND grantee='vilesci' AND privilege_type='UPDATE'"))
{
if ($db->db_num_rows($result) === 0)
{
$qry = "GRANT UPDATE ON system.tbl_person_lock TO vilesci;";
if(!$db->db_query($qry))
echo '<strong>system.tbl_person_lock Berechtigungen: '.$db->db_last_error().'</strong><br>';
else
echo 'UPDATE Recht fuer system.tbl_person_lock fuer vilesci user gesetzt ';
}
}
/**
* Kommentare fuer Datenbanktabellen
+82 -2
View File
@@ -888,6 +888,26 @@ $phrases = array(
)
)
),
array(
'app' => 'core',
'category' => 'global',
'phrase' => 'bewerberVorhanden',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => 'BewerberIn bereits vorhanden',
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => 'Applicant already available',
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'global',
@@ -12680,13 +12700,13 @@ array(
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Das Zertifikat konnte nicht verifiziert werden.",
'text' => "Das Zertifikat konnte nicht verifiziert werden. Stellen Sie bitte sicher, dass ein QR-Code enthalten ist.",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "certificate could not be verified.",
'text' => "certificate could not be verified. Please make sure it contains a qr-code.",
'description' => '',
'insertvon' => 'system'
)
@@ -12812,6 +12832,66 @@ array(
)
)
),
array(
'app' => 'core',
'category' => 'eucovidqr',
'phrase' => 'uploadbeschreibung',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Hier kann ein Zertifikat mit QR-Code selbst erfasst werden.",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "a certificate with qr-code can be self registered here.",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'eucovidqr',
'phrase' => 'manualbeschreibung',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Falls das Zertifikat keinen QR-Code enthält oder die Selbst-Erfassung fehlschlägt, kann das Zertifkat beim Empfang manuell erfasst werden.",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "if the certificate does not contain a qr-code or self registration fails, the certificate can be manually registered at the front desk.",
'description' => '',
'insertvon' => 'system'
)
)
),
array(
'app' => 'core',
'category' => 'eucovidqr',
'phrase' => 'supportbeschreibung',
'insertvon' => 'system',
'phrases' => array(
array(
'sprache' => 'German',
'text' => "Bei technischen Problemen kontaktieren Sie bitte: ",
'description' => '',
'insertvon' => 'system'
),
array(
'sprache' => 'English',
'text' => "in case of technical issues please contact: ",
'description' => '',
'insertvon' => 'system'
)
)
),
);
+26 -16
View File
@@ -242,29 +242,37 @@ if($result = $db->db_query($qry))
$zustell_strasse = $rowzustelladr->strasse;
$zustell_nation = $rowzustelladr->nation;
}
// eMail-Adresse
$qry_mail = "
// FH eMail-Adresse FH aus UID@Domain
$email = '';
if ($row->student_uid != '')
{
$email = $row->student_uid. '@'. DOMAIN;
}
// private eMail-Adresse
$email_privat = '';
$qry_privmail = "
SELECT kontakt
FROM public.tbl_kontakt
WHERE kontakttyp = 'email'
AND zustellung = TRUE
AND person_id = ". $db->db_add_param($row->pers_id). "
ORDER BY insertamum DESC LIMIT 1;
WHERE zustellung = TRUE
AND kontakttyp = 'email'
AND person_id=". $db->db_add_param($row->pers_id). "
ORDER BY insertamum DESC
LIMIT 1;
";
$email = '';
if ($result_email = $db->db_query($qry_mail))
if ($privmail_result = $db->db_query($qry_privmail))
{
if($db->db_num_rows($result_email) == 1)
if($db->db_num_rows($privmail_result) == 1)
{
if($row_mail = $db->db_fetch_object($result_email))
if ($row_privmail = $db->db_fetch_object($privmail_result))
{
$email = $row_mail->kontakt;
$email_privat = $row_privmail->kontakt;
}
}
}
if($row->gebdatum<'1920-01-01' OR $row->gebdatum==null OR $row->gebdatum=='')
{
$error_log.=(!empty($error_log)?', ':'')."Geburtsdatum ('".$row->gebdatum."')";
@@ -620,7 +628,8 @@ if($result = $db->db_query($qry))
$datei.="
<SVNR>".$row->svnr."</SVNR>";
}
if($row->ersatzkennzeichen!='')
// Ersatzkennzeichen nur inkludieren wenn svnr nicht gesetzt
if($row->ersatzkennzeichen!='' && $row->svnr == null)
{
$datei.="
<ErsKz>".$row->ersatzkennzeichen."</ErsKz>";
@@ -648,7 +657,8 @@ if($result = $db->db_query($qry))
}
$datei.="
<eMailAdresse>". $email. "</eMailAdresse>
<eMailAdresse>". $email_privat. "</eMailAdresse>
<eMailAdresseBE>". $email. "</eMailAdresseBE>
<ZugangCode>".$row->zgv_code."</ZugangCode>
<ZugangDatum>".date("dmY", $datumobj->mktime_fromdate($row->zgvdatum))."</ZugangDatum>";
+35 -5
View File
@@ -758,6 +758,29 @@ function GenerateXMLStudentBlock($row)
$email = $row->student_uid. '@'. DOMAIN;
}
// private eMail-Adresse
$email_privat = '';
$qry_privmail = "
SELECT kontakt
FROM public.tbl_kontakt
WHERE zustellung = TRUE
AND kontakttyp = 'email'
AND person_id=". $db->db_add_param($row->pers_id). "
ORDER BY insertamum DESC
LIMIT 1;
";
if ($privmail_result = $db->db_query($qry_privmail))
{
if($db->db_num_rows($privmail_result) == 1)
{
if ($row_privmail = $db->db_fetch_object($privmail_result))
{
$email_privat = $row_privmail->kontakt;
}
}
}
if($row->gebdatum<'1920-01-01' OR $row->gebdatum==null OR $row->gebdatum=='')
{
$error_log.=(!empty($error_log)?', ':'')."Geburtsdatum ('".$row->gebdatum."')";
@@ -1263,7 +1286,9 @@ function GenerateXMLStudentBlock($row)
$datei .= "
<SVNR>" . $row->svnr . "</SVNR>";
}
if ($row->ersatzkennzeichen != '')
// Ersatzkennzeichen nur inkludieren wenn svnr nicht gesetzt
if ($row->ersatzkennzeichen != '' && $row->svnr == null)
{
$datei .= "
<ErsKz>" . $row->ersatzkennzeichen . "</ErsKz>";
@@ -1296,11 +1321,16 @@ function GenerateXMLStudentBlock($row)
";
}
if ($email_privat != '')
{
$datei .= "
<eMailAdresse>" . $email_privat . "</eMailAdresse>";
}
if ($email != '')
{
$datei .= "
<eMailAdresse>" . $email . "</eMailAdresse>
";
<eMailAdresseBE>" . $email . "</eMailAdresseBE>";
}
if(!$ausserordentlich)
@@ -1531,12 +1561,12 @@ function GenerateXMLStudentBlock($row)
if ($aktstatus != 'Incoming' && $rowio->ects_erworben != '')
{
$datei.="
<ECTSerworben>".$rowio->ects_erworben."</ECTSerworben>";
<ECTSerworben>".round($rowio->ects_erworben)."</ECTSerworben>";
}
if ($aktstatus != 'Incoming' && $rowio->ects_angerechnet != '')
{
$datei.="
<ECTSangerechnet>".$rowio->ects_angerechnet."</ECTSangerechnet>";
<ECTSangerechnet>".round($rowio->ects_angerechnet)."</ECTSangerechnet>";
}
foreach ($aufenthaltfoerderung_code_arr as $aufenthaltfoerderung_code)
{