예제 #1
0
    static function createPriceListForCurrency( $currencyCode )
    {
        $db = eZDB::instance();

        $dataList = false;
        $insertSql = 'INSERT INTO ezmultipricedata(contentobject_attr_id, contentobject_attr_version, currency_code, type)';

        $fetchCount = self::FETCH_DATA_LIST_LIMIT;
        $db->begin();
        while( $fetchCount === self::FETCH_DATA_LIST_LIMIT  )
        {
            $dataList = eZMultiPriceData::fetchDataListWithoutPriceInCurrency( $currencyCode, $fetchCount );
            $fetchCount = count( $dataList );

            $currencyCode = $db->escapeString( $currencyCode );
            foreach ( $dataList as $data )
            {
                $sql = $insertSql . "
                               VALUES( {$data['contentobject_attr_id']}, {$data['contentobject_attr_version']}, '$currencyCode', " . self::VALUE_TYPE_AUTO . " )";
                $db->query( $sql );
            }
        }
        $db->commit();
    }
예제 #2
0
 function createPrice($currencyCode, $value, $type)
 {
     if (is_object($this->ContentObjectAttribute) && $this->currencyByCode($currencyCode)) {
         return eZMultiPriceData::create($this->ContentObjectAttribute->attribute('id'), $this->ContentObjectAttribute->attribute('version'), $currencyCode, $value, $type);
     }
     return false;
 }
예제 #3
0
 static function updateAutoprices()
 {
     return eZMultiPriceData::updateAutoprices();
 }
                    }
                }
                $cli->output('.', false);
                ++$convertedObjectsCount;
            }
        }
        $cli->output(' ');
    }
}
// create/update autoprices.
if (is_array($currencyList)) {
    $cli->output("Updating autoprices.");
    foreach ($currencyList as $currencyCode => $currency) {
        eZMultiPriceData::createPriceListForCurrency($currencyCode);
    }
    eZMultiPriceData::updateAutoprices();
}
$db->commit();
eZContentCacheManager::clearAllContentCache();
$cli->output("Total converted objects: {$convertedObjectsCount}");
$cli->output("Done.");
$script->shutdown(0);
function currencyForLocale($localeString = false)
{
    global $cli;
    global $currencyList;
    $currency = false;
    if ($currencyList === false) {
        $currencyList = eZCurrencyData::fetchList();
    }
    $locale = eZLocale::instance($localeString);