WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   apache&win: php skript periodisch starten (http://www.wcm.at/forum/showthread.php?t=99758)

Biri 12.06.2003 15:20

apache&win: php skript periodisch starten
 
hi !

ich suche gerade nach einer möglichkeit, den apache dazu zu bringen, ein bestimmtes php-scirpt periodisch
z.B. alle 2 stunden automatisch tu starten.
Das script liest daten aus einer DB, die laufend angeliefert werden und macht dann daruaf basierend etwas.

unter unix gibt's dafür ja einen sog. "cronjob" deamon, bei dem man eintragen kann, was er zu welcher zeit machen soll.

Wisst ihr eine Möglichkeit wie man soetwas mit Win 2000 & apache & php elegant lösen kann ?

1. Überlgung wäre:
php als interpreter (die php.exe) von winat aus starten und das script als parameter übergeben, aber gibts da nicht was "schöneres" ?

fg
-hannes

_m3 12.06.2003 16:33

?????
Apache ist ein Webserver, er reagiert auf eintreffende Request und nicht auf zeitliche Events.
PHP ist eine "nette" Sprache fuer interaktive WebßApplikationen, aber fuer Batch-Bearbeitung ??????

IMHO willst Du Dir
a) die "Geplanten Tasks" anschauen. Das ist ein "Cron fuer Arme" unter Windows
b) Eine andere Sprache als PHP fuer Scripts anschauen, die auf der Kommandzeile laufen. Perl waere hier IMNSHO zu empfehlen. :)

käptn 12.06.2003 16:35

PHP läuft auch auf der Kommandozeile :p

SCNR

frazzz 12.06.2003 16:36

Re: apache&win: php skript periodisch starten
 
Zitat:

Original geschrieben von Biri
hi !

ich suche gerade nach einer möglichkeit, den apache dazu zu bringen, ein bestimmtes php-scirpt periodisch
z.B. alle 2 stunden automatisch tu starten.
Das script liest daten aus einer DB, die laufend angeliefert werden und macht dann daruaf basierend etwas.

unter unix gibt's dafür ja einen sog. "cronjob" deamon, bei dem man eintragen kann, was er zu welcher zeit machen soll.

Wisst ihr eine Möglichkeit wie man soetwas mit Win 2000 & apache & php elegant lösen kann ?

1. Überlgung wäre:
php als interpreter (die php.exe) von winat aus starten und das script als parameter übergeben, aber gibts da nicht was "schöneres" ?

fg
-hannes

das ist kein sogenannter "cronjob" deamon, das ist der cron :motz:
sicher gibt es sowas auch unter win, ist aber nicht wirklich zuverlässig.
am besten du baust einen countdown unter php :D

runterzählen sollte ja immer möglich sein, egal welcher interpreter :(

_m3 12.06.2003 16:46

Zitat:

Original geschrieben von käptn
PHP läuft auch auf der Kommandozeile :p

SCNR

Aber wie ....?
Genau so "toll" wie unter IIS?
:lol:

_m3 12.06.2003 16:48

Re: Re: apache&win: php skript periodisch starten
 
Zitat:

Original geschrieben von frazzz
am besten du baust einen countdown unter php :D

runterzählen sollte ja immer möglich sein, egal welcher interpreter :(

:lol:, klar. Und wer macht
a) immer ein Browserfenster auf, um das Script laufen zu lassen?
b) checkt, dass der IE, in dem die zum Script gehoerige Website laeuft, nicht abstuerzt?

"The right tool for the right job".
Und IMNSHO sind Apache und PHP fuer diese Aufgabe nicht das geeignete Werkzeug.

käptn 12.06.2003 17:32

Zitat:

Original geschrieben von _m3
Aber wie ....?
Genau so "toll" wie unter IIS?
:lol:

<flame>
:rolleyes: Vielleicht solltest du mal dein Defizit an Wissen über PHP etwas reduzieren. :p
</flame>

~

_m3 12.06.2003 18:13

Zitat:

Original geschrieben von käptn

<flame>
:rolleyes: Vielleicht solltest du mal dein Defizit an Wissen über PHP etwas reduzieren. :p
</flame>

~

Mein Wissen ueber PHP ist so gross, dass ich weiss, was fuer ein Sch.. es ist, das reicht. ;)

