⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 currency.php

📁 Bug tracker, and reporter.
💻 PHP
📖 第 1 页 / 共 2 页
字号:
        if (($currency === null) and ($locale === null)) {            return $this->_options['symbol'];        }        $params = self::_checkParams($currency, $locale);        //get the symbol        $symbol = Zend_Locale_Data::getContent($params['locale'], 'currencysymbol', $params['currency']);        if (empty($symbol)) {            $symbol = Zend_Locale_Data::getContent($params['locale'], 'currencysymbol', $params['name']);        }        if (empty($symbol)) {            return null;        }        return $symbol;    }    /**     * Returns the actual or details of other currency shortnames     *     * @param  string              $currency   OPTIONAL Currency's name     * @param  string|Zend_Locale  $locale     OPTIONAL the locale     * @return string     * @throws Zend_Currency_Exception     */    public function getShortName($currency = null, $locale = null)    {        if (($currency === null) and ($locale === null)) {            return $this->_options['currency'];        }        $params = self::_checkParams($currency, $locale);        //get the shortname        if (empty($params['currency'])) {            return $params['name'];        }        $list = Zend_Locale_Data::getContent($params['locale'], 'currencytoname', $params['currency']);        if (empty($list)) {            $list = Zend_Locale_Data::getContent($params['locale'], 'nametocurrency', $params['currency']);            if (!empty($list)) {                $list = $params['currency'];            }        }        if (empty($list)) {            return null;        }        return $list;    }    /**     * Returns the actual or details of other currency names     *     * @param  string              $currency   OPTIONAL Currency's short name     * @param  string|Zend_Locale  $locale     OPTIONAL the locale     * @return string     * @throws Zend_Currency_Exception     */    public function getName($currency = null, $locale = null)    {        if (($currency === null) and ($locale === null)) {            return $this->_options['name'];        }        $params = self::_checkParams($currency, $locale);        //get the name        $name = Zend_Locale_Data::getContent($params['locale'], 'nametocurrency', $params['currency']);        if (empty($name)) {            $name = Zend_Locale_Data::getContent($params['locale'], 'nametocurrency', $params['name']);        }        if (empty($name)) {            return null;        }        return $name;    }    /**     * Returns a list of regions where this currency is or was known     *     * @param  string  $currency  OPTIONAL Currency's short name     * @return array List of regions     */    public function getRegionList($currency = null)    {        if ($currency === null) {            $currency = $this->_options['currency'];        }        if (empty($currency)) {            require_once 'Zend/Currency/Exception.php';            throw new Zend_Currency_Exception("No currency defined");        }        $data = Zend_Locale_Data::getContent('', 'regiontocurrency', $currency);        $result = explode(' ', $data);        return $result;    }    /**     * Returns a list of currencies which are used in this region     * a region name should be 2 charachters only (f.e. EG, DE, US)     * If no region is given, the actual region is used     *     * @param  string  $region  OPTIONAL Region to return the currencies for     * @return array  List of currencies     */    public function getCurrencyList($region = null)    {        if (empty($region)) {            if (strlen($this->_locale) > 4) {                $region = substr($this->_locale, strpos($this->_locale, '_')+1 );            }        }        return Zend_Locale_Data::getList('', 'regiontocurrency', $region);    }    /**     * Returns the actual currency name     *     * @return string     */    public function toString()    {        return !empty($this->_options['name']) ? $this->_options['name'] : $this->_options['currency'];    }    /**     * Returns the currency name     *     * @return string     */    public function __toString()    {        return $this->toString();    }    /**     * sets a cache for Zend_Currency     *      * @param Zend_Cache_Core $cache  Cache to set     */    public static function setCache(Zend_Cache_Core $cache)    {        Zend_Locale_Data::setCache($cache);    }    /**     * Sets a new locale for data retreivement     * Returned is the really set locale.     * Example: 'de_XX' will be set to 'de' because 'de_XX' does not exist     * 'xx_YY' will be set to 'root' because 'xx' does not exist     *     * @param  string|Zend_Locale     $locale  OPTIONAL Locale for parsing input     * @return string     */    public function setLocale($locale = null)    {        if ($locale instanceof Zend_Locale) {            $this->_locale = $locale->toString();        } else if (!$this->_locale = Zend_Locale::isLocale($locale, true)) {            require_once 'Zend/Currency/Exception.php';            throw new Zend_Currency_Exception("Given locale ($locale) does not exist");        }        // get currency details        $this->_options['currency'] = $this->getShortName(null, $this->_locale);        $this->_options['name']     = $this->getName     (null, $this->_locale);        $this->_options['symbol']   = $this->getSymbol   (null, $this->_locale);        return $this->getLocale();    }    /**     * Returns the actual set locale     *     * @return string     */    public function getLocale()    {        return $this->_locale;    }    /**     * Internal method for checking the options array     *     * @param  array $options     * @return array     * @throws Zend_Currency_Exception     */    private function checkOptions(array $options = array())    {        if (count($options) == 0) {            return $this->_options;        }        foreach($options as $name => $value) {            $name = strtolower($name);            if ($name !== 'format') {                if (gettype($value) === 'string') {                    $value = strtolower($value);                }            }            if (array_key_exists($name, $this->_options)) {                switch($name) {                    case 'position' :                        if (($value !== self::STANDARD) and ($value !== self::RIGHT) and ($value !== self::LEFT)) {                            require_once 'Zend/Currency/Exception.php';                            throw new Zend_Currency_Exception("Unknown position '" . $value . "'");                        }                        if ($value === self::STANDARD) {                            $options['position'] = $this->_updateFormat();                        }                        break;                    case 'format' :                        if (!empty($value) && (!Zend_Locale::isLocale($value))) {                            require_once 'Zend/Currency/Exception.php';                            throw new Zend_Currency_Exception("'" .                                (gettype($value) === 'object' ? get_class($value) : $value)                                . "' is not a known locale.");                        }                        break;                    case 'display' :                        if (is_numeric($value) and ($value !== self::NO_SYMBOL) and ($value !== self::USE_SYMBOL) and                            ($value !== self::USE_SHORTNAME) and ($value !== self::USE_NAME)) {                            require_once 'Zend/Currency/Exception.php';                            throw new Zend_Currency_Exception("Unknown display '$value'");                        }                        break;                    case 'precision' :                        if ($value === NULL) {                            $value = -1;                        }                        if (($value < -1) || ($value > 30)) {                            require_once 'Zend/Currency/Exception.php';                            throw new Zend_Currency_Exception("'$value' precision has to be between -1 and 30.");                        }                        break;                    case 'script' :                        try {                            Zend_Locale_Format::convertNumerals(0,$options['script']);                        } catch (Zend_Locale_Exception $e) {                            require_once 'Zend/Currency/Exception.php';                            throw new Zend_Currency_Exception($e->getMessage());                        }                        break;                }            }            else {                require_once 'Zend/Currency/Exception.php';                throw new Zend_Currency_Exception("Unknown option: '$name' = '$value'");            }        }        return $options;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -