Example #1
0
 /**
  * @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;
         }
     }
 }