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')) { if (0 === strpos($pathinfo, '/admin/module/CustomerFamily')) { // customer.family.config.view if ('/admin/module/CustomerFamily' === $pathinfo) { return array ( '_controller' => 'CustomerFamily\\Controller\\Admin\\CustomerFamilyAdminController::viewAction', '_route' => 'customer.family.config.view',); } // customer.family.create if ('/admin/module/CustomerFamily/create' === $pathinfo) { if ($this->context->getMethod() != 'POST') { $allow[] = 'POST'; goto not_customerfamilycreate; } return array ( '_controller' => 'CustomerFamily\\Controller\\Admin\\CustomerFamilyAdminController::createAction', '_route' => 'customer.family.create',); } not_customerfamilycreate: if (0 === strpos($pathinfo, '/admin/module/CustomerFamily/update')) { // customer.family.update if (preg_match('#^/admin/module/CustomerFamily/update/(?P\\d+)$#sD', $pathinfo, $matches)) { if ($this->context->getMethod() != 'POST') { $allow[] = 'POST'; goto not_customerfamilyupdate; } return $this->mergeDefaults(array_replace($matches, array('_route' => 'customer.family.update')), array ( '_controller' => 'CustomerFamily\\Controller\\Admin\\CustomerFamilyAdminController::updateAction',)); } not_customerfamilyupdate: // customer.family.update.default if ('/admin/module/CustomerFamily/update-default' === $pathinfo) { if ($this->context->getMethod() != 'POST') { $allow[] = 'POST'; goto not_customerfamilyupdatedefault; } return array ( '_controller' => 'CustomerFamily\\Controller\\Admin\\CustomerFamilyAdminController::updateDefaultAction', '_route' => 'customer.family.update.default',); } not_customerfamilyupdatedefault: } // customer.family.delete if (0 === strpos($pathinfo, '/admin/module/CustomerFamily/delete') && preg_match('#^/admin/module/CustomerFamily/delete/(?P\\d+)$#sD', $pathinfo, $matches)) { if ($this->context->getMethod() != 'POST') { $allow[] = 'POST'; goto not_customerfamilydelete; } return $this->mergeDefaults(array_replace($matches, array('_route' => 'customer.family.delete')), array ( '_controller' => 'CustomerFamily\\Controller\\Admin\\CustomerFamilyAdminController::deleteAction',)); } not_customerfamilydelete: // customer.family.customer.update if ('/admin/module/CustomerFamily/customer/update' === $pathinfo) { if ($this->context->getMethod() != 'POST') { $allow[] = 'POST'; goto not_customerfamilycustomerupdate; } return array ( '_controller' => 'CustomerFamily\\Controller\\Admin\\CustomerFamilyAdminController::customerUpdateAction', '_route' => 'customer.family.customer.update',); } not_customerfamilycustomerupdate: // customer.family.price.update if ('/admin/module/CustomerFamily/update-price-calculation' === $pathinfo) { if ($this->context->getMethod() != 'POST') { $allow[] = 'POST'; goto not_customerfamilypriceupdate; } return array ( '_controller' => 'CustomerFamily\\Controller\\Admin\\CustomerFamilyPriceController::updateAction', '_route' => 'customer.family.price.update',); } not_customerfamilypriceupdate: // customer.family.price.calculate if ('/admin/module/CustomerFamily/calculate-all-prices' === $pathinfo) { if (!in_array($this->context->getMethod(), array('GET', 'HEAD'))) { $allow = array_merge($allow, array('GET', 'HEAD')); goto not_customerfamilypricecalculate; } return array ( '_controller' => 'CustomerFamily\\Controller\\Admin\\CustomerFamilyPriceController::calculatePricesAction', '_route' => 'customer.family.price.calculate',); } not_customerfamilypricecalculate: } // customer.family.price.mode.update if ('/admin/CustomerFamily/selectPriceMode' === $pathinfo) { if ($this->context->getMethod() != 'POST') { $allow[] = 'POST'; goto not_customerfamilypricemodeupdate; } return array ( '_controller' => 'CustomerFamily\\Controller\\Admin\\CustomerFamilyPriceController::updatePriceModeAction', '_route' => 'customer.family.price.mode.update',); } not_customerfamilypricemodeupdate: if (0 === strpos($pathinfo, '/admin/module/CustomerFamily')) { // customer.family.category_restriction if (0 === strpos($pathinfo, '/admin/module/CustomerFamily/category_restriction') && preg_match('#^/admin/module/CustomerFamily/category_restriction/(?P\\d+)$#sD', $pathinfo, $matches)) { if ($this->context->getMethod() != 'POST') { $allow[] = 'POST'; goto not_customerfamilycategory_restriction; } return $this->mergeDefaults(array_replace($matches, array('_route' => 'customer.family.category_restriction')), array ( '_controller' => 'CustomerFamily\\Controller\\Admin\\CustomerFamilyAdminController::saveCustomerFamilyCategoryRestriction',)); } not_customerfamilycategory_restriction: // customer.family.brand_restriction if (0 === strpos($pathinfo, '/admin/module/CustomerFamily/brand_restriction') && preg_match('#^/admin/module/CustomerFamily/brand_restriction/(?P\\d+)$#sD', $pathinfo, $matches)) { if ($this->context->getMethod() != 'POST') { $allow[] = 'POST'; goto not_customerfamilybrand_restriction; } return $this->mergeDefaults(array_replace($matches, array('_route' => 'customer.family.brand_restriction')), array ( '_controller' => 'CustomerFamily\\Controller\\Admin\\CustomerFamilyAdminController::saveCustomerFamilyBrandRestriction',)); } not_customerfamilybrand_restriction: } } throw 0 < count($allow) ? new MethodNotAllowedException(array_unique($allow)) : new ResourceNotFoundException(); } }