/me holt seinen Asbestanzug

käptn 12.06.2003 18:22

:motz: :mad2:

Ach ja? :lol:

Wären wir also wieder beim Thema :D

Dann übersiehst' wohl schon aus Betriebsblindheit wie sch* eigentlich Perl ist, hä? ;) :p

:hehe:

~

_m3 12.06.2003 18:31

Zitat:

Original geschrieben von käptn
Dann übersiehst' wohl schon aus Betriebsblindheit wie sch* eigentlich Perl ist, hä? ;) :p
Nein, aber die grosse Vielfalt an Perl-Modulen und die Flexibilitaet von Perl haben mir schon so viel arbeit erspart, dass ich schon zu hause war, als die armen PHP-Coder noch immer im Buero saszen und sich in ihrem "Perl fuer Arme" immer mehr in ihrem Code/HTML Konglomerat verstrickten. :ms:

Ich habe noch nichts gefunden, was in PHP eleganter ginge, als in Perl. Umgekehrt schon.

käptn 12.06.2003 18:38

Zitat:

Original geschrieben von _m3
Ich habe noch nichts gefunden, was in PHP eleganter ginge, als in Perl. Umgekehrt schon.
:roflmao:

Die Beweise für deine jedesmal sachlichen Argumente pro Perl / contra PHP bleiben wohl wie immer wieder aus... :p

Wenn du PHP als eine Art Perl bezeichnest kommt mir das grausen...
Und komm' mir ja nicht wieder mit dem Sch*, dass PHP aus Perl hervorgeht... Wir haben 2003! ;)

Zitat:

Ich habe noch nichts gefunden, was in PHP eleganter ginge, als in Perl. Umgekehrt schon.
:lol: Darüber kann ich wirklich nur lachen... :D s.o. Beweise?

~

_m3 12.06.2003 19:01

Beweise?

1) Fuer jede unterstuetzte Datenbank ein eigenes Modul anstatt einer eleganten Abstraktionsschicht?
Ja klar, es gibt jede menge ZUSAETZLICHER Module, aber wie gut sind die?
DBI/DBD von Perl sind erprobt, funken gut, ... - ich hab unter PHP noc nix vergleichbares und eleganteres gesehen.

2) Regular Expresions
Braucht man in einer textbasierten Welt (HTML, XML, ...) wie einen Bissen Brot.
Unter PHP brauch ich eine eigene Funktionen dafuer, kann die RegExen nicht einmal kommentieren, ...

3) SMTP-Unterstuetzung?
Eine relativ "neue" Sprache und dann brauche ich ein externes Programm zum Mailen? Sind wir in den 80ern? Da haette ich mir doch mehr erwartet.

4) Flexibilitaet
PHP - "PERSONAL HomePage" in der urspruenglichen Intention. Und wirklich weiterentwickelt hat es sich nicht. Fuer Webloesungen mag es ja ganz nett sein, wenn man noch keine ordentliche Sprache gelernt hat, aber mehr wuerde ich damit nicht machen, da wuerde ich noch eher ein VB-Script auf einem Windows-Server schreiben, bevor ich das mit Perl mache.
Unter Perl kann ich Webappliaktionen, GUI-Apps und Kommandozeilenscripts erstellen, alle laufen gleich stabil, gleich performant und mit einer Funktionalitaet, die ihresgleichen sucht. Und wenn ich ein klein wenig aufpasse, brauch ich das script fuer Linux, Windows, VMS, OS/2, AIX, .... ueberhaupt nicht aendern.

5) Erweiterbarkeit
Es gibt kaum eine Funktion, fuer die es nicht auch schon ein Perl-Modul gibt. Ueber ppm oder Bundle::CPAN lassen diese sich BEQUEM UND EINFACH installieren - auch, wenn es Abhaengigkeiten gibt.
Vergleichbares befindet sich fuer PHP bestenfalls im Aufbau.

Und Deine Beweise?


P.S.:
PHP ist aus Perl entstanden. Ich betone das immer wieder, da mir Leute Features als PHP-Features verkaufen wollen, die eigentlich aus Perl kommen.

Philipp 12.06.2003 19:42

Zitat:

