context = $context; } public function match($rawPathinfo) { $allow = array(); $pathinfo = rawurldecode($rawPathinfo); $context = $this->context; $request = $this->request ?: $this->createRequest($pathinfo); if (0 === strpos($pathinfo, '/admin/module/ClickAndCollect')) { // cnc.places.list if ('/admin/module/ClickAndCollect' === $pathinfo) { if (!in_array($this->context->getMethod(), array('GET', 'HEAD'))) { $allow = array_merge($allow, array('GET', 'HEAD')); goto not_cncplaceslist; } return array ( '_controller' => 'ClickAndCollect\\Controller\\backOffice\\ListController::viewAction', '_route' => 'cnc.places.list',); } not_cncplaceslist: // cnc.toggle.active if (0 === strpos($pathinfo, '/admin/module/ClickAndCollect/toggle-online') && preg_match('#^/admin/module/ClickAndCollect/toggle\\-online/(?P\\d+)$#sD', $pathinfo, $matches)) { if ($this->context->getMethod() != 'POST') { $allow[] = 'POST'; goto not_cnctoggleactive; } return $this->mergeDefaults(array_replace($matches, array('_route' => 'cnc.toggle.active')), array ( '_controller' => 'ClickAndCollect\\Controller\\backOffice\\ListController::toggleActive',)); } not_cnctoggleactive: // cnc.place.create if ('/admin/module/ClickAndCollect' === $pathinfo) { if ($this->context->getMethod() != 'POST') { $allow[] = 'POST'; goto not_cncplacecreate; } return array ( '_controller' => 'ClickAndCollect\\Controller\\backOffice\\PlaceController::createPlace', '_route' => 'cnc.place.create',); } not_cncplacecreate: if (0 === strpos($pathinfo, '/admin/module/ClickAndCollect/edit')) { // cnc.place.view if ('/admin/module/ClickAndCollect/edit' === $pathinfo) { if (!in_array($this->context->getMethod(), array('GET', 'HEAD'))) { $allow = array_merge($allow, array('GET', 'HEAD')); goto not_cncplaceview; } return array ( '_controller' => 'ClickAndCollect\\Controller\\backOffice\\PlaceController::viewPlace', '_route' => 'cnc.place.view',); } not_cncplaceview: // cnc.place.edit if ('/admin/module/ClickAndCollect/edit' === $pathinfo) { if ($this->context->getMethod() != 'POST') { $allow[] = 'POST'; goto not_cncplaceedit; } return array ( '_controller' => 'ClickAndCollect\\Controller\\backOffice\\PlaceController::editPlace', '_route' => 'cnc.place.edit',); } not_cncplaceedit: } // cnc.place.delete if ('/admin/module/ClickAndCollect/delete' === $pathinfo) { if ($this->context->getMethod() != 'POST') { $allow[] = 'POST'; goto not_cncplacedelete; } return array ( '_controller' => 'ClickAndCollect\\Controller\\backOffice\\PlaceController::deletePlace', '_route' => 'cnc.place.delete',); } not_cncplacedelete: if (0 === strpos($pathinfo, '/admin/module/ClickAndCollect/schedule')) { // cnc.schedule.create if ('/admin/module/ClickAndCollect/schedule/create' === $pathinfo) { if ($this->context->getMethod() != 'POST') { $allow[] = 'POST'; goto not_cncschedulecreate; } return array ( '_controller' => 'ClickAndCollect\\Controller\\backOffice\\ScheduleController::createSchedule', '_route' => 'cnc.schedule.create',); } not_cncschedulecreate: // cnc.schedule.update if ('/admin/module/ClickAndCollect/schedule/update' === $pathinfo) { if ($this->context->getMethod() != 'POST') { $allow[] = 'POST'; goto not_cncscheduleupdate; } return array ( '_controller' => 'ClickAndCollect\\Controller\\backOffice\\ScheduleController::updateSchedule', '_route' => 'cnc.schedule.update',); } not_cncscheduleupdate: // cnc.schedule.delete if ('/admin/module/ClickAndCollect/schedule/delete' === $pathinfo) { if ($this->context->getMethod() != 'POST') { $allow[] = 'POST'; goto not_cncscheduledelete; } return array ( '_controller' => 'ClickAndCollect\\Controller\\backOffice\\ScheduleController::deleteSchedule', '_route' => 'cnc.schedule.delete',); } not_cncscheduledelete: } } throw 0 < count($allow) ? new MethodNotAllowedException(array_unique($allow)) : new ResourceNotFoundException(); } }