/** * @brief force_locale 识别 */ private static function _checkForceLocale() { self::_loadConfCache(); self::$_force_locale = ''; $force_locale_on = self::$_conf_cache['force_locale']; if (empty($force_locale_on)) { return; } $force_support_ip = array(); $ips = self::$_conf_cache['force_support_ip']; if ($ips) { //parse support_ips foreach ($ips as $ip) { $ip = trim($ip); if (strpos($ip, ' ') !== false) { //ip range $ip_arr = split(' +', $ip, 2); $force_support_ip[] = array(ip2long($ip_arr[0]), ip2long($ip_arr[1])); } else { //single ip $force_support_ip[] = array(ip2long($ip), ip2long($ip)); } } } if (true === self::_checkIfInternalVisit($_SERVER['REMOTE_ADDR'], $force_support_ip) && (isset($_GET['force_locale']) || isset($_COOKIE['force_locale']))) { if (isset($_GET['force_locale'])) { $flocale = $_GET['force_locale']; } else { if (isset($_COOKIE['force_locale'])) { $flocale = $_COOKIE['force_locale']; } } if (in_array($flocale, self::$_support_locale)) { self::$_force_locale = $flocale; } } }