Original geschrieben von _m3
Mein Wissen ueber PHP ist so gross, dass ich weiss, was fuer ein Sch.. es ist, das reicht. ;)
:mad2:

Als Autor dieser PHP Beispielscripte glaube ich kaum das du in der Position bist, so über PHP zu reden :rolleyes:

käptn 12.06.2003 20:08

Zitat:

Original geschrieben von _m3
Beweise?
Ja! Wird auch Zeit. Hast du bis jetzt nämlic himmer vorenthalten.

Zitat:

1) Fuer jede unterstuetzte Datenbank ein eigenes Modul anstatt einer eleganten Abstraktionsschicht?
Ja klar, es gibt jede menge ZUSAETZLICHER Module, aber wie gut sind die?

Hm, DBI ist wohl kein ZUSÄTZLICHES Modul, oder was ? :p

Zitat:

2) Regular Expresions
kann die RegExen nicht einmal kommentieren, ...

Sicher darfst (kannst?) du das.

Zitat:

3) SMTP-Unterstuetzung?

Hätte PHP das, würdest du meckern, dass man nicht auf stabile altbewährte Sachen zurückgegriffen hat.

Zitat:

4) Flexibilitaet
Webappliaktionen,
GUI-Apps und
Kommandozeilenscripts

Willst du behaupten, dass das Perl kann, aber PHP nicht?

Zitat:

5) Erweiterbarkeit
blablabla...

Meine Beweise sind tagtäglich auf der ganzen Welt zu beobachten...

Deine Apathie PHP gegenüber muss fast krankhaft sein, denn ich würde verstehen, dass du Perl VB vorziehst, aber umgekehrt?
:rolleyes:

~

Biri 12.06.2003 20:25

noch zum thema ?
 
hi !

erstmal vielen dank für eure antworten/unterstützung - v.a. an diejenigen die mir geholfen haben. :rolleyes:

warum manche soche fragen gleich für einen streit als anlass nehmen müssen ist mir unklar.
ist das nicht bissl lächerlich ? ..."dies ist besser als jenes" - o.k., muss zugeben - früher im kindergarten waren solche streiterein amüsant, aber irgendwann wird das dann doch langweileig, oder ?

genaug damit.

@_m3: ich weiß schon, was apache und php sind. meine web-anwendung verwendet php und apache und u.a. hat sie die aufgabe, daten aus einer db periodisch abzufragen und daraus berechnungen anzustellen und wieder in die db zurückzuschreiben.
natürlich - dazu kann man ein eigenes programm schreiben, aber ich dachte halt, dass es einfacher wäre, das auch gleich via php zu machen, nachdem der "web-anzeige-teil" der appl. in php ist und das gaze vom kunden wartbar sein soll (!) eine db-anbindung, mailfunktionalität, http-protokoll übertragung usw. ist imho. in php viel einfacher zu realisieren, als in einem eigenständigen z.B. C++ programm. btw....perl find ich recht interessant - will ich mir bei gelegenheit näher ansehen.

countdown halt ich für keine lösung. dachte eben eher an ein php skript und irgendeine möglichkeit, dass ich dem apache sage, dass er dieses alle 2 stunden periodisch aufrufen soll.

@käptn: keine idee diesbezütlich ?
...du hast mir ja schon öfter bei meinen php-fragen geholfen. ;)

also wie gsagt - thx für eure unterstützung und seid´s nett zueineander. :)

nochwas: findet ihr, dass asp.net "weiterentwickelter" ist als php ?
einsatzgebiet: web-appl. mit db abfrage für ca. 10000 user.
perl kommt für mein derzeitiges projekt nicht in frage - entscheidung ist bereits für php gefallen. (auch seitens d. kunden)
...ist nur eine frage - bitte keine streiterei deswgen.

fg
-hannes

käptn 12.06.2003 20:35

Biri! :)

Das ist kein Streit!
Das ist ein netter kleiner Flamewar - einer von denen, in welchen m3 immer wieder die alten lauwarmen Argumente aus den Löchern kriechen läßt. :D


Bez. ASP .Net:
Hatten wir die Frage nicht schon mal?
Na jedenfalls würde ich zu ASP.NET raten, wenn du auf Win mit z.B. MSSQL arbeitest.
Was sollte auf MS Technologien performanter sein als MS Technoligien?

