Newscoop\NewscoopBundle\Controller\BackendArticleImagesController::editAction PHP Метод

editAction() публичный Метод

public editAction ( Request $request, $language, $articleNumber, $imageId )
$request Symfony\Component\HttpFoundation\Request
    public function editAction(Request $request, $language, $articleNumber, $imageId)
    {
        $em = $this->get('em');
        $imageService = $this->container->get('image');
        $articleImage = $imageService->getArticleImage($articleNumber, $imageId);
        $preferencesService = $this->container->get('preferences');
        $description = $articleImage->getImage()->getDescription();
        $caption = $articleImage->getCaption($language);
        $captions = $articleImage->getImage()->getCaptions();
        if ($preferencesService->MediaRichTextCaptions == 'N') {
            $description = strip_tags($description);
            $caption = strip_tags($caption);
            if (is_array($captions) && count($captions) > 0) {
                array_walk($captions, function (&$value) {
                    $value = strip_tags($value);
                });
            }
        }
        $form = $this->container->get('form.factory')->create(new ArticleImageType(), array('number' => $articleImage->getNumber(), 'caption' => $caption, 'language' => $language, 'status' => $articleImage->getImage()->getStatus(), 'description' => $description, 'photographer' => $articleImage->getImage()->getPhotographer(), 'photographer_url' => $articleImage->getImage()->getPhotographerUrl(), 'place' => $articleImage->getImage()->getPlace(), 'date' => $articleImage->getImage()->getDate()), array('action' => $this->generateUrl('newscoop_newscoop_article_images_edit', array('language' => $language, 'articleNumber' => $articleNumber, 'imageId' => $imageId)), 'method' => 'POST', 'rich_text_caption' => $preferencesService->MediaRichTextCaptions));
        if ($request->isMethod('POST')) {
            $form->bind($request);
            if ($form->isValid()) {
                $data = $form->getData();
                $data['user'] = $this->container->get('user')->getCurrentUser();
                $imageService->fillImage($articleImage->getImage(), $data);
                $imageService->saveArticleImage($articleImage, $data);
                return new RedirectResponse($this->generateUrl('newscoop_newscoop_article_images_edit', array('language' => $language, 'articleNumber' => $articleNumber, 'imageId' => $imageId)));
            }
        }
        $editor = '';
        if ($preferencesService->MediaRichTextCaptions == 'Y') {
            $editorLanguage = $request->getLocale();
            $editorOptions = array('max_chars' => $preferencesService->MediaCaptionLength, 'toolbar_length' => 11);
            $userService = $this->container->get('user');
            ob_start();
            require_once $GLOBALS['g_campsiteDir'] . "/admin-files/media-archive/editor_load_tinymce.php";
            editor_load_tinymce(array('article_image_caption', 'article_image_description'), $userService->getCurrentUser(), $editorLanguage, $editorOptions);
            $editor = ob_get_contents();
            ob_end_clean();
        }
        return array('form' => $form->createView(), 'imageService' => $imageService, 'articleImage' => $articleImage, 'image' => $articleImage->getImage(), 'caption' => $caption, 'captions' => $captions, 'editor' => $editor, 'rich_text_caption' => $preferencesService->MediaRichTextCaptions);
    }
BackendArticleImagesController