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;
 }
示例#2
0
 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');
            }