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(); } } }
/** * 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; }
/** * 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; }
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; }
<?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; }