public function sidebar(PluginHooksEvent $event) { $em = $this->container->get('em'); $eventArticle = $event->getArgument('article'); $article = $em->getRepository('Newscoop\\Entity\\Article')->findOneBy(array('language' => $eventArticle->getLanguageId(), 'number' => $eventArticle->getArticleNumber())); $articleOfTheDayDate = $article->getPublishDate(); $publicationsArray = array(); $status = false; $articleOfTheDay = $em->getRepository('Newscoop\\ArticlesCalendarBundle\\Entity\\ArticleOfTheDay')->createQueryBuilder('a')->where('a.articleNumber = :articleNumber')->andWhere('a.articleLanguageId = :articleLanguageId')->andWhere('a.publicationId = :publicationId')->andWhere('a.is_active = :is_active')->setParameters(array('articleNumber' => $article->getNumber(), 'articleLanguageId' => $article->getLanguageId(), 'publicationId' => $article->getPublicationId(), 'is_active' => true))->getQuery()->getOneOrNullResult(); if ($articleOfTheDay) { $status = true; $articleOfTheDayDate = $articleOfTheDay->getDate(); $query = ""; $publicationNumbers = explode(',', $articleOfTheDay->getPublicationNumbers()); foreach ($publicationNumbers as $value) { $query .= 'p.id = ' . $value . ' OR '; } $publications = $em->getRepository('Newscoop\\Entity\\Publication')->createQueryBuilder('p')->where(substr($query, 0, -4))->getQuery()->getResult(); foreach ($publications as $publication) { $publicationsArray[] = $publication->getName(); } } $form = $this->container->get('form.factory')->create(new ArticleOfTheDayType(), array('custom_date' => $articleOfTheDayDate->format('Y-m-d'), 'articleId' => $article->getNumber(), 'articleLanguageId' => $article->getLanguageId(), 'publicationId' => $article->getPublicationId(), 'publicationNumbers' => !$articleOfTheDay ? explode(',', $article->getPublicationId()) : $publicationNumbers), array()); $response = $this->container->get('templating')->renderResponse('NewscoopArticlesCalendarBundle:Hooks:sidebar.html.twig', array('article' => $article, 'form' => $form->createView(), 'status' => $status, 'success' => false, 'articleOfTheDay' => $articleOfTheDay, 'publicationsNames' => $publicationsArray)); $event->addHookResponse($response); }
/** * @param \Newscoop\EventDispatcher\Events\PluginHooksEvent $event * @param \Symfony\Component\HttpFoundation\Response $response */ public function it_will_display_list_of_editorial_comments_for_article($event, $response, $em, $repository, $templating) { $event->getArgument('articleNumber')->willReturn(4); $repository->getAllByArticleNumber(4)->willReturn(array('id' => 1, 'articleNumber' => 4, 'comment' => 'test comment')); $templating->renderResponse('NewscoopArticlesBundle:Hook:editorialComments.html.twig', array('editorialComments' => array('id' => 1, 'articleNumber' => 4, 'comment' => 'test comment'), 'articleNumber' => 4))->willReturn($response); $event->addHookResponse($response)->willReturn(null); $this->listEditorialComments($event)->shouldReturn(true); }
/** * Lists editorial comments for given article * * @param PluginHooksEvent $event Plugins hook event * * @return boolean */ public function renderEditorialCommentsTemplate(PluginHooksEvent $event) { $article = $event->getArgument('article'); $clientName = 'newscoop_' . $this->preferencesService->SiteSecretKey; $client = $this->em->getRepository('\\Newscoop\\GimmeBundle\\Entity\\Client')->findOneByName($clientName); $response = $this->templating->renderResponse('NewscoopArticlesBundle:Hook:editorialComments.html.twig', array('article' => $article, 'articleNumber' => $article->getArticleNumber(), 'articleLanguage' => $article->getLanguageId(), 'clientId' => $client->getPublicId(), 'pluginName' => 'Editorial Comments')); $event->addHookResponse($response); return true; }
public function sidebar(PluginHooksEvent $event) { $response = $this->container->get('templating')->renderResponse('NewscoopFacebookNewscoopBundle:Hooks:sidebar.html.twig', array('pluginName' => 'Facebook article cache', 'article' => $event->getArgument('article'))); $event->addHookResponse($response); }