Programmaktualität checken von ??? |
Der Code besteht aus 2 Teilen, einmal einem PHP Script und einer BB includedatei (wer hätte es gedacht ?). Zur benutzung : in der update.php muss man nur seine Programme und die dazugehörigen Versionen eintragen - dabei ist es egal wieviele Progs man eingibt, was den Vorteil hat, daß man nur eine zentrale datei für all seine Programme zu warten hat. Als nächstes stellt man sich die Variablen ein, die in der BB Datei sind... sollte alles verstndlich sein denke ich... Danach muss man nur noch die BB Datei ins Projekt includen und an gegebener stelle nur den Aufruf askupdate() starten - aber man muss beachten, daß dieser direkt eine Message zurückgibt ... also sollte man print askmesage() oder sonstwas machen daß die message auffängt... So, nun der Code : Update.bb [code:1:dd66736eb8] ;Updatescript ;Fragt den Server mit hilfe eines PHP Scripts ab, ob eine neuere Version vorhanden ist. ;Danke für den Macher vom Iscore Script, das hat gut weitergeholfen =) ;######################################### ; Variablen die eingestellt werden müssten ;######################################### ;Programm Global thisversion$ = "0.0.1" Global thisprogram$ = "updatescript" ;Server Global domain$ = "www.shalmirane.de" ;ohne abschließendes Slash ! ;User einstellungen Global aktuellmsg$ = "Das Programm ist aktuell." Global nichtaktuellmsg$ = "Das Programm ist nicht mehr aktuell." Global nichtconnected$ = "Bitte verbindung zum Internet herstellen." ;######################################### ;Der Code ;######################################### Function Askupdate$() Local returnstring$ online=OpenTCPStream(domain$,80) If online req$="update.php?name="+thisprogram$+"&ver="+thisversion$ ; Request an das Serverscript schicken WriteLine online,"GET /"+req$+" HTTP/1.1" WriteLine online,"Host: "+domain$ WriteLine online,"User-Agent: BBupdatescript" WriteLine online,"Accept: */*" WriteLine online,"" ; Daten empfangen Repeat ; Jetzt wird der Header überlesen trash$=Trim(ReadLine(online)) Until Left(trash$,7)="(start)" Or Eof(online) ; Score lesen in$=Trim(ReadLine(online)) CloseTCPStream online Returnstring$ = in$ Else Returnstring$ = 3 EndIf Select returnstring$ Case 1 : Return aktuellmsg$ Case 0 : Return nichtaktuellmsg$ Case 3 : Return nichtconnected$ End Select End Function [/code:1:dd66736eb8] und als nächstes die update.php [code:1:dd66736eb8] <?php /** Programme und aktuelle Versionsinformationen Die programme sind in einem Array angelegt und müssen bei 0 beginnen. Die Menge ist egal, obwohl es nicht mehr als rund 20k sein sollten wenns irgendwie geht, weil sonst gibts Probs mit der performance ;) Ich denke zu dem zeugs untern muss ich nciht weiter viel erklären, da es selbst für Leute ganz ohne PHP erfahrung klar sein dürfte was das ist :) Achtung : - Programm[1] und [2] sind auskommentiert... - Abschließendes Semikolon nicht vergessen - program[x] und $version[x] sollten... mit thisprogram und $thisversion übereinstimmen **/ $program[0] = "updatescript"; $version[0] = "0.0.1"; //$program[1] = "ein zweites programm"; //$version[1] = "0.0.0"; //$program[2] = "Ein Drittes Programm"; //$version[2] = "1.6.2"; $x=-1; foreach ($program as $var) { $x++; if ($var == $name) { if ($version[$x] == $ver) { echo "(start) 1 (stop)"; }else { echo "(start) 0 (stop)"; } } } ?> [/code:1:dd66736eb8] Viel Spaß damit Nachtwind |