diff options
Diffstat (limited to 'framework/Web/UI')
-rw-r--r-- | framework/Web/UI/ActiveControls/TActivePageAdapter.php | 4 | ||||
-rw-r--r-- | framework/Web/UI/TPage.php | 31 |
2 files changed, 29 insertions, 6 deletions
diff --git a/framework/Web/UI/ActiveControls/TActivePageAdapter.php b/framework/Web/UI/ActiveControls/TActivePageAdapter.php index 90eed970..b91da695 100644 --- a/framework/Web/UI/ActiveControls/TActivePageAdapter.php +++ b/framework/Web/UI/ActiveControls/TActivePageAdapter.php @@ -316,13 +316,13 @@ class TCallbackErrorHandler extends TErrorHandler {
$response = $this->getApplication()->getResponse();
$trace = TJavaScript::jsonEncode($this->getExceptionStackTrace($exception));
- $response->appendHeader('HTTP/1.0 500 Internal Error');
+ $response->setStatusCode(500, 'Internal Server Error');
$response->appendHeader(TActivePageAdapter::CALLBACK_ERROR_HEADER.': '.$trace);
}
else
{
error_log("Error happened while processing an existing error:\n".$exception->__toString());
- header('HTTP/1.0 500 Internal Error');
+ header('HTTP/1.0 500 Internal Server Error', true, 500);
}
$this->getApplication()->getResponse()->flush();
}
diff --git a/framework/Web/UI/TPage.php b/framework/Web/UI/TPage.php index 12433715..6f7e533d 100644 --- a/framework/Web/UI/TPage.php +++ b/framework/Web/UI/TPage.php @@ -134,6 +134,11 @@ class TPage extends TTemplateControl */
private $_enableStateEncryption=false;
/**
+ * @var boolean whether page state should be compressed
+ * @since 3.1.6
+ */
+ private $_enableStateCompression=true;
+ /**
* @var string page state persister class name
*/
private $_statePersisterClass='System.Web.UI.TPageStatePersister';
@@ -283,7 +288,7 @@ class TPage extends TTemplateControl $this->setAdapter(new TActivePageAdapter($this));
// Decode Callback postData from UTF-8 to current Charset
- if (($g=$this->getApplication()->getGlobalization(false))!==null &&
+ if (($g=$this->getApplication()->getGlobalization(false))!==null &&
strtoupper($enc=$g->getCharset())!='UTF-8')
foreach ($this->_postData as $k=>$v)
$this->_postData[$k]=iconv('UTF-8',$enc.'//IGNORE',$v);
@@ -1124,6 +1129,24 @@ class TPage extends TTemplateControl }
/**
+ * @return boolean whether page state should be compressed. Defaults to true.
+ * @since 3.1.6
+ */
+ public function getEnableStateCompression()
+ {
+ return $this->_enableStateCompression;
+ }
+
+ /**
+ * @param boolean whether page state should be compressed.
+ * @since 3.1.6
+ */
+ public function setEnableStateCompression($value)
+ {
+ $this->_enableStateCompression=TPropertyValue::ensureBoolean($value);
+ }
+
+ /**
* @return string the requested page path for this page
*/
public function getPagePath()
@@ -1234,7 +1257,7 @@ class TPageStateFormatter $str=$sm->hashData(Prado::serialize($data));
else
$str=Prado::serialize($data);
- if(extension_loaded('zlib'))
+ if($page->getEnableStateCompression() && extension_loaded('zlib'))
$str=gzcompress($str);
if($page->getEnableStateEncryption())
$str=$sm->encrypt($str);
@@ -1256,7 +1279,7 @@ class TPageStateFormatter $sm=$page->getApplication()->getSecurityManager();
if($page->getEnableStateEncryption())
$str=$sm->decrypt($str);
- if(extension_loaded('zlib'))
+ if($page->getEnableStateCompression() && extension_loaded('zlib'))
$str=@gzuncompress($str);
if($page->getEnableStateValidation())
{
@@ -1270,4 +1293,4 @@ class TPageStateFormatter }
}
-?>
+?>
\ No newline at end of file |