summaryrefslogtreecommitdiff
path: root/framework/Web
diff options
context:
space:
mode:
Diffstat (limited to 'framework/Web')
-rw-r--r--framework/Web/TUrlMapping.php11
-rw-r--r--framework/Web/UI/TClientScriptManager.php17
2 files changed, 15 insertions, 13 deletions
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;
}