Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Private Sub tmrProximityReader_Timer()
- On Error Resume Next
- 'Go2018 #25
- 'If Me.MSCommProximityReader.InBufferCount > 0 And gblnMessageBoard_Active Then Call FctSetMessageBoard(False)
- If gblnBusyWithAnotherProcess Then Exit Sub
- On Error GoTo errorhandler
- Dim i As Integer
- '#Indien poging tot ingave met keyboard, de reader uitschakelen
- If (gstrCustomerName = "CHUTivoli") And gblnKeyBoard_FormOneForeGround = True Then
- Me.shapeProximity.Visible = False
- Me.shapeProximity.Refresh
- Me.MSCommProximityReader.InBufferCount = 0
- Exit Sub
- End If
- '
- Dim mTekst As String
- Dim mRetVal As String
- Dim gstrUserCardNumberSite As String
- gstrUserCardNumber = ""
- '
- If Not gintProximityReaderType = cProximityUSBOmnikey5x21 Then
- Call FctCheckCommPort_ProximityReader
- If gblnKeyboard_FormActive = True And gstrCustomerName = "AZDamiaan" Then
- gstrUserCardNumber = Me.MSCommProximityReader.input
- Exit Sub
- End If
- End If
- '
- Me.shapeProximity.Visible = Not Me.shapeProximity.Visible
- Me.shapeProximity.Refresh
- '#AZLokeren
- If gstrCustomerName = "AZLokeren" Then
- gstrUserCardNumber = Me.MSCommProximityReader.input
- If gstrUserCardNumber <> vbNullString Then
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(13), "")
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(10), "")
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(3), "")
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(2), "")
- '
- If Len(gstrUserCardNumber) = 7 Then
- gstrUserCardNumber = mID(gstrUserCardNumber, 5, 2) & mID(gstrUserCardNumber, 3, 2) & mID(gstrUserCardNumber, 1, 2) & "00"
- ElseIf Len(gstrUserCardNumber) = 8 Then
- gstrUserCardNumber = mID(gstrUserCardNumber, 6, 2) & mID(gstrUserCardNumber, 4, 2) & mID(gstrUserCardNumber, 2, 2) & "0" & mID(gstrUserCardNumber, 1, 1)
- ElseIf Len(gstrUserCardNumber) = 9 Then
- gstrUserCardNumber = mID(gstrUserCardNumber, 7, 2) & mID(gstrUserCardNumber, 5, 2) & mID(gstrUserCardNumber, 3, 2) & mID(gstrUserCardNumber, 1, 2)
- End If
- Me.lbl1.Caption = gstrUserCardNumber
- '
- If LDAP_CheckUser_MemberOf_NestedGroups(gstrLDAP_Applic_UserName, gstrLDAP_Applic_PassWord, gstrUserCardNumber) Then
- Me.MousePointer = vbDefault
- Call FctWriteToHistory_LogOn("LogOn", "Code = " & gstrUserCode & " F = " & gvarUserAccessCode, "")
- Call FctEnabled_MenuItemsAndButtons(gblnPilotActive)
- Exit Sub
- Else
- Me.MousePointer = vbDefault: Call FctNoAccess: Exit Sub
- End If
- Else
- Exit Sub
- End If
- End If
- '#XPerthis
- If gbytUserControlBy = cXPerthis Then 'AZStMariaHalle
- gstrUserCardNumber = Me.MSCommProximityReader.input
- If gstrUserCardNumber <> "" Then
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(13), "")
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(10), "")
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(3), "")
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(2), "")
- Me.lbl1.Caption = gstrUserCardNumber
- If FctXPerthis_AuthenticateBadge(gstrUserCardNumber) Then
- If Val(gvarUserAccessCode) < 61 Or Val(gvarUserAccessCode) > 68 Then
- Call FctNoAccess
- Else
- Call FctSetAllDatabaseConnections(True)
- Call FctWriteToHistory_LogOn("LogOn", mID("Code = " & gstrUserCardNumber & " F = " & gvarUserAccessCode & " " & gstrUserMiddelName & " " & gstrUserFirstName, 1, 100), "")
- gstrUserLanguage = gstrStartLanguage
- Call FctEnabled_MenuItemsAndButtons(False)
- End If
- Else
- Call FctNoAccess
- End If
- End If
- Exit Sub
- End If
- '#AZMonica + AISH_Seraing + Sp Ottignies + StLucasGent + StJozefIzegem
- '#Controle op ingelezen gebruikers in onze Gebruikerstabel
- If gstrCustomerName = "AZMonica" Or gstrCustomerName = "AISH_Seraing" Or gstrCustomerName = "SP_Ottignies" Or gstrCustomerName = "StLucasGent" Or gstrCustomerName = "StJozefIzegem" Then
- gstrUserCardNumber = Me.MSCommProximityReader.input
- If gstrUserCardNumber <> "" Then
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(13), "")
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(10), "")
- If gstrCustomerName <> "AZMonica" Then
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(3), "")
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(2), "")
- End If
- Me.lbl1.Caption = gstrUserCardNumber
- If Len(gstrUserCardNumber) >= 13 And gstrCustomerName = "AZMonica" Then
- gstrUserCardNumber = mID(gstrUserCardNumber, 6, 8)
- gstrUserCardNumber = Trim(str(FktHex2Dec(gstrUserCardNumber)))
- End If
- If Len(gstrUserCardNumber) >= 15 And gstrCustomerName = "SP_Ottignies" Then
- gstrUserCardNumber = mID(gstrUserCardNumber, 2, 12)
- End If
- If Left(gstrUserCardNumber, 1) = "*" And Right(gstrUserCardNumber, 1) = "#" And Len(gstrUserCardNumber) >= 20 And gstrCustomerName = "StLucasGent" Then
- gstrUserCardNumber = mID(gstrUserCardNumber, 6, 10)
- End If
- If Len(gstrUserCardNumber) >= 10 And gstrCustomerName = "StJozefIzegem" Then
- gstrUserCardNumber = mID(gstrUserCardNumber, 5, 5)
- gstrUserCardNumber = Trim(str(FktHex2Dec(gstrUserCardNumber)))
- End If
- Me.lbl2.Caption = gstrUserCardNumber
- Call FctSetAllDatabaseConnections(True)
- If gblnMultiDepartmentsDatabase And gblnUserControl_DepartmentSensitive Then
- tmpRecSet.Open "SELECT * FROM Gebruikers WHERE UnitID='" & gstrUnitID & "' AND GebruikerCode='" & gstrUserCardNumber & "'", gcnMyConnection, adOpenStatic, adLockReadOnly, adCmdText
- Else
- tmpRecSet.Open "SELECT * FROM Gebruikers WHERE GebruikerCode='" & gstrUserCardNumber & "'", gcnMyConnection, adOpenStatic, adLockReadOnly, adCmdText
- End If
- If Not (tmpRecSet.BOF And tmpRecSet.EOF) Then
- gvarUserAccessCode = tmpRecSet!GebruikerFunctie
- If Not IsNull(tmpRecSet!GebruikerNaam) Then gstrUserCode = tmpRecSet!GebruikerNaam
- End If
- tmpRecSet.Close
- Me.lbl2.Caption = Me.lbl2.Caption & " " & gvarUserAccessCode
- If Val(gvarUserAccessCode) < 61 Or Val(gvarUserAccessCode) > 68 Or gstrUserCode = "" Then 'Gebruikersnaam moet ingevuld zijn !!
- Call FctNoAccess
- gstrUserCardNumber = Me.MSCommProximityReader.input 'Reader leegmaken na de boodschap 'Geen Toegang'
- Exit Sub
- Else
- gstrUserLanguage = gstrStartLanguage
- Call FctEnabled_MenuItemsAndButtons(False)
- End If
- End If
- Exit Sub
- End If
- '#RenardHerstal
- If gstrCustomerName = "RenardHerstal" Then
- gstrUserCardNumber = Me.MSCommProximityReader.input
- If gstrUserCardNumber <> "" Then
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(13), "")
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(10), "")
- Me.lbl1.Caption = gstrUserCardNumber
- If Len(gstrUserCardNumber) > 2 Then
- gstrUserCardNumberSite = mID(gstrUserCardNumber, 8, 2)
- gstrUserCardNumber = mID(gstrUserCardNumber, 10, 4)
- gstrUserCardNumber = Trim(str(FktHex2Dec(gstrUserCardNumber)))
- gstrUserCardNumberSite = Trim(str(FktHex2Dec(gstrUserCardNumberSite)))
- End If
- Me.lbl2.Caption = gstrUserCardNumber
- Call FctSetAllDatabaseConnections(True)
- tmpRecSet.Open "SELECT * FROM Gebruikers WHERE GebruikerCode='" & gstrUserCardNumberSite & "-" & gstrUserCardNumber & "'", gcnMyConnection, adOpenStatic, adLockReadOnly, adCmdText
- If Not (tmpRecSet.BOF And tmpRecSet.EOF) Then
- gvarUserAccessCode = tmpRecSet!GebruikerFunctie
- glngUserRecordID = tmpRecSet!RecordID
- If Not IsNull(tmpRecSet!GebruikerNaam) Then gstrUserCode = tmpRecSet!GebruikerNaam
- End If
- tmpRecSet.Close
- Me.lbl2.Caption = Me.lbl2.Caption & " " & gvarUserAccessCode
- If Val(gvarUserAccessCode) < 61 Or Val(gvarUserAccessCode) > 67 Or gstrUserCode = "" Then 'Gebruikersnaam moet ingevuld zijn !!
- Call FctNoAccess
- gstrUserCardNumber = Me.MSCommProximityReader.input 'Reader leegmaken na de boodschap 'Geen Toegang'
- Exit Sub
- Else
- gstrUserLanguage = gstrStartLanguage
- Call FctWriteToHistory_LogOn("LogOn", "Code = " & gstrUserCode & " F = " & gvarUserAccessCode, "")
- Call FctEnabled_MenuItemsAndButtons(False)
- End If
- End If
- Exit Sub
- End If
- '#CHUTivoli
- If gstrCustomerName = "CHUTivoli" Then
- gstrUserCardNumber = Me.MSCommProximityReader.input
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(13), "")
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(10), "")
- Me.lbl1.Caption = gstrUserCardNumber
- If Len(gstrUserCardNumber) >= 13 Then gstrUserCardNumber = FctTranslateTivoliBadge(gstrUserCardNumber)
- Me.lbl2.Caption = gstrUserCardNumber
- If gstrUserCardNumber <> "" Then
- Call FctSetAllDatabaseConnections(True)
- If LDAP_CheckUser_ViaExternalExe(gstrUserCardNumber, "?", "?") = True Then
- Call FctWriteToHistory_LogOn("LogOn", "Code = " & gstrUserCode & " F = " & gvarUserAccessCode, "")
- Call FctEnabled_MenuItemsAndButtons(False)
- glngUserRecordID = FctGetUser_RecordID(gstrUserCardNumber)
- Else
- Call FctNoAccess
- gstrUserCardNumber = Me.MSCommProximityReader.input 'Reader leegmaken na de boodschap 'Geen Toegang'
- Exit Sub
- End If
- End If
- Exit Sub
- End If
- '#Moeskroen
- If gstrCustomerName = "Moeskroen" Then
- Dim mUserID As Long: mUserID = 0
- gstrUserCardNumber = Me.MSCommProximityReader.input
- If Len(gstrUserCardNumber) >= 5 Then
- gstrUserCardNumber = Right(gstrUserCardNumber, 6)
- Else
- Exit Sub
- End If
- gstrUserCardNumber = Replace(gstrUserCardNumber, " ", "")
- '
- gconSiPassUserDatabase_Connection.ConnectionString = gstrSiPassUserDatabase_ConnectionString
- gconSiPassUserDatabase_Connection.Open
- If gconSiPassUserDatabase_Connection.State = adStateOpen Then
- Dim tmpRecSetUser As New ADODB.Recordset
- gstrSQL = "SELECT m.id,m.nachname,m.vorname " _
- & "FROM ecbern.mitarbeiter m " _
- & "INNER JOIN ecbern.mitarbeiter_kategoriedetail g ON m.ID = g.MITARBEITER_ID " _
- & "INNER JOIN ecbern.kategorie k ON k.knoten_id = g.knoten_id " _
- & "INNER JOIN ecbern.kategorie_typ t ON t.kategorietyp_id = k.kategorietyp_id " _
- & "WHERE t.kategorietyp_id in (31,34,35,36,37,38,39,40,41,42,43,44,45,46,47,62,82,86,210,55,90,210,250,171) " _
- & "AND m.badge = " & Val(gstrUserCardNumber)
- tmpRecSetUser.Open gstrSQL, gconSiPassUserDatabase_Connection, adOpenStatic, adLockReadOnly, adCmdText
- If Not (tmpRecSetUser.BOF And tmpRecSetUser.EOF) Then
- If Not IsNull(tmpRecSetUser!nachname) Then gstrUserCode = tmpRecSetUser!nachname
- If Not IsNull(tmpRecSetUser!id) Then mUserID = tmpRecSetUser!id
- gstrUserLanguage = cDutch
- End If
- End If
- tmpRecSetUser.Close
- gconSiPassUserDatabase_Connection.Close
- '
- If mUserID = 0 Then
- Call FctNoAccess: Exit Sub
- Else
- 'Extra bij Infohos controleren op een hogere functie
- If gbytControlePWDVersion = 1 Then
- Dim Ctrl2 As New ControlePwd.ControleLogin
- gvarUserAccessCode = Ctrl2.ControleLogin(LCase(mUserID), "")
- Else
- If gblnUserControl_DepartmentSensitive Then
- gvarUserAccessCode = FctGetIHCPharmacySecurity(SecType.UserCode_CupBoard, str(mUserID), "", gstrCustomerCabinetID)
- Else
- gvarUserAccessCode = FctGetIHCPharmacySecurity(SecType.UserCode, str(mUserID), "", "")
- End If
- End If
- If IsNull(gvarUserAccessCode) Then gvarUserAccessCode = 61
- If Val(gvarUserAccessCode) < 61 Or Val(gvarUserAccessCode) > 68 Then gvarUserAccessCode = 61
- DoEvents: Me.MousePointer = vbDefault
- Call FctSetAllDatabaseConnections(True)
- gstrUserLanguage = gstrStartLanguage
- Call FctWriteToHistory_LogOn("LogOn", "Code = " & gstrUserCode & " F = " & gvarUserAccessCode, "")
- Call FctEnabled_MenuItemsAndButtons(False)
- End If
- Exit Sub
- End If
- '#AZGroeninge
- If gstrCustomerName = "AZGroeninge" Then
- gstrUserCardNumber = Me.MSCommProximityReader.input
- If Len(gstrUserCardNumber) >= 13 Then
- gstrUserCardNumber = mID(gstrUserCardNumber, 6, 7) 'Opsplitsen
- gstrUserCardNumber = FctConvert_HexToBin(gstrUserCardNumber) 'Omzetten van Hex 2 Bin
- gstrUserCardNumber = mID(gstrUserCardNumber, 2, 24) 'Start en Parity weglaten
- gstrUserCardNumber = FctConvert_BinToDec(mID(gstrUserCardNumber, 9, 16)) 'Badgenummer gedeelte bin omzetten naar Dec
- Else
- Exit Sub
- End If
- '
- If gstrUserCardNumber <> "" Then
- Call FctSetAllDatabaseConnections(True)
- If gblnWorkingWithLocalData_Active Then
- gvarUserAccessCode = FctGetUser_CredentialsFromHistory(gstrUserCardNumber)
- If gvarUserAccessCode = 0 Then Call FctNoAccess: Exit Sub
- Call FctWriteToHistory_LogOn("LogOn", "Code = " & gstrUserCode & " F = " & gvarUserAccessCode, "")
- Call FctEnabled_MenuItemsAndButtons(False)
- Exit Sub
- End If
- '
- If gstrComputerName = gstrDevelopmentPCName Then
- gstrSQL = "SELECT value, user_loginname FROM tab_user u, tab_user_right r " _
- & "WHERE u.UserID = r.UserID AND UPPER(r.application)=UPPER('" & gstrCustomerPm1 & "') AND LOWER(param)=LOWER('access') " _
- & "AND u.BadgeNr=" & Val(gstrUserCardNumber) & " AND (u.User_Inactive >= GETDATE() OR u.User_Inactive IS NULL)"
- Else
- gstrSQL = "SELECT value, user_loginname FROM tab_user u, tab_user_right r " _
- & "WHERE u.UserID = r.UserID AND UPPER(r.application)=UPPER('" & gstrCustomerPm1 & "') AND LOWER(param)=LOWER('access') " _
- & "AND u.BadgeNr=" & Val(gstrUserCardNumber) & " AND (u.User_Inactive >= SYSDATE OR u.User_Inactive IS NULL)"
- End If
- tmpRecSet.Open gstrSQL, gcnUserConnection, adOpenStatic, adLockReadOnly, adCmdText
- If (tmpRecSet.EOF And tmpRecSet.BOF) Then
- gvarUserAccessCode = 0
- tmpRecSet.Close
- Call FctNoAccess: Exit Sub
- Else
- gstrUserCode = Trim(tmpRecSet.Fields("user_loginname").Value)
- gvarUserAccessCode = Trim(tmpRecSet.Fields("value"))
- tmpRecSet.Close
- gstrUserLanguage = cDutch
- End If
- Call FctWriteToHistory_LogOn("LogOn", "Code = " & gstrUserCode & " F = " & gvarUserAccessCode, gstrUserCardNumber)
- If Val(gvarUserAccessCode) < 61 Or Val(gvarUserAccessCode) > 67 Then
- Call FctNoAccess: Exit Sub
- Else
- Call FctEnabled_MenuItemsAndButtons(False)
- End If
- End If
- Exit Sub
- End If
- '#OLVZAalst + AZDelta + StElisabethZottegem + UZGent + Lesperance + Emmaus
- If gintProximityReaderType = cProximityHID_ProxPro Then
- gstrUserCardNumber = Me.MSCommProximityReader.input
- If gstrUserCardNumber <> "" Then
- Call fctWriteProximityLog("tmrProximityReader_Timer", "First read: " & gstrUserCardNumber)
- Sleep (100)
- gstrUserCardNumber = gstrUserCardNumber & Me.MSCommProximityReader.input
- Call fctWriteProximityLog("tmrProximityReader_Timer", "Second read: " & gstrUserCardNumber)
- Else
- Exit Sub
- End If
- If gstrCustomerName = "Lesperance" Then
- If Len(gstrUserCardNumber) >= 13 Then gstrUserCardNumber = mID(gstrUserCardNumber, 2, 12)
- Call fctWriteProximityLog("tmrProximityReader_Timer", "Esperance modification: " & gstrUserCardNumber)
- End If
- gstrUserCardNumber = FctFilterProximityInputs(gstrUserCardNumber)
- If gstrCustomerName = "AZDelta" Then
- If gstrUserCardNumber <> vbNullString Then
- Dim mAnswer As String
- For i = Len(gstrUserCardNumber) To 1 Step -1
- mAnswer = mAnswer & Format(Hex(Asc(mID(gstrUserCardNumber, i, 1))), "00")
- Next i
- Me.lbl1.Caption = mAnswer
- mAnswer = FktHex2Dec(mAnswer)
- Me.lbl2.Caption = mAnswer
- If Len(mAnswer) > 8 Then gstrUserCardNumber = Right(mAnswer, 8) Else gstrUserCardNumber = mAnswer
- Call fctWriteProximityLog("tmrProximityReader_Timer", "AZ Delta Modification: " & gstrUserCardNumber)
- End If
- End If
- '
- Me.lbl1.Caption = gstrUserCardNumber
- Call FctSetAllDatabaseConnections(True)
- If gbytUserControlBy = cInfohos Then
- Call fctWriteProximityLog("tmrProximityReader_Timer", "Infohos request start")
- If gbytControlePWDVersion = 1 Then
- Dim ctrl As New ControlePwd.ControleLogin
- gvarUserAccessCode = ctrl.ControleLogin(LCase(gstrUserCardNumber), "")
- Else
- If gblnUserControl_DepartmentSensitive Then
- gvarUserAccessCode = FctGetIHCPharmacySecurity(SecType.UserCode_CupBoard, gstrUserCardNumber, "", gstrCustomerCabinetID)
- Else
- gvarUserAccessCode = FctGetIHCPharmacySecurity(SecType.UserCode, gstrUserCardNumber, "", "")
- End If
- End If
- Call fctWriteProximityLog("tmrProximityReader_Timer", "Infohos request end")
- 'TBU Ticket 3752
- If (gstrCustomerName = "AZDelta") Then
- gvarUserAccessCode = fktAzDeltaGetLevelUser(gstrUserCode)
- End If
- If Val(gvarUserAccessCode) < 61 Or Val(gvarUserAccessCode) > 68 Then
- mTekst = "Card:" & gstrUserCardNumber & vbLf & "Web:" & gstrUserCardNumber & vbLf
- Call FctNoAccess: Exit Sub
- Else
- gstrUserLanguage = gstrStartLanguage
- gstrUserCode = gstrUserCardNumber
- Call FctEnabled_MenuItemsAndButtons(False)
- End If
- End If
- If gbytUserControlBy = cPharmalogic Then
- tmpRecSet.Open "SELECT * FROM Gebruikers WHERE GebruikerCode='" & gstrUserCardNumber & "'", gcnMyConnection, adOpenStatic, adLockReadOnly, adCmdText
- If Not (tmpRecSet.BOF And tmpRecSet.EOF) Then
- gvarUserAccessCode = tmpRecSet!GebruikerFunctie
- If Not IsNull(tmpRecSet!GebruikerNaam) Then gstrUserCode = tmpRecSet!GebruikerNaam
- End If
- tmpRecSet.Close
- 'TBU Ticket 3752
- If (gstrCustomerName = "AZDelta") Then
- gvarUserAccessCode = fktAzDeltaGetLevelUser(gstrUserCardNumber)
- End If
- If Val(gvarUserAccessCode) < 61 Or Val(gvarUserAccessCode) > 67 Or gstrUserCode = "" Then 'Gebruikersnaam moet ingevuld zijn !!
- Call FctNoAccess: Exit Sub
- Else
- gstrUserLanguage = gstrStartLanguage
- Call FctEnabled_MenuItemsAndButtons(False)
- End If
- End If
- If gbytUserControlBy = cLDAP Then
- Select Case gstrCustomerName
- Case "UZGent"
- Me.lbl1.Caption = gstrUserCardNumber
- retval = ExecCmd(App.Path & "\ADLdap.exe Badge=" & gstrUserCardNumber)
- Select Case retval
- Case 0, 2
- frmMsgBoxInfo.lblMelding.Caption = GetTxt("OnbekendeMagneetKaart") & " (AD)"
- frmMsgBoxInfo.Show vbModal, Me
- Exit Sub
- Case 1
- gstrUserCode = FctIniFile_ReadValue("LDAP", "tmpLDAPUser", "")
- Me.lbl1.Caption = gstrUserCode
- If gstrUserCode = "" Then
- frmMsgBoxInfo.lblMelding.Caption = GetTxt("OnbekendeMagneetKaart") & " (AD)"
- frmMsgBoxInfo.Show vbModal, Me
- Exit Sub
- End If
- tmpRecSet.Open "SELECT * FROM [vanas].[DispenserUsers] inner join [vanas].[DispenserUserUnits] on [DispenserUsers].RecordId = [DispenserUserId] inner join [vanas].[Units] on [DispenserUserUnits].[UnitId] = [Units].RecordId WHERE UserName = '" & gstrUserCode & "' AND [Units].UnitID = '" & gstrUnitID & "'", gcnPilotConnection, adOpenStatic, adLockReadOnly, adCmdText
- If Not (tmpRecSet.BOF And tmpRecSet.EOF) Then
- tmpRecSet.Close
- tmpRecSet.Open "SELECT * FROM Gebruikers WHERE GebruikerCode='" & gstrUserCode & "' AND HasAccess=1", gcnMyConnection, adOpenStatic, adLockReadOnly, adCmdText
- End If
- '
- If Not (tmpRecSet.BOF And tmpRecSet.EOF) Then
- gvarUserAccessCode = tmpRecSet!GebruikersGroepKeysRecordID
- Else
- tmpRecSet.Close
- frmMsgBoxInfo.lblMelding.Caption = GetTxt("OnbekendeGebruiker")
- frmMsgBoxInfo.Show vbModal, Me
- Exit Sub
- End If
- '
- tmpRecSet.Close
- gstrUserLanguage = gstrStartLanguage
- Call FctWriteToHistory_LogOn("LogOn", "Code = " & gstrUserCode & " F = " & gvarUserAccessCode, "")
- Call FctEnabled_MenuItemsAndButtons(True)
- Me.lbl2.Caption = gstrUserCode & " " & gstrUserGroup
- Call FctUpdatePilotUserTables
- End Select
- Case "Emmaus"
- Me.lbl1.Caption = gstrUserCardNumber
- If LDAP_CheckUser_MemberOf_NestedGroups(gstrLDAP_Applic_UserName, gstrLDAP_Applic_PassWord, gstrUserCardNumber) Then
- Me.MousePointer = vbDefault
- If gblnDoubleCheckUser_AuthenticateWithBadge Then
- If gvarUserAccessCode_DoubleCheck <> "62" And gvarUserAccessCode_DoubleCheck <> "63" Then
- gblnDoubleCheckUser_AuthenticationSuccesfull = True
- Call FctWriteToHistory_LogOn("Auth. Success", "Code = " & gstrUserCode_DoubleCheck & " F = " & gvarUserAccessCode_DoubleCheck, "")
- Else
- gblnDoubleCheckUser_AuthenticationSuccesfull = False
- gblnDoubleCheckUser_AuthenticationWithBadgeFailed = True
- Call FctWriteToHistory_LogOn("Auth. Failed", "Code = " & gstrUserCode_DoubleCheck & " F = " & gvarUserAccessCode_DoubleCheck, "")
- End If
- Else
- Call FctWriteToHistory_LogOn("LogOn", "Code = " & gstrUserCode & " F = " & gvarUserAccessCode, "")
- Call FctEnabled_MenuItemsAndButtons(gblnPilotActive)
- End If
- Else
- Me.MousePointer = vbDefault: Call FctNoAccess: Exit Sub
- End If
- End Select
- End If
- Call fctWriteProximityLog("tmrProximityReader_Timer", "----------------------------------------")
- Exit Sub
- End If
- '#StRembert & AZDamiaan
- If gintProximityReaderType = cProximityHID_ProxProWebService Then
- gstrUserCardNumber = Me.MSCommProximityReader.input
- If gstrUserCardNumber <> "" Then
- Call FctSetAllDatabaseConnections(True)
- 'CR wegfilteren
- If Not Right(gstrUserCardNumber, 1) = Chr(10) Then Exit Sub 'Laatste karakter geen Chr(10) = geen volledig bericht
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(10), "")
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(13), "")
- If gstrCustomerName = "AZDamiaan" Then
- 'Eerst paswoord nog opvragen
- gstrUserCardNumber = Replace(gstrUserCardNumber, "N", "") 'Eerste N wegfilteren
- gstrUserCardNumber = Trim(Val(gstrUserCardNumber))
- 'Password nog opvragen
- If gstrCustomerName = "AZDamiaan" Then gblnKeyboard_Input(4) = True
- Call FctPreparationKeyBoard
- frmKeyBoard.Show vbModal, Me
- If frmKeyBoard.txtKeyBoard.Text <> "" Then
- gstrUserCode = frmKeyBoard.txtKeyBoard.Text
- gvarUserAccessCode = ""
- mRetVal = FktGetInfoHosIDViaWebService2(gstrUserCardNumber, gstrUserCode)
- If Val(gvarUserAccessCode) < 61 Or Val(gvarUserAccessCode) > 68 Then
- Call FctNoAccess: Exit Sub
- Else
- gstrUserLanguage = gstrStartLanguage
- Call FctEnabled_MenuItemsAndButtons(False)
- End If
- Else
- Call FctSetAllDatabaseConnections(False)
- Exit Sub
- End If
- Else 'St Rembert
- 'Procedure:Gebruiker logt aan met Badge
- 'Webservice geeft gebruikersnaam en SecurityLevel terug
- Dim mUser As String
- mUser = FktGetInfoHosIDViaWebService(gstrUserCardNumber)
- '2 Volgende regels activeren en uittesten indien St Rembert overschakeld naar Universeel programma
- 'If gbytControlePWDVersion = 1 Then
- ' Dim Ctrl2 As New ControlePwd.ControleLogin
- ' gvarUserAccessCode = Ctrl2.ControleLogin(LCase(mUser), "")
- 'Else
- ' gvarUserAccessCode = FctGetIHCPharmacySecurity(SecType.UserCode, mUser, "", "")
- 'End If
- 'Indien bij Infohos gekend is het niveau van Infohos van toepassing, anders telt de webservice toegangsniveau.
- If Val(gvarUserAccessCode) < 61 Or Val(gvarUserAccessCode) > 68 Then
- gvarUserAccessCode = mstrSecurityLevel 'Deze is opgehaald met FktGetInfoHosIDViaWebService
- End If
- '
- If Val(gvarUserAccessCode) < 61 Or Val(gvarUserAccessCode) > 68 Then
- mTekst = "Card: " & gstrUserCardNumber & vbLf & "Web: " & mUser & vbLf & "Level: " & gvarUserAccessCode
- Call FctSetAllDatabaseConnections(False)
- MsgBox mTekst & GetTxt("UHebtGeenToegangsRechten"), vbInformation, gstrMsgBoxTitle
- Exit Sub
- Else
- gstrUserLanguage = gstrStartLanguage
- Call FctEnabled_MenuItemsAndButtons(False)
- End If
- End If
- End If
- End If
- '#AZDamiaan USB
- If gintProximityReaderType = cProximityUSBOmnikey5x21 And gstrCustomerName = "AZDamiaan" Then
- gstrUserCardNumber = FctReadOmnikey5x21CL
- Me.lbl1.Caption = gstrUserCardNumber
- If gstrUserCardNumber <> "" Then
- If mID(gstrUserCardNumber, 1, 5) = "Error" Then Exit Sub
- gstrUserCardNumber = Replace(LTrim(Replace(gstrUserCardNumber, "0", " ")), " ", "0")
- Unload frmKeyBoard: mblnLogOnExit = True
- Call FctSetAllDatabaseConnections(True)
- 'Eerst paswoord nog opvragen
- gblnKeyboard_Input(4) = True
- Call FctPreparationKeyBoard
- frmKeyBoard.Show vbModal, Me
- If frmKeyBoard.txtKeyBoard.Text <> "" Then
- gstrUserCode = frmKeyBoard.txtKeyBoard.Text
- gvarUserAccessCode = ""
- mRetVal = FktGetInfoHosIDViaWebService2(gstrUserCardNumber, gstrUserCode)
- If Val(gvarUserAccessCode) < 61 Or Val(gvarUserAccessCode) > 68 Then
- Call FctNoAccess: Exit Sub
- Else
- gstrUserLanguage = gstrStartLanguage
- Call FctWriteToHistory_LogOn("LogOn", "Code = " & gstrUserCode & " F = " & gvarUserAccessCode, "")
- Call FctEnabled_MenuItemsAndButtons(False)
- End If
- Else
- Call FctSetAllDatabaseConnections(False)
- Exit Sub
- End If
- End If
- End If
- '#HHMol
- If gintProximityReaderType = cProximityUSBOmnikey5x21 And gstrCustomerName = "HHMol" Then
- gstrUserCardNumber = FctReadOmnikey5x21CL
- Me.lbl1.Caption = gstrUserCardNumber: Me.lbl1.Refresh
- If gstrUserCardNumber <> "" Then
- If mID(gstrUserCardNumber, 1, 5) = "Error" Then
- If Not gstrComputerName = gstrDevelopmentPCName Then Sleep 1000 '#Na een card ingelezen te hebben, minstens 1 sec wachten om opnieuw de reader te gebruiken Device idle ?
- Exit Sub
- End If
- Me.MousePointer = vbHourglass
- gstrUserCardNumber = Val(gstrUserCardNumber) 'Voorloopnullen verwijderen
- If LDAP_CheckUser_Attribute(gstrUserCardNumber) = False Then
- Me.MousePointer = vbDefault
- Call FctNoAccess: Exit Sub
- End If
- If LDAP_CheckUser_MemberOf_NestedGroups(gstrUserCode, "") Then
- Call FctSetAllDatabaseConnections(True)
- Me.MousePointer = vbDefault
- Call FctWriteToHistory_LogOn("LogOn", "Code = " & gstrUserCode & " F = " & gvarUserAccessCode, "")
- Call FctEnabled_MenuItemsAndButtons(gblnPilotActive)
- Else
- Me.MousePointer = vbDefault
- Call FctNoAccess: Exit Sub
- End If
- End If
- End If
- 'StElisabethHerentals
- Dim dblCardnumber As Double
- If gstrCustomerName = "StElisabethHerentals" Then
- gstrUserCardNumber = Me.MSCommProximityReader.input
- 'If gstrUserCardNumber <> "" Then MsgBox ("iets")
- If Len(gstrUserCardNumber) > 2 Then
- 'MsgBox (gstrUserCardNumber)
- 'MsgBox (gstrUserCardNumber)
- 'Me.tmrMifare.Enabled = False
- 'Debug.Print gstrUserCardNumber
- Me.lbl1.Caption = gstrUserCardNumber: Me.lbl1.Refresh
- If gstrUserCardNumber <> vbNullString Then
- Do Until Asc(Right(gstrUserCardNumber, 1)) <> 13 And Asc(Right(gstrUserCardNumber, 1)) <> 10
- gstrUserCardNumber = mID(gstrUserCardNumber, 1, Len(gstrUserCardNumber) - 1)
- Loop
- If mID(gstrUserCardNumber, 1, 5) = "Error" Then
- If Not gstrComputerName = gstrDevelopmentPCName Then Sleep 1000 '#Na een card ingelezen te hebben, minstens 1 sec wachten om opnieuw de reader te gebruiken Device idle ?
- Exit Sub
- End If
- 'Debug.Print gstrUserCardNumber
- 'MsgBox (gstrUserCardNumber)
- Me.lbl1.Caption = gstrUserCardNumber: Me.lbl1.Refresh
- gstrUserCardNumber = mID(gstrUserCardNumber, 12, 2) & mID(gstrUserCardNumber, 10, 2) & mID(gstrUserCardNumber, 8, 2) & mID(gstrUserCardNumber, 6, 2)
- 'MsgBox (gstrUserCardNumber)
- dblCardnumber = HexToDec(gstrUserCardNumber)
- gstrUserCardNumber = CStr(dblCardnumber)
- 'MsgBox (gstrUserCardNumber)
- 'If mID(CStr(gstrUserCardNumber), 1, 1) = "-" Then gstrUserCardNumber = mID(CStr(gstrUserCardNumber), 2, Len(CStr(gstrUserCardNumber)))
- 'MsgBox (gstrUserCardNumber)
- Me.MousePointer = vbHourglass
- gstrUserCardNumber = Val(gstrUserCardNumber) 'Voorloopnullen verwijderen
- If LDAP_CheckUser_Attribute(gstrUserCardNumber) = False Then
- Me.MousePointer = vbDefault
- Call FctNoAccess: Exit Sub
- End If
- If LDAP_CheckUser_MemberOf_NestedGroups(gstrUserCode, "") Then
- Call FctSetAllDatabaseConnections(True)
- Me.MousePointer = vbDefault
- Call FctWriteToHistory_LogOn("LogOn", "Code = " & gstrUserCode & " F = " & gvarUserAccessCode, "")
- Call FctEnabled_MenuItemsAndButtons(gblnPilotActive)
- Else
- Me.MousePointer = vbDefault
- Call FctNoAccess: Exit Sub
- End If
- End If
- End If
- End If
- 'gstrUserCardNumber = Me.MSCommProximityReader.input
- 'Me.lbl1.Caption = gstrUserCardNumber: Me.lbl1.Refresh
- 'If gstrUserCardNumber <> "" Then
- ' If mID(gstrUserCardNumber, 1, 5) = "Error" Then
- ' If Not gstrComputerName = gstrDevelopmentPCName Then Sleep 1000 '#Na een card ingelezen te hebben, minstens 1 sec wachten om opnieuw de reader te gebruiken Device idle ?
- ' Exit Sub
- ' End If
- ' Me.MousePointer = vbHourglass
- ' gstrUserCardNumber = Val(gstrUserCardNumber) 'Voorloopnullen verwijderen
- ' If LDAP_CheckUser_Attribute(gstrUserCardNumber) = False Then
- ' Me.MousePointer = vbDefault
- ' Call FctNoAccess: Exit Sub
- ' End If
- ' If LDAP_CheckUser_MemberOf_NestedGroups(gstrUserCode, "") Then
- ' Call FctSetAllDatabaseConnections(True)
- ' Me.MousePointer = vbDefault
- ' Call FctWriteToHistory_LogOn("LogOn", "Code = " & gstrUserCode & " F = " & gvarUserAccessCode, "")
- ' Call FctEnabled_MenuItemsAndButtons(gblnPilotActive)
- ' Else
- ' Me.MousePointer = vbDefault
- ' Call FctNoAccess: Exit Sub
- ' End If
- 'End If
- 'End If
- '#MaasEnKempen
- If gstrCustomerName = "MaasEnKempen" Then
- 'gstrUserCardNumber = Me.MSCommProximityReader.input
- 'Me.lbl1.Caption = gstrUserCardNumber: Me.lbl1.Refresh
- 'If gstrUserCardNumber <> "" Then
- ' If mID(gstrUserCardNumber, 1, 5) = "Error" Then
- ' If Not gstrComputerName = gstrDevelopmentPCName Then Sleep 1000 '#Na een card ingelezen te hebben, minstens 1 sec wachten om opnieuw de reader te gebruiken Device idle ?
- ' Exit Sub
- ' End If
- ' Me.MousePointer = vbHourglass
- ' gstrUserCardNumber = Val(gstrUserCardNumber) 'Voorloopnullen verwijderen
- ' If LDAP_CheckUser_Attribute(gstrUserCardNumber) = False Then
- ' Me.MousePointer = vbDefault
- ' Call FctNoAccess: Exit Sub
- ' End If
- ' If LDAP_CheckUser_MemberOf_NestedGroups(gstrUserCode, "") Then
- ' Call FctSetAllDatabaseConnections(True)
- ' Me.MousePointer = vbDefault
- ' Call FctWriteToHistory_LogOn("LogOn", "Code = " & gstrUserCode & " F = " & gvarUserAccessCode, "")
- ' Call FctEnabled_MenuItemsAndButtons(gblnPilotActive)
- ' Else
- ' Me.MousePointer = vbDefault
- ' Call FctNoAccess: Exit Sub
- ' End If
- 'End If
- gstrUserCardNumber = Me.MSCommProximityReader.input
- If gstrUserCardNumber <> "" Then
- Me.lbl1.Caption = gstrUserCardNumber: Me.lbl1.Refresh
- gstrUserCode = LDAP_GetUserName_FromBadge(gstrUserCardNumber)
- If gstrUserCode = "" Then
- frmMsgBoxInfo.lblMelding.Caption = GetTxt("OnbekendeMagneetKaart") & " (AD)"
- frmMsgBoxInfo.Show vbModal, Me
- Else
- If LDAP_CheckUser_MemberOf_NestedGroups(gstrUserCode, "") Then
- Me.MousePointer = vbDefault
- Call FctWriteToHistory_LogOn("LogOn", "Code = " & gstrUserCode & " F = " & gvarUserAccessCode, "")
- Call FctEnabled_MenuItemsAndButtons(False)
- Else
- Me.MousePointer = vbDefault
- Call FctNoAccess: Exit Sub
- End If
- End If
- End If
- End If
- '#Sipass gebruikers, St Jozef Zoersel & AZRonse & HH Mol Erica (nog niet actief) & ASZAalst & HF_Rumst
- If gintProximityReaderType = cProximitySiemensAR6181RX And gstrCustomerName <> "StElisabethHerentals" Then
- Dim mReadTxt As String
- Dim mPollString As String
- Dim mPollAnswer As String
- Dim mSiPassUserGroup As String
- '
- mReadTxt = ""
- mPollString = FctConvert_HexToAscii("807F29")
- gstrUserCode = ""
- gstrUserCode_DoubleCheck = ""
- mSiPassUserGroup = ""
- gvarUserAccessCode = ""
- gvarUserAccessCode_DoubleCheck = ""
- gstrUserAfdelingCode = ""
- gstrUserAfdelingNaam = ""
- '
- Me.MSCommProximityReader.output = mPollString
- Sleep (100)
- mPollAnswer = Me.MSCommProximityReader.input
- '
- If Len(mPollAnswer) > 2 Then
- frmMain.sbStatusBar.Panels(1).Text = "Badge = "
- If gstrCustomerName = "ASZAalst" Or gstrCustomerName = "HF_Rumst" Then
- If gstrCustomerName = "ASZAalst" Then
- If Len(mPollAnswer) >= 15 Then gstrUserCardNumber = mID(mPollAnswer, 3, 6)
- End If
- If gstrCustomerName = "HF_Rumst" Then
- If Len(mPollAnswer) >= 14 Then
- gstrUserCardNumber = mID(mPollAnswer, 3, 10)
- gstrUserCardNumber = Trim(str(Val(gstrUserCardNumber)))
- End If
- End If
- Else
- For i = 1 To Len(mPollAnswer)
- mReadTxt = mReadTxt & Hex$(Asc(mID(mPollAnswer, i, 1))) & ","
- Next i
- mReadTxt = mID(mReadTxt, 1, Len(mReadTxt) - 1)
- 'Cardnummer uitvissen
- For i = 7 To 15 '9 Char lang
- gstrUserCardNumber = gstrUserCardNumber & FctConvert_Trans4BitParity(Hex$(Asc(mID(mPollAnswer, i, 1))))
- Next i
- End If
- Else
- Exit Sub
- End If
- For i = 1 To 3 'Eventuele voorloopnullen verwijderen
- If mID(gstrUserCardNumber, 1, 1) = "0" Then
- gstrUserCardNumber = mID(gstrUserCardNumber, 2, Len(gstrUserCardNumber) - 1)
- End If
- Next i
- frmMain.sbStatusBar.Panels(1).Text = "Badge = " & gstrUserCardNumber
- Call FctSetAllDatabaseConnections(True)
- 'CardNo opzoeken in SiPass
- gconSiPassUserDatabase_Connection.ConnectionString = gstrSiPassUserDatabase_ConnectionString
- gconSiPassUserDatabase_Connection.Open
- If gconSiPassUserDatabase_Connection.State = adStateOpen Then
- Dim tmpRecSetSiPassUser As New ADODB.Recordset
- tmpRecSetSiPassUser.Open "SELECT * FROM vw__Employees_Vanas WHERE card_no='" & Trim(str(gstrUserCardNumber)) & "'", gconSiPassUserDatabase_Connection, adOpenStatic, adLockReadOnly, adCmdText
- If Not (tmpRecSetSiPassUser.BOF And tmpRecSetSiPassUser.EOF) Then
- If Not IsNull(tmpRecSetSiPassUser!Usergroup_Vanas) Then mSiPassUserGroup = Trim(tmpRecSetSiPassUser!Usergroup_Vanas)
- If Not IsNull(tmpRecSetSiPassUser!last_name) Then gstrUserCode = Trim(tmpRecSetSiPassUser!last_name)
- If gstrUserCode <> "" Then gstrUserCode = gstrUserCode & " "
- If Not IsNull(tmpRecSetSiPassUser!first_name) Then gstrUserCode = gstrUserCode & Trim(tmpRecSetSiPassUser!first_name)
- If Len(gstrUserCode) > 50 Then gstrUserCode = mID(gstrUserCode, 1, 50)
- If Not IsNull(tmpRecSetSiPassUser!afdeling) Then gstrUserAfdelingCode = Trim(tmpRecSetSiPassUser!afdeling)
- If Len(gstrUserAfdelingCode) > 50 Then gstrUserAfdelingCode = mID(gstrUserAfdelingCode, 1, 50)
- Else
- tmpRecSetSiPassUser.Close
- gconSiPassUserDatabase_Connection.Close
- ' Onbekende CardNo
- frmMsgBoxInfo.lblMelding.Caption = GetTxt("OnbekendeMagneetKaart")
- frmMsgBoxInfo.Show vbModal, Me
- 'ToDo komt FctShowMsgBoxInfo
- Call FctSetAllDatabaseConnections(False)
- Exit Sub
- End If
- tmpRecSetSiPassUser.Close
- gconSiPassUserDatabase_Connection.Close
- 'Via group toegangsrechten opzoeken
- tmpRecSet.Open "SELECT * FROM GebruikersGroepen WHERE ToegangsGroep='" & mSiPassUserGroup & "'", gcnMyConnection, adOpenStatic, adLockReadOnly, adCmdText
- If Not (tmpRecSet.BOF And tmpRecSet.EOF) Then
- If Not IsNull(tmpRecSet!ToegangsCode) Then gvarUserAccessCode = tmpRecSet!ToegangsCode
- tmpRecSet.Close
- 'Controle code
- If Val(gvarUserAccessCode) < 61 Or Val(gvarUserAccessCode) > 67 Then
- 'Verkeerde gebruikersgroep
- frmMsgBoxInfo.lblMelding.Caption = GetTxt("VerkeerdeGebruikersGroep6167")
- frmMsgBoxInfo.Show vbModal, Me
- 'ToDo komt FctShowMsgBoxInfo
- Call FctSetAllDatabaseConnections(False)
- Exit Sub
- End If
- Else
- tmpRecSet.Close
- ' Onbekende gebruikersgroep
- frmMsgBoxInfo.lblMelding.Caption = GetTxt("OnbekendeGebruikersGroep")
- frmMsgBoxInfo.Show vbModal, Me
- 'ToDo komt FctShowMsgBoxInfo
- Call FctSetAllDatabaseConnections(False)
- Exit Sub
- End If
- 'Controle OK buttons vrijgeven
- Call FctEnabled_MenuItemsAndButtons(False)
- Else
- MsgBox GetTxt("GebruikersDatabaseOnbereikbaarRaadpleegSysteemAdministrator"), vbInformation, gstrMsgBoxTitle
- End
- End If
- End If
- '#StAnnaStRemi / Chirec
- If gstrCustomerName = "Chirec" Then
- gstrUserCode = ""
- gstrUserCardNumber = Me.MSCommProximityReader.input
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(10), "")
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(13), "")
- If Len(gstrUserCardNumber) = 0 Then Exit Sub
- If Len(gstrUserCardNumber) = 12 Then gstrUserCardNumber = mID(gstrUserCardNumber, 2, 10)
- '
- frmMain.sbStatusBar.Panels(1).Text = "Badge = " & gstrUserCardNumber
- Call FctSetAllDatabaseConnections(True)
- 'Badge opzoeken
- gconSiPassUserDatabase_Connection.ConnectionString = gstrSiPassUserDatabase_ConnectionString
- gconSiPassUserDatabase_Connection.Open
- If gconSiPassUserDatabase_Connection.State = adStateOpen Then
- Dim tmpRecSetSiPassUser2 As New ADODB.Recordset
- tmpRecSetSiPassUser2.Open "SELECT COMM_BADGE, EMPLOYEE_LASTNAME, EMPLOYEE_FIRSTNAME, EMPLOYEE_FREE7 FROM Employee WHERE COMM_BADGE='" & gstrUserCardNumber & "'", gconSiPassUserDatabase_Connection, adOpenStatic, adLockReadOnly, adCmdText
- If Not (tmpRecSetSiPassUser2.BOF And tmpRecSetSiPassUser2.EOF) Then
- If Not IsNull(tmpRecSetSiPassUser2!EMPLOYEE_FREE7) Then gvarUserAccessCode = Trim(tmpRecSetSiPassUser2!EMPLOYEE_FREE7)
- If Not IsNull(tmpRecSetSiPassUser2!EMPLOYEE_LASTNAME) Then gstrUserCode = Trim(tmpRecSetSiPassUser2!EMPLOYEE_LASTNAME)
- If gstrUserCode <> "" Then gstrUserCode = gstrUserCode & " "
- If Not IsNull(tmpRecSetSiPassUser2!EMPLOYEE_FIRSTNAME) Then gstrUserCode = gstrUserCode & Trim(tmpRecSetSiPassUser2!EMPLOYEE_FIRSTNAME)
- If Len(gstrUserCode) > 50 Then gstrUserCode = mID(gstrUserCode, 1, 50)
- Else
- tmpRecSetSiPassUser2.Close
- gconSiPassUserDatabase_Connection.Close
- ' Onbekende Badge
- frmMsgBoxInfo.lblMelding.Caption = GetTxt("OnbekendeMagneetKaart")
- frmMsgBoxInfo.Show vbModal, Me
- 'ToDo komt FctShowMsgBoxInfo
- Call FctSetAllDatabaseConnections(False)
- Exit Sub
- End If
- tmpRecSetSiPassUser2.Close
- gconSiPassUserDatabase_Connection.Close
- 'Controle code
- If Val(gvarUserAccessCode) < 61 Or Val(gvarUserAccessCode) > 67 Then
- frmMsgBoxInfo.lblMelding.Caption = GetTxt("VerkeerdeGebruikersGroep6167")
- frmMsgBoxInfo.Show vbModal, Me
- 'ToDo komt FctShowMsgBoxInfo
- Call FctSetAllDatabaseConnections(False)
- Exit Sub
- Else
- If gstrUserCode = "" Then gstrUserCode = gstrUserCardNumber ' Indien geen naam + voornaam, badge wegschrijven als user
- Call FctEnabled_MenuItemsAndButtons(False)
- End If
- Else
- MsgBox GetTxt("GebruikersDatabaseOnbereikbaarRaadpleegSysteemAdministrator"), vbInformation, gstrMsgBoxTitle
- End
- End If
- End If
- '#StJanBrugge, StJanOostende
- 'Deze blok mag weg als de testen met Imprivata achter de rug zijn, 08/2017
- 'Deze blok moet blijven, want Philip Lacante wil de keuze behouden tussen Badge en Imprivata
- If gstrCustomerName = "StJanBrugge" Or gstrCustomerName = "StJanOostende" Then
- gstrUserCardNumber = Me.MSCommProximityReader.input
- If gstrUserCardNumber <> vbNullString Then
- SendMessage Me.hwnd, WM_SYSCOMMAND, SC_MONITORPOWER, MONITOR_ON
- Call FctSetAllDatabaseConnections(True)
- Sleep (100)
- gstrUserCardNumber = gstrUserCardNumber & Me.MSCommProximityReader.input
- If gstrCustomerName = "StJanBrugge" Then
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(13) & Chr(10), "#")
- If Len(gstrUserCardNumber) = 32 Or Len(gstrUserCardNumber) = 42 Then
- If InStr(1, gstrUserCardNumber, "#") = 32 Then gstrUserCardNumber = mID(gstrUserCardNumber, 1, 16)
- If InStr(1, gstrUserCardNumber, "#") = 10 Then gstrUserCardNumber = mID(gstrUserCardNumber, 11, 16)
- For i = 2 To 16 Step 2
- Mid(gstrUserCardNumber, i, 1) = " "
- Next i
- End If
- If Len(gstrUserCardNumber) = 30 Or Len(gstrUserCardNumber) = 40 Then
- If InStr(1, gstrUserCardNumber, "#") = 30 Then gstrUserCardNumber = mID(gstrUserCardNumber, 1, 14)
- If InStr(1, gstrUserCardNumber, "#") = 10 Then gstrUserCardNumber = mID(gstrUserCardNumber, 11, 14)
- For i = 2 To 14 Step 2
- Mid(gstrUserCardNumber, i, 1) = " "
- Next i
- End If
- End If
- If gstrCustomerName = "StJanOostende" Then
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(13) & Chr(10), "")
- If mID(gstrUserCardNumber, 1, 1) = "N" Then gstrUserCardNumber = mID(gstrUserCardNumber, 2, Len(gstrUserCardNumber) - 1)
- End If
- gstrUserCardNumber = Replace(gstrUserCardNumber, " ", "")
- Me.MSCommProximityReader.InBufferCount = 0
- Me.lbl1.Caption = gstrUserCardNumber
- '
- If gintUserControl_NumberOfHoursForExpiredPassword > 0 Then
- '#Indien aangemeld binnen de x uur gewoon toegang geven vanuit Historiekniveau
- '#Info FctGetUser_LastLogOnInHours default = -1
- Dim mLastLogOn As Long
- mLastLogOn = FctGetUser_LastLogOnInHours(gstrUserCardNumber)
- If mLastLogOn > -1 Then
- If gintUserControl_NumberOfHoursForExpiredPassword >= mLastLogOn Then
- Call FctWriteToHistory_LogOn("LogOn", "Card = " & gstrUserCardNumber & " Code = " & gstrUserCode & " F = " & gvarUserAccessCode & " History", "")
- Call FctEnabled_MenuItemsAndButtons(False)
- Me.MSCommProximityReader.InBufferCount = 0
- Exit Sub
- End If
- End If
- End If
- 'Met cardnummer (employeeNumber) de AD samaccountName opzoeken
- If LDAP_CheckUser_Attribute(gstrUserCardNumber) Then
- 'Paswoord nog opvragen
- gblnKeyboard_Input(3) = True
- Call FctPreparationKeyBoard
- frmKeyBoard.Show vbModal, Me
- If frmKeyBoard.txtKeyBoard.Text <> "" Then
- gstrUserPassword = frmKeyBoard.txtKeyBoard.Text
- If LDAP_CheckUser_MemberOf(gstrUserCode, gstrUserPassword) Then
- Call FctWriteToHistory_LogOn("LogOn", "Card = " & gstrUserCardNumber & "Code = " & gstrUserCode & " F = " & gvarUserAccessCode, "")
- Call FctEnabled_MenuItemsAndButtons(False)
- Else
- Call FctNoAccess
- Me.MSCommProximityReader.InBufferCount = 0
- Exit Sub
- End If
- End If
- Else
- Call FctNoAccess
- End If
- Me.MSCommProximityReader.InBufferCount = 0
- End If
- End If
- '#UPCKortenberg
- If gstrCustomerName = "UPCKortenberg" Then
- gstrUserCardNumber = Me.MSCommProximityReader.input
- If gstrUserCardNumber <> vbNullString Then
- Me.lbl1.Caption = gstrUserCardNumber
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(10), "")
- gstrUserCardNumber = Replace(gstrUserCardNumber, Chr(13), "")
- Call FctSetAllDatabaseConnections(True)
- gstrUserCode = FctObasi_AuthenticateBadge(gstrUserCardNumber)
- If gstrUserCode <> "" Then
- 'Eerst paswoord nog opvragen
- gblnKeyboard_Input(4) = True
- Call FctPreparationKeyBoard
- frmKeyBoard.Show vbModal, Me
- If frmKeyBoard.txtKeyBoard.Text <> "" Then
- gstrUserPassword = frmKeyBoard.txtKeyBoard.Text
- gstrUserPassword = FctFilterSQLStringProblem(gstrUserPassword)
- gvarUserAccessCode = FctObasi_AuthenticateUser(gstrUserCode, gstrUserPassword)
- If Val(gvarUserAccessCode) < 61 Or Val(gvarUserAccessCode) > 68 Then
- Call FctNoAccess: Exit Sub
- Else
- gstrUserLanguage = gstrStartLanguage
- Call FctWriteToHistory_LogOn("LogOn", "Code = " & gstrUserCode & " F = " & gvarUserAccessCode, "")
- Call FctEnabled_MenuItemsAndButtons(False)
- End If
- Else
- Call FctSetAllDatabaseConnections(False)
- Exit Sub
- End If
- Else
- Call FctNoAccess: Exit Sub
- End If
- End If
- End If
- '#StAugustinusVeurne
- If gstrCustomerName = "StAugustinusVeurne" Then
- gstrUserCardNumber = Me.MSCommProximityReader.input
- If gstrUserCardNumber <> vbNullString Then
- If Not Right(gstrUserCardNumber, 1) = Chr(3) Then
- Sleep (100)
- gstrUserCardNumber = gstrUserCardNumber & Me.MSCommProximityReader.input
- End If
- Me.lbl1.Caption = gstrUserCardNumber
- gstrUserCardNumber = FctFilterProximityInputs(gstrUserCardNumber)
- If Len(gstrUserCardNumber) >= 12 Then gstrUserCardNumber = mID(gstrUserCardNumber, 5, 8)
- Me.lbl1.Caption = gstrUserCardNumber
- 'Met cardnummer (employeeNumber) de AD samaccountName opzoeken
- gstrUserCode = LDAP_GetUserName_FromAttribute(gstrUserCardNumber)
- If gstrUserCode <> vbNullString Then
- Me.lbl2.Caption = gstrUserCode
- If LDAP_CheckUser_MemberOf_NestedGroups(gstrUserCode, "") Then 'Fix paswoord in de connectie
- Call FctSetAllDatabaseConnections(True)
- Call FctWriteToHistory_LogOn("LogOn", "Card = " & gstrUserCardNumber & "Code = " & gstrUserCode & " F = " & gvarUserAccessCode, "")
- Call FctEnabled_MenuItemsAndButtons(False)
- Else
- Call FctNoAccess: Exit Sub
- End If
- Else
- Call FctNoAccess
- End If
- End If
- End If
- '#GZA
- If gstrCustomerName = "GZA" Then
- gstrUserCardNumber = Me.MSCommProximityReader.input
- If gstrUserCardNumber <> vbNullString Then
- If Not Right(gstrUserCardNumber, 1) = Chr(3) Then
- Sleep (100)
- gstrUserCardNumber = gstrUserCardNumber & Me.MSCommProximityReader.input
- End If
- Me.lbl1.Caption = gstrUserCardNumber
- gstrUserCardNumber = FctFilterProximityInputs(gstrUserCardNumber) 'Indien geen probleem kan deze functie hierboven in deze sub verschillende keren aangepast worden.
- If Len(gstrUserCardNumber) <> 13 Then Exit Sub
- gstrUserCardNumber = mID(gstrUserCardNumber, 5, 8)
- gstrUserCardNumber = FctConvert_HexToBin(gstrUserCardNumber)
- gstrUserCardNumber = mID(gstrUserCardNumber, 10, 16)
- gstrUserCardNumber = FctConvert_BinToDec(gstrUserCardNumber)
- Call FctSetAllDatabaseConnections(True)
- 'Cardnummer opzoeken in onze 'Gebruiker'tabel, veld 'GebruikerBadge'
- Me.lbl2.Caption = gstrUserCardNumber
- tmpRecSet.Open "SELECT * FROM Gebruikers WHERE GebruikerBadge='" & gstrUserCardNumber & "'", gcnMyConnection, adOpenStatic, adLockReadOnly, adCmdText
- If Not (tmpRecSet.BOF And tmpRecSet.EOF) Then
- If Not IsNull(tmpRecSet!GebruikerCode) Then gstrUserCardNumber = tmpRecSet!GebruikerCode
- End If
- tmpRecSet.Close
- Me.lbl2.Caption = Me.lbl2.Caption & " - " & gstrUserCardNumber
- If gstrUserCardNumber <> "" Then
- tmpRecSet.Open "SELECT * FROM CacheGebruikers WHERE GebruikersNaam ='" & gstrUserCardNumber & "'", gcnMyConnection, adOpenStatic, adLockReadOnly, adCmdText
- If Not (tmpRecSet.BOF And tmpRecSet.EOF) Then
- If Not IsNull(tmpRecSet!GebruikersNaam) Then
- gstrUserCode = tmpRecSet!GebruikersNaam
- If Not IsNull(tmpRecSet!FunctieCode) Then gvarUserAccessCode = tmpRecSet!FunctieCode
- End If
- End If
- tmpRecSet.Close
- End If
- Me.lbl2.Caption = Me.lbl2.Caption & " - " & gstrUserCode & " - " & gvarUserAccessCode
- If Val(gvarUserAccessCode) < 61 Or Val(gvarUserAccessCode) > 68 Then
- Call FctNoAccess: Exit Sub
- Else
- gstrUserLanguage = gstrStartLanguage
- Call FctWriteToHistory_LogOn("LogOn", "Code = " & gstrUserCode & " F = " & gvarUserAccessCode, "")
- Call FctEnabled_MenuItemsAndButtons(False)
- End If
- End If
- End If
- Exit Sub
- errorhandler:
- If Err.Number = 5 Then Exit Sub 'AZGlorieux blijkbaar iets te maken met Proximity reader, roept FctConvert_Trans4BitParity(Hex$(Asc(mID(mPollAnswer, I, 1))))
- If Err.Number = 400 Then 'Form already displayed: can't show modally, klavier aanmelden is blijkbaar manueel opgeroepen
- If Not (gintProximityReaderType = cProximityUSBOmnikey5x21 And gstrCustomerName = "AZDamiaan") Then
- Dim mRetVal2 As String
- mRetVal2 = Me.MSCommProximityReader.input
- End If
- Exit Sub
- End If
- If Err.Number = 8021 Then Exit Sub 'Internal error retrieving device control block for the port
- If Err.Number = 3706 Then
- MsgBox GetTxt("OracleSQLNetwerkonderdelenVoorToegangscontroleNietVoorzien"), vbInformation, gstrMsgBoxTitle
- Exit Sub
- End If
- If Err.Number = -2147217911 Then 'Permission Denied
- MsgBox ("'Permission Denied' Problems with the Server databaseconnection (SiPass), please contact the systeemadministrator !"), vbInformation, gstrMsgBoxTitle
- Call FktWriteProgramStartStopLogFile("Pharmalogic stop : ODBC SiPass Connection problem")
- End
- End If
- If Err.Number = -2147467259 Then 'SiPass, Infohos
- MsgBox ("Problems with the Server databaseconnection , please contact the systeemadministrator !"), vbInformation, gstrMsgBoxTitle
- Call FktWriteProgramStartStopLogFile("Pharmalogic stop : ODBC Connection problem")
- End
- End If
- Select Case FctShowErrorBox(Me.Name, "tmrProximityReader_Timer")
- Case vbAbort
- Case vbRetry: Resume
- Case vbIgnore: Resume Next
- End Select
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement