diff --git a/cis/infoterminal/index.php b/cis/infoterminal/index.php
index 3e7f7ed2d..b364691fe 100644
--- a/cis/infoterminal/index.php
+++ b/cis/infoterminal/index.php
@@ -41,6 +41,7 @@
require_once('../../include/konto.class.php');
require_once('../../include/functions.inc.php');
require_once('../../include/authentication.class.php');
+ require_once('../../include/addon.class.php');
require_once('../../include/'.EXT_FKT_PATH.'/serviceterminal.inc.php');
if (!$db = new basis_db())
@@ -92,7 +93,7 @@
unset($_SESSION[constSESSIONNAME]);
$uid='';
$work='raumanzeigen';
- $raumtyp_kurzbz='EDV';
+ $raumtyp_kurzbz=$ServiceTerminalDefaultRaumtyp;
}
@@ -107,22 +108,49 @@
// Login Prozedure wenn Anmeldung ueber einen Schluessel erfolgte
// - Lesen der Betriebsmittel um Anwender zu ermitteln ( es wird hier kein Passwort benoetigt / LDAP )
$cardlogin=false;
+ $cardnumber = "";
if ($db && !empty($key_input)) // Login
{
- // Pruefen ob es sich um eine HEX Eingabe handelt
-
- $betriebsmittel = new betriebsmittel();
- //$key_input = $betriebsmittel->transform_kartennummer($key_input);
+ // Pruefen ob es sich um eine HEX Eingabe handelt
+ $betriebsmittel = new betriebsmittel();
+ //$key_input = $betriebsmittel->transform_kartennummer($key_input);
- // führende nullen entfernen
- $key_input = preg_replace("/^0*/", "", $key_input);
- $uidStudent = getUidFromCardNumber($key_input);
- if($uidStudent != false)
+ // führende nullen entfernen
+ $key_input = preg_replace("/^0*/", "", $key_input);
+ $uidStudent = getUidFromCardNumber($key_input);
+ if($uidStudent != false)
+ {
+ $uid = $uidStudent;
+ $work = "login";
+ $cardlogin = true;
+ }
+ else
+ {
+ $addon_externeAusweise = false;
+ $addon = new addon();
+ $addon->loadAddons();
+ foreach($addon->result as $ad)
{
- $uid = $uidStudent;
- $work = "login";
- $cardlogin = true;
+ if($ad->kurzbz == "externeAusweise")
+ {
+ $addon_externeAusweise = true;
+ }
}
+
+ if($addon_externeAusweise)
+ {
+ require_once (dirname(__FILE__).'/../../addons/externeAusweise/include/idCard.class.php');
+ $idCard = new idCard();
+ if($idCard->loadByCardnumber($key_input))
+ {
+ $uid = "";
+ $cardnumber = $idCard->cardnumber;
+ $work = "verlaengerung";
+ $cardlogin = true;
+ $_SESSION[constSESSIONNAME]["uid"]=$cardnumber;
+ }
+ }
+ }
}
if (mb_strtolower($work)=='login')
@@ -485,7 +513,7 @@ $refreshtime = ($sdtools?99999:(isset($_SESSION[constSESSIONNAME]["uid"]) && !em
echo '
';
- if(isset($_SESSION[constSESSIONNAME]["uid"]) && !empty($_SESSION[constSESSIONNAME]["uid"]) )
+ if(isset($_SESSION[constSESSIONNAME]["uid"]) && !empty($_SESSION[constSESSIONNAME]["uid"]) && !empty($_SESSION[constSESSIONNAME]["pwd"]))
{
//Angemeldeter User - Stundenplan der Woche
echo '
@@ -506,8 +534,7 @@ $refreshtime = ($sdtools?99999:(isset($_SESSION[constSESSIONNAME]["uid"]) && !em
// Tabelle der Raumtypen
echo html_output_liste_raumtypen($row_ort);
-
- if(isset($_SESSION[constSESSIONNAME]["uid"]) && !empty($_SESSION[constSESSIONNAME]["uid"]) )
+ if(isset($_SESSION[constSESSIONNAME]["uid"]) && !empty($_SESSION[constSESSIONNAME]["uid"]) && empty($cardnumber))
{
//Angemeldeter User - Stundenplan der Woche
echo '
@@ -610,7 +637,7 @@ $refreshtime = ($sdtools?99999:(isset($_SESSION[constSESSIONNAME]["uid"]) && !em
}
else if (strtolower($work)==strtolower("verlaengerung") && isset($_SESSION[constSESSIONNAME]))
{
- karten_verlaengerung($_SESSION[constSESSIONNAME]["uid"]);
+ karten_verlaengerung($_SESSION[constSESSIONNAME]["uid"],$cardnumber);
}
else if (mb_strtolower($work)==mb_strtolower("stundenplan") && isset($_SESSION[constSESSIONNAME]["uid"]) && !empty($_SESSION[constSESSIONNAME]["uid"]) )
{
@@ -752,46 +779,46 @@ function meine_uid_informationen($db,$uid,$user="")
* Zeigt die Oberfläche zur Kartenverlängerung an
* @param $uid Userkurzzeichen
*/
-function karten_verlaengerung($uid)
+function karten_verlaengerung($uid, $cardnumber=NULL)
{
- $studienbeitrag = false;
-
-
- // Mitarbeiter brauchen die Karte nicht verlängern
-
- $cardPerson = new benutzer();
- if(!$cardPerson->load($uid))
+ if(is_null($cardnumber))
{
- die('Konnte User nicht laden');
+ $studienbeitrag = false;
+ // Mitarbeiter brauchen die Karte nicht verlängern
+
+ $cardPerson = new benutzer();
+ if(!$cardPerson->load($uid))
+ {
+ die('Konnte User nicht laden');
+ }
+
+ $html_user_daten='';
+ $html_user_daten.='
Verlängerung Studienausweis
';
+ $html_user_daten.='
+
+
+
+
+ | '.($cardPerson->titelpre?$cardPerson->titelpre.' ':'').$cardPerson->vorname.' '.$cardPerson->nachname.' '.($cardPerson->titelpost?$cardPerson->titelpost:'').' |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
';
+
+ echo $html_user_daten;
}
-
- $html_user_daten='';
- $html_user_daten.='Verlängerung Studienausweis
';
- $html_user_daten.='
-
-
-
-
- | '.($cardPerson->titelpre?$cardPerson->titelpre.' ':'').$cardPerson->vorname.' '.$cardPerson->nachname.' '.($cardPerson->titelpost?$cardPerson->titelpost:'').' |
-
-
- |
-
-
- |
-
-
- |
-
-
';
-
- echo $html_user_daten;
-
// User zur Karte konnte nicht geladen werden
- $data = ServiceTerminalCheckVerlaengerung($uid);
+ $data = ServiceTerminalCheckVerlaengerung($uid, $cardnumber);
if($data[0]===true)
{
diff --git a/soap/kartenverlaengerung.soap.php b/soap/kartenverlaengerung.soap.php
index 122910832..e5cc5bb1f 100755
--- a/soap/kartenverlaengerung.soap.php
+++ b/soap/kartenverlaengerung.soap.php
@@ -26,6 +26,7 @@ require_once('../include/studiensemester.class.php');
require_once('../include/benutzer.class.php');
require_once('../include/webservicelog.class.php');
require_once('../include/datum.class.php');
+require_once('../include/addon.class.php');
require_once('../include/'.EXT_FKT_PATH.'/serviceterminal.inc.php');
ini_set("soap.wsdl_cache_enabled", "0");
@@ -43,6 +44,27 @@ function getNumber($cardNr)
return $objArray;
}
+ $addon_externeAusweise = false;
+ $addon = new addon();
+ $addon->loadAddons();
+ foreach($addon->result as $ad)
+ {
+ if($ad->kurzbz == "externeAusweise")
+ {
+ $addon_externeAusweise = true;
+ }
+ }
+
+ if($addon_externeAusweise)
+ {
+ require_once (dirname(__FILE__).'/../addons/externeAusweise/include/idCard.class.php');
+ $idCard = new idCard();
+ if($idCard->loadByCardnumber($cardNr))
+ {
+ return ServiceTerminalGetDrucktext($cardNr, $cardNr);
+ }
+ }
+
// Karte ist noch nicht ausgegeben
$cardUser = new betriebsmittelperson();
if(!$cardUser->getKartenzuordnung($cardNr))