|
|
@@ -72,6 +72,14 @@ class Zend_Controller_Router_Rewrite extends Zend_Controller_Router_Abstract
|
|
|
* @var string
|
|
|
*/
|
|
|
protected $_chainNameSeparator = '-';
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Determines if request parameters should be used as global parameters
|
|
|
+ * inside this router.
|
|
|
+ *
|
|
|
+ * @var boolean
|
|
|
+ */
|
|
|
+ protected $_useCurrentParamsAsGlobal = false;
|
|
|
|
|
|
/**
|
|
|
* Add default routes which are used to mimic basic router behaviour
|
|
|
@@ -392,6 +400,13 @@ class Zend_Controller_Router_Rewrite extends Zend_Controller_Router_Abstract
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ if($this->_useCurrentParamsAsGlobal) {
|
|
|
+ $params = $request->getParams();
|
|
|
+ foreach($params as $param => $value) {
|
|
|
+ $this->setGlobalParam($param, $value);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return $request;
|
|
|
|
|
|
}
|
|
|
@@ -464,7 +479,7 @@ class Zend_Controller_Router_Rewrite extends Zend_Controller_Router_Abstract
|
|
|
/**
|
|
|
* Set the separator to use with chain names
|
|
|
*
|
|
|
- * @param string $separator The separator to use
|
|
|
+ * @param string $separator The separator to use
|
|
|
* @return Zend_Controller_Router_Rewrite
|
|
|
*/
|
|
|
public function setChainNameSeparator($separator) {
|
|
|
@@ -481,4 +496,25 @@ class Zend_Controller_Router_Rewrite extends Zend_Controller_Router_Abstract
|
|
|
public function getChainNameSeparator() {
|
|
|
return $this->_chainNameSeparator;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Determines/returns whether to use the request parameters as global parameters.
|
|
|
+ *
|
|
|
+ * @param boolean|null $use
|
|
|
+ * Null/unset when you want to retrieve the current state.
|
|
|
+ * True when request parameters should be global, false otherwise
|
|
|
+ * @return boolean|Zend_Controller_Router_Rewrite
|
|
|
+ * Returns a boolean if first param isn't set, returns an
|
|
|
+ * instance of Zend_Controller_Router_Rewrite otherwise.
|
|
|
+ *
|
|
|
+ */
|
|
|
+ public function useRequestParametersAsGlobal($use = null) {
|
|
|
+ if($use === null) {
|
|
|
+ return $this->_useCurrentParamsAsGlobal;
|
|
|
+ }
|
|
|
+
|
|
|
+ $this->_useCurrentParamsAsGlobal = (bool) $use;
|
|
|
+
|
|
|
+ return $this;
|
|
|
+ }
|
|
|
}
|