Exemplo n.º 1
0
 public function match(View $view)
 {
     if (!$view instanceof LocationValueView) {
         return false;
     }
     return isset($this->values[$view->getLocation()->remoteId]);
 }
Exemplo n.º 2
0
 public function match(View $view)
 {
     if (!$view instanceof LocationValueView) {
         return false;
     }
     return $this->matchLocation($view->getLocation());
 }
 public function match(View $view)
 {
     if (!$view instanceof LocationValueView) {
         return false;
     }
     $parent = $this->loadParentLocation($view->getLocation()->parentLocationId);
     return isset($this->values[$parent->getContentInfo()->contentTypeId]);
 }
Exemplo n.º 4
0
 public function match(View $view)
 {
     if ($view instanceof LocationValueView) {
         return $this->matchLocation($view->getLocation());
     }
     if ($view instanceof ContentValueView) {
         return $this->matchContentInfo($view->getContent()->contentInfo);
     }
     return false;
 }
Exemplo n.º 5
0
 /**
  * Returns a ContentView object corresponding to location found within $view.
  * Will basically run content/view legacy module with appropriate parameters.
  *
  * @param \eZ\Publish\Core\MVC\Symfony\View\View $view
  *
  * @return \eZ\Publish\Core\MVC\Symfony\View\ContentView|void
  */
 public function getView(View $view)
 {
     if (!$view instanceof ContentView || !$view->getLocation() instanceof APILocation) {
         return null;
     }
     $logger = $this->logger;
     $legacyHelper = $this->legacyHelper;
     $currentViewProvider = $this;
     $viewParameters = array();
     $request = $this->getCurrentRequest();
     if (isset($request)) {
         $viewParameters = $request->attributes->get('viewParameters', array());
     }
     $viewType = $view->getViewType();
     $location = $view->getLocation();
     $legacyContentClosure = function (array $params) use($location, $viewType, $logger, $legacyHelper, $viewParameters, $currentViewProvider) {
         $content = isset($params['content']) ? $params['content'] : null;
         // Additional parameters (aka user parameters in legacy) are expected to be scalar
         foreach ($params as $paramName => $param) {
             if (!is_scalar($param)) {
                 unset($params[$paramName]);
                 if (isset($logger)) {
                     $logger->notice("'{$paramName}' is not scalar, cannot pass it to legacy content module. Skipping.", array(__METHOD__));
                 }
             }
         }
         // viewbaseLayout is useless in legacy views
         unset($params['viewbaseLayout']);
         $params += $viewParameters;
         // Render preview or published view depending on context.
         if (isset($params['isPreview']) && $params['isPreview'] === true && $content instanceof APIContent) {
             return $currentViewProvider->renderPreview($content, $params, $legacyHelper);
         } else {
             return $currentViewProvider->renderPublishedView($location, $viewType, $params, $legacyHelper);
         }
     };
     $this->decorator->setContentView(new ContentView($legacyContentClosure));
     return $this->decorator;
 }