Exemplo n.º 1
0
 static function init()
 {
     self::$method = strtolower(@$_SERVER['REQUEST_METHOD']);
     $url = '';
     $params =& org_glizy_Request::_getValuesArray(true);
     $charset = strtolower(org_glizy_Config::get('CHARSET'));
     $requestCharset = @$_SERVER['CONTENT_TYPE'];
     if ($charset != "utf-8" && stripos($requestCharset, 'utf-8') !== false) {
         self::$decodeUtf8 = true;
     }
     if (self::$skipDecode) {
         self::$decodeUtf8 = false;
     }
     foreach ($_GET as $k => $v) {
         if (!is_array($v) && get_magic_quotes_gpc()) {
             $v = stripslashes($v);
         }
         if (self::$decodeUtf8) {
             $v = org_glizy_Request::utf8_decode($v);
         }
         $url .= '&' . $k . '=' . $v;
         $params[$k] = array($v, GLZ_REQUEST_GET);
     }
     foreach ($_POST as $k => $v) {
         if (!is_array($v) && get_magic_quotes_gpc()) {
             $v = stripslashes($v);
         }
         if (self::$decodeUtf8) {
             $v = org_glizy_Request::utf8_decode($v);
         }
         $url .= '&' . $k . '=' . $v;
         $params[$k] = array($v, GLZ_REQUEST_POST);
     }
     $contentType = @$_SERVER['CONTENT_TYPE'];
     $body = @file_get_contents('php://input');
     if ($body && $contentType && $contentType != 'application/x-www-form-urlencoded') {
         $params['__postBody__'] = array($body, GLZ_REQUEST_POST);
         parse_str($body, $output);
         foreach ($output as $k => $v) {
             if (!isset($params[$k])) {
                 $url .= '&' . $k . '=' . $v;
                 $params[$k] = array($v, GLZ_REQUEST_POST);
             }
         }
     }
     $params['__url__'] = array(__Routing::$requestUrl, GLZ_REQUEST_GET);
     $params['__back__url__'] = array($url, GLZ_REQUEST_GET);
     if (self::$translateInfo && isset($params['pageId'])) {
         $pageId = strtolower($params['pageId'][GLZ_REQUEST_VALUE]);
         $translateInfo = __Session::get('__translateInfo_' . $pageId, array());
         foreach ($translateInfo as $v) {
             if (isset($params[$v['target_name']]) && $params[$v['target_name']][GLZ_REQUEST_VALUE] == $v['label']) {
                 $params[$v['target']][GLZ_REQUEST_VALUE] = $v['value'];
             }
         }
         __Session::remove('__translateInfo_' . $pageId);
     }
     $values = __Session::get('__valuesForNextRefresh');
     if (isset($values) && is_array($values)) {
         foreach ($values as $k => $v) {
             $params[$k][GLZ_REQUEST_VALUE] = $v;
         }
         __Session::remove('__valuesForNextRefresh');
     }
 }