Applescirpt von Internetseite beziehen

  1. balufreak

    balufreak Thread StarterMacUser Mitglied

    Mitglied seit:
    12.10.2003
    Beiträge:
    1.556
    Zustimmungen:
    28
    Hallo Leute!

    Ich habe ein Applescirpt gemacht, welches in Mail eine Bestimmte Nachricht an verschiedene Empfänger vorbereitet. Diese Empfänger sind dynamisch. Bessergesagt auf einer DB im Internet.

    Ich habe die Möglichkeit diese auszulesen und ein Applescipt zu generieren. Also eine *.php seite welche nur das script als inhalt hat.

    Nun kann ich ein Applescript machen, welches dieses PHP file ausliest (Quelltext) und dies dann auch als Applescipt ausführt?

    Versteht ihr wie ich meine?

    Greets balu
     
    balufreak, 28.04.2005
  2. balufreak

    balufreak Thread StarterMacUser Mitglied

    Mitglied seit:
    12.10.2003
    Beiträge:
    1.556
    Zustimmungen:
    28
    Neue Frage: Wie kann ich den Sourcecode einer Seite in eine Variable Speichern und diesen dann ausführen?
     
    balufreak, 28.04.2005
  3. k3rn3lpanic

    k3rn3lpanicMacUser Mitglied

    Mitglied seit:
    05.04.2005
    Beiträge:
    83
    Zustimmungen:
    0
    Sofern der betreffende Webserver ein Mac ist kannst Du AppleScripts auch direkt als CGIs benutzen. Evtl. ist eine Lösung denkbar, in der Du die PHP-Datei lediglich die Empfängerliste im CSV-Format generieren lässt und per AppleScript dann ausliesst und weiterverarbeitest.

    Was Du auch noch machen könntest:
    Das AppleScript in eine Datei schreiben lassen und per PHP dann ein
    PHP:
    $output = `/usr/bin/osascript [applescript-datei]`;
    machst. Das versetzt Dich in die Lage, die Ausgaben des AppleScripts (also textReturned) im PHP-Skript weiterverarbeiten zu können.

    Beides funktioniert natürlich nur, wenn der Webserver ein Mac ist - wie bereits gesagt.

    Viel Spass :D

    Edit:
    Zu Deiner zweiten Frage:
    Den Inhalt einer Variablen kannst du per eval() ausführen, also bspw:
    PHP:
    $var "echo 'test';"
    eval($var);
    Ausgabe:
    Code:
    test
    Dabei ist allerdings zu bemerken, dass eval die gleiche Zeit benötigt, als wenn ein neues PHP-Skript aufgerufen werden würde. Rasmus Lerdorf sagte mal, dass wenn eval() die Antwort ist, man die Frage überdenken sollte *g*
     
    k3rn3lpanic, 28.04.2005
  4. balufreak

    balufreak Thread StarterMacUser Mitglied

    Mitglied seit:
    12.10.2003
    Beiträge:
    1.556
    Zustimmungen:
    28
    Danke für deine Antwort!
    Aber du hast mich glaube ich nicht ganz verstanden.

    Ich habe eine PHP script welches mir als ausgabe ein Applescript generiert => Quellcode=Applescript nun lese ich diesen Quellcode aus in eine Variable und zwar wie folgt:
    Code:
    tell application "Safari"
    	set theDocument to make new document
    	set URL of theDocument to "http://domain/ordner/applescript.php"
    	delay (5) (* Wartet bis die Seite geladen ist *)
    	set theSource to the source of document 1 as string
    	quit
    end tell
    Nun möchte ich die Variable theSource als Applescript ausführen ohne es zwischenspeichern zu müssen.

    Weisst du jetzt was ich meine?
     
    balufreak, 28.04.2005
  5. k3rn3lpanic

    k3rn3lpanicMacUser Mitglied

    Mitglied seit:
    05.04.2005
    Beiträge:
    83
    Zustimmungen:
    0
    Oh, Verzeihung, hab Dich leider missverstanden. Kann Dir da aber nun leider nicht weiterhelfen :(

    Viel Glück!
     
    k3rn3lpanic, 28.04.2005
  6. balufreak

    balufreak Thread StarterMacUser Mitglied

    Mitglied seit:
    12.10.2003
    Beiträge:
    1.556
    Zustimmungen:
    28
    Kein Problem!

    Habs herausgefunden zwar geht das so:
    Code:
    tell application "Safari"
    	make new document
    	set URL of document 1 to "http://www.domain.de/pfad/zur/datei.php"
    	delay (5) (* Wartet bis die Seite geladen ist *)
    	set theSource to the source of document 1 as string
    	close document 1
    end tell
    run script (theSource)
    Sollte eigentlich selbserklärend sein.
     
    balufreak, 28.04.2005