Zum Thread:
Cron wär natürlich ideal.
Aber wenn du auf Win arbeitest, solltest du vielleicht einmal den Taskplaner antesten.
UND: du kannst natürlich PHP problemlos auf der Kommandozeile laufen lassen.

~

Biri 13.06.2003 01:42

aso. ;)

hab das mal sagen müssen, weil die diskussion nix mehr mit dem thema des threads zu tun hatte - stimmt, die frage bezügl. asp gabst schon mal, aber meinungen ändern sich ja und ich fands passend weil gerade perl vs. php "diskutiert" wurde...

wg. taskplaner:
also diesen so einstellen, dass der taskplaner alle 2 stunden:
"php.exe meinscript.php" ausführt.

hmmm - wenn das script dann fertig ist, müsst ich den "kommandozeilen php-interpreter" wieder beenden.
kommt sich der auch nicht mit dem apache php modul in die quere ?
welche instanz interpretiert die php befehle, wenn php als apache modul läuft und gleichzeitig die php.exe gestartet wird ?
hmmm - kann nicht einschätzen, ob dieser ansatz gscheit ist...

fg
-hannes

_m3 13.06.2003 08:53

So, nachdem meine "Chefin" mich gestern vom Computer weggezogen hat, bin ich wieder da :D

Zitat:

Original geschrieben von käptn
Hm, DBI ist wohl kein ZUSÄTZLICHES Modul, oder was ? :p
Schon, aber im Gegensatz zu PHP ist Perl auf externe Module ausgelegt - das ist eine Designsache und da finde ich den Perl-Ansatz deutlich eleganter.

ad RegEx-Kommentieren:
RegExen sind zumeist recht komplexe Konstrukte, die in einem professionellen Script Dokumentiert gehoeren. Natuerlich kann ich in PHP vor der preg_match() die RegEx kommentieren, aber so
Code:

  #!/usr/bin/perl -n
  require 5.002;
  use English;
  $RS = '';

  while (
      m{                      # m{foo} is like /foo/, but helps vi's % key

                \b            # first find a word boundary

                (\w+)          # followed by the biggest word we can find
                              # which we'll save in the \1 buffer
                (
                  \s+          # now have some white space following it
                  \1          # and the word itself
                )+            # repeat the space+word combo ad libitum

                \b            # make sure there's a boundary at the end too

      }xgi                    # /x for space/comment-expanded patterns
                              # /g for global matching
                              # /i for case-insensitive matching
  )
  {
      print "dup $1 at paragraph $NR\n";
  }

sieht das doch wesentlich klarer und intuitiver aus, oder?


Zitat:

Hätte PHP das, würdest du meckern, dass man nicht auf stabile altbewährte Sachen zurückgegriffen hat.
Na klar ;) :D
Nein, ernsthaft. Wenn ich sehe, dass Leute einen "legitimen" Massenmailer in PHP implementierne, der Mails an zigtausend Adressen schickt, dreht sich mir der Magen um. a) wird da fuer jedes Mail das externe Programm aufgerufen ("tolle" Performance) und dann wundern sie sich, warum das Script im Browser in ein Timeput laeuft.
Und da frag ich mich dann schon ...

Zitat:

Willst du behaupten, dass das Perl kann, aber PHP nicht?
Nicht so gut, nicht so elegant und nicht so schnell wie Perl.

Zitat:

Meine Beweise sind tagtäglich auf der ganzen Welt zu beobachten...
MS Software wird auch auf der ganzen Welt eingesetzt und die Leute kommen langsam drauf, dass es nicht unbedingt die Beste Loesung ist ;)

Zitat:

Deine Apathie PHP gegenüber muss fast krankhaft sein, denn ich würde verstehen, dass du Perl VB vorziehst, aber umgekehrt?
LOL, so schlimm ist es nicht. Und bevor ich in VB "programmier", greif ich lieber zu JavaScript oder PHP ;)
Wir hatten das Thema eh schon oefter. Ich kenn, wenns hoch kommt, 2 gute PHP-Programmierer, die wissen, was sie tun. Der Rest sind wannabies, deren Scripts ich nicht einmal auf meinen Server laufen lassen wuerde, wenn ich alles gejailt haette.
Aber ich hab kein Problem damit, wenn diese Leute bei PHP bleibe, so bleibt der Standard fuer Perl-Scripts so hoch, wie er jetzt ist.
Aber kapetn: Mit fehlt noch Deine Liste, warum PHP besser als Perl ist (ausser, dass es die geileren Groupies gibt ;) )

@Biri: Wie kaeptn schon sagte, ist nur ein freundlicher Flamewar, no personal harm intended. Dass dafuer Dein Thread herhalten muss, faellt wohl unter Kollateralschaden ;)

Zu Deinem Thread: Wieso sollten sich die Kommandozeile und der Interpreter fuer Apache in die Quere kommen? Als mod fuer Apache laufen ja auch mehrere PHP-Instanzen gleichzeitig.
Und der Kommandozeileinterpreter beendet sich automatisch, wenn das SCript zu Ende ist.

spunz 13.06.2003 09:09

Zitat:

Original geschrieben von Biri
aso. ;)
wg. taskplaner:
also diesen so einstellen, dass der taskplaner alle 2 stunden:
"php.exe meinscript.php" ausführt.


das nette am taskplaner => bei jeder sommer und winterzeitumstellung gehen die jobs nicht mehr => neu einplanen.

das ist natürlich optimal wenn man weltweit über 300 server mit entsprechend vielen jobs hat :mad: :rolleyes:

_m3 13.06.2003 09:33

Hat wer gesagt, dass der Taskplaner brauchbar ist? ;)
Zum Glueck gibts online eine Menge Alternativen. :)

käptn 13.06.2003 10:36

@Biri

Ja, sorry für die Verunstaltung deines Threads :D
Wie m3 schon sagte, kommen sich php(-cli) und mod_php (in deinem Fall php4apache(2).dll) nicht in die Quere.

Wenn du eine aktuelle PHP Version zur Verfügung hast ist auch eine spezielle php.exe für die Kommandozeile vorhanden.

Ich glaub vor 4.3.0 hieß diese Version php-cli.exe.
Die heißt jetzt php.exe und die CGI Version heißt php-cgi.exe.
Was ich damit sagen will, ist dass man für die Kommandozeile die Version nehmen sollte, die dafür vorgesehen ist, also die CLI Variante.

Zitat:

Ob der Ansatz g'scheit is?
Du kannst natürlich auch einen Cron-Job auf deinem WebHost aktivieren, der deinen Server kontaktiert und das entsprechende Script aufruft, nur brauchst dann halt WebSpace mit Cron-Job.
Der Freewaremarkt hat sicher auch was für dich...


@ flaming m3 ;)

Ich hab ja im Gegensatz zu dir nie behauptet, dass Perl sch* ist.
Ich sehe nur keinen Anlass mich damit zu quälen.

Modularität
Eine gewisse Modularität ist doch selbstverständlich, sonst sitzt man irgendwann auf einer Executabgle die alles kann und 60MB wiegt...

RegEx
Auch in PHP steht einem der Modifier x zur Verfügung ;)
Man nimmt sich halt eben das Beste von Perl.

Newsletter
Naja aber dann meistens solche, die sich erst seit 3 Monaten mit PHP beschäftigen und noch überwältigt von den vielen Möglichkeiten sind (und wahrscheinlich nicht mal Google bedienen können :D)

Zitat:

Nicht so gut, nicht so elegant und nicht so schnell wie Perl.
Das kann ja wohl jeder sagen... :p

Microsoft
...ist ein eigenes Kapitel zum diskutieren, aber die Verbreitung haben sie sicher nicht völlig zu unrecht erlangt.

Perl vs VB
Hast du aber selbst geschrieben :p

PHP besser als Perl
...hab ich wie gesagt nicht behauptet.
Und Elegnaz ist wohl eher was subjektives (wenn man gerne in Echtzeit mit RSA verschlüsseltem Code arbeitet, bitte soll er es haben ;))

Datenbanken
Die vorhandene Unterstützung in PHP sucht seinesgleichen. Sie geht von FlatFiles über MySQL bis zu Oracle, ODBC erwähnen wir nur am Rande...
Will man die meiste Performance nimmt man die vorhandenen nativen Methoden.
Hat man gerne ein einheitliches API nimmt man PEAR_DB.
Will man sich nicht um das darunterliegnede DB-Backend kümmern nimmt man PEAR_MDB.
In Zukunft wird auch sicher ext/dbx interessant, da es DB-Abstraktion in C implementiert und auch dementsprechend performant sein sollte.

