Collect Response objects from plugins admin iterface hooks.
Inheritance: extends Symfony\Component\EventDispatcher\GenericEvent
 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);
 }
Ejemplo n.º 2
0
 /**
  * @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);
 }
Ejemplo n.º 3
0
 /**
  * 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);
 }