Subversion Repositories cheapmusic

Rev

Rev 9 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 - 1
<?php
5 - 2
$rateFile = "exchangeRates.php";
1 - 3
 
5 - 4
if (is_file($rateFile)) {
5
	$diff = (time() - filemtime($rateFile)) / 86400;
16 - 6
	echo "$rateFile last modified " . $diff . " days ago." . PHP_EOL;
5 - 7
	if ($diff < 0.9) {
16 - 8
		echo "Exiting - File too new." . PHP_EOL;
9
		exit(1);
5 - 10
	}
11
}
1 - 12
 
5 - 13
$str = '<?php' . PHP_EOL;
14
$str .= 'function getExchangeRate($source, $target) {' . PHP_EOL;
15
$str .= '  $currencyRates = array (' . PHP_EOL;
1 - 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
  */
5 - 33
$str .= retrieveRates("USD");
1 - 34
 
5 - 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;
1 - 48
 
5 - 49
if (is_file($rateFile)) {
50
	rename($rateFile, $rateFile . ".old");
51
}
1 - 52
 
5 - 53
file_put_contents($rateFile, $str);
16 - 54
echo "$rateFile updated." . PHP_EOL;
5 - 55
exit(0);
1 - 56
 
5 - 57
function retrieveRates($source)
58
{
59
	$accessKey = "9ca495b56281a691775f8b289e586f8f";
60
	$apiCall = "http://apilayer.net/api/live?access_key=" . $accessKey . "&source=";
61
 
62
	$json = file_get_contents($apiCall . $source);
63
	$json = json_decode($json);
1 - 64
 
5 - 65
	if ($json->success !== true) {
16 - 66
		echo "CurrencyLayer Error (" . $source . "): " . $json->error->code . " / " . $json->error->info . PHP_EOL;
67
		echo "Exiting." . PHP_EOL;
68
		exit(2);
5 - 69
	}
1 - 70
 
5 - 71
	$str = '    "' . $source . '" => array (' . PHP_EOL;
1 - 72
 
5 - 73
	foreach ($json->quotes as $symbol => $quote) {
74
		$str .= '          "' . substr($symbol, 3) . '" => ' . $quote . ',' . PHP_EOL;
75
	}
1 - 76
 
5 - 77
	$str .= '    )' . PHP_EOL;
1 - 78
 
5 - 79
	return ($str);
80
}
16 - 81
?>