diff options
| -rw-r--r-- | HISTORY | 9 | ||||
| -rw-r--r-- | framework/Data/SqlMap/Statements/TPreparedCommand.php | 5 | ||||
| -rw-r--r-- | framework/Data/SqlMap/Statements/TPreparedStatement.php | 33 | ||||
| -rw-r--r-- | framework/Web/TUrlMapping.php | 11 | ||||
| -rw-r--r-- | framework/Web/UI/TClientScriptManager.php | 17 | 
5 files changed, 41 insertions, 34 deletions
| @@ -1,9 +1,14 @@  Next Prado iteration: 3.3.0 - +   EHN: Issue #260 - TComponent Update: Behaviors, Class Behaviors, fx global events, and dy one to one events (javalizard)  EHN: Issue #292 - Events should have priorities to allow event handler order to be specified (javalizard) -Version 3.2.1 Jan XX, 2013 +Version 3.2.2 to be released + +ENH: Issue 433:	Prado object-creation performance micro-optimizations +BUG: Issue 434:	Buttons stops working properly after response->writeFile + +Version 3.2.1 Jan 19, 2013  BUG: Issue  #44 - [895] SDateFormatter cannot parse date earlier than 1970 (ctrlaltca)  ENH: Issue #180 - Integrate XMLRPC web service (rojaro) diff --git a/framework/Data/SqlMap/Statements/TPreparedCommand.php b/framework/Data/SqlMap/Statements/TPreparedCommand.php index 4c3a6266..e86e096c 100644 --- a/framework/Data/SqlMap/Statements/TPreparedCommand.php +++ b/framework/Data/SqlMap/Statements/TPreparedCommand.php @@ -47,9 +47,10 @@ class TPreparedCommand  	protected function applyParameterMap($manager,$command,$prepared, $statement, $parameterObject)  	{ -		$properties = $prepared->getParameterNames(); -		$parameters = $prepared->getParameterValues(); +		$properties = $prepared->getParameterNames(false); +		//$parameters = $prepared->getParameterValues();  		$registry=$manager->getTypeHandlers(); +		if ($properties)  		for($i = 0, $k=$properties->getCount(); $i<$k; $i++)  		{  			$property = $statement->parameterMap()->getProperty($i); diff --git a/framework/Data/SqlMap/Statements/TPreparedStatement.php b/framework/Data/SqlMap/Statements/TPreparedStatement.php index 46b16cec..b4a7c272 100644 --- a/framework/Data/SqlMap/Statements/TPreparedStatement.php +++ b/framework/Data/SqlMap/Statements/TPreparedStatement.php @@ -24,33 +24,32 @@ class TPreparedStatement extends TComponent  	private $_parameterNames;  	private $_parameterValues; -	public function __construct() -	{ -		$this->_parameterNames=new TList; -		$this->_parameterValues=new TMap; -	} -  	public function getPreparedSql(){ return $this->_sqlString; }  	public function setPreparedSql($value){ $this->_sqlString = $value; } -	public function getParameterNames(){ return $this->_parameterNames; } -	public function setParameterNames($value){ $this->_parameterNames = $value; } +	public function getParameterNames($needed = true) +	{  +		if (!$this->_parameterNames and $needed) +			$this->_parameterNames = new TList; +		return $this->_parameterNames;  +	} -	public function getParameterValues(){ return $this->_parameterValues; } -	public function setParameterValues($value){ $this->_parameterValues = $value; } +	public function setParameterNames($value){ $this->_parameterNames = $value; } -	public function __wakeup() -	{ -		parent::__wakeup(); -		if (!$this->_parameterNames) $this->_parameterNames = new TList; -		if (!$this->_parameterValues) $this->_parameterValues = new TMap; +	public function getParameterValues($needed = true) +	{  +		if (!$this->_parameterValues and $needed) +			$this->_parameterValues=new TMap; +		return $this->_parameterValues;   	} + +	public function setParameterValues($value){ $this->_parameterValues = $value; }  	public function __sleep()  	{  		$exprops = array(); $cn = __CLASS__;  -		if (!$this->_parameterNames->getCount()) $exprops[] = "\0$cn\0_parameterNames"; -		if (!$this->_parameterValues->getCount()) $exprops[] = "\0$cn\0_parameterValues"; +		if (!$this->_parameterNames or !$this->_parameterNames->getCount()) $exprops[] = "\0$cn\0_parameterNames"; +		if (!$this->_parameterValues or !$this->_parameterValues->getCount()) $exprops[] = "\0$cn\0_parameterValues";  		return array_diff(parent::__sleep(),$exprops);  	}  } diff --git a/framework/Web/TUrlMapping.php b/framework/Web/TUrlMapping.php index 23947f3e..0b6e517e 100644 --- a/framework/Web/TUrlMapping.php +++ b/framework/Web/TUrlMapping.php @@ -518,8 +518,6 @@ class TUrlMappingPattern extends TComponent  	public function __construct(TUrlManager $manager)  	{  		$this->_manager=$manager; -		$this->_parameters=new TAttributeCollection; -		$this->_parameters->setCaseSensitive(true);  	}  	/** @@ -552,6 +550,7 @@ class TUrlMappingPattern extends TComponent  	{  		$params=array();  		$values=array(); +		if ($this->_parameters)  		foreach($this->_parameters as $key=>$value)  		{  			$params[]='{'.$key.'}'; @@ -660,6 +659,11 @@ class TUrlMappingPattern extends TComponent  	 */  	public function getParameters()  	{ +		if (!$this->_parameters) +		{ +			$this->_parameters=new TAttributeCollection; +			$this->_parameters->setCaseSensitive(true); +		}  		return $this->_parameters;  	} @@ -809,6 +813,7 @@ class TUrlMappingPattern extends TComponent  	{  		if(!$this->_customUrl || $this->getPattern()===null)  			return false; +		if ($this->_parameters)  		foreach($this->_parameters as $key=>$value)  		{  			if(!isset($getItems[$key])) @@ -832,7 +837,7 @@ class TUrlMappingPattern extends TComponent  		// for the GET variables matching the pattern, put them in the URL path  		foreach($getItems as $key=>$value)  		{ -			if($this->_parameters->contains($key) || $key==='*' && $this->getIsWildCardPattern()) +			if($this->_parameters && ($this->_parameters->contains($key) || $key==='*' && $this->getIsWildCardPattern()))  				$replace['{'.$key.'}']=$encodeGetItems ? rawurlencode($value) : $value;  			else  				$extra[$key]=$value; diff --git a/framework/Web/UI/TClientScriptManager.php b/framework/Web/UI/TClientScriptManager.php index 39cab493..cab002e4 100644 --- a/framework/Web/UI/TClientScriptManager.php +++ b/framework/Web/UI/TClientScriptManager.php @@ -770,14 +770,6 @@ abstract class TClientSideOptions extends TComponent  	private $_options;  	/** -	 * Constructor, initialize the options list. -	 */ -	public function __construct() -	{ -		$this->_options = Prado::createComponent('System.Collections.TMap'); -	} - -	/**  	 * Adds on client-side event handler by wrapping the code within a  	 * javascript function block. If the code begins with "javascript:", the  	 * code is assumed to be a javascript function block rather than arbiturary @@ -797,7 +789,10 @@ abstract class TClientSideOptions extends TComponent  	 */  	protected function getOption($name)  	{ -		return $this->_options->itemAt($name); +		if ($this->_options) +			return $this->_options->itemAt($name); +		else +			return null;  	}  	/** @@ -806,7 +801,7 @@ abstract class TClientSideOptions extends TComponent  	 */  	protected function setOption($name, $value)  	{ -		$this->_options->add($name, $value); +		$this->getOptions()->add($name, $value);  	}  	/** @@ -814,6 +809,8 @@ abstract class TClientSideOptions extends TComponent  	 */  	public function getOptions()  	{ +		if (!$this->_options) +			$this->_options = Prado::createComponent('System.Collections.TMap');  		return $this->_options;  	} | 
