diff options
Diffstat (limited to 'framework/Web/UI/TPage.php')
-rw-r--r-- | framework/Web/UI/TPage.php | 45 |
1 files changed, 10 insertions, 35 deletions
diff --git a/framework/Web/UI/TPage.php b/framework/Web/UI/TPage.php index 39656e13..2dc1cac3 100644 --- a/framework/Web/UI/TPage.php +++ b/framework/Web/UI/TPage.php @@ -4,9 +4,8 @@ * * @author Qiang Xue <qiang.xue@gmail.com> * @link http://www.pradosoft.com/ - * @copyright Copyright © 2005-2013 PradoSoft + * @copyright Copyright © 2005-2014 PradoSoft * @license http://www.pradosoft.com/license/ - * @version $Id: TPage.php 3245 2013-01-07 20:23:32Z ctrlaltca $ * @package System.Web.UI */ @@ -22,7 +21,6 @@ Prado::using('System.Web.UI.TClientScriptManager'); * TPage class * * @author Qiang Xue <qiang.xue@gmail.com> - * @version $Id: TPage.php 3245 2013-01-07 20:23:32Z ctrlaltca $ * @package System.Web.UI * @since 3.0 */ @@ -155,10 +153,6 @@ class TPage extends TTemplateControl */ private $_clientState=''; /** - * @var array post data loader IDs. - */ - protected $_postDataLoaders=array(); - /** * @var boolean true if loading post data. */ protected $_isLoadingPostData=false; @@ -297,7 +291,7 @@ class TPage extends TTemplateControl return $data; } } - + /** * Sets Adapter to TActivePageAdapter and calls apter to process the * callback request. @@ -308,6 +302,10 @@ class TPage extends TTemplateControl $this->setAdapter(new TActivePageAdapter($this)); + $callbackEventParameter = $this->getRequest()->itemAt(TPage::FIELD_CALLBACK_PARAMETER); + if(strlen($callbackEventParameter) > 0) + $this->_postData[TPage::FIELD_CALLBACK_PARAMETER]=TJavaScript::jsonDecode((string)$callbackEventParameter); + // Decode Callback postData from UTF-8 to current Charset if (($g=$this->getApplication()->getGlobalization(false))!==null && strtoupper($enc=$g->getCharset())!='UTF-8') @@ -427,27 +425,6 @@ class TPage extends TTemplateControl } /** - * Register post data loaders for Callback to collect post data. - * This method should only be called by framework developers. - * @param TControl control that requires post data. - * @see TControl::preRenderRecursive(); - */ - public function registerPostDataLoader($control) - { - $id=is_string($control)?$control:$control->getUniqueID(); - $this->_postDataLoaders[$id] = true; - } - - /** - * Get a list of IDs of controls that are enabled and require post data. - * @return array list of IDs implementing IPostBackDataHandler - */ - public function getPostDataLoaders() - { - return array_keys($this->_postDataLoaders); - } - - /** * @return TForm the form on the page */ public function getForm() @@ -825,7 +802,6 @@ class TPage extends TTemplateControl { $id=is_string($control)?$control:$control->getUniqueID(); $this->_controlsRegisteredForPostData[$id]=true; - $this->registerPostDataLoader($id); $params=func_get_args(); foreach($this->getCachingStack() as $item) $item->registerAction('Page','registerRequiresPostData',array($id)); @@ -1245,7 +1221,6 @@ class TPage extends TTemplateControl * classes. * * @author Qiang Xue <qiang.xue@gmail.com> - * @version $Id: TPage.php 3245 2013-01-07 20:23:32Z ctrlaltca $ * @package System.Web.UI * @since 3.1 */ @@ -1301,9 +1276,9 @@ class TPageStateFormatter { $sm=$page->getApplication()->getSecurityManager(); if($page->getEnableStateValidation()) - $str=$sm->hashData(Prado::serialize($data)); + $str=$sm->hashData(serialize($data)); else - $str=Prado::serialize($data); + $str=serialize($data); if($page->getEnableStateCompression() && extension_loaded('zlib')) $str=gzcompress($str); if($page->getEnableStateEncryption()) @@ -1331,10 +1306,10 @@ class TPageStateFormatter if($page->getEnableStateValidation()) { if(($str=$sm->validateData($str))!==false) - return Prado::unserialize($str); + return unserialize($str); } else - return Prado::unserialize($str); + return unserialize($str); } return null; } |