Import initial: surse ROASTART + text FoxBin2Prg in arbore
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
This commit is contained in:
222
Programe/updatecheck.prg
Normal file
222
Programe/updatecheck.prg
Normal file
@@ -0,0 +1,222 @@
|
||||
*!* 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
|
||||
Reference in New Issue
Block a user