Subversion Repositories cheapmusic

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 - 1
<?php
2
  $rateFile = "exchangeRates.php";
3
 
4
  if (is_file($rateFile)) {
5
    $diff = (time() - filemtime($rateFile)) / 86400;
6
    echo "<br>$rateFile last modified " . $diff . " days ago.";
7
    if ($diff < 0.9) {
8
      echo "<br>Exiting - File too new.";
9
      exit(0);
10
    }
11
  }
12
 
13
  $str = '<?php'. PHP_EOL;
14
  $str .= 'function getExchangeRate($source, $target) {'. PHP_EOL;
15
  $str .= '  $currencyRates = array ('. PHP_EOL;
16
 
17
/*
18
  $str .= retrieveRates("AUD");
19
  $str .= ','. PHP_EOL;
20
  $str .= retrieveRates("CAD");
21
  $str .= ','. PHP_EOL;
22
  $str .= retrieveRates("CNY");
23
  $str .= ','. PHP_EOL;
24
  $str .= retrieveRates("EUR");
25
  $str .= ','. PHP_EOL;
26
  $str .= retrieveRates("GBP");
27
  $str .= ','. PHP_EOL;
28
  $str .= retrieveRates("HKD");
29
  $str .= ','. PHP_EOL;
30
  $str .= retrieveRates("INR");
31
  $str .= ','. PHP_EOL;
32
  */
33
  $str .= retrieveRates("USD");
34
 
35
  $str .= '  );' . PHP_EOL;
36
  $str .= '' . PHP_EOL;
37
  $str .= '  $rate = 1;' . PHP_EOL;
38
  $str .= '' . PHP_EOL;
39
  $str .= '  if (array_key_exists($source, $currencyRates)) {' . PHP_EOL;
40
  $str .= '    if (array_key_exists($target, $currencyRates[$source])) {' . PHP_EOL;
41
  $str .= '          $rate = $currencyRates[$source][$target];' . PHP_EOL;
42
  $str .= '    }' . PHP_EOL;
43
  $str .= '  }' . PHP_EOL;
44
  $str .= '' . PHP_EOL;
45
  $str .= '  return($rate);' . PHP_EOL;
46
  $str .= '}' . PHP_EOL;
47
  $str .= '?>' . PHP_EOL;
48
 
49
  if (is_file($rateFile)) {
50
    rename($rateFile, $rateFile . ".old");
51
  }
52
 
53
  file_put_contents($rateFile, $str);
54
  echo "<br>$rateFile updated.";
55
  exit(0);
56
 
57
 
58
 
59
  function retrieveRates($source) {
60
    $response = '{"success":true,"terms":"https:\/\/currencylayer.com\/terms","privacy":"https:\/\/currencylayer.com\/privacy","timestamp":1556135045,"source":"USD","quotes":{"USDAED":3.672988,"USDAFN":77.597501,"USDALL":110.450155,"USDAMD":481.765027,"USDANG":1.875039,"USDAOA":321.14302,"USDARS":43.940475,"USDAUD":1.42563,"USDAWG":1.8,"USDAZN":1.704964,"USDBAM":1.744902,"USDBBD":2.0016,"USDBDT":84.381976,"USDBGN":1.754799,"USDBHD":0.37707,"USDBIF":1832.5,"USDBMD":1,"USDBND":1.350497,"USDBOB":6.91025,"USDBRL":3.98525,"USDBSD":1.00015,"USDBTC":0.000184,"USDBTN":69.38201,"USDBWP":10.717978,"USDBYN":2.10085,"USDBYR":19600,"USDBZD":2.015697,"USDCAD":1.348145,"USDCDF":1634.999792,"USDCHF":1.02069,"USDCLF":0.024394,"USDCLP":673.100423,"USDCNY":6.721896,"USDCOP":3216.3,"USDCRC":598.520031,"USDCUC":1,"USDCUP":26.5,"USDCVE":98.762501,"USDCZK":23.0746,"USDDJF":177.719868,"USDDKK":6.69357,"USDDOP":50.62502,"USDDZD":119.589528,"USDEGP":17.17603,"USDERN":15.000262,"USDETB":28.930162,"USDEUR":0.89645,"USDFJD":2.1359,"USDFKP":0.77288,"USDGBP":0.77482,"USDGEL":2.704144,"USDGGP":0.774961,"USDGHS":5.116705,"USDGIP":0.772881,"USDGMD":49.585042,"USDGNF":9225.000049,"USDGTQ":7.62025,"USDGYD":210.254998,"USDHKD":7.842625,"USDHNL":24.529903,"USDHRK":6.65535,"USDHTG":85.715968,"USDHUF":288.392026,"USDIDR":14164,"USDILS":3.618402,"USDIMP":0.774961,"USDINR":70.021298,"USDIQD":1190,"USDIRR":42104.999958,"USDISK":121.920212,"USDJEP":0.774961,"USDJMD":133.140351,"USDJOD":0.709012,"USDJPY":112.227023,"USDKES":101.520214,"USDKGS":69.769475,"USDKHR":4042.000175,"USDKMF":439.850439,"USDKPW":900.057079,"USDKRW":1157.270119,"USDKWD":0.304301,"USDKYD":0.83336,"USDKZT":378.220276,"USDLAK":8619.999915,"USDLBP":1510.950196,"USDLKR":174.89594,"USDLRD":167.750206,"USDLSL":14.410127,"USDLTL":2.95274,"USDLVL":0.60489,"USDLYD":1.379876,"USDMAD":9.664498,"USDMDL":17.850502,"USDMGA":3572.501786,"USDMKD":55.075502,"USDMMK":1529.401476,"USDMNT":2640.890169,"USDMOP":8.0779,"USDMRO":356.99953,"USDMUR":35.051499,"USDMVR":15.449861,"USDMWK":726.979416,"USDMXN":19.05955,"USDMYR":4.130302,"USDMZN":64.714995,"USDNAD":14.420349,"USDNGN":360.000121,"USDNIO":33.020252,"USDNOK":8.641898,"USDNPR":111.760302,"USDNZD":1.517335,"USDOMR":0.385105,"USDPAB":0.99995,"USDPEN":3.31655,"USDPGK":3.360976,"USDPHP":52.270308,"USDPKR":141.590534,"USDPLN":3.85031,"USDPYG":6254.701107,"USDQAR":3.64125,"USDRON":4.264501,"USDRSD":105.779609,"USDRUB":64.3639,"USDRWF":907.5,"USDSAR":3.750601,"USDSBD":8.12775,"USDSCR":13.683979,"USDSDG":47.612495,"USDSEK":9.430103,"USDSGD":1.362305,"USDSHP":1.320899,"USDSLL":8800.000375,"USDSOS":579.999762,"USDSRD":7.458014,"USDSTD":21050.59961,"USDSVC":8.7502,"USDSYP":514.999924,"USDSZL":14.419666,"USDTHB":32.05303,"USDTJS":9.430098,"USDTMT":3.5,"USDTND":3.016703,"USDTOP":2.274601,"USDTRY":5.881035,"USDTTD":6.78915,"USDTWD":30.90804,"USDTZS":2305.000114,"USDUAH":26.580964,"USDUGX":3740.050173,"USDUSD":1,"USDUYU":34.459876,"USDUZS":8435.00058,"USDVEF":9.987504,"USDVND":23217.8,"USDVUV":114.629871,"USDWST":2.616951,"USDXAF":585.180322,"USDXAG":0.066887,"USDXAU":0.000784,"USDXCD":2.70255,"USDXDR":0.723949,"USDXOF":591.000366,"USDXPF":107.000217,"USDYER":250.29681,"USDZAR":14.43975,"USDZMK":9001.196467,"USDZMW":12.525002,"USDZWL":322.355011}}';
61
    $accessKey = "9ca495b56281a691775f8b289e586f8f";
62
    $apiCall = "http://apilayer.net/api/live?access_key=" . $accessKey . "&source=";
63
 
64
    $json = file_get_contents($apiCall . $source);
65
    $json = json_decode($json);
66
    //$json = json_decode($response);
67
 
68
    if ($json->success !== true) {
69
        echo "<br>CurrencyLayer Error (" . $source . "): " . $json->error->code . " / " . $json->error->info;
70
        echo "<br>Exiting.";
71
        exit(0);
72
    }
73
 
74
    $str = '    "' . $source . '" => array ('. PHP_EOL;
75
 
76
    foreach($json->quotes as $symbol => $quote) {
77
      $str .= '          "' . substr($symbol, 3) . '" => ' . $quote . ','. PHP_EOL;
78
    }
79
 
80
    $str .= '    )' . PHP_EOL;
81
 
82
    return($str);
83
  }
84
 
85
?>