/** * Returns the code of the currency that is default for a specified country/region code. * * @param string $code The two-letter ISO 3166 (or ISO 639) country/region code (case-insensitive). * * @return CUStringObject The three-letter currency code for the country/region code. */ public static function currencyForCountryCode($code) { assert('is_cstring($code)', vs(isset($this), get_defined_vars())); $code = CString::toUpperCase($code); $locale = self::fromCountryCode($code); if (!$locale->hasRegionCode()) { return self::DEFAULT_CURRENCY; } $numberFormatter = new NumberFormatter($locale->m_name, NumberFormatter::CURRENCY); return $numberFormatter->getSymbol(NumberFormatter::INTL_CURRENCY_SYMBOL); }
/** * Returns the value of an HTTP header that was sent with the request. * * @param string $headerName The name of the HTTP header. * @param reference $success **OPTIONAL.** After the method is called with this parameter provided, the * parameter's value tells whether the request contained a header with the name specified. * * @return CUStringObject The value of the header. */ public static function header($headerName, &$success = null) { assert('is_cstring($headerName)', vs(isset($this), get_defined_vars())); $success = true; $key = CString::replace($headerName, "-", "_"); $key = CString::toUpperCase($key); $key = "HTTP_{$key}"; if (!CMap::hasKey($_SERVER, $key)) { $success = false; return ""; } return $_SERVER[$key]; }
public function testFindBinary() { $array = CArray::fromElements("oua", "vnf", "fnf", "aod", "tvi", "nbt", "jny", "vor", "rfd", "cvm", "hyh", "kng", "ggo", "uea", "hkb", "qbk", "xla", "uod", "jzi", "chw", "ssy", "olr", "bzl", "oux", "ltk", "bah", "khu", "msr", "pqv", "npb", "mtb", "eku", "vcv", "vbv", "wuo", "lrw", "bkw", "ezz", "jtc", "dwk", "dsq", "kzu", "oey", "vbi", "seh", "klz", "asj", "gzg", "ccs", "qop"); $arrayOrig = CArray::makeCopy($array); $len = CArray::length($arrayOrig); // Sort the array first. CArray::sort($array, CComparator::ORDER_ASC); // Using the default comparators. for ($i = 0; $i < $len; $i += 3) { $string = $arrayOrig[$i]; $foundAtPos0; CArray::find($array, $string, CComparator::EQUALITY, $foundAtPos0); $foundAtPos1; $found = CArray::findBinary($array, $string, CComparator::ORDER_ASC, $foundAtPos1); $this->assertTrue($found); $this->assertTrue($foundAtPos1 == $foundAtPos0); } // Using custom comparators. $comparatorEquality = function ($string0, $string1) { return CString::toLowerCase($string0) === CString::toLowerCase($string1); }; $comparatorOrderAsc = function ($string0, $string1) { return CString::compare(CString::toLowerCase($string0), CString::toLowerCase($string1)); }; for ($i = 0; $i < $len; $i += 5) { $string = CString::toUpperCase($arrayOrig[$i]); $foundAtPos0; CArray::find($array, $string, $comparatorEquality, $foundAtPos0); $foundAtPos1; $found = CArray::findBinary($array, $string, $comparatorOrderAsc, $foundAtPos1); $this->assertTrue($found); $this->assertTrue($foundAtPos1 == $foundAtPos0); } // Special cases. $array = CArray::fromElements("a", "b"); $found = CArray::findBinary($array, "a"); $this->assertTrue($found); $found = CArray::findBinary($array, "b"); $this->assertTrue($found); $found = CArray::findBinary($array, "c"); $this->assertFalse($found); $array = CArray::fromElements("a"); $found = CArray::findBinary($array, "a"); $this->assertTrue($found); $array = CArray::make(); $found = CArray::findBinary($array, "a"); $this->assertFalse($found); }