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



Suche:
(unterstützt mySQL Wildcards ala %)
Titel:
Text:
Autor: