<?php
/**
 *        
 *
 *         currency calculator
 *
 *         @package    default
 *        @author     starenka <oggova@starenka.net>
 *        @copyright  starenka 2008
 *        @since      Thu Feb 14 00:56:00 CET 2008
 *        @internal   charset: utf-8
 *        @internal    PHP ver: 5+
 *        @version    1.0
 *
 */

/**
 * currency calculator
 *
 * @param int $amount - amount of money of src currency
 * @param string $src - source currency f.e EUR,USD,CZK
 * @param int $tar - target currency
 * @return double|false
 * 
 * 
 * for futher currency list see 
 * @link http://www.cnb.cz/cs/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.txt?date=dd.mm.yyyy
 */

var_dump(get_xrate(100,'CZK','EUR'));

function 
get_xrate($amount,$src,$tar)
{
    if(
$src == 'CZK' && $tar =='CZK') return $amount;

    
$cache './cache/cnb_'.date('dmY');
    if(!
$data = @file($cache))
    {
        
$uri 'http://www.cnb.cz/cs/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.txt?date='.date('d.m.Y');
        if(!
$data file($uri)) return false;
        else 
        {
            
$fh = @fopen($cache,'w+');
            @
fwrite($fh,implode("\n",$data));
            @
fclose($fh);
        }
    }

    
$data array_slice($data,2);
    
$struct = array();
    foreach (
$data as $item)
    {
        
$t explode("|",$item);
        
$struct[$t[3]] = array('amount'=>$t[2],'rate'=>str_replace(',','.',$t[4]));
    }

    if(
$src != 'CZK'$inczk = (double)$amount/$struct[$src]['amount']*$struct[$src]['rate'];
    else 
$inczk $amount;
    if(
$tar != 'CZK'$div = (double)$struct[$tar]['rate']*$struct[$tar]['amount'];
    else 
$div 1;

    return (double)
$inczk/$div;
}

function 
grab_url($url)
{
    
$content "";
    
$ch curl_init ();
    
curl_setopt ($chCURLOPT_RETURNTRANSFER1);
    
curl_setopt ($chCURLOPT_URL$url);
    
curl_setopt ($chCURLOPT_TIMEOUT60);
    
$content curl_exec ($ch);
    
curl_close ($ch);
    return(
$content);
}



?>