Import initial din SVN ROAAUTO/Trunk @HEAD
This commit is contained in:
70
COMUN/programe/controllere/appbcontroller.prg
Normal file
70
COMUN/programe/controllere/appbcontroller.prg
Normal file
@@ -0,0 +1,70 @@
|
||||
#INCLUDE COMUN.H
|
||||
|
||||
Define Class appBaseController As Custom
|
||||
oSettings = Null
|
||||
lError = .F.
|
||||
cErrorMessage = ''
|
||||
oLog = Null
|
||||
*
|
||||
Procedure Init
|
||||
This.oSettings = Createobject("settingsBaseController")
|
||||
This.oLog = Iif(Type('goLog') = 'O', goLog, Createobject("logBaseController"))
|
||||
Endproc && INIT
|
||||
*
|
||||
Procedure ProcessError(toHash)
|
||||
Declare laErrors[1]
|
||||
|
||||
lnErrorLines = Aerror(laErrors)
|
||||
|
||||
lnError = Iif(toHash.HasProperty("nError"), toHash.GetValue("nError"), Transform(laErrors(1)) + ' ' + Transform(laErrors(5)))
|
||||
lcMethod = toHash.GetValue("cMethod")
|
||||
lnLine = toHash.GetValue("nLine")
|
||||
lcError = Iif(toHash.HasProperty("cError"), toHash.GetValue("cError"), Transform(laErrors(2)))
|
||||
lcCode = Iif(toHash.HasProperty("cCode"), toHash.GetValue("cCode"), Message(1) )
|
||||
lcCallStack = GetCallStack()
|
||||
lcUserMessage = toHash.GetValue("cUserMessage")
|
||||
|
||||
This.cErrorMessage = lcUserMessage + CRLF + CRLF + ;
|
||||
'Eroarea nr: ' + Transform(lnError) + CRLF + ;
|
||||
'Eroarea: ' + Transform(lcError) + CRLF + ;
|
||||
'Procedura: ' + Transform(lcMethod) + CRLF + ;
|
||||
'Linia: ' + Transform(lnLine) + CRLF + ;
|
||||
'Codul: ' + Transform(lcCode) + CRLF + ;
|
||||
lcCallStack
|
||||
|
||||
This.lError = .T.
|
||||
This.oLog.WriteLog(This.cErrorMessage)
|
||||
|
||||
aMessagebox(This.cErrorMessage,0+16,'Eroare')
|
||||
*!* IF MESSAGEBOX(THIS.cErrorMessage + CRLF + 'Doriti sa iesiti?',16+4,'Eroare') = 6
|
||||
*!* RETURN TO MASTER
|
||||
*!* ENDIF
|
||||
Endproc && ProcessError
|
||||
*
|
||||
Procedure Log
|
||||
Lparameters tcMessage
|
||||
This.oLog.WriteLog(tcMessage)
|
||||
Endproc && Log
|
||||
*
|
||||
Function GetError
|
||||
Return This.cErrorMessage
|
||||
Endfunc && GetError
|
||||
*
|
||||
Function HasError
|
||||
Return This.lError
|
||||
Endfunc && HasError
|
||||
|
||||
*
|
||||
Function Gethost
|
||||
Return ""
|
||||
Endfunc && GetHost
|
||||
*
|
||||
Function GetUser
|
||||
Return ""
|
||||
Endfunc && GetUser
|
||||
*
|
||||
Function GetPassword
|
||||
Return ""
|
||||
Endfunc && GetPassword
|
||||
|
||||
Enddefine
|
||||
339
COMUN/programe/controllere/dbaccesscontroller.prg
Normal file
339
COMUN/programe/controllere/dbaccesscontroller.prg
Normal file
@@ -0,0 +1,339 @@
|
||||
Define Class DBAccessController As Custom
|
||||
|
||||
cServer = Null
|
||||
cSchema = Null
|
||||
cParola = Null
|
||||
oExecutor = Null
|
||||
oConn = Null
|
||||
nHandle = Null
|
||||
nSucces = 0
|
||||
lAfiseazaEroare = .T.
|
||||
***********************************************************************
|
||||
Procedure Init
|
||||
If Type('goConn') = 'O'
|
||||
This.oConn = goConn
|
||||
Else
|
||||
This.oConn = Createobject("oConn")
|
||||
Public goConn
|
||||
goConn = This.oConn
|
||||
Endif
|
||||
If Type('goExecutor') = 'O'
|
||||
This.oExecutor = goExecutor
|
||||
Else
|
||||
This.oExecutor = Createobject("oExecutor")
|
||||
Public goExecutor
|
||||
goExecutor = This.oExecutor
|
||||
Endif
|
||||
If Type('gnHandle') = 'N'
|
||||
This.nHandle = gnHandle
|
||||
Else
|
||||
This.nHandle = -1
|
||||
Public gnHandle
|
||||
gnHandle = -1
|
||||
Endif
|
||||
Endproc
|
||||
***********************************************************************
|
||||
PROCEDURE conecteaza
|
||||
Lparameters tcSchema,tcParola
|
||||
This.cSchema = tcSchema
|
||||
This.cParola = tcParola
|
||||
This.nHandle = This.oConn.Connect(This.cServer,This.cSchema,This.cParola)
|
||||
ENDPROC
|
||||
***********************************************************************
|
||||
PROCEDURE deconecteaza
|
||||
This.oConn.Disconnect(This.nHandle)
|
||||
This.cSchema = Null
|
||||
This.cParola = Null
|
||||
This.nHandle = -1
|
||||
ENDPROC
|
||||
***********************************************************************
|
||||
Procedure setServer
|
||||
Lparameters tcServer
|
||||
This.cServer = tcServer
|
||||
Endproc
|
||||
***********************************************************************
|
||||
Procedure setSchemaParola
|
||||
Lparameters tcSchema,tcParola
|
||||
If This.nHandle <> -1
|
||||
This.oConn.Disconnect(This.nHandle)
|
||||
Endif
|
||||
This.conecteaza(tcSchema,tcParola)
|
||||
Endproc
|
||||
***********************************************************************
|
||||
Procedure copiaza_structura_cursor
|
||||
Lparameters tcSursa,tcDestinatie
|
||||
LOCAL lnIndex
|
||||
If !Empty(tcSursa) And !Empty(tcDestinatie)
|
||||
If Used(tcSursa)
|
||||
Dimension laStructura(1,18)
|
||||
If Used(tcDestinatie)
|
||||
Use In (tcDestinatie)
|
||||
Endif
|
||||
Afields(laStructura,tcSursa)
|
||||
*!* lnIndex = ALEN(laStructura,1)+1
|
||||
*!* DIMENSION laStructura(lnIndex,18)
|
||||
*!* laStructura[lnIndex,1] = "RN"
|
||||
*!* laStructura[lnIndex,2] = "N"
|
||||
*!* laStructura[lnIndex,3] = 10
|
||||
*!* laStructura[lnIndex,4] = 0
|
||||
*!* laStructura[lnIndex,5] = .F.
|
||||
*!* laStructura[lnIndex,6] = laStructura[lnIndex-1,6]
|
||||
*!* laStructura[lnIndex,7] = []
|
||||
*!* laStructura[lnIndex,8] = []
|
||||
*!* laStructura[lnIndex,9] = []
|
||||
*!* laStructura[lnIndex,10] = laStructura[lnIndex-1,10]
|
||||
*!* laStructura[lnIndex,11] = laStructura[lnIndex-1,11]
|
||||
*!* laStructura[lnIndex,12] = laStructura[lnIndex-1,12]
|
||||
*!* laStructura[lnIndex,13] = []
|
||||
*!* laStructura[lnIndex,14] = []
|
||||
*!* laStructura[lnIndex,15] = []
|
||||
*!* laStructura[lnIndex,16] = []
|
||||
*!* laStructura[lnIndex,17] = 1
|
||||
*!* laStructura[lnIndex,18] = 1
|
||||
Create Cursor (tcDestinatie) From Array laStructura
|
||||
Release laStructura
|
||||
Else
|
||||
amessagebox("Eroare interna 2 - copiaza structura cursor",16,"Eroare")
|
||||
Endif
|
||||
Else
|
||||
amessagebox("Eroare interna 1 - copiaza structura cursor",16,"Eroare")
|
||||
Endif
|
||||
Endproc
|
||||
***********************************************************************
|
||||
Function apeleaza_sql_hash
|
||||
Lparameters toHash,tcNumeCursor
|
||||
LOCAL lcSql
|
||||
lcSql = [select ] + toHash.getValue('cColumns') + ;
|
||||
[ from ] + toHash.getValue('cTables') + ;
|
||||
IIF(!Empty(toHash.getValue('cWhere')),[ where ] + toHash.getValue('cWhere'),[]) + ;
|
||||
IIF(!Empty(toHash.getValue('cGroupBy')),[ group by ] + toHash.getValue('cGroupBy'),[]) + ;
|
||||
IIF(!Empty(toHash.getValue('cOrderBy')),[ order by ] + toHash.getValue('cOrderBy'),[])
|
||||
RETURN This.apeleaza_sql(lcSql,tcNumeCursor)
|
||||
endfunc
|
||||
***********************************************************************
|
||||
Function apeleaza_sql
|
||||
Lparameters tcSql,tcNumeCursor
|
||||
Local lcNumeCursor,lcAlias,llSucces
|
||||
llSucces = .F.
|
||||
lcAlias = Alias()
|
||||
lcNumeCursor = [codbctemp]
|
||||
If Used(lcNumeCursor)
|
||||
Use In (lcNumeCursor)
|
||||
Endif
|
||||
This.nSucces = This.oExecutor.oExecute(tcSql,lcNumeCursor)
|
||||
llSucces = This.verificaSucces()
|
||||
If llSucces
|
||||
If !Used(tcNumeCursor)
|
||||
This.copiaza_structura_cursor(lcNumeCursor,tcNumeCursor)
|
||||
Endif
|
||||
Select (tcNumeCursor)
|
||||
Zap In (tcNumeCursor)
|
||||
Append From Dbf(lcNumeCursor)
|
||||
Go Top
|
||||
If Used(lcNumeCursor)
|
||||
Use In (lcNumeCursor)
|
||||
Endif
|
||||
If !Empty(lcAlias)
|
||||
Select (lcAlias)
|
||||
Endif
|
||||
Endif
|
||||
Return llSucces
|
||||
Endfunc
|
||||
***********************************************************************
|
||||
Function apeleaza_procedura
|
||||
Lparameters tcApelProcedura,tcNumeCursor
|
||||
Local lcNumeCursor,lcAlias,llSucces,lcDeclaratie
|
||||
llSucces = .F.
|
||||
lcAlias = Alias()
|
||||
If !Empty(tcNumeCursor)
|
||||
lcNumeCursor = [codbctemp]
|
||||
lcSql = [{call ] + tcApelProcedura + [}]
|
||||
If Used(lcNumeCursor)
|
||||
Use In (lcNumeCursor)
|
||||
Endif
|
||||
Else
|
||||
lcSql = [begin ] + tcApelProcedura + [; end;]
|
||||
Endif
|
||||
|
||||
This.nSucces = This.oExecutor.oExecute(lcSql,lcNumeCursor)
|
||||
|
||||
llSucces = This.verificaSucces()
|
||||
If llSucces And !Empty(tcNumeCursor)
|
||||
If !Used(tcNumeCursor)
|
||||
This.copiaza_structura_cursor(lcNumeCursor,tcNumeCursor)
|
||||
Endif
|
||||
Select (tcNumeCursor)
|
||||
Zap In (tcNumeCursor)
|
||||
Append From Dbf(lcNumeCursor)
|
||||
Go Top
|
||||
If Used(lcNumeCursor)
|
||||
Use In (lcNumeCursor)
|
||||
Endif
|
||||
Endif
|
||||
If !Empty(lcAlias)
|
||||
Select (lcAlias)
|
||||
Endif
|
||||
Return llSucces
|
||||
Endfunc
|
||||
***********************************************************************
|
||||
Function apeleaza_procedura_o
|
||||
Lparameters tcApelProcedura,tcSirTip
|
||||
Local lcNumeCursor,lcAlias,llSucces,lcNumeVariabila,lnParametri, lcTip
|
||||
Dimension laSir[1]
|
||||
llSucces = .F.
|
||||
lcAlias = Alias()
|
||||
lnParametri = Getwordcount(tcSirTip,[|])
|
||||
Dimension laSir[lnParametri]
|
||||
For i = 1 To lnParametri
|
||||
lcTip = Getwordnum(tcSirTip,i,[|])
|
||||
lcNumeVariabila = [p] + lcTip + [Parametru] + Alltrim(Str(i))
|
||||
lcDeclaratie = [Private ] + lcNumeVariabila
|
||||
&lcDeclaratie
|
||||
DO case
|
||||
CASE UPPER(lcTip) = 'N'
|
||||
lcDeclaratie = lcNumeVariabila + [ = 0]
|
||||
CASE UPPER(lcTip) = 'C'
|
||||
lcDeclaratie = lcNumeVariabila + [ = '']
|
||||
Otherwise
|
||||
lcDeclaratie = lcNumeVariabila + [ = Null]
|
||||
endcase
|
||||
&lcDeclaratie
|
||||
tcApelProcedura = Strtran(tcApelProcedura,[@p]+Padl(Alltrim(Str(i)),2,[0]),[@]+lcNumeVariabila)
|
||||
Endfor
|
||||
lcSql = [{call ] + tcApelProcedura + [}]
|
||||
This.nSucces = This.oExecutor.oExecute(lcSql)
|
||||
llSucces = This.verificaSucces()
|
||||
If llSucces
|
||||
For i = 1 To lnParametri
|
||||
lcNumeVariabila = [p] + Getwordnum(tcSirTip,i,[|]) + [Parametru] + Alltrim(Str(i))
|
||||
loVariabila = &lcNumeVariabila
|
||||
laSir[i] = loVariabila
|
||||
lcDeclaratie = [Release ] + lcNumeVariabila
|
||||
&lcDeclaratie
|
||||
Endfor
|
||||
ELSE
|
||||
For i = 1 To lnParametri
|
||||
laSir[i] = Null
|
||||
Endfor
|
||||
Endif
|
||||
If !Empty(lcAlias)
|
||||
Select (lcAlias)
|
||||
Endif
|
||||
Return laSir
|
||||
Endfunc
|
||||
***********************************************************************
|
||||
Function apeleaza_functie
|
||||
Lparameters tcApelFunctie,tcTip
|
||||
Local lcCursor,luReturn
|
||||
lcCursor = [crstaf010101]
|
||||
lcSql = [select ] + tcApelFunctie + [ as valoare from dual]
|
||||
This.nSucces = This.oExecutor.oExecute(lcSql,lcCursor)
|
||||
If This.verificaSucces()
|
||||
Select (lcCursor)
|
||||
luReturn = valoare
|
||||
If Used(lcCursor)
|
||||
Use In (lcCursor)
|
||||
Endif
|
||||
Do Case
|
||||
Case Isnull(luReturn)
|
||||
Return Null
|
||||
Case Type('luReturn') <> tcTip
|
||||
Return Val(luReturn)
|
||||
Otherwise
|
||||
Return luReturn
|
||||
Endcase
|
||||
Else
|
||||
Return Null
|
||||
Endif
|
||||
Endfunc
|
||||
***********************************************************************
|
||||
Function getEroare
|
||||
Return Iif(Between(This.oExecutor.nEroare,20000,21000),This.oExecutor.cEroare,[])
|
||||
Endfunc
|
||||
***********************************************************************
|
||||
Function getSucces
|
||||
Return This.nSucces
|
||||
Endfunc
|
||||
***********************************************************************
|
||||
Function getSchema
|
||||
Return This.cSchema
|
||||
Endfunc
|
||||
***********************************************************************
|
||||
Procedure setAfiseazaEroare
|
||||
Lparameters tlAfiseazaEroare
|
||||
This.lAfiseazaEroare = tlAfiseazaEroare
|
||||
Endproc
|
||||
***********************************************************************
|
||||
Procedure getAfiseazaEroare
|
||||
Return This.lAfiseazaEroare
|
||||
Endproc
|
||||
***********************************************************************
|
||||
Function verificaSucces
|
||||
Local llReturn
|
||||
llReturn = .T.
|
||||
If This.nSucces < 0
|
||||
IF This.lAfiseazaEroare OR (!BETWEEN(This.oExecutor.nEroare,20000,21000))
|
||||
amessagebox(This.oExecutor.cEroare,16,"Eroare")
|
||||
ENDIF
|
||||
llReturn = .F.
|
||||
Endif
|
||||
Return llReturn
|
||||
Endfunc
|
||||
***********************************************************************
|
||||
Function setTranzactieManuala
|
||||
Local lnSucces
|
||||
lnSucces = SQLSetprop(This.nHandle,"Transactions",2)
|
||||
If lnSucces < 0
|
||||
If This.lAfiseazaEroare
|
||||
amessagebox("Programul nu a reusit sa treaca pe tranzactie manuala! Reintrati in program si incercati din nou!",16,"Eroare")
|
||||
Endif
|
||||
llReturn = .F.
|
||||
Else
|
||||
llReturn = .T.
|
||||
Endif
|
||||
Return llReturn
|
||||
Endfunc
|
||||
***********************************************************************
|
||||
Function setTranzactieAutomata
|
||||
Local lnSucces,llReturn
|
||||
lnSucces = SQLSetprop(This.nHandle,"Transactions",1)
|
||||
If lnSucces < 0
|
||||
If This.lAfiseazaEroare
|
||||
amessagebox("Programul nu a reusit sa treaca pe tranzactie automata! Iesiti din program si intrati din nou!",16,"Eroare")
|
||||
Endif
|
||||
llReturn = .F.
|
||||
Else
|
||||
llReturn = .T.
|
||||
Endif
|
||||
Return llReturn
|
||||
Endfunc
|
||||
***********************************************************************
|
||||
Function confirmaOperatii
|
||||
Local lnSucces,llReturn
|
||||
lnSucces = Sqlcommit(This.nHandle)
|
||||
If lnSucces < 0
|
||||
If This.lAfiseazaEroare
|
||||
amessagebox("Eroare la COMMIT!",16,"Eroare")
|
||||
Endif
|
||||
llReturn = .F.
|
||||
Else
|
||||
llReturn = .T.
|
||||
Endif
|
||||
Return llReturn
|
||||
Endfunc
|
||||
***********************************************************************
|
||||
Function revocaOperatii
|
||||
Local lnSucces,llReturn
|
||||
lnSucces = Sqlrollback(This.nHandle)
|
||||
If lnSucces < 0
|
||||
If This.lAfiseazaEroare
|
||||
amessagebox("Eroare la ROLLBACK!",16,"Eroare")
|
||||
Endif
|
||||
llReturn = .F.
|
||||
Else
|
||||
llReturn = .T.
|
||||
Endif
|
||||
Return llReturn
|
||||
Endfunc
|
||||
***********************************************************************
|
||||
Enddefine
|
||||
66
COMUN/programe/controllere/logbcontroller.prg
Normal file
66
COMUN/programe/controllere/logbcontroller.prg
Normal file
@@ -0,0 +1,66 @@
|
||||
#INCLUDE COMUN.H
|
||||
|
||||
Define Class logBaseController As Session
|
||||
cLog = ''
|
||||
cOutputFile = ''
|
||||
lAdditive = .T.
|
||||
|
||||
********************************************************************
|
||||
Procedure Init
|
||||
Lparameters tcOutputfile, tlAdditive
|
||||
|
||||
If !Empty(tcOutputfile) And Type('tcOutputFile') = 'C'
|
||||
This.cOutputFile = tcOutputfile
|
||||
Endif
|
||||
If Pcount() = 2 And Type('tlAdditive') = 'L'
|
||||
This.lAdditive = tlAdditive
|
||||
Endif
|
||||
|
||||
This.Log()
|
||||
Endproc
|
||||
********************************************************************
|
||||
Procedure Log
|
||||
Lparameters tcMessage, tcProgram
|
||||
Local lcLog
|
||||
If Pcount() = 0 Or Type('tcMessage') # 'C' Or Empty(tcMessage)
|
||||
lcLog = CRLF
|
||||
Else
|
||||
lcLog = Ttoc(Datetime()) + ' ' + Sys(0) + CRLF + tcMessage + CRLF
|
||||
Endi
|
||||
This.cLog = This.cLog + lcLog
|
||||
This.WRITELOG()
|
||||
Endproc
|
||||
********************************************************************
|
||||
Procedure ResetLog
|
||||
This.cLog = ''
|
||||
Endproc
|
||||
********************************************************************
|
||||
Procedure WRITELOG
|
||||
Lparameters tcMessage, tcOutputfile, tlAdditive
|
||||
Local lcOutputfile, llAdditive, lcLog
|
||||
If !Empty(tcOutputfile) And Type('tcOutputFile') = 'C'
|
||||
lcOutputfile = tcOutputfile
|
||||
Else
|
||||
lcOutputfile = This.cOutputFile
|
||||
Endif
|
||||
If Pcount() < 3 Or Type('tlAdditive') # 'L'
|
||||
llAdditive = This.lAdditive
|
||||
Else
|
||||
llAdditive = tlAdditive
|
||||
Endif
|
||||
If Type('tcMessage') = 'C'
|
||||
If Empty(tcMessage)
|
||||
lcLog = CRLF
|
||||
Else
|
||||
lcLog = Ttoc(Datetime()) + ' ' + Sys(0) + CRLF + tcMessage + CRLF
|
||||
Endif
|
||||
Else
|
||||
lcLog = This.cLog
|
||||
Endif
|
||||
If !Empty(lcOutputfile)
|
||||
Strtofile(lcLog, lcOutputfile, llAdditive)
|
||||
Endif
|
||||
Endproc
|
||||
********************************************************************
|
||||
Enddefine
|
||||
*
|
||||
249
COMUN/programe/controllere/logincontroller.prg
Normal file
249
COMUN/programe/controllere/logincontroller.prg
Normal file
@@ -0,0 +1,249 @@
|
||||
#INCLUDE COMUN.H
|
||||
#INCLUDE MVC.H
|
||||
|
||||
Define Class LoginController As Custom
|
||||
oDBController = Null
|
||||
oControllerSetari = Null
|
||||
oUtilizator = Null
|
||||
*!* oFirma = Null
|
||||
oView = Null
|
||||
nTipLogin = Null
|
||||
cFormLogin = Null
|
||||
cProcLogin = Null
|
||||
nTipVerificare = 0
|
||||
*!* 0 = verificare utilizator si parola
|
||||
*!* 1 = verificare utilizator si parola cu id-ul dat ca parametru
|
||||
*!* 2 = verificare utilizator si parola cu nivelul dat ca parametru
|
||||
nIdUtil = Null
|
||||
nNivelAcces = Null
|
||||
cExplicatie = "Autentificare"
|
||||
cRestaurant = Null
|
||||
***********************************************************************
|
||||
Procedure Init
|
||||
Lparameters toDbController,toControllerSetari,tnTipVerificare,tnParametru,tcDenumire
|
||||
This.oDBController = toDbController
|
||||
This.oControllerSetari = toControllerSetari
|
||||
This.oUtilizator = Createobject("UtilizatorModel")
|
||||
*!* This.oFirma = CREATEOBJECT("FirmaModel")
|
||||
This.nTipLogin = 2
|
||||
This.cFormLogin = [Login] + Iif(This.nTipLogin=2,[CodBare],[])
|
||||
This.cProcLogin = [Login] + Iif(This.nTipLogin=2,[CodBare],[])
|
||||
This.nTipVerificare = IIF(TYPE('tnTipVerificare')<>'N',0,tnTipVerificare)
|
||||
Do Case
|
||||
Case This.nTipVerificare = 1
|
||||
This.nIdUtil = tnParametru
|
||||
This.nNivelAcces = Null
|
||||
This.cExplicatie = This.cExplicatie + [ ] + ALLTRIM(tcDenumire)
|
||||
Case This.nTipVerificare = 2
|
||||
This.nNivelAcces = tnParametru
|
||||
This.nIdUtil = Null
|
||||
This.cExplicatie = This.cExplicatie + [ nivel minim : ] + ALLTRIM(tcDenumire)
|
||||
Otherwise
|
||||
This.oDBController.setLoginController(This)
|
||||
This.nIdUtil = Null
|
||||
This.nNivelAcces = Null
|
||||
Endcase
|
||||
Endfunc && INIT
|
||||
***********************************************************************
|
||||
Procedure conecteaza
|
||||
Local lcParolaSchema,lcServer,lcSchema,lcParola
|
||||
lcServer = This.oControllerSetari.getServerSetari()
|
||||
This.oDBController.setServer(lcServer)
|
||||
This.oDBController.setSchemaParola(This.oControllerSetari.getSchemaSecurity(lcServer),This.oControllerSetari.getParolaSecurity(lcServer))
|
||||
lnIdFirmaSetari = This.oControllerSetari.getIdFirmaSetari()
|
||||
If !Empty(lnIdFirmaSetari)
|
||||
lcParolaSchema = This.oDBController.getParolaSchema(lnIdFirmaSetari)
|
||||
IF !EMPTY(lcParolaSchema)
|
||||
lnPoz = AT('$',lcParolaSchema)
|
||||
lcSchema = SUBSTR(lcParolaSchema,1,lnPoz-1)
|
||||
lcParola = SUBSTR(lcParolaSchema,lnPoz+1)
|
||||
This.oDBController.setSchemaParola(lcSchema,lcParola)
|
||||
If This.nTipVerificare = 0
|
||||
This.oControllerSetari.verificaVersiuni()
|
||||
Endif
|
||||
ENDIF
|
||||
Endif
|
||||
Endproc
|
||||
***********************************************************************
|
||||
PROCEDURE deconecteaza
|
||||
This.oDBController.deconecteaza()
|
||||
This.oUtilizator.reseteazaDate()
|
||||
ENDPROC
|
||||
***********************************************************************
|
||||
Function getIdUtil
|
||||
Return This.oUtilizator.getIdUtil()
|
||||
Endfunc
|
||||
***********************************************************************
|
||||
Function getUtilizator
|
||||
Return This.oUtilizator.getUtilizator()
|
||||
Endfunc
|
||||
***********************************************************************
|
||||
Function getSex
|
||||
Return This.oUtilizator.getSex()
|
||||
Endfunc
|
||||
***********************************************************************
|
||||
Procedure setInTura
|
||||
LPARAMETERS tlInTura
|
||||
This.oUtilizator.setInTura(tlInTura)
|
||||
Endproc
|
||||
***********************************************************************
|
||||
Function getInTura
|
||||
Return This.oUtilizator.getInTura()
|
||||
Endfunc
|
||||
***********************************************************************
|
||||
Function getNivelAcces
|
||||
Return This.oUtilizator.getNivelAcces()
|
||||
Endfunc
|
||||
***********************************************************************
|
||||
Function getIdRestaurant
|
||||
Return This.oControllerSetari.getIdRestaurant()
|
||||
Endfunc
|
||||
***********************************************************************
|
||||
FUNCTION setRestaurant
|
||||
LPARAMETERS tcRestaurant
|
||||
This.cRestaurant = tcRestaurant
|
||||
_Screen.Caption = gcExplicatieProgram + [ * ] + tcRestaurant
|
||||
ENDFUNC
|
||||
***********************************************************************
|
||||
FUNCTION getRestaurant
|
||||
RETURN This.cRestaurant
|
||||
ENDFUNC
|
||||
***********************************************************************
|
||||
Function getIdSucursala
|
||||
Return This.oControllerSetari.getIdSucursala()
|
||||
Endfunc
|
||||
*********************************************************************
|
||||
Function getIdMama
|
||||
Return This.oControllerSetari.getIdMama()
|
||||
Endfunc
|
||||
*********************************************************************
|
||||
Function getEMama
|
||||
Return This.oControllerSetari.getEMama()
|
||||
Endfunc
|
||||
*********************************************************************
|
||||
FUNCTION getFirma
|
||||
LOCAL loFirma
|
||||
loFirma = This.oControllerSetari.getoFirma()
|
||||
RETURN NVL(loFirma.firma,[ ])
|
||||
endfunc
|
||||
***********************************************************************
|
||||
Procedure lanseazaLogin
|
||||
If This.conecteaza()
|
||||
Do Form (This.cFormLogin) With This,This.cExplicatie Name This.oView
|
||||
Else
|
||||
amessagebox("Nu s-a putut stabili conexiunea cu serverul!",16,"Eroare")
|
||||
Endif
|
||||
Endproc && List
|
||||
***********************************************************************
|
||||
Procedure verificaUtilizator
|
||||
Parameters tcParola,tcUtilizator
|
||||
Local lcCod,lcUtilizator
|
||||
This.oDBController.setAfiseazaEroare(.F.)
|
||||
lcCod = This.oDBController.verifica_drepturi_utilizator(tcParola,;
|
||||
This.oControllerSetari.getIdFirmaSetari(),This.oControllerSetari.getNumeProgram(),;
|
||||
This.nTipVerificare,IIF(This.nTipVerificare=2,This.nNivelAcces,This.nIdUtil),tcUtilizator)
|
||||
|
||||
If !ISNULL(lcCod)
|
||||
This.oUtilizator.actualizeazaDate(tcParola,lcCod,tcUtilizator)
|
||||
IF this.nTipVerificare = 0
|
||||
This.oControllerSetari.citesteSetariSchema(This.oUtilizator.getIdUtil())
|
||||
This.setRestaurant(This.oDBController.initializeaza_restaurant(This.oControllerSetari.getIdRestaurant()))
|
||||
ENDIF
|
||||
Else
|
||||
This.oUtilizator.reseteazaDate()
|
||||
Endif
|
||||
|
||||
IF This.verificaSucces()
|
||||
This.oView.Release()
|
||||
Else
|
||||
If This.nTipLogin = 1
|
||||
*!* lcErrorMessage = "Combinatie utilizator/parola invalida!"
|
||||
This.oView.txtUtilizator.SetFocus()
|
||||
Else
|
||||
*!* lcErrorMessage = "Cod invalid!"
|
||||
This.oView.txtParola.Value = []
|
||||
This.oView.txtParola.SetFocus()
|
||||
Endif
|
||||
*!* This.oView.lblMessage.Caption = lcErrorMessage
|
||||
This.oView.lblMessage.Caption = This.oDBController.getEroare()
|
||||
Endif
|
||||
This.oDBController.setAfiseazaEroare(.T.)
|
||||
Endproc
|
||||
***********************************************************************
|
||||
FUNCTION verificaSucces
|
||||
LOCAL llReturn
|
||||
IF This.esteAutentificat()
|
||||
*!* AND ((This.nTipVerificare = 0) OR ;
|
||||
*!* (This.nTipVerificare = 1 AND This.oUtilizator.getIdUtil() = This.nIdUtil) OR ;
|
||||
*!* (This.nTipVerificare = 2 AND This.oUtilizator.getNivelAcces() >= This.nNivelAcces))
|
||||
llReturn = .T.
|
||||
ELSE
|
||||
llReturn = .F.
|
||||
ENDIF
|
||||
RETURN llReturn
|
||||
ENDFUNc
|
||||
***********************************************************************
|
||||
Function esteAutentificat
|
||||
Return This.oUtilizator.esteAutentificat()
|
||||
Endfunc
|
||||
***********************************************************************
|
||||
Procedure SetEventsHandlers
|
||||
Bindevent(This.oView.cmdLogin, "CLICK", This, This.cProcLogin )
|
||||
Bindevent(This.oView.cmdCancel, "CLICK", This, This.cProcLogin )
|
||||
Endproc && SetEventsHandler
|
||||
***********************************************************************
|
||||
Procedure Login
|
||||
Local lnRows, lcCommand, lcErrorMessage, lcUtilizator, lcParola, loUtilizator
|
||||
|
||||
Declare laEvents[3]
|
||||
lcErrorMessage = ""
|
||||
lnRows = Aevents(laEvents,0)
|
||||
|
||||
If lnRows = 3
|
||||
lcCommand = Upper(laEvents(1).Name)
|
||||
Else
|
||||
lcCommand = ""
|
||||
Endif
|
||||
If lcCommand = 'CMDLOGIN'
|
||||
lcUtilizator = Alltrim(This.oView.cboUtilizator.Value)
|
||||
lcParola = Alltrim(This.oView.txtParola.Value)
|
||||
|
||||
This.verificaUtilizator(lcParola,lcUtilizator)
|
||||
Else
|
||||
This.oView.Release()
|
||||
Endif
|
||||
|
||||
Endproc && Login
|
||||
***********************************************************************
|
||||
Procedure LoginCodBare
|
||||
Local lnRows, lcCommand, lcErrorMessage, lcUtilizator, lcParola, loUtilizator
|
||||
Declare laEvents[3]
|
||||
lcErrorMessage = ""
|
||||
lnRows = Aevents(laEvents,0)
|
||||
If lnRows = 3
|
||||
lcCommand = Upper(laEvents(1).Name)
|
||||
Else
|
||||
lcCommand = ""
|
||||
Endif
|
||||
|
||||
If Inlist(lcCommand, 'CMDLOGIN')
|
||||
lcCodBare = Alltrim(This.oView.txtParola.Value)
|
||||
*!* lcUtilizator = Left(lcCodBare,At("$", lcCodBare)-1)
|
||||
*!* lcParola = Substr(lcCodBare,At("$", lcCodBare)+1)
|
||||
lcParola = lcCodBare
|
||||
This.verificaUtilizator(lcParola)
|
||||
Else
|
||||
This.oView.Release()
|
||||
Endif
|
||||
|
||||
Endproc && LoginCodBare
|
||||
***********************************************************************
|
||||
PROCEDURE reinitializeazaDate
|
||||
This.oControllerSetari.citesteSetariSchema(This.oUtilizator.getIdUtil())
|
||||
ENDPROC
|
||||
***********************************************************************
|
||||
PROCEDURE release
|
||||
This.oUtilizator.Release()
|
||||
ENDPROC
|
||||
***********************************************************************
|
||||
Enddefine
|
||||
184
COMUN/programe/controllere/orasettingscontroller.prg
Normal file
184
COMUN/programe/controllere/orasettingscontroller.prg
Normal file
@@ -0,0 +1,184 @@
|
||||
Define Class oraSettingsController As Custom
|
||||
|
||||
oDBController = Null
|
||||
oDateCalendar = Null
|
||||
oDateFirma = Null
|
||||
nIdSucursala = Null
|
||||
nIdMama = Null
|
||||
lEMama = Null
|
||||
|
||||
Procedure Init
|
||||
Lparameters toDBController
|
||||
This.oDBController = toDBController
|
||||
Endproc
|
||||
******************************************************************
|
||||
Procedure initializeaza_firma
|
||||
Lparameters tnIdFirma,tnIdUtil
|
||||
This.initializeaza_date_firma(tnIdFirma)
|
||||
This.initializeaza_calendar()
|
||||
This.initializeaza_optiuni()
|
||||
This.initializeaza_utilizator(tnIdUtil)
|
||||
Endproc
|
||||
******************************************************************
|
||||
Procedure initializeaza_utilizator
|
||||
Lparameters tnIdUtil
|
||||
This.initializeaza_optiuni_utilizator(tnIdUtil)
|
||||
This.initializeaza_sesiune_server(tnIdUtil)
|
||||
Endproc
|
||||
******************************************************************
|
||||
Procedure initializeaza_date_firma
|
||||
Lparameters tnIdFirma
|
||||
Local loFirma,lcCursor
|
||||
This.oDateFirma = Null
|
||||
lcCursor = [crsdatefirma]
|
||||
If Used(lcCursor)
|
||||
Use In (lcCursor)
|
||||
Endif
|
||||
If This.oDBController.apeleaza_sql_hash(getHash([cColumns=>*??cTables=>syn_nom_firme??cWhere=>id_firma=] + Alltrim(Str(tnIdFirma))),lcCursor)
|
||||
Select (lcCursor)
|
||||
Scatter Name loFirma
|
||||
This.oDateFirma = loFirma
|
||||
This.nIdSucursala = Iif(Nvl(loFirma.id_mama,0) <> 0, loFirma.Id_Firma, Null) && DACA ESTE SUCURSALA - ID-UL SUCURSALA PE CARE IL SCRIU IN TABELE
|
||||
This.nIdMama = Iif(Nvl(loFirma.id_mama,0) <> 0, loFirma.id_mama, Null)
|
||||
This.lEMama = Nvl(loFirma.e_mama,0) <> 0
|
||||
Endif
|
||||
If Used(lcCursor)
|
||||
Use In (lcCursor)
|
||||
Endif
|
||||
Endproc
|
||||
******************************************************************
|
||||
Procedure initializeaza_calendar
|
||||
Local loCalendar,lcCursor
|
||||
This.oDateCalendar = Null
|
||||
lcCursor = [crscalendar]
|
||||
If Used(lcCursor)
|
||||
Use In (lcCursor)
|
||||
Endif
|
||||
If This.oDbController.apeleaza_sql_hash(getHash([cColumns=>*??cTables=>(select * from calendar order by id_calendar desc)??cWhere=>rownum = 1]),lcCursor)
|
||||
If Reccount(lcCursor) = 0
|
||||
amessagebox("Nu exista luni deschise in calendar!",48,"Atentie")
|
||||
Else
|
||||
Select (lcCursor)
|
||||
Scatter Name loCalendar
|
||||
This.oDateCalendar = loCalendar
|
||||
Endif
|
||||
Endif
|
||||
If Used(lcCursor)
|
||||
Use In (lcCursor)
|
||||
Endif
|
||||
Endproc
|
||||
******************************************************************
|
||||
PROCEDURE initializeaza_optiuni_utilizator
|
||||
LPARAMETERS tnIdUtil
|
||||
LOCAL lcCursor
|
||||
lcCursor = [crsOptiuniUtilizator]
|
||||
If Used(lcCursor)
|
||||
Use In (lcCursor)
|
||||
Endif
|
||||
This.oDbController.apeleaza_sql_hash(getHash([cColumns=>*??cTables=>optiuni_util??cWhere=>id_util=] +ALLTRIM(STR(tnIdUtil)) + [??cOrderBy=>varname]),lcCursor)
|
||||
ENDPROC
|
||||
******************************************************************
|
||||
Procedure initializeaza_optiuni
|
||||
Local lcNumeCursor
|
||||
lcNumeCursor = [v_optiuni]
|
||||
If This.citeste_optiuni(lcNumeCursor)
|
||||
Select(lcNumeCursor)
|
||||
Scan For !Empty(varname) And (Isnull(programe) Or gcNumeProgram$programe)
|
||||
lcvarname = Alltrim(&lcNumeCursor..varname)
|
||||
lcvartype = Upper(Alltrim(&lcNumeCursor..Vartype))
|
||||
Do Case
|
||||
Case lcvartype = "CHARACTER"
|
||||
Public gc&lcvarname.
|
||||
luvarvalue = Alltrim(&lcNumeCursor..varvalue)
|
||||
gc&lcvarname. = luvarvalue
|
||||
Case lcvartype = "CURRENCY"
|
||||
Public gy&lcvarname.
|
||||
luvarvalue = Ntom(Val(&lcNumeCursor..varvalue))
|
||||
gy&lcvarname. = luvarvalue
|
||||
Case lcvartype = "NUMERIC"
|
||||
Public gn&lcvarname.
|
||||
luvarvalue = Val(&lcNumeCursor..varvalue)
|
||||
gn&lcvarname. = luvarvalue
|
||||
Case lcvartype = "DATETIME"
|
||||
Public gt&lcvarname.
|
||||
luvarvalue = Ctot(&lcNumeCursor..varvalue)
|
||||
gt&lcvarname. = luvarvalue
|
||||
Case lcvartype = "DATE"
|
||||
Public gd&lcvarname.
|
||||
luvarvalue = Ctod(&lcNumeCursor..varvalue)
|
||||
gd&lcvarname. = luvarvalue
|
||||
Case lcvartype = "LOGICAL"
|
||||
Public gl&lcvarname.
|
||||
luvarvalue = Iif(Inlist(Upper(Left(&lcNumeCursor..varvalue, 1)), "T", "Y"), .T., .F.)
|
||||
gl&lcvarname. = luvarvalue
|
||||
Otherwise
|
||||
pcmsgbuff = "Tip de variabila globala invalid!"
|
||||
pcmsgbuff = pcmsgbuff + Chr(13) + Chr(13) + "Numele variabilei: " + lcvarname
|
||||
pcmsgbuff = pcmsgbuff + Chr(13) + "Tipul variabilei: " + lcvartype
|
||||
pcmsgbuff = pcmsgbuff + Chr(13) + Chr(13) + "Contactati suportul tehnic."
|
||||
=aMessagebox(pcmsgbuff, 48)
|
||||
pcmsgbuff = ""
|
||||
Endcase
|
||||
Endscan
|
||||
|
||||
Endif
|
||||
If Used(lcNumeCursor)
|
||||
Use In (lcNumeCursor)
|
||||
Endif
|
||||
Endproc
|
||||
******************************************************************
|
||||
PROCEDURE initializeaza_sesiune_server
|
||||
Lparameters tnIdUtil
|
||||
Local lcProceduri
|
||||
lcProceduri = [pack_sesiune.set_Id_Util(] + ALLTRIM(STR(tnIdUtil)) + [);] + ;
|
||||
[pack_sesiune.setluna(] + ALLTRIM(STR(This.oDateCalendar.luna)) + [);] + ;
|
||||
[pack_sesiune.setan(] + ALLTRIM(STR(This.oDateCalendar.anul)) + [);] + ;
|
||||
[pack_sesiune.setlunabal(] + ALLTRIM(STR(This.oDateCalendar.luna)) + [);] + ;
|
||||
[pack_sesiune.setanbal(] + ALLTRIM(STR(This.oDateCalendar.anul)) + [);] + ;
|
||||
[pack_contafin.set_data_ron('] + ALLTRIM(This.oDateFirma.schema) + [');] + ;
|
||||
[pack_sesiune.set_data_ron('] + ALLTRIM(This.oDateFirma.schema) + [');] + ;
|
||||
[pack_contafin.set_id_sucursala(] + Iif(Nvl(This.oDateFirma.id_mama,0) <> 0, ALLTRIM(STR(This.oDateFirma.Id_Firma)), [NULL]) + [);] + ;
|
||||
[pack_contafin.set_id_firma(] + ALLTRIM(STR(This.oDateFirma.id_firma)) + [)]
|
||||
This.oDBController.apeleaza_procedura(lcProceduri)
|
||||
ENDPROC
|
||||
******************************************************************
|
||||
Function scrie_optiuni
|
||||
Local lcProcedura
|
||||
lcProcedura = [scrie_optiuni(USER)]
|
||||
Return This.oDBController.apeleaza_procedura(lcProcedura)
|
||||
Endfunc
|
||||
******************************************************************
|
||||
FUNCTION verificaVersiuni
|
||||
LPARAMETERS tcNumeProgram,tcVersiuneProgram,tcVersiuneDBTxt
|
||||
LOCAL lcFunctie
|
||||
lcFunctie = [pack_migrare.VerificaVersiune(']+tcNumeProgram+[', ']+tcVersiuneProgram+[',']+tcVersiuneDBTxt+[')]
|
||||
Return This.oDBController.apeleaza_functie(lcFunctie,[C])
|
||||
ENDfunc
|
||||
******************************************************************
|
||||
Function citeste_optiuni
|
||||
Lparameters tcNumeCursor
|
||||
This.scrie_optiuni()
|
||||
Return This.oDBController.apeleaza_sql_hash(getHash([cColumns=>*??cTables=>optiuni??cOrderBy=>varname]),tcNumeCursor)
|
||||
Endfunc
|
||||
******************************************************************
|
||||
Function getoFirma
|
||||
Return This.oDateFirma
|
||||
Endfunc
|
||||
******************************************************************
|
||||
Function getoCalendar
|
||||
Return This.oDateCalendar
|
||||
Endfunc
|
||||
******************************************************************
|
||||
Function getIdSucursala
|
||||
Return This.nIdSucursala
|
||||
Endfunc
|
||||
******************************************************************
|
||||
Function getIdMama
|
||||
Return This.nIdMama
|
||||
Endfunc
|
||||
******************************************************************
|
||||
Function getEMama
|
||||
Return This.lEMama
|
||||
Endfunc
|
||||
******************************************************************
|
||||
Enddefine
|
||||
202
COMUN/programe/controllere/roabaseapplication.prg
Normal file
202
COMUN/programe/controllere/roabaseapplication.prg
Normal file
@@ -0,0 +1,202 @@
|
||||
Define Class ROABaseApplication As Custom
|
||||
cLastSetClassLib = Null
|
||||
cLastSetTalk = Null
|
||||
cLastSetPath = Null
|
||||
|
||||
cNumeProgram = [ROA]
|
||||
cCopyRight = [<5B> ROA Romfast SRL]
|
||||
cUserNameApp = Null
|
||||
cExplicatieProgram = Null
|
||||
|
||||
cROAPath = Null
|
||||
cAppPath = Null
|
||||
cSecurityPath = Null
|
||||
cGeneralIniFile = Null
|
||||
|
||||
oLog = Null
|
||||
oExecutor = Null
|
||||
oConn = Null
|
||||
oExport = Null
|
||||
oMyXmlHttp = Null
|
||||
|
||||
Procedure Init
|
||||
Lparameters tcNumeProgram
|
||||
This.cNumeProgram = Upper(Alltrim(tcNumeProgram))
|
||||
_Screen.Icon = tcNumeProgram + [.ico]
|
||||
_Screen.Visible=.F.
|
||||
This.definesteConstante()
|
||||
This.setMediu()
|
||||
This.setClase()
|
||||
This.setProceduri()
|
||||
This.declaraDLL()
|
||||
This.setVariabile()
|
||||
This.setAlteProceduri()
|
||||
This.initializeazaControllere()
|
||||
This.setExplicatieProgram()
|
||||
Endproc
|
||||
|
||||
PROCEDURE setVariabile
|
||||
This.cAppPath = Addbs(ShortPath(GetAppStartPath()))
|
||||
This.cROAPath = Addbs(Left(This.cAppPath,Rat("\",This.cAppPath,2)-1))
|
||||
This.cSecurityPath = This.cROAPath + 'Security\'
|
||||
This.cGeneralIniFile = This.cROAPath + "settings.ini"
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE setAlteProceduri
|
||||
Set Path To Addbs(Substr(This.cAppPath,1,Rat([\],This.cAppPath,2)))+[COMUNROA\] Additive
|
||||
ENDPROC
|
||||
|
||||
PROCEDURE setExplicatieProgram
|
||||
Local laVersion
|
||||
Dimension laVersion(12)
|
||||
If Agetfileversion(laVersion, Sys(16,0)) > 0
|
||||
This.cExplicatieProgram = laVersion(10)
|
||||
IF TYPE('gcExplicatieProgram') = 'C'
|
||||
gcExplicatieProgram = This.cExplicatieProgram
|
||||
ENDIF
|
||||
Endif
|
||||
Release laVersion
|
||||
ENDPROC
|
||||
|
||||
Procedure definesteConstante
|
||||
Public LF,CR,CRLF,CTAB,CT_INSUCCES,CT_SUCCES
|
||||
Store Chr(10) To LF
|
||||
Store Chr(13) To CR
|
||||
Store Chr(13) + Chr(10) To CRLF
|
||||
Store Chr(9) To CTAB
|
||||
Store -1 To CT_INSUCCES
|
||||
Store 1 To CT_SUCCES
|
||||
Endproc
|
||||
|
||||
Procedure initializeazaControllere
|
||||
This.oLog = Createobject("logBaseController",This.cAppPath + "log_" + This.cNumeProgram + "_" + DTOS(DATE()) + ".txt")
|
||||
This.oExecutor = Createobject("oExecutor")
|
||||
This.oConn = Createobject("oConn")
|
||||
This.oExport = Createobject("oExportConfig")
|
||||
This.oMyXmlHttp = Createobject("MyXMLHTTP", getini(gcGeneralIniFile,'errors','host'))
|
||||
Endproc
|
||||
|
||||
Procedure declaraDLL
|
||||
Declare Integer Beep In kernel32;
|
||||
INTEGER dwFreq,;
|
||||
INTEGER dwDuration
|
||||
Declare Integer CoCreateGuid In OLE32.Dll String @lcBuffer
|
||||
Endproc
|
||||
|
||||
Procedure setClase
|
||||
Set Classlib To registry Additive
|
||||
Set Classlib To Messagebox Additive
|
||||
Endproc
|
||||
|
||||
Procedure setProceduri
|
||||
Set Procedure To wwxmlhttp.prg Additive
|
||||
Set Procedure To wwutils.prg Additive
|
||||
Set Procedure To wwApi.prg Additive
|
||||
SET PROCEDURE TO oproceduri_comune.prg additive
|
||||
SET PROCEDURE TO ini.prg additive
|
||||
Endproc
|
||||
|
||||
Procedure setMediu
|
||||
This.backupMediu()
|
||||
|
||||
Set Path To ;Date;Include;FERESTRE;GRAFICE;Help;CLASE;MENIURI;PROGRAME;RAPOARTE;PROGS;LIBS
|
||||
Push Menu _Msysmenu
|
||||
Set Century On
|
||||
Set Date Dmy
|
||||
Set Ansi On
|
||||
Set Exact On
|
||||
Set Talk Off
|
||||
Set Console Off
|
||||
Set Safety Off
|
||||
Close Databases All
|
||||
Set Deleted On
|
||||
Set Point To '.'
|
||||
Set Hours To 24
|
||||
Set NullDisplay To "*"
|
||||
Set Mark To '/'
|
||||
Set Exclusive Off
|
||||
Set Cpdialog Off
|
||||
Set Escape Off
|
||||
Set Notify Off
|
||||
Set Seconds Off
|
||||
Set Decimals To 4
|
||||
Endproc
|
||||
|
||||
Procedure backupMediu
|
||||
This.cLastSetClassLib=Set("CLASSLIB")
|
||||
This.cLastSetTalk=Set("TALK")
|
||||
This.cLastSetPath=Set("PATH")
|
||||
Endproc
|
||||
|
||||
Procedure ResetMediu
|
||||
If Cntbar("_msysmenu")<>7
|
||||
Pop Menu _Msysmenu
|
||||
Endif
|
||||
|
||||
On Error
|
||||
On Shutdown
|
||||
Set Classlib To
|
||||
Set Path To
|
||||
Close All
|
||||
Clear Events
|
||||
|
||||
If Inlist(Application.StartMode,4) && EXE
|
||||
Quit
|
||||
Endif
|
||||
|
||||
This.restoreMediu()
|
||||
Endproc
|
||||
|
||||
Procedure restoreMediu
|
||||
If Empty(Nvl(This.cLastSetPath,[]))
|
||||
Set Path To
|
||||
Else
|
||||
Set Path To &(This.cLastSetPath)
|
||||
Endif
|
||||
If This.cLastSetTalk=="ON"
|
||||
Set Talk On
|
||||
Else
|
||||
Set Talk Off
|
||||
Endif
|
||||
Endproc
|
||||
|
||||
Function Shutdown
|
||||
If Type("goApp")=="O" And Not Isnull(goApp)
|
||||
If Pemstatus(goApp,"OnShutdown",5)
|
||||
Return goApp.OnShutDown()
|
||||
Endif
|
||||
Endif
|
||||
This.ResetMediu()
|
||||
Endfunc
|
||||
|
||||
Function ErrorHandler(nError,cMethod,nLine)
|
||||
Local lcErrorMsg,lcCodeLineMsg,lcUserName
|
||||
Wait Clear
|
||||
lcErrorMsg=Message()+Chr(13)+Chr(13)
|
||||
lcErrorMsg=lcErrorMsg+"Method: "+cMethod
|
||||
lcCodeLineMsg=Message(1)
|
||||
If Between(nLine,1,10000) And Not lcCodeLineMsg="..."
|
||||
lcErrorMsg=lcErrorMsg+Chr(13)+"Line: "+Alltrim(Str(nLine))
|
||||
If Not Empty(lcCodeLineMsg)
|
||||
lcErrorMsg=lcErrorMsg+Chr(13)+Chr(13)+lcCodeLineMsg
|
||||
Endif
|
||||
Endif
|
||||
lcErrorMsg = Sys(0) + ":" + Iif(Type('GCS')='C'," " + gcS,"") + Chr(13) +Chr(10) + lcErrorMsg
|
||||
lcUserName = This.cUserNameApp
|
||||
lcProgram = Juststem(Sys(16,0))
|
||||
This.oMyXMLHTTP.postError(lcErrorMsg, lcUserName, lcProgram)
|
||||
|
||||
If aMessagebox(lcErrorMsg,17,_Screen.Caption)#1
|
||||
On Error
|
||||
Return .F.
|
||||
Endif
|
||||
Endfunc
|
||||
|
||||
Function verificaAplicatie
|
||||
If !Like(This.cNumeProgram + '*', Upper(Alltrim(Juststem(Sys(16,0)))))
|
||||
aMessagebox("Nu puteti porni acest program!",0+16,"Atentie")
|
||||
Return .F.
|
||||
Endif
|
||||
Endfunc
|
||||
|
||||
Enddefine
|
||||
376
COMUN/programe/controllere/settingsbcontroller.prg
Normal file
376
COMUN/programe/controllere/settingsbcontroller.prg
Normal file
@@ -0,0 +1,376 @@
|
||||
#include security.h
|
||||
*!* #Define WINDOWHIDE 0x80
|
||||
*!* #Define WINDOWSHOW 0x40
|
||||
*!* #define TBAR_AUTOHIDE 1
|
||||
*!* #define TBAR_KEEPONTOP 2
|
||||
*!* #define ABM_GETSTATE 0x00000004
|
||||
*!* #define ABM_SETSTATE 0x0000000A
|
||||
|
||||
Define Class settingsBaseController As Custom
|
||||
cNumeProgram = ''
|
||||
cAppName = ''
|
||||
cAppPath = ''
|
||||
cIniFile = ''
|
||||
cVersiuneProgram = ''
|
||||
cVersiuneDBTxt = ''
|
||||
cROAClientPath = ''
|
||||
cROAClientIniFile = ''
|
||||
cIniText = ''
|
||||
lLog = .F.
|
||||
cHostErrors = ''
|
||||
cCursorHost = [crshost]
|
||||
nTipCriptare = 0
|
||||
oOraSettingsController = Null
|
||||
|
||||
*!* 0 = fara
|
||||
*!* 1 = vechi
|
||||
*!* 2 = nou
|
||||
|
||||
Procedure Init
|
||||
Lparameters tcNumeProgram
|
||||
Declare Long FindWindow In "user32" String lpClassName, String lpWindowName
|
||||
Declare Long SetWindowPos In "user32" Long HWnd, Long hWndInsertAfter, Long x, Long Y, Long cx, Long cy, Long wFlags
|
||||
Declare Long SHAppBarMessage In "shell32.dll" Long dwMessage,String @pData
|
||||
|
||||
This.cNumeProgram = tcNumeProgram
|
||||
This.cAppPath = Addbs(ShortPath(GetAppStartPath()))
|
||||
This.cAppName = Allt(Uppe(Juststem(Sys(16,0))))
|
||||
This.cIniFile = This.cAppPath + 'settings.ini'
|
||||
This.cROAClientPath = Addbs(Left(This.cAppPath,Rat("\",This.cAppPath,2)-1))
|
||||
This.cROAClientIniFile = This.cROAClientPath + 'settings.ini'
|
||||
|
||||
If !File(This.cIniFile)
|
||||
This.InitSettings()
|
||||
Endif
|
||||
|
||||
This.ReadSettings()
|
||||
This.citesteVersiuneProgram()
|
||||
This.citesteVersiuneDBTxt()
|
||||
Endproc
|
||||
*********************************************************************
|
||||
Procedure setDBController
|
||||
Lparameters toDBController
|
||||
This.oOraSettingsController = Createobject('orasettingscontroller',toDBController)
|
||||
Endproc
|
||||
*********************************************************************
|
||||
Procedure verificaVersiuni
|
||||
Local lcMesaj,lcMesajVerificare
|
||||
lcMesajVerificare = This.oOraSettingsController.verificaVersiuni(This.cNumeProgram,This.cVersiuneProgram,This.cVersiuneDBTxt)
|
||||
If !Empty(Nvl(lcMesajVerificare,[]))
|
||||
Do Case
|
||||
Case This.cNumeProgram$Upper(lcMesajVerificare)
|
||||
lcMesaj = "Trebuie actualizat " + This.cNumeProgram + " la versiunea " + Getwordnum(lcMesajVerificare, 2, ":") + Chr(13) + Chr(10) + ;
|
||||
"Versiunea actuala este " + Getwordnum(lcMesajVerificare, 3, ":")
|
||||
Case "DB"$Upper(lcMesajVerificare)
|
||||
lcMesaj = "Trebuie actualizata baza de date la versiunea " + Getwordnum(lcMesajVerificare, 2, ":") + Chr(13) + Chr(10) + ;
|
||||
"Versiunea actuala este " + Getwordnum(lcMesajVerificare, 3, ":")
|
||||
Endcase
|
||||
AMESSAGEBOX(lcMesaj,0+48, "Actualizare")
|
||||
Endif
|
||||
Release lcMesaj,lcMesajVerificare
|
||||
Endproc
|
||||
*********************************************************************
|
||||
Procedure citesteVersiuneProgram
|
||||
Local lcFisierExe
|
||||
lcFisierExe = This.cAppPath + This.cAppName + [.exe]
|
||||
If Agetfileversion(aVersion, lcFisierExe) > 0
|
||||
This.cVersiuneProgram = Alltrim(aVersion(4))
|
||||
Else
|
||||
This.cVersiuneProgram = []
|
||||
Endif
|
||||
If Type('aVersion') <> 'U'
|
||||
Release aVersion
|
||||
Endif
|
||||
Endproc
|
||||
*********************************************************************
|
||||
Procedure citesteVersiuneDBTxt
|
||||
Local lcFisierVersiuneDB
|
||||
lcFisierVersiuneDB = This.cAppPath + 'versiune_db.txt'
|
||||
If File(lcFisierVersiuneDB)
|
||||
This.cVersiuneDBTxt = Alltrim(Filetostr(lcFisierVersiuneDB))
|
||||
Else
|
||||
This.cVersiuneDBTxt = []
|
||||
Endif
|
||||
Release lcFileVersiuneDB
|
||||
Endproc
|
||||
*********************************************************************
|
||||
Procedure InitSettings
|
||||
If Empty(This.cIniText)
|
||||
Return
|
||||
Endif
|
||||
Strtofile(This.cIniText, This.cIniFile)
|
||||
Endproc && InitSettings
|
||||
*!* *********************************************************************
|
||||
*!* Function HideTaskBar
|
||||
*!* Local lnHandle,lcInfoBuffer
|
||||
*!* lnHandle = FindWindow("Shell_TrayWnd", "")
|
||||
*!* *!* SetWindowPos(lnHandle, 0, 0, 0, 0, 0, WINDOWHIDE)
|
||||
*!* DEBUG
|
||||
*!* SUSPEND
|
||||
*!* lcInfoBuffer = This.num2dword(0) + ;
|
||||
*!* This.num2dword(lnHandle) + ;
|
||||
*!* This.num2dword(0) + ;
|
||||
*!* This.num2dword(0) + ;
|
||||
*!* This.num2dword(0) + ;
|
||||
*!* This.num2dword(0)
|
||||
*!* SHAppBarMessage(ABM_GETSTATE,@lcInfoBuffer)
|
||||
*!* lcInfoBuffer = This.num2dword(50000) + ;
|
||||
*!* This.num2dword(lnHandle) + ;
|
||||
*!* This.num2dword(0) + ;
|
||||
*!* This.num2dword(0) + ;
|
||||
*!* This.num2dword(0) + ;
|
||||
*!* This.num2dword(BITNOT(TBAR_KEEPONTOP))
|
||||
*!* SHAppBarMessage(ABM_SETSTATE,@lcInfoBuffer)
|
||||
*!* Endfunc
|
||||
*!* *********************************************************************
|
||||
*!* Function ShowTaskBar
|
||||
*!* Local lnHandle
|
||||
*!* lnHandle = FindWindow("Shell_TrayWnd", "")
|
||||
*!* *!* SetWindowPos(lnHandle, 0, 0, 0, 0, 0, WINDOWSHOW)
|
||||
*!* Endfunc
|
||||
*!* *********************************************************************
|
||||
*!* FUNCTION num2dword
|
||||
*!* LPARAMETERS tnValue
|
||||
*!* #DEFINE m0 256
|
||||
*!* #DEFINE m1 65536
|
||||
*!* #DEFINE m2 16777216
|
||||
*!* LOCAL b0, b1, b2, b3
|
||||
*!* b3 = Int(tnValue/m2)
|
||||
*!* b2 = Int((tnValue- b3*m2)/m1)
|
||||
*!* b1 = Int((tnValue- b3*m2 - b2*m1)/m0)
|
||||
*!* b0 = Mod(tnValue, m0)
|
||||
*!* RETURN Chr(b0)+Chr(b1)+Chr(b2)+Chr(b3)
|
||||
*!* endfunc
|
||||
*!* *********************************************************************
|
||||
Procedure ReadSettings
|
||||
This.cHostErrors = This.GetVariable([errors],[host])
|
||||
If Upper(Alltrim(This.GetVariable([errors],[log]))) = [TRUE]
|
||||
This.lLog = .T.
|
||||
Else
|
||||
This.lLog = .F.
|
||||
Endif
|
||||
|
||||
*!* This.citesteSecurity()
|
||||
Endproc
|
||||
*********************************************************************
|
||||
Function getHostErrors
|
||||
Return This.cHostErrors
|
||||
Endfunc
|
||||
*********************************************************************
|
||||
Function getlLog
|
||||
Return This.lLog
|
||||
Endfunc
|
||||
*********************************************************************
|
||||
Function getLogPath
|
||||
Return Iif(This.lLog,This.cAppPath + [log_]+ This.cNumeProgram + [_] + Dtos(Date()) + [.txt],[])
|
||||
Endfunc
|
||||
*********************************************************************
|
||||
Function getUpdateServer
|
||||
Return This.GetVariable([update],[server])
|
||||
Endfunc
|
||||
*********************************************************************
|
||||
Function getNumeProgram
|
||||
Return This.cNumeProgram
|
||||
Endfunc
|
||||
*********************************************************************
|
||||
Function getSchemaSecurity
|
||||
Lparameters tcNumeServer
|
||||
Local lcAliasVechi,lcSchema
|
||||
lcSchema = []
|
||||
lcAliasVechi = Alias()
|
||||
Select (This.cCursorHost)
|
||||
Locate For Upper(Alltrim(Host)) = Upper(Alltrim(tcNumeServer))
|
||||
If Found()
|
||||
lcSchema = Upper(Alltrim(schema))
|
||||
Endif
|
||||
If Used(lcAliasVechi)
|
||||
Select (lcAliasVechi)
|
||||
Endif
|
||||
Return lcSchema
|
||||
Endfunc
|
||||
*********************************************************************
|
||||
Function getParolaSecurity
|
||||
Lparameters tcNumeServer
|
||||
Local lcAliasVechi,lcParola
|
||||
lcParola = []
|
||||
lcAliasVechi = Alias()
|
||||
Select (This.cCursorHost)
|
||||
Locate For Upper(Alltrim(Host)) = Upper(Alltrim(tcNumeServer))
|
||||
If Found()
|
||||
lcParola = Alltrim(pwd)
|
||||
lcParola = Iif(Alltrim(isEncrypted) = [1],EncryptDecrypt(lcParola,ENCRYPTKEY,"decrypt",Iif(This.nTipCriptare=2,"blowfish","old")),lcParola)
|
||||
Endif
|
||||
If Used(lcAliasVechi)
|
||||
Select (lcAliasVechi)
|
||||
Endif
|
||||
Return lcParola
|
||||
Endfunc
|
||||
*********************************************************************
|
||||
Function citesteSecurity
|
||||
Lparameters tcFileExt
|
||||
Local lcSecurityFile,lcSecurityPath,lnValid,lcFileExt,lcSecurityText,llSucces
|
||||
llSucces = .T.
|
||||
lcFileExt = Iif(Empty(tcFileExt),[XML],tcFileExt)
|
||||
|
||||
lcSecurityPath = This.cROAClientPath + [SECURITY\]
|
||||
lcSecurityFile = lcSecurityPath + [roa_security.] + lcFileExt
|
||||
lnValid = 0
|
||||
|
||||
If !File(lcSecurityFile)
|
||||
AMESSAGEBOX('Nu exista fisierul ' + lcSecurityFile + ' !',0+16,'Atentie')
|
||||
llSucces = .F.
|
||||
Else
|
||||
If Used(This.cCursorHost)
|
||||
Use In (This.cCursorHost)
|
||||
Endif
|
||||
|
||||
Create Cursor (This.cCursorHost)(Host c(100), schema c(100), pwd v(100), isEncrypted c(1))
|
||||
lcSecurityText = Filetostr(lcSecurityFile)
|
||||
If lcFileExt = [XML]
|
||||
Try
|
||||
Xmltocursor(lcSecurityFile, "cXML", 512)
|
||||
Select cXml
|
||||
Go Top
|
||||
Scatter Name lofirstrecord
|
||||
|
||||
If lofirstrecord.Host="ENCRYPTION"
|
||||
This.nTipCriptare = 2
|
||||
Delete
|
||||
Else
|
||||
This.nTipCriptare = 1
|
||||
Endif
|
||||
|
||||
Insert Into (This.cCursorHost) (Host, schema, pwd, isEncrypted) ;
|
||||
SELECT Host, schema, pwd, "1" As isEncrypted ;
|
||||
from cXml
|
||||
lnValid = Reccount('cXML')
|
||||
|
||||
Use In cXml
|
||||
Catch To loex
|
||||
*!* Local loEx As Exception
|
||||
AMESSAGEBOX('Mesaj: ' + loex.Message + CRLF + ;
|
||||
'Eroare nr: ' + Alltrim(Transform(loex.ErrorNo)) + CRLF + ;
|
||||
'Cod: ' + loex.LineContents + CRLF + 'Procedura: ' + loex.Procedure + CRLF + ;
|
||||
'Linia nr: ' + Alltrim(Transform(loex.Lineno)),0+16,'Eroare')
|
||||
llSucces = .F.
|
||||
Finally
|
||||
Use In (Select('cXML'))
|
||||
Endtry
|
||||
|
||||
Else
|
||||
Local laHost
|
||||
Dimension laHost[1]
|
||||
|
||||
lnLen = Alines(laHost, lcSecurityText)
|
||||
|
||||
If lnLen > 0
|
||||
For i = 1 To lnLen
|
||||
lcLinie = laHost[i]
|
||||
|
||||
lcHost = Getwordnum(lcLinie, 1, ';')
|
||||
lcSchema = Getwordnum(lcLinie, 2, ';')
|
||||
lcPassword = Getwordnum(lcLinie, 3, ';')
|
||||
lcMode = "0" && necriptat - security.txt
|
||||
|
||||
If Empty(lcHost) Or Empty(lcSchema) Or Empty(lcPassword)
|
||||
Loop
|
||||
Endif
|
||||
|
||||
lnValid = lnValid + 1
|
||||
Insert Into (This.cCursorHost) (Host, schema, pwd, isEncrypted) Values (lcHost, lcSchema, lcPassword, Iif(Empty(lcMode), '0', lcMode))
|
||||
Endfor
|
||||
This.nTipCriptare = 0
|
||||
Endif
|
||||
Endif
|
||||
Endif
|
||||
|
||||
Return llSucces
|
||||
Endfunc
|
||||
*********************************************************************
|
||||
Procedure citesteSetariSchema
|
||||
Lparameters tnIdUtil
|
||||
This.oOraSettingsController.initializeaza_firma(This.nId,tnIdUtil)
|
||||
Endproc
|
||||
******************************************************************
|
||||
Function getoFirma
|
||||
Return This.oOraSettingsController.getoFirma()
|
||||
Endfunc
|
||||
******************************************************************
|
||||
Function getAn
|
||||
Return This.oOraSettingsController.getoCalendar().an
|
||||
Endfunc
|
||||
******************************************************************
|
||||
Function getLuna
|
||||
Return This.oOraSettingsController.getoCalendar().luna
|
||||
Endfunc
|
||||
*********************************************************************
|
||||
Function getIdSucursala
|
||||
Return This.oOraSettingsController.getIdSucursala()
|
||||
Endfunc
|
||||
*********************************************************************
|
||||
Function getIdMama
|
||||
Return This.oOraSettingsController.getIdMama()
|
||||
Endfunc
|
||||
*********************************************************************
|
||||
Function getEMama
|
||||
Return This.oOraSettingsController.getEMama()
|
||||
Endfunc
|
||||
*********************************************************************
|
||||
Procedure SetVariable
|
||||
Lparameters tcSection, tcVarname, tuValue
|
||||
Local lcSection, lcVarname, lcValue
|
||||
|
||||
lcSection = Lower(Alltrim(tcSection))
|
||||
lcVarname = Lower(Alltrim(tcVarname))
|
||||
lcValue = Transform(tuValue)
|
||||
SetIni(This.cIniFile, lcSection, lcVarname, lcValue)
|
||||
|
||||
Endproc && SetVariable
|
||||
*********************************************************************
|
||||
Procedure GetVariable
|
||||
Lparameters tcSection, tcVarname
|
||||
|
||||
Local lcSection, lcVarname, lcValue
|
||||
|
||||
lcSection = Lower(Alltrim(tcSection))
|
||||
lcVarname = Lower(Alltrim(tcVarname))
|
||||
lcValue = GetIni(This.cIniFile, lcSection, lcVarname)
|
||||
lcValue = Nvl(lcValue, '')
|
||||
If Empty(lcValue) And File(This.cROAClientIniFile)
|
||||
lcValue = GetIni(This.cROAClientIniFile, lcSection, lcVarname)
|
||||
lcValue = Nvl(lcValue, '')
|
||||
Endif
|
||||
|
||||
Return lcValue
|
||||
Endproc && GetVariable
|
||||
*********************************************************************
|
||||
Function getIniFilePath
|
||||
Return This.cIniFile
|
||||
Endfunc
|
||||
*********************************************************************
|
||||
*!* FUNCTION GetValue
|
||||
*!* LPARAMETERS tcSetting
|
||||
*!*
|
||||
*!* LOCAL lcSetting, luValue
|
||||
*!* lcSetting = "THIS." + tcSetting
|
||||
*!* luValue = ''
|
||||
*!* IF TYPE(lcSetting) # 'U'
|
||||
*!* luValue = &lcSetting
|
||||
*!* ENDIF
|
||||
*!* RETURN luValue
|
||||
*!*
|
||||
*!* ENDFUNC
|
||||
*!* *********************************************************************
|
||||
*!* PROCEDURE SetValue
|
||||
*!* LPARAMETERS tcSetting, tuValue
|
||||
*!*
|
||||
*!* LOCAL lcSetting, luValue
|
||||
*!* lcSetting = "THIS." + tcSetting
|
||||
*!* luValue = tuValue
|
||||
*!* IF TYPE(lcSetting) # 'U'
|
||||
*!* &lcSetting = luValue
|
||||
*!* ENDIF
|
||||
*!*
|
||||
*!* ENDPROC
|
||||
*!* *********************************************************************
|
||||
Enddefine && settingsBaseController
|
||||
Reference in New Issue
Block a user