/** * {@inheritdoc} */ public function execute(BlockContextInterface $blockContext, Response $response = null) { $pages = $this->em->getAllSortBy('updatedAt'); $draftPageCount = 0; $reviewPageCount = 0; $publishedPageCount = 0; $reviewPages = array(); $draftPages = array(); foreach ($pages as $page) { /** @var \Networking\InitCmsBundle\Model\PageInterface $page */ if ($page->hasPublishedVersion()) { $publishedPageCount++; } if ($page->isReview()) { $reviewPageCount++; $draftPageCount++; $reviewPages[\Locale::getDisplayLanguage($page->getLocale())][] = $page; } if ($page->isDraft()) { $draftPageCount++; $draftPages[\Locale::getDisplayLanguage($page->getLocale())][] = $page; } } return $this->renderResponse($blockContext->getTemplate(), array('block' => $blockContext->getBlock(), 'draft_pages' => $draftPageCount, 'review_pages' => $reviewPageCount, 'published_pages' => $publishedPageCount, 'pages' => $pages, 'reviewPages' => $reviewPages, 'draftPages' => $draftPages), $response); }
/** * {@inheritdoc} */ public function execute(BlockContextInterface $blockContext, Response $response = null) { $pages = $this->em->getAllSortBy('updatedAt', 'DESC', Query::HYDRATE_ARRAY); $draftPageCount = 0; $reviewPageCount = 0; $publishedPageCount = 0; $reviewPages = array(); $draftPages = array(); foreach ($pages as $page) { if (array_key_exists('snapshots', $page) && count($page['snapshots']) > 0) { $publishedPageCount++; } if ($page['status'] == PageInterface::STATUS_REVIEW) { $reviewPageCount++; $draftPageCount++; $reviewPages[\Locale::getDisplayLanguage($page['locale'])][] = $page; } if ($page['status'] == PageInterface::STATUS_DRAFT) { $draftPageCount++; $draftPages[\Locale::getDisplayLanguage($page['locale'])][] = $page; } } return $this->renderResponse($blockContext->getTemplate(), array('block' => $blockContext->getBlock(), 'draft_pages' => $draftPageCount, 'review_pages' => $reviewPageCount, 'published_pages' => $publishedPageCount, 'pages' => $pages, 'reviewPages' => $reviewPages, 'draftPages' => $draftPages), $response); }