Binarele VFP raman pe SVN si sunt git-ignored; COMUN e gestionat separat. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A5okKjUKMM5Xk1egq2w81P
222 lines
7.5 KiB
Plaintext
222 lines
7.5 KiB
Plaintext
*!* 24.11.2016
|
|
*!* marius.mutu
|
|
*!* UpdateRoastart - nu mai verific romfast_suport.exe de pe site-ul romfast.ro. Unele calculatoare nu au internet si sta mult sa verifice.
|
|
|
|
#Define crlf Chr(13)+Chr(10)
|
|
Procedure citeste_server_info
|
|
Local lColNumeServer, lcSelect, lcCursor, lnSucces
|
|
|
|
lcSelect = "select distinct f.nume_server ;
|
|
from nom_firme f inner join def_util_grup ug on ;
|
|
f.id_firma = ug.id_firma and ug.id_util = " + Transform(gnIdUtil) + ;
|
|
" where f.sters = 0 and ug.sters = 0"
|
|
lcCursor = "crsServerUtil"
|
|
lnSucces = goExecutor.oExecute(lcSelect, lcCursor)
|
|
lColNumeServer = lnSucces > 0
|
|
|
|
|
|
lcSelect = "SELECT VALUE,ID_SERVER_INFO FROM SERVER_INFO where Name='NAME'"
|
|
lcCursor = "crstempsrv"
|
|
lnSucces = goExecutor.oExecute(lcSelect, lcCursor)
|
|
If lColNumeServer
|
|
Select c.* From crstempsrv c INNER Join crsServerUtil S On c.Value=S.nume_server Into Cursor crstempsrv1
|
|
Use In crstempsrv
|
|
Select * From crstempsrv1 Into Cursor crstempsrv
|
|
Endif
|
|
|
|
If Used('crsserverinfo')
|
|
Use In crsserverinfo
|
|
Endif
|
|
Create Cursor crsserverinfo (Value c(35),id_server_info N(3))
|
|
If lnSucces > 0
|
|
Insert Into crsserverinfo Select Alltrim(Substr(Value,1,35)),id_server_info From crstempsrv Order By id_server_info
|
|
Select crsserverinfo
|
|
Go Top
|
|
Endif
|
|
If Used('crstempsrv')
|
|
Use In crstempsrv
|
|
Endif
|
|
Endproc
|
|
********************************************
|
|
* Verifica daca programul care ruleaza
|
|
* este la ultima versiune de pe server
|
|
********************************************
|
|
|
|
|
|
Procedure UpdateRoastart
|
|
Local iniHandler As Object,lnTipFisier,lcdefa,lnTipActualizare,loUpdatei
|
|
IF !DIRECTORY(gcSecurityPath)
|
|
MD (gcSecurityPath)
|
|
ENDIF
|
|
llXMLStart=.T.
|
|
polog.Log("S-a pornit actualizarea Roastart.xml.",Program())
|
|
lotemp=Createobject("EditBox")
|
|
If !File(gcDirMare+"settings.ini")
|
|
updatecheckfiles("settings.ini")
|
|
Endif
|
|
iniHandler=Createobject("iniaccess")
|
|
loUpdatei = Createobject("oUpdate",[ROASTART],loTemp)
|
|
If Type('loUpdatei') = 'O'
|
|
*!* modificare v 2.1.8 : romfast_suport.exe
|
|
* loUpdatei.updatecheckTxt([romfast_suport], .T.) && nu mai verific romfast_suport de pe site-ul romfast.ro, pentru ca sunt unele calculatoare fara acces la internet si dureaza mult verificarea
|
|
*!* modificare v 2.1.8 ^
|
|
loUpdatei.createUpdateCursor("cRoastartXml")
|
|
Select cRoastartXml
|
|
Scan
|
|
If !Deleted()
|
|
lcitem=UPPER(Alltrim(cRoastartXml.Item))
|
|
lnTipActualizare = IIF(lcItem = [ROASTART],2,1)
|
|
Do Case
|
|
Case Upper(Alltrim(Left(lcitem,4)))="USER" Or Like("*_USER*",Upper(lcitem))
|
|
lcitem = Iif(Upper(Alltrim(Left(lcitem,4)))="USER",lcitem,Substr(lcitem,At("_USER",lcitem)+1))
|
|
idstring=""
|
|
Try
|
|
idstring=Filetostr(gcDirMare+lcitem+"\"+lcitem+"_id.txt")
|
|
Catch
|
|
idstring=Upper(Alltrim(lcitem))
|
|
Endtry
|
|
If idstring#""
|
|
loUpdatei.updatecheck(idstring,.F.,lnTipActualizare,lcitem)
|
|
lnRecno = Recno()
|
|
Delete From cRoastartXml Where Like("*"+lcitem+"*",Item)
|
|
Go lnRecno
|
|
Endif
|
|
Case Upper(Alltrim(lcitem))="SECURITY"
|
|
Delete File(gcSecurityPath+"ROA_SECURITY.TXT")
|
|
Otherwise
|
|
loUpdatei.updatecheck(lcitem,.F.,lnTipActualizare)
|
|
Endcase
|
|
Endif
|
|
Endscan
|
|
If Used("cRoastartXml")
|
|
Use In cRoastartXml
|
|
Endif
|
|
If !File(gcSecurityPath+"ROA_SECURITY.TXT")
|
|
updatecheckfiles("ROA_SECURITY.XML",.T.) && modificare 25.06.2012 : sa nu mai apara mesajul de eroare daca nu exista ROA_SECURITY.XML pe server
|
|
Endif
|
|
Endif
|
|
Release lotemp,loUpdatei
|
|
Endproc
|
|
|
|
Function UpdatePrograme
|
|
#Define crlf Chr(13)+Chr(10)
|
|
Local lcdefa,loUpdates
|
|
polog.Log("S-a pornit formularul de actualizari in masa.",Program())
|
|
loUpdates=Createobject("oUpdate",IIF(Reccount('crsserverinfo') = 0,[],Alltrim(crsserverinfo.Value)))
|
|
iniHandler=Createobject("iniaccess")
|
|
If Type('loUpdates') = 'O'
|
|
Local lcLanPath
|
|
If (iniHandler.getDefault()="NetworkPath")
|
|
lcdefa=Alltrim(Sys(5))+Curdir()
|
|
cale=iniHandler.getNetworkPath()
|
|
polog.Log("Calea de retea : "+ADDBS(cale),Program())
|
|
Try
|
|
Set Default To Justpath(Alltrim(cale))
|
|
Catch
|
|
aMessagebox("Nu s-a putut ajunge la calea de retea.",16,"Eroare")
|
|
polog.Log("Nu s-a putut ajunge la "+ADDBS(cale),Program())
|
|
Return .F.
|
|
Endtry
|
|
|
|
|
|
If Reccount('crsserverinfo') = 0
|
|
polog.Log("NU exista tabela SERVER_INFO",Program())
|
|
Else
|
|
***!* Daca exista fisierul xml pentru un server
|
|
****
|
|
lcServerName = Alltrim(crsserverinfo.Value)
|
|
polog.Log("Se aduce lista programelor din "+Addbs(cale)+lcServerName+".xml",Program())
|
|
Select cProgrameUpdate
|
|
*!* Parcurgere programe
|
|
Scan
|
|
lcidentifier=cProgrameUpdate.nume
|
|
XmlData=loUpdates.getVersion(Alltrim(lcidentifier)) &&se verifica versiunea
|
|
Select cProgrameUpdate
|
|
If(XmlData#"nu s-a putut conecta" And XmlData#"<>(){}")
|
|
If(Not Compareversion(stripXmlVersion(XmlData),XmlData,Alltrim(lcidentifier),.T.))
|
|
*!* Daca versiunea programului este aceeasi cu cea din xml nu se mai trece in lista
|
|
Delete
|
|
Else
|
|
|
|
*!* modificare v 2.0.6
|
|
*!* Scatter Name oTest Blank
|
|
Scatter Name oTest Fields versiune,imagine
|
|
*!* modificare v 2.0.6 ^
|
|
*UPDATE cProgrameUpdate SET versiune="&lcVersionData" WHERE nume=lcidentifier
|
|
oTest.versiune=stripXmlVersion(XmlData)
|
|
*!* modificare v 2.0.6
|
|
If Not File(oTest.imagine)
|
|
oTest.imagine="na.png"
|
|
Endif
|
|
*!* Gather Name oTest Fields versiune
|
|
Gather Name oTest Fields versiune,imagine
|
|
*!* modificare v 2.0.6 ^
|
|
Endif
|
|
Else
|
|
Delete
|
|
|
|
Endif
|
|
|
|
Endscan
|
|
|
|
*!* Curatari----------------&&|
|
|
Set Default To (lcdefa) &&|
|
|
Go Top &&|
|
|
*!* ---------------------------
|
|
|
|
|
|
****
|
|
Endif
|
|
Else
|
|
*!* ------------------ web
|
|
*-------------------------
|
|
*!* clocalfile=Alltrim(Sys(5))+Alltrim(Curdir())+"temp.txt"
|
|
*!* loUpdate=Createobject("wwCodeUpdate")
|
|
*!* polog.Log("Calea de internet : "+iniHandler.getURL(),Program())
|
|
|
|
If Reccount('crsserverinfo') = 0
|
|
polog.Log("NU s-a gasit tabela Server_Info",Program())
|
|
Else
|
|
lcServerName = Alltrim(crsserverinfo.Value)
|
|
Select cProgrameUpdate
|
|
*!* Parcurgere programe
|
|
Scan
|
|
lcidentifier=cProgrameUpdate.nume
|
|
XmlData=loUpdates.getVersion(Alltrim(cProgrameUpdate.nume)) &&se verifica versiunea
|
|
polog.Log("Se cauta in "+lcServerName+".XML programul : "+Alltrim(lcidentifier),Program())
|
|
If(XmlData#"nu s-a putut conecta" And XmlData#"<>(){}")
|
|
If(Not Compareversion(stripXmlVersion(XmlData),XmlData,Alltrim(lcidentifier),.T.))
|
|
polog.Log("Programul din XML are aceeasi versiune cu programul de pe disc.Nu se mai adauga in lista",Program())
|
|
*!* Daca versiunea programului este aceeasi cu cea din xml nu se mai trece in lista
|
|
Delete
|
|
Else
|
|
polog.Log("Programul din XML este diferit fata de programul de pe disc.Se adauga in lista : "+Alltrim(lcidentifier)+" "+Alltrim(stripXmlVersion(XmlData)),Program())
|
|
Select cProgrameUpdate
|
|
Scatter Name oTest Fields versiune,imagine
|
|
*UPDATE cProgrameUpdate SET versiune="&lcVersionData" WHERE nume=lcidentifier
|
|
oTest.versiune=stripXmlVersion(XmlData)
|
|
If Not File(oTest.imagine)
|
|
oTest.imagine="na.png"
|
|
Endif
|
|
Gather Name oTest Fields versiune,imagine
|
|
Endif
|
|
|
|
Else
|
|
*!* Daca pentru program nu s-a gasit un fisier xml nu se mai verifica versiunea
|
|
*!* se sterge direct din lista
|
|
Delete
|
|
Endif
|
|
*!* /Parcurgere programe
|
|
|
|
Endscan
|
|
Endif
|
|
Endif
|
|
|
|
|
|
Release loUpdates
|
|
Release iniHandler
|
|
Return .T.
|
|
Else
|
|
Return .F.
|
|
Endif
|
|
Endfunc |