diff --git a/include/dvb.class.php b/include/dvb.class.php
index c2b94802e..6d570a740 100644
--- a/include/dvb.class.php
+++ b/include/dvb.class.php
@@ -28,12 +28,13 @@ require_once(dirname(__FILE__).'/student.class.php');
require_once(dirname(__FILE__).'/studiensemester.class.php');
require_once(dirname(__FILE__).'/adresse.class.php');
require_once(dirname(__FILE__).'/webservicelog.class.php');
+require_once(dirname(__FILE__).'/prestudent.class.php');
class dvb extends basis_db
{
const DVB_URL_WEBSERVICE_OAUTH = 'https://stubei-q.portal.at/dvb/oauth/token';
- const DVB_URL_WEBSERVICE_SVNR = 'https://stubei-q.portal.at/rws/0.1/simpleStudentBySozialVersicherungsnummer.xml';
- const DVB_URL_WEBSERVICE_ERSATZKZ = 'https://stubei-q.portal.at/rws/0.1/simpleStudentByErsatzKennzeichen.xml';
+ const DVB_URL_WEBSERVICE_SVNR = 'https://stubei-q.portal.at/rws/0.2/simpleStudentBySozialVersicherungsnummer.xml';
+ const DVB_URL_WEBSERVICE_ERSATZKZ = 'https://stubei-q.portal.at/rws/0.2/simpleStudentByErsatzKennzeichen.xml';
const DVB_URL_WEBSERVICE_RESERVIERUNG = 'https://stubei-q.portal.at/dvb/matrikelnummern/1.0/reservierung.xml';
const DVB_URL_WEBSERVICE_MELDUNG = 'https://stubei-q.portal.at/dvb/matrikelnummern/1.0/meldung.xml';
@@ -175,7 +176,7 @@ class dvb extends basis_db
$person_meldung->vorname = $person->vorname;
$person_meldung->nachname = $person->nachname;
$person_meldung->geburtsdatum = $person->gebdatum;
- $person_meldung->geschlecht = UPPER($person->geschlecht);
+ $person_meldung->geschlecht = mb_strtoupper($person->geschlecht);
$person_meldung->staat = $person->staatsbuergerschaft;
if ($person->svnr != '')
$person_meldung->svnr = $person->svnr;
@@ -183,18 +184,18 @@ class dvb extends basis_db
// PLZ der Meldeadresse laden
$adresse = new adresse();
if ($adresse->loadZustellAdresse($person->person_id))
- $person_meldung->plz = $row->plz;
+ $person_meldung->plz = $adresse->plz;
// ZGV Datum laden falls vorhanden
$prestudent = new prestudent();
if ($prestudent->load($prestudent_id) && $prestudent->zgvdatum != '')
{
$datum_obj = new datum();
- $person->matura = $datum_obj->formatDatum($matura, 'Ymd');
+ $person_meldung->matura = $datum_obj->formatDatum($prestudent->zgvdatum, 'Ymd');
}
// Meldung der Vergabe der Matrikelnummer
- if ($this->setMatrikelnummer(DVB_BILDUNGSEINRICHTUNG_CODE, $person))
+ if ($this->setMatrikelnummer(DVB_BILDUNGSEINRICHTUNG_CODE, $person_meldung))
{
// Matrikelnummer bei Person speichern
$person->matr_nr = $matrikelnummer;
@@ -434,7 +435,7 @@ class dvb extends basis_db
$curl_info = curl_getinfo($curl);
curl_close($curl);
$this->debug('ResponseCode: '.$curl_info['http_code']);
- $this->debug('ResponseData: '.print_r($response, true));
+ $this->debug('ResponseData: '.print_r($xml_response, true));
if ($curl_info['http_code'] == '200')
{
diff --git a/include/person.class.php b/include/person.class.php
index 9d6c48ec5..78642431d 100644
--- a/include/person.class.php
+++ b/include/person.class.php
@@ -63,6 +63,7 @@ class person extends basis_db
public $zugangscode = null; // varchar(32)
public $foto_sperre = false; // boolean
public $matr_nr; //varchar(32)
+ public $bpk; //varchar(255)
/**
* Konstruktor - Uebergibt die Connection und laedt optional eine Person
@@ -89,7 +90,8 @@ class person extends basis_db
$qry = "SELECT person_id, sprache, anrede, titelpost, titelpre, nachname, vorname, vornamen,
gebdatum, gebort, gebzeit, foto, anmerkung, homepage, svnr, ersatzkennzeichen,
familienstand, anzahlkinder, aktiv, insertamum, insertvon, updateamum, updatevon, ext_id,
- geschlecht, staatsbuergerschaft, geburtsnation, kurzbeschreibung, zugangscode, foto_sperre, matr_nr
+ geschlecht, staatsbuergerschaft, geburtsnation, kurzbeschreibung, zugangscode, foto_sperre,
+ matr_nr, bpk
FROM public.tbl_person
WHERE person_id = " . $this->db_add_param($personId, FHC_INTEGER);
@@ -132,6 +134,7 @@ class person extends basis_db
$this->zugangscode = $row->zugangscode;
$this->foto_sperre = $this->db_parse_bool($row->foto_sperre);
$this->matr_nr = $row->matr_nr;
+ $this->bpk = $row->bpk;
}
else
{
@@ -278,6 +281,12 @@ class person extends basis_db
$this->errormsg = 'SVNR ist ungueltig';
return false;
}
+
+ if (mb_strlen($this->bpk) > 255)
+ {
+ $this->errormsg = 'BPK darf nicht laenger als 255 Zeichen sein';
+ return false;
+ }
}
if ($this->svnr != '')
@@ -425,7 +434,8 @@ class person extends basis_db
$qry = 'INSERT INTO public.tbl_person (sprache, anrede, titelpost, titelpre, nachname, vorname, vornamen,
gebdatum, gebort, gebzeit, foto, anmerkung, homepage, svnr, ersatzkennzeichen,
familienstand, anzahlkinder, aktiv, insertamum, insertvon, updateamum, updatevon,
- geschlecht, geburtsnation, staatsbuergerschaft, kurzbeschreibung, zugangscode, foto_sperre, matr_nr)
+ geschlecht, geburtsnation, staatsbuergerschaft, kurzbeschreibung, zugangscode,
+ foto_sperre, matr_nr, bpk)
VALUES('.$this->db_add_param($this->sprache).','.
$this->db_add_param($this->anrede).','.
$this->db_add_param($this->titelpost).','.
@@ -454,7 +464,8 @@ class person extends basis_db
$this->db_add_param($this->kurzbeschreibung).','.
$this->db_add_param($this->zugangscode).','.
$this->db_add_param($this->foto_sperre, FHC_BOOLEAN).','.
- $this->db_add_param($this->matr_nr).');';
+ $this->db_add_param($this->matr_nr).','.
+ $this->db_add_param($this->bpk).');';
}
else
{
@@ -492,7 +503,8 @@ class person extends basis_db
' kurzbeschreibung='.$this->db_add_param($this->kurzbeschreibung).','.
' foto_sperre='.$this->db_add_param($this->foto_sperre, FHC_BOOLEAN).','.
' zugangscode='.$this->db_add_param($this->zugangscode).','.
- ' matr_nr ='.$this->db_add_param($this->matr_nr).
+ ' matr_nr ='.$this->db_add_param($this->matr_nr).','.
+ ' bpk = '.$this->db_add_param($this->bpk).
' WHERE person_id='.$this->person_id.';';
}
@@ -592,6 +604,7 @@ class person extends basis_db
$l->kurzbeschreibung = $row->kurzbeschreibung;
$l->foto_sperre = $this->db_parse_bool($row->foto_sperre);
$l->matr_nr = $row->matr_nr;
+ $l->bpk = $row->bpk;
$this->personen[] = $l;
}
}
@@ -848,6 +861,7 @@ class person extends basis_db
$this->zugangscode = $row->zugangscode;
$this->foto_sperre = $this->db_parse_bool($row->foto_sperre);
$this->matr_nr = $row->matr_nr;
+ $this->bpk = $row->bpk;
}
else
{
@@ -965,6 +979,7 @@ class person extends basis_db
$this->updateaktivvon = $row->updateaktivvon;
$this->updateaktivam = $row->updateaktivam;
$this->aktivierungscode = $row->aktivierungscode;
+ $this->bpk = $row->bpk;
return true;
}
else
diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php
index a3b93cbb6..254b0be47 100755
--- a/system/dbupdate_3.3.php
+++ b/system/dbupdate_3.3.php
@@ -2235,6 +2235,18 @@ if ($result = $db->db_query("SELECT * FROM system.tbl_webservicetyp WHERE webser
}
}
+//Spalte bpk in public.tbl_person
+if(!$result = @$db->db_query("SELECT bpk FROM public.tbl_person LIMIT 1"))
+{
+ $qry = "ALTER TABLE public.tbl_person ADD COLUMN bpk varchar(255);
+ COMMENT ON COLUMN public.tbl_person.bpk IS 'Bereichsspezifisches Personenkennzeichen';";
+
+ if(!$db->db_query($qry))
+ echo 'public.tbl_person: '.$db->db_last_error().'
';
+ else
+ echo '
public.tbl_person: Spalte bpk hinzugefuegt';
+}
+
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
echo '