SMTP
There's more than one way...

Groupies
...dazu ist alles gesagt worden :D

Flexibilität
Zu sagen, dass sich PHP nicht von "Personal HomePage" weiterentwickelt hätte, kann ich nur als Bosheit oder Unwissenheit einstufen.

Hoffentlich gehst du mit deiner engstirnigen, sturen Einstellung nicht in Pension ;) :D

:hehe:

~

spunz 13.06.2003 10:40

Zitat:

Original geschrieben von _m3
Hat wer gesagt, dass der Taskplaner brauchbar ist? ;)
Zum Glueck gibts online eine Menge Alternativen. :)

ich bitte um eine alternative die auch als service läuft und nix kostet.

cron.exe, winat,... alles schon probiert => schaß

Biri 13.06.2003 12:18

Zitat:

Groupies
...dazu ist alles gesagt worden
na, da bin ich aber anderer meinung ! ;)

es wurde noch nicht gesagt:
- wo findet man die groupie-girls ?
- im php handbuch fehlen sämtliche verweise auf solche (wie das bei perl ist, weiß ich nicht)
- muss man php programmierer sein, um sich mit denen vergnügen zu dürfen ?

zweckdienliche hinweise erbeten ! :)

sonst: thx für die hilfe - werd das mit taskplaner (welchem auch immer) und php.exe mal ausprobieren.

fg
-hannes

Sloter 13.06.2003 12:20

Zitat:

Original geschrieben von _m3
Nein, ernsthaft. Wenn ich sehe, dass Leute einen "legitimen" Massenmailer in PHP implementierne, der Mails an zigtausend Adressen schickt, dreht sich mir der Magen um. a) wird da fuer jedes Mail das externe Programm aufgerufen ("tolle" Performance) und dann wundern sie sich, warum das Script im Browser in ein Timeput laeuft.
Und da frag ich mich dann schon ...

Nicht so gut, nicht so elegant und nicht so schnell wie Perl.


Das ist wie beim Achterbahn fahren, warum sich dein Magen umdreht.
Wegen dem Speed :D
Der SMTP läuft und muß nicht extra gestartet werden.
Wenn keine persönliche Anrede oder wechselnder Text in den Mails vorkommt, kann man mit bc wunderbar auf einmal 1000 und mehr Adressen übergeben.
Da flutschen die Mails wie die Sau :)

Aber auch wenn man individuelle Mails in Massen versenden will, kann man da ordentlich was optimieren. Nehmen wir ein Beispiel mit 1Mio Empfänger (durchaus denkbar mit der Funktion "mail"). Es wird ein Overhead erzeugt für die individuellen Teile der Mail. In diesem Fall ist der Performance sehr gut. Denn es muss nichts mehr generiert werden, oder einzelne Daten aus der DB gesucht werden. Es gibt eine gut indizierte und performanceoptimierte Overhead-Tabelle, wo man nur mehr, ohne großen Rechenaufwand Daten ausliest. Die Assemblierung der Mailtexte ist somit äußerst schnell...
Aber wenn es zu viele Mailadressen werden, ist es in punkto Performance wieder besser, wenn man die Funktion z.B. 100mal mit 1000Adressen aufruft. Und einen Refresh macht man nach allen 10 Aufrufen. Bei einer ganz professionellen Lösung wird auch die Zeit gemessen und erst kurz vor einem Timeout ein Refresh durchgeführt, was die Performance natürlich wieder steigert.

Da geht die Sau ab mit PHP :D

/me sitzt im Bunker mit Vollaspestanzug und schaut durch kleines Fenster :)

Sloter

käptn 13.06.2003 12:26

:D Groupies:

Biri 13.06.2003 15:56

:roflmao::roflmao::roflmao:

endlich mal ein lichtblick an diesem (fürs im bürositzen) viel zu heißem tag !!
na, _m3 - gibt's die auch mit perl laiberl ? ;)

hab da mal ein bild ghabt, wo eine frau ein top anhat, auf dem ein bluescreen abgebildet ist...finds jetzt leida net.

fg
-hannes


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag