Added the zend framework 2 library, the path is specified in line no.26 in zend_modul...
[openemr.git] / interface / modules / zend_modules / library / Zend / Mvc / View / Http / InjectRoutematchParamsListener.php
blobd1403876b605e1394d771a1f52b906a89ffeaecb
1 <?php
2 /**
3 * Zend Framework (http://framework.zend.com/)
5 * @link http://github.com/zendframework/zf2 for the canonical source repository
6 * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
7 * @license http://framework.zend.com/license/new-bsd New BSD License
8 */
10 namespace Zend\Mvc\View\Http;
12 use Zend\Console\Request as ConsoleRequest;
13 use Zend\EventManager\AbstractListenerAggregate;
14 use Zend\EventManager\EventManagerInterface;
15 use Zend\Http\Request as HttpRequest;
16 use Zend\Mvc\MvcEvent;
18 class InjectRoutematchParamsListener extends AbstractListenerAggregate
20 /**
21 * Should request params overwrite existing request params?
23 * @var bool
25 protected $overwrite = true;
27 /**
28 * {@inheritDoc}
30 public function attach(EventManagerInterface $events)
32 $this->listeners[] = $events->attach('dispatch', array($this, 'injectParams'), 90);
35 /**
36 * Take parameters from RouteMatch and inject them into the request.
38 * @param MvcEvent $e
39 * @return void
41 public function injectParams(MvcEvent $e)
43 $routeMatchParams = $e->getRouteMatch()->getParams();
44 $request = $e->getRequest();
46 /** @var $params \Zend\Stdlib\Parameters */
47 if ($request instanceof ConsoleRequest) {
48 $params = $request->params();
49 } elseif ($request instanceof HttpRequest) {
50 $params = $request->get();
51 } else {
52 // unsupported request type
53 return;
56 if ($this->overwrite) {
57 foreach ($routeMatchParams as $key => $val) {
58 $params->$key = $val;
60 } else {
61 foreach ($routeMatchParams as $key => $val) {
62 if (!$params->offsetExists($key)) {
63 $params->$key = $val;
69 /**
70 * Should RouteMatch parameters replace existing Request params?
72 * @param bool $overwrite
74 public function setOverwrite($overwrite)
76 $this->overwrite = $overwrite;
79 /**
80 * @return bool
82 public function getOverwrite()
84 return $this->overwrite;