mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-10-12 15:04:04 +00:00
Konfiguration für Datenverbund Services hinzugefügt
Testclient für Datenverbund erweitert für manuelle Abfrage und Meldung einzelner Personen und Logging von Datenverbund Requests
This commit is contained in:
@@ -40,7 +40,7 @@ define('XML_ROOT', 'http://www.fhcomlete.org/build/rdf/');
|
|||||||
// Pfad zu Document Root
|
// Pfad zu Document Root
|
||||||
define('DOC_ROOT', '/var/www/html/build/');
|
define('DOC_ROOT', '/var/www/html/build/');
|
||||||
// URL zu CIS
|
// URL zu CIS
|
||||||
define('CIS_ROOT', 'http://www.fhcomlete.org/build/cis/');
|
define('CIS_ROOT', 'http://www.fhcomlete.org/build/');
|
||||||
|
|
||||||
// Externe Funktionen - Unterordner im Include-Verzeichnis
|
// Externe Funktionen - Unterordner im Include-Verzeichnis
|
||||||
define('EXT_FKT_PATH', 'tw');
|
define('EXT_FKT_PATH', 'tw');
|
||||||
@@ -185,4 +185,14 @@ define('SIGNATUR_USER', 'username');
|
|||||||
define('SIGNATUR_PASSWORD', 'password');
|
define('SIGNATUR_PASSWORD', 'password');
|
||||||
// Signaturprofil das verwendet werden soll
|
// Signaturprofil das verwendet werden soll
|
||||||
define('SIGNATUR_DEFAULT_PROFILE', 'FHC_AMT_GROSS_DE');
|
define('SIGNATUR_DEFAULT_PROFILE', 'FHC_AMT_GROSS_DE');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Datenverbund Anbindung
|
||||||
|
*/
|
||||||
|
// Code der Bildungseinrichtung
|
||||||
|
define('DVB_BILDUNGSEINRICHTUNG_CODE','XX');
|
||||||
|
// Username
|
||||||
|
define('DVB_USERNAME','username');
|
||||||
|
// Passwort
|
||||||
|
define('DVB_PASSWORD','passwort');
|
||||||
?>
|
?>
|
||||||
|
|||||||
+248
-21
@@ -23,8 +23,13 @@
|
|||||||
* Abfrage und Vergabe von Matrikelnummern
|
* Abfrage und Vergabe von Matrikelnummern
|
||||||
*/
|
*/
|
||||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||||
|
require_once(dirname(__FILE__).'/person.class.php');
|
||||||
|
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');
|
||||||
|
|
||||||
class dvb
|
class dvb extends basis_db
|
||||||
{
|
{
|
||||||
const DVB_URL_WEBSERVICE_OAUTH = 'https://stubei-q.portal.at/dvb/oauth/token';
|
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_SVNR = 'https://stubei-q.portal.at/rws/0.1/simpleStudentBySozialVersicherungsnummer.xml';
|
||||||
@@ -35,7 +40,7 @@ class dvb
|
|||||||
public $authentication;
|
public $authentication;
|
||||||
private $username;
|
private $username;
|
||||||
private $password;
|
private $password;
|
||||||
private $debug;
|
protected $debug;
|
||||||
public $debug_output = '';
|
public $debug_output = '';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -51,6 +56,170 @@ class dvb
|
|||||||
$this->debug = $debug;
|
$this->debug = $debug;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Versucht die Matrikelnummer für eine Person zu ermitteln.
|
||||||
|
* Wenn die Person noch keine Matrikelnummer besitzt, wird eine neue Matrikelnummer
|
||||||
|
* angefordert und der Person zugeordnet
|
||||||
|
* @param int $person_id ID der Person.
|
||||||
|
* @return boolean true wenn Erfolgreich, false im Fehlerfall
|
||||||
|
*/
|
||||||
|
public function assignMatrikelnummer($person_id)
|
||||||
|
{
|
||||||
|
$person = new person();
|
||||||
|
if (!$person->load($person_id))
|
||||||
|
{
|
||||||
|
$this->errormsg = $person->errormsg;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($person->svnr != '')
|
||||||
|
{
|
||||||
|
$matrikelnummer = $this->getMatrikelnrBySVNR($person->svnr);
|
||||||
|
|
||||||
|
if ($matrikelnummer === false && $this->errormsg != '')
|
||||||
|
{
|
||||||
|
$this->logRequest($person, 'getMatrikelnrBySVNR', false);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elseif ($person->ersatzkennzeichen != '')
|
||||||
|
{
|
||||||
|
$matrikelnummer = $this->getMatrikelnrByErsatzkennzeichen($person->ersatzkennzeichen);
|
||||||
|
|
||||||
|
if ($matrikelnummer === false && $this->errormsg != '')
|
||||||
|
{
|
||||||
|
$this->logRequest($person, 'getMatrikelnrByErsatzkennzeichen', false);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->errormsg = 'Person braucht SVNR oder Ersatzkennzeichen';
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($matrikelnummer !== false && $matrikelnummer != '')
|
||||||
|
{
|
||||||
|
// Matrikelnummer wurde gefunden
|
||||||
|
// Bei Person speichern
|
||||||
|
$person->matr_nr = $matrikelnummer;
|
||||||
|
if ($person->save())
|
||||||
|
{
|
||||||
|
$this->logRequest($person, 'assignExistingMatrikelnummer', true, $matrikelnummer);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Es wurde noch keine Matrikelnummer zu dieser Person zugeordnet
|
||||||
|
// Es wird eine neue Matrikelnummer aus dem Kontingent angefordert
|
||||||
|
// und an die Person vergeben
|
||||||
|
|
||||||
|
// Studienjahr ermitteln
|
||||||
|
$qry = "
|
||||||
|
SELECT
|
||||||
|
studiensemester_kurzbz, prestudent_id
|
||||||
|
FROM
|
||||||
|
public.tbl_student
|
||||||
|
JOIN public.tbl_prestudent USING(prestudent_id)
|
||||||
|
JOIN public.tbl_prestudentstatus USING(prestudent_id)
|
||||||
|
JOIN public.tbl_benutzer ON(tbl_student.student_uid = tbl_benutzer.uid)
|
||||||
|
WHERE
|
||||||
|
tbl_prestudent.person_id=".$this->db_add_param($person->person_id)."
|
||||||
|
AND tbl_benutzer.aktiv
|
||||||
|
AND tbl_prestudentstatus.status_kurzbz='Student'
|
||||||
|
AND tbl_prestudent.bismelden
|
||||||
|
ORDER BY tbl_prestudentstatus.datum desc LIMIT 1
|
||||||
|
";
|
||||||
|
|
||||||
|
$prestudent_id = '';
|
||||||
|
$studiensemester_kurzbz = '';
|
||||||
|
|
||||||
|
if ($result = $this->db_query($qry))
|
||||||
|
{
|
||||||
|
if ($row = $this->db_fetch_object($result))
|
||||||
|
{
|
||||||
|
$studiensemester_kurzbz = $row->studiensemester_kurzbz;
|
||||||
|
$prestudent_id = $row->prestudent_id;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->logRequest($person, 'assignNewMatrikelnummer', false);
|
||||||
|
$this->errormsg = 'Fehler beim Ermitteln des Studienjahrs für diese Person';
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->logRequest($person, 'assignNewMatrikelnummer', false);
|
||||||
|
$this->errormsg = 'Fehler beim Ermitteln des Studienjahrs für diese Person';
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$studienjahr = substr($studiensemester_kurzbz, 4);
|
||||||
|
$art = substr($studiensemester_kurzbz, 0, 2);
|
||||||
|
if ($art == 'SS')
|
||||||
|
$studienjahr = $studienjahr - 1;
|
||||||
|
|
||||||
|
// Erstaustattung im Jahr 2018. Alle davor bekommen 18er Nummern
|
||||||
|
if ($studienjahr < 2018)
|
||||||
|
$studienjahr = 2018;
|
||||||
|
|
||||||
|
// Neue Matrikelnummer aus Kontingent anfordern
|
||||||
|
$kontingent = $this->getKontingent(DVB_BILDUNGSEINRICHTUNG_CODE, $studienjahr);
|
||||||
|
|
||||||
|
if ($kontingent !== false && isset($kontingent[0]))
|
||||||
|
{
|
||||||
|
$person_meldung = new stdClass();
|
||||||
|
$person_meldung->matrikelnummer = $kontingent[0];
|
||||||
|
$person_meldung->vorname = $person->vorname;
|
||||||
|
$person_meldung->nachname = $person->nachname;
|
||||||
|
$person_meldung->geburtsdatum = $person->gebdatum;
|
||||||
|
$person_meldung->geschlecht = UPPER($person->geschlecht);
|
||||||
|
$person_meldung->staat = $person->staatsbuergerschaft;
|
||||||
|
if ($person->svnr != '')
|
||||||
|
$person_meldung->svnr = $person->svnr;
|
||||||
|
|
||||||
|
// PLZ der Meldeadresse laden
|
||||||
|
$adresse = new adresse();
|
||||||
|
if ($adresse->loadZustellAdresse($person->person_id))
|
||||||
|
$person_meldung->plz = $row->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');
|
||||||
|
}
|
||||||
|
|
||||||
|
// Meldung der Vergabe der Matrikelnummer
|
||||||
|
if ($this->setMatrikelnummer(DVB_BILDUNGSEINRICHTUNG_CODE, $person))
|
||||||
|
{
|
||||||
|
// Matrikelnummer bei Person speichern
|
||||||
|
$person->matr_nr = $matrikelnummer;
|
||||||
|
if ($person->save())
|
||||||
|
{
|
||||||
|
$this->logRequest($person, 'assignNewMatrikelnummer', true, $matrikelnummer);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->logRequest($person, 'assignNewgMatrikelnummer', false, $person_meldung);
|
||||||
|
$this->errormsg .= 'Vergabe fehlgeschlagen';
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->logRequest($person, 'assignNewgMatrikelnummer', false, $studienjahr);
|
||||||
|
$this->errormsg .= 'Failed to get Kontingent';
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Performs a OAuth2 Authentication and returns the OAuth Bearer Token
|
* Performs a OAuth2 Authentication and returns the OAuth Bearer Token
|
||||||
* @return boolean true wenn erfolgreich, false im Fehlerfall
|
* @return boolean true wenn erfolgreich, false im Fehlerfall
|
||||||
@@ -113,7 +282,8 @@ class dvb
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->errormsg = 'Request Failed with HTTP Code:'.$curl_info['http_code'].' and Response:'.$json_response;
|
$this->errormsg = 'Authentication failed with HTTP Code:'.$curl_info['http_code'];
|
||||||
|
$this->errormsg .= ' and Response:'.$json_response;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -145,10 +315,11 @@ class dvb
|
|||||||
{
|
{
|
||||||
if ($this->tokenIsExpired())
|
if ($this->tokenIsExpired())
|
||||||
{
|
{
|
||||||
$this->authenticate();
|
if (!$this->authenticate())
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->debug('getMatirkelnrBySVNR');
|
$this->debug('getMatrikelnrBySVNR');
|
||||||
|
|
||||||
$curl = curl_init();
|
$curl = curl_init();
|
||||||
|
|
||||||
@@ -176,7 +347,9 @@ class dvb
|
|||||||
$curl_info = curl_getinfo($curl);
|
$curl_info = curl_getinfo($curl);
|
||||||
curl_close($curl);
|
curl_close($curl);
|
||||||
|
|
||||||
$this->debug('Response '.$curl_info['http_code']);
|
$this->debug('ResponseCode: '.$curl_info['http_code']);
|
||||||
|
$this->debug('ResponseData: '.print_r($response, true));
|
||||||
|
|
||||||
if ($curl_info['http_code'] == '200')
|
if ($curl_info['http_code'] == '200')
|
||||||
{
|
{
|
||||||
/* Example Response:
|
/* Example Response:
|
||||||
@@ -194,11 +367,22 @@ class dvb
|
|||||||
$dom = new DOMDocument();
|
$dom = new DOMDocument();
|
||||||
$dom->loadXML($response);
|
$dom->loadXML($response);
|
||||||
$namespace = 'http://www.brz.gv.at/datenverbund-unis';
|
$namespace = 'http://www.brz.gv.at/datenverbund-unis';
|
||||||
$domnodes_matrikelnummer = $dom->getElementsByTagNameNS($namespace, 'matrikelNummer');
|
$domnodes_student = $dom->getElementsByTagNameNS($namespace, 'student');
|
||||||
foreach ($domnodes_matrikelnummer as $row)
|
foreach ($domnodes_student as $row_student)
|
||||||
{
|
{
|
||||||
// Found
|
// Wenn nicht gesperrt und fix vergeben
|
||||||
return $row->textContent;
|
$ingesamtpool = $row_student->getAttribute('inGesamtPool');
|
||||||
|
$gesperrt = $row_student->getAttribute('gesperrt');
|
||||||
|
|
||||||
|
if ($ingesamtpool == 'true' && $gesperrt == 'false')
|
||||||
|
{
|
||||||
|
$domnodes_matrikelnummer = $row_student->getElementsByTagNameNS($namespace, 'matrikelNummer');
|
||||||
|
foreach ($domnodes_matrikelnummer as $row)
|
||||||
|
{
|
||||||
|
// Found
|
||||||
|
return $row->textContent;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->errormsg = '';
|
$this->errormsg = '';
|
||||||
@@ -220,7 +404,8 @@ class dvb
|
|||||||
{
|
{
|
||||||
if ($this->tokenIsExpired())
|
if ($this->tokenIsExpired())
|
||||||
{
|
{
|
||||||
$this->authenticate();
|
if (!$this->authenticate())
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->debug('getMatrikelnrByErsatzkennzeichen');
|
$this->debug('getMatrikelnrByErsatzkennzeichen');
|
||||||
@@ -248,7 +433,8 @@ class dvb
|
|||||||
$xml_response = curl_exec($curl);
|
$xml_response = curl_exec($curl);
|
||||||
$curl_info = curl_getinfo($curl);
|
$curl_info = curl_getinfo($curl);
|
||||||
curl_close($curl);
|
curl_close($curl);
|
||||||
$this->debug('Response: '.$curl_info['http_code']);
|
$this->debug('ResponseCode: '.$curl_info['http_code']);
|
||||||
|
$this->debug('ResponseData: '.print_r($response, true));
|
||||||
|
|
||||||
if ($curl_info['http_code'] == '200')
|
if ($curl_info['http_code'] == '200')
|
||||||
{
|
{
|
||||||
@@ -315,12 +501,26 @@ class dvb
|
|||||||
$dom = new DOMDocument();
|
$dom = new DOMDocument();
|
||||||
$dom->loadXML($xml_response);
|
$dom->loadXML($xml_response);
|
||||||
$namespace = 'http://www.brz.gv.at/datenverbund-unis';
|
$namespace = 'http://www.brz.gv.at/datenverbund-unis';
|
||||||
$domnodes_matrikelnummer = $dom->getElementsByTagNameNS($namespace, 'matrikelNummer');
|
$domnodes_student = $dom->getElementsByTagNameNS($namespace, 'student');
|
||||||
foreach ($domnodes_matrikelnummer as $row)
|
foreach ($domnodes_student as $row_student)
|
||||||
{
|
{
|
||||||
// Found
|
// Wenn nicht gesperrt und fix vergeben
|
||||||
return $row->textContent;
|
$ingesamtpool = $row_student->getAttribute('inGesamtPool');
|
||||||
|
$gesperrt = $row_student->getAttribute('gesperrt');
|
||||||
|
|
||||||
|
if ($ingesamtpool == 'true' && $gesperrt == 'false')
|
||||||
|
{
|
||||||
|
$domnodes_matrikelnummer = $row_student->getElementsByTagNameNS($namespace, 'matrikelNummer');
|
||||||
|
foreach ($domnodes_matrikelnummer as $row)
|
||||||
|
{
|
||||||
|
// Found
|
||||||
|
return $row->textContent;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$this->errormsg = '';
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -342,7 +542,8 @@ class dvb
|
|||||||
|
|
||||||
if ($this->tokenIsExpired())
|
if ($this->tokenIsExpired())
|
||||||
{
|
{
|
||||||
$this->authenticate();
|
if (!$this->authenticate())
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$curl = curl_init();
|
$curl = curl_init();
|
||||||
@@ -371,7 +572,8 @@ class dvb
|
|||||||
$curl_info = curl_getinfo($curl);
|
$curl_info = curl_getinfo($curl);
|
||||||
curl_close($curl);
|
curl_close($curl);
|
||||||
|
|
||||||
$this->debug('Response: '.$curl_info['http_code']);
|
$this->debug('ResponseCode: '.$curl_info['http_code']);
|
||||||
|
$this->debug('ResponseData: '.print_r($response, true));
|
||||||
|
|
||||||
/* 200 ok
|
/* 200 ok
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
@@ -417,7 +619,8 @@ class dvb
|
|||||||
|
|
||||||
if ($this->tokenIsExpired())
|
if ($this->tokenIsExpired())
|
||||||
{
|
{
|
||||||
$this->authenticate();
|
if (!$this->authenticate())
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$data = '<?xml version="1.0" encoding="UTF-8"?>
|
$data = '<?xml version="1.0" encoding="UTF-8"?>
|
||||||
@@ -457,7 +660,8 @@ class dvb
|
|||||||
$curl_info = curl_getinfo($curl);
|
$curl_info = curl_getinfo($curl);
|
||||||
curl_close($curl);
|
curl_close($curl);
|
||||||
|
|
||||||
$this->debug('Response: '.$curl_info['http_code']);
|
$this->debug('ResponseCode: '.$curl_info['http_code']);
|
||||||
|
$this->debug('ResponseData: '.print_r($response, true));
|
||||||
|
|
||||||
if ($curl_info['http_code'] == '200')
|
if ($curl_info['http_code'] == '200')
|
||||||
{
|
{
|
||||||
@@ -491,7 +695,8 @@ class dvb
|
|||||||
|
|
||||||
if ($this->tokenIsExpired())
|
if ($this->tokenIsExpired())
|
||||||
{
|
{
|
||||||
$this->authenticate();
|
if (!$this->authenticate())
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$data = '<?xml version="1.0" encoding="UTF-8"?>
|
$data = '<?xml version="1.0" encoding="UTF-8"?>
|
||||||
@@ -651,4 +856,26 @@ class dvb
|
|||||||
if ($this->debug)
|
if ($this->debug)
|
||||||
$this->debug_output .= "\n<br>".date('Y-m-d H:i:s').': '.htmlentities($msg);
|
$this->debug_output .= "\n<br>".date('Y-m-d H:i:s').': '.htmlentities($msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Erstellt einen Logeintrag
|
||||||
|
* @param object $person Personen objekt.
|
||||||
|
* @param string $typ Art des Requests.
|
||||||
|
* @param bool $result True wen Erfolgreich, false wenn Fehlerhaft.
|
||||||
|
* @param object $data Zusatzdaten die Übermittelt wurden und geloggt werden sollen.
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function logRequest($person, $typ, $result, $data = null)
|
||||||
|
{
|
||||||
|
$webservicelog = new webservicelog();
|
||||||
|
|
||||||
|
$webservicelog->webservicetyp_kurzbz = 'dvb';
|
||||||
|
$webservicelog->request_id = $person->person_id;
|
||||||
|
$webservicelog->beschreibung = $typ;
|
||||||
|
$webservicelog->request_data = ($result?'SUCCESS':'FAILED').' '.$this->errormsg;
|
||||||
|
if (!is_null($data))
|
||||||
|
$webservicelog->request_data .= ' '.print_r($data, true);
|
||||||
|
|
||||||
|
$webservicelog->save();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ $staat = filter_input(INPUT_POST, 'staat');
|
|||||||
$matura = filter_input(INPUT_POST, 'matura');
|
$matura = filter_input(INPUT_POST, 'matura');
|
||||||
$svnr = filter_input(INPUT_POST, 'svnr');
|
$svnr = filter_input(INPUT_POST, 'svnr');
|
||||||
$ersatzkennzeichen = filter_input(INPUT_POST, 'ersatzkennzeichen');
|
$ersatzkennzeichen = filter_input(INPUT_POST, 'ersatzkennzeichen');
|
||||||
|
$person_id = filter_input(INPUT_POST, 'person_id');
|
||||||
|
|
||||||
?><!DOCTYPE html>
|
?><!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
@@ -73,6 +74,7 @@ $ersatzkennzeichen = filter_input(INPUT_POST, 'ersatzkennzeichen');
|
|||||||
<li><a href="datenverbund_client.php?action=getReservations">Matrikelnummer Reservierungen anzeigen</a></li>
|
<li><a href="datenverbund_client.php?action=getReservations">Matrikelnummer Reservierungen anzeigen</a></li>
|
||||||
<li><a href="datenverbund_client.php?action=getKontingent">Matrikelnummer Kontingent anfordern</a></li>
|
<li><a href="datenverbund_client.php?action=getKontingent">Matrikelnummer Kontingent anfordern</a></li>
|
||||||
<li><a href="datenverbund_client.php?action=setMatrikelnummer">Matrikelnummer Vergabe melden</a></li>
|
<li><a href="datenverbund_client.php?action=setMatrikelnummer">Matrikelnummer Vergabe melden</a></li>
|
||||||
|
<li><a href="datenverbund_client.php?action=assignMatrikelnummer">Gesamtprozess (Abfrage, ggf Vergabemeldung, Speichern bei Person)</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
<br><br>
|
<br><br>
|
||||||
<form action="<?php echo $_SERVER['PHP_SELF'].'?action='.$action; ?>" method="post">
|
<form action="<?php echo $_SERVER['PHP_SELF'].'?action='.$action; ?>" method="post">
|
||||||
@@ -87,7 +89,7 @@ $ersatzkennzeichen = filter_input(INPUT_POST, 'ersatzkennzeichen');
|
|||||||
* @param int $maxlength Maximallaenge des Eingabefeldes.
|
* @param int $maxlength Maximallaenge des Eingabefeldes.
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
function printrow($name, $title, $value, $hint = '', $maxlength = 15)
|
function printrow($name, $title, $value, $hint = '', $maxlength = 15, $type = 'text')
|
||||||
{
|
{
|
||||||
global $db;
|
global $db;
|
||||||
|
|
||||||
@@ -95,14 +97,14 @@ $ersatzkennzeichen = filter_input(INPUT_POST, 'ersatzkennzeichen');
|
|||||||
<tr>
|
<tr>
|
||||||
<td align="right">'.$title.':</td>
|
<td align="right">'.$title.':</td>
|
||||||
<td>
|
<td>
|
||||||
<input name="'.$name.'" type="text" size="30" maxlength="'.$maxlength.'"
|
<input name="'.$name.'" type="'.$type.'" size="30" maxlength="'.$maxlength.'"
|
||||||
value="'.$db->convert_html_chars($value).'"> '.$hint.'
|
value="'.$db->convert_html_chars($value).'"> '.$hint.'
|
||||||
</td>
|
</td>
|
||||||
</tr>';
|
</tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
printrow('username', 'Username', $username, '', 100);
|
printrow('username', 'Username', $username, '', 100);
|
||||||
printrow('password', 'Passwort', $password, '', 100);
|
printrow('password', 'Passwort', $password, '', 100, 'password');
|
||||||
|
|
||||||
switch($action)
|
switch($action)
|
||||||
{
|
{
|
||||||
@@ -146,6 +148,10 @@ $ersatzkennzeichen = filter_input(INPUT_POST, 'ersatzkennzeichen');
|
|||||||
printrow('matura', 'Maturadatum', $matura, 'Format: YYYYMMDD (optional)', 10);
|
printrow('matura', 'Maturadatum', $matura, 'Format: YYYYMMDD (optional)', 10);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'assignMatrikelnummer':
|
||||||
|
printrow('person_id', 'PersonID', $person_id);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
echo "Unknown action";
|
echo "Unknown action";
|
||||||
break;
|
break;
|
||||||
@@ -232,6 +238,15 @@ if (isset($_REQUEST['submit']))
|
|||||||
echo '<br><b>Fehlgeschlagen:</b>'.$dvb->errormsg;
|
echo '<br><b>Fehlgeschlagen:</b>'.$dvb->errormsg;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'assignMatrikelnummer':
|
||||||
|
if($dvb->assignMatrikelnummer($person_id))
|
||||||
|
{
|
||||||
|
echo '<br><b>OK</b>';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
echo '<br><b>Fehlgeschlagen:</b>'.$dvb->errormsg;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
echo "Unknown action";
|
echo "Unknown action";
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -2221,6 +2221,20 @@ if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname =
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Webservicetyp dvb
|
||||||
|
if ($result = $db->db_query("SELECT * FROM system.tbl_webservicetyp WHERE webservicetyp_kurzbz='dvb'"))
|
||||||
|
{
|
||||||
|
if ($db->db_num_rows($result) == 0)
|
||||||
|
{
|
||||||
|
$qry = "INSERT INTO system.tbl_webservicetyp(webservicetyp_kurzbz, beschreibung) VALUES('dvb','Datenverbund');";
|
||||||
|
|
||||||
|
if(!$db->db_query($qry))
|
||||||
|
echo '<strong>WebserviceLog: '.$db->db_last_error().'</strong><br>';
|
||||||
|
else
|
||||||
|
echo 'Webservicelog Typ für Datenverbund hinzugefügt';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user