Waehrungsabgleich

reddwarf

Sehr aktives Mitglied
1. Oktober 2009
1.561
6
Hallo,

in meinem XTC Shop habe ich ein kleines Script am laufen, dass die Waehrungen abgleicht.
Das wird jeden Tag durch einen Cronjob abgerufen und die Waehrungen sind immer aktuell.
In JTL muss ich mich selber darum kuemmern....das muss doch einfacher gehen.
Ich haenge hier mal das Script an.
Sowas muesste man doch ganz einfach auf JTL umschreiben koennen....denke ich mit meinem ungesunden Halbwissen im Bereich Datenbanken.....

Code:
<?

include ('includes/application_top.php');

$WE_DOMAIN        = "www.xe.com";
$WE_URL            = "/wap/1qr/eur.wml";
$waehrungs         = array("USD","GBP");

// Functions

    function array_search_extended($str_search,$file)
        {
        foreach($file as $line)
        {
           if (strpos($line, $str_search)!== FALSE)
           {
                 return array_search($line,$file);
           }
        }
        return false;
     }
        
    function pimp_src($txt)
    {
        $txt= strip_tags($txt);
        $txt = str_replace("\t","",$txt);
        $BFdataBufferAry = explode("\n",$txt);
        
        $BFdataBuffer = Array();
        
        for($ii=0; $ii<count($BFdataBufferAry); $ii++) {
            if(chop(trim($BFdataBufferAry[$ii]))!="" && chop(trim($BFdataBufferAry[$ii]))!="!" && chop(trim($BFdataBufferAry[$ii]))!="&nbsp;") {
                array_push($BFdataBuffer,$BFdataBufferAry[$ii]);
            }
        }
        return ($BFdataBuffer);
    }
    
    function get_kurs($waehrung, $data){
        
        $kurs= explode(" ",$data[array_search_extended($waehrung,$data)]);
        return $kurs[count($kurs)-2];    
    }

// Main

require_once( DIR_FS_INC.'http.inc.php' );

$http_client = new http( HTTP_V11, false );
$http_client->host = $WE_DOMAIN;
    
    if ($http_client->get($WE_URL) == HTTP_STATUS_OK)
    {
        $RTNgetData=$http_client->get_response_body();        
        $data = pimp_src($RTNgetData);
        
        // db querry oder testausgabe. zum testen kann der db querry auskommentiert werden und das echo aktiviert werden. dann das script aufrufen
        foreach ($waehrungs as $waehrung) {
            xtc_db_query("UPDATE currencies SET value = '".get_kurs($waehrung,$data)."' WHERE code ='".$waehrung."'");
            //echo get_kurs($waehrung,$data)."&nbsp;".$waehrung."<br />";
        }
        
    }
?>

Das Script holt sich die Umrechnungskurse und schreibt sie in die Datenbank.
Vielleicht kann das ja jemand fuer JTL umschreiben?
Koennte man ja so einrichten, dass der Shop die Daten aktualisiert und JTL das da ausliest?
Dann waere das auch eine Mysql DB.....

Naja, wuerde mich ueber response freuen.

Gruss,
Mario
 

reddwarf

Sehr aktives Mitglied
1. Oktober 2009
1.561
6
AW: Waehrungsabgleich

so, den Inhalt der http.inc.php hatte ich vergessen.
Diese wird ja vom Script aufgerufen:

zu gross, passt nicht.

php's kann man nicht anhaengen.

Wie kriege ich die Datei hoch?

so, das wars aber. Damit kann man die Waehrungen abgleichen.

Gruss Mario
 

Dealux-GmbH

Sehr aktives Mitglied
5. März 2007
8.676
7
Düsseldorf
AW: Waehrungsabgleich

Hallo,

vorerst wird es das erst mal nicht geben. Wenn da mal was nicht klappt und jemand dadurch viel Geld verliert, hat JTL dann die Anwälte im Haus und wird dafür verantwortlich gemacht.

Wenn würde so was ja dann über die WaWi laufen, da dort ja der Umrechnungskurs ja eingegeben wird.
 

reddwarf

Sehr aktives Mitglied
1. Oktober 2009
1.561
6
AW: Waehrungsabgleich

Achso, wenn also jemand das manuelle Abgleichen vergisst, oder sich vertippt, ist er selber Schuld und JTL ist aus dem Schneider......
Seltsame Politik......
Vielleicht sollte man darueber nachdenken, die Werbung fuer JTL von Multiwaehrungsfaehigkeit zu befreien. Wirklich praktikabel ist das naemlich nicht.
 

reddwarf

Sehr aktives Mitglied
1. Oktober 2009
1.561
6
AW: Waehrungsabgleich

Da wuerde ja eine kleine Fehlermeldung reichen, oder?
Und ich hab auch lieber den Kurs von gestern da drin, als einen handgeschriebenen. Da sehe ich durchaus das groessere Fehlerpotential.
Mal ganz abgesehen davon, dass es sicher auch mal vergessen wird, die Kurse manuell anzugleichen.
Mein Zencartshop hat das ganz alleine gemacht, der XTC kann das mit dem kleinen Script.....und JTL will sowas nicht einbauen? Das finde ich seltsam.
Wo man doch mit den tollen Sprachen und Waehrungen wirbt.
Man koennte das ja auch als "auf eigene Gefahr" anbieten. Manuell nachbessern kann man schliesslich immer noch. Aber jeden Tag selber die Kurse eintragen finde ich nicht wirklich praktisch.
 

pulsum

Aktives Mitglied
30. Oktober 2006
240
0
AW: Waehrungsabgleich

Da fehlt auch noch der Inahlt der "application_top.php".

Ich denke da gibts zunächst noch andere Dinge, die evtl. Vorrang haben könnten, bzw. sollten ;)
 

reddwarf

Sehr aktives Mitglied
1. Oktober 2009
1.561
6
AW: Waehrungsabgleich

Naja, die application_top.php ist nur eine php, die in jeder Seite drin steckt.
Kann man auch in den footer einbauen.
Wichtiger ist sicher die http.inc.php. Die ist aber zu gross zum anhaengen.
Ich bin aber sicher, dass sich das leicht an den JTL Shop bzw. an die Wawi anpassen laesst.
Geht ja nur um die Abfrage von xe.com und den Uebertrag in die DB.
Die Abfrage ist die gleiche, nur die DB ist anders.
Bin ich wirklich der einzige, der auch ins Ausland verkauft? Oder tragt Ihr tatsaechlich gern manuell Wechselkurse ein?
UK ist einer meiner besten Kunden, die kaufen nicht in Eu ein. Die wollen in GBP bezahlen.
Und der Rest der Welt zahlt in Dollar.....
Mit der xe.com Abfrage und der Ameise laesst sich da sicher auch was basteln.
Ich hab da leider nicht genug Ahnung von, sonst wuerd ichs selber bauen.
Wenn jemand Interesse hat, verschicke ich http.inc.php und application_top auch gern per Email.

Gruss Mario