Newscoop\GimmeBundle\Controller\ConfigureApiController::configurePublicResources PHP Метод

configurePublicResources() приватный Метод

Save public resources in database (handle form submission)
private configurePublicResources ( Request $request ) : RedirectResponse
$request Symfony\Component\HttpFoundation\Request
Результат RedirectResponse
    private function configurePublicResources(Request $request)
    {
        $em = $this->getDoctrine()->getManager();
        $publicResourcesForm = $this->getPublicResourcesForm();
        $translator = $this->container->get('translator');
        $publicResourcesForm->handleRequest($request);
        if ($publicResourcesForm->isValid()) {
            $data = $publicResourcesForm->getData();
            $existingResources = $em->getRepository('\\Newscoop\\GimmeBundle\\Entity\\PublicApiResource')->findAll();
            foreach ($existingResources as $resource) {
                if (!in_array($resource->getResource(), $data['routes'])) {
                    $em->remove($resource);
                } else {
                    unset($data['routes'][array_search($resource->getResource(), $data['routes'])]);
                }
            }
            foreach ($data['routes'] as $resource) {
                $publicResource = new PublicApiResource();
                $publicResource->setResource($resource);
                $em->persist($publicResource);
            }
            $em->flush();
            $this->get('session')->getFlashBag()->add('success', $translator->trans('publicresources.updated', array(), 'api'));
            return $this->redirect($this->generateUrl('configure_api'));
        }
    }