Ejemplo n.º 1
0
 protected function addToCollection($currencyParams, $currencyCollection)
 {
     $currencyObj = new Currency();
     $currencyObj->setSource($currencyParams['source']);
     $currencyObj->setType($currencyParams['type']);
     $currencyObj->setCode($currencyParams['code']);
     $currencyObj->setName($currencyParams['name']);
     $currencyObj->setPrice(floatval(str_replace(',', '.', $currencyParams['price'])));
     $currencyCollection->add($currencyObj);
 }
 protected function getCurrencies()
 {
     $wikipedia = $this->web->get(sfConfig::get('app_source_currencies'), null, array('User-Agent' => 'Steve Lacey <*****@*****.**>', 'Cache-Control' => 'no-cache'));
     $xml = new SimpleXMLElement($wikipedia->getResponseText());
     $article = $xml->page->revision->text;
     $table = substr($article, strpos($article, '{|'), strpos($article, '|}') - strpos($article, '{|'));
     foreach (explode('-| ', str_replace(array('[', ']', "\n"), '', $table)) as $row) {
         $row = explode(' || ', trim($row, '| '));
         if (isset($row[2], $row[4]) && is_numeric($row[2])) {
             $currency = new Currency();
             $currency->setCode(sfConfig::get('app_currency_alias_' . $row[0], $row[0]));
             $currency->setNumber($row[1]);
             $currency->setDigits(ceil($row[2]));
             $currency->setName($row[3]);
             $currency->save();
         }
     }
 }
Ejemplo n.º 3
0
 /**
  * Total of order including postage
  *
  * @return Decimal
  */
 public function getTotal()
 {
     $return = new Currency();
     $return->setName("Total");
     $total = $this->getSubTotal()->RAW() + $this->getPostage()->RAW() - $this->DiscountAmount + $this->getTaxTotal()->RAW();
     $return->setValue($total);
     $this->extend("updateTotal", $return);
     return $return;
 }
Ejemplo n.º 4
0
 /**
  * Internal function to return a Currency object from a row.
  * @param $row array
  * @return Currency
  */
 function &_returnCurrencyFromRow($codeAlpha, &$entry)
 {
     $currency = new Currency();
     $currency->setCodeAlpha($codeAlpha);
     $currency->setName($entry[0]);
     $currency->setCodeNumeric($entry[1]);
     HookRegistry::call('CurrencyDAO::_returnCurrencyFromRow', array(&$currency, &$codeAlpha, &$entry));
     return $currency;
 }
Ejemplo n.º 5
0
 public function getAll2()
 {
     $currencies = array();
     foreach ($this->data as $currencyCode => $definition) {
         $fractionDigits = isset($definition['fraction_digits']) ?: 2;
         $currency = new Currency();
         $currency->setCurrencyCode($definition['code']);
         $currency->setName($definition['name']);
         $currency->setSymbol($definition['symbol']);
         $currency->setNumericCode($definition['numeric_code']);
         $currency->setFractionDigits($fractionDigits);
         $currencies[$currencyCode] = $currency;
     }
     return $currencies;
 }
Ejemplo n.º 6
0
<?php

include dirname(__FILE__) . '/bootstrap.php';
$con = Propel::getConnection();
$currencies = new SimpleXMLElement(file_get_contents(dirname(__FILE__) . '/iso4217_currencies.xml'));
$tbl = $currencies->CcyTbl;
$entries = $tbl->CcyNtry;
$done = [];
foreach ($entries as $entry) {
    if (isset($done[(string) $entry->Ccy])) {
        continue;
    }
    $minorUnit = (string) $entry->CcyMnrUnts;
    if (is_numeric($minorUnit)) {
        $minorUnit = intval($minorUnit);
    } else {
        $minorUnit = 0;
    }
    $currency = new Currency();
    $currency->setName((string) $entry->CcyNm)->setAlphabeticCode((string) $entry->Ccy)->setNumericCode((string) $entry->CcyNbr)->setMinorUnit($minorUnit)->save($con);
    $done[(string) $entry->Ccy] = true;
}