static function create($code, $symbol, $locale, $autoRateValue, $customRateValue, $rateFactor, $status = self::STATUS_ACTIVE) { $code = strtoupper($code); $errCode = eZCurrencyData::canCreate($code); if ($errCode === self::ERROR_OK) { $currency = new eZCurrencyData(array('code' => $code, 'symbol' => $symbol, 'locale' => $locale, 'status' => $status, 'auto_rate_value' => $autoRateValue, 'custom_rate_value' => $customRateValue, 'rate_factor' => $rateFactor)); $currency->setHasDirtyData(true); return $currency; } return $errCode; }
static function changeCurrency($oldCurrencyCode, $newCurrencyCode) { $errCode = eZCurrencyData::ERROR_OK; if (strcmp($oldCurrencyCode, $newCurrencyCode) !== 0) { $errCode = eZCurrencyData::canCreate($newCurrencyCode); if ($errCode === eZCurrencyData::ERROR_OK) { $currency = eZCurrencyData::fetch($oldCurrencyCode); if (is_object($currency)) { $db = eZDB::instance(); $db->begin(); $currency->setAttribute('code', $newCurrencyCode); $currency->sync(); eZMultiPriceData::changeCurrency($oldCurrencyCode, $newCurrencyCode); $db->commit(); } else { $errCode = eZCurrencyData::ERROR_UNKNOWN; } } } return $errCode; }
* @package kernel */ $module = $Params['Module']; $ini = eZINI::instance('site.ini'); $error = false; $canEdit = true; $originalCurrencyCode = $Params['Currency']; $currencyParams = array('code' => false, 'symbol' => false, 'locale' => $ini->variable('RegionalSettings', 'Locale'), 'custom_rate_value' => '0.0000', 'rate_factor' => '1.0000'); if ($module->isCurrentAction('Cancel')) { return $module->redirectTo($module->functionURI('currencylist')); } else { if ($module->isCurrentAction('Create')) { if ($module->hasActionParameter('CurrencyData')) { $currencyParams = $module->actionParameter('CurrencyData'); } if ($errCode = eZCurrencyData::canCreate($currencyParams['code'])) { $error = eZCurrencyData::errorMessage($errCode); } else { $error = validateCurrencyData($currencyParams); if ($error === false) { eZShopFunctions::createCurrency($currencyParams); eZContentCacheManager::clearAllContentCache(); return $module->redirectTo($module->functionURI('currencylist')); } } } else { if ($module->isCurrentAction('StoreChanges')) { $originalCurrencyCode = $module->hasActionParameter('OriginalCurrencyCode') ? $module->actionParameter('OriginalCurrencyCode') : ''; if ($module->hasActionParameter('CurrencyData')) { $currencyParams = $module->actionParameter('CurrencyData'); }