コード例 #1
0
ファイル: FlashMessagePipe.php プロジェクト: kersten/flux
 /**
  * @param array $data
  * @return mixed
  */
 public function conduct($data)
 {
     $queue = new FlashMessageQueue(self::FLASHMESSAGE_QUEUE);
     $flashMessage = new FlashMessage($this->getMessage(), $this->getTitle(), $this->getSeverity(), $this->getStoreInSession());
     $queue->enqueue($flashMessage);
     return $data;
 }
コード例 #2
0
 /**
  * @test
  */
 public function getAllMessagesAndFlushClearsSessionStack()
 {
     $flashMessage = new \TYPO3\CMS\Core\Messaging\FlashMessage('Transient', 'Title', \TYPO3\CMS\Core\Messaging\FlashMessage::OK, TRUE);
     $this->flashMessageQueue->enqueue($flashMessage);
     $this->flashMessageQueue->getAllMessagesAndFlush();
     /** @var $frontendUser \TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication */
     $frontendUser = $this->flashMessageQueue->_call('getUserByContext');
     $this->assertNull($frontendUser->getSessionData('core.template.flashMessages'));
 }
コード例 #3
0
 /**
  * @test
  */
 public function getMessagesAndFlushCanAlsoFilterBySeverity()
 {
     $messages = array(0 => new \TYPO3\CMS\Core\Messaging\FlashMessage('This is a test message', 1, \TYPO3\CMS\Core\Messaging\FlashMessage::NOTICE), 1 => new \TYPO3\CMS\Core\Messaging\FlashMessage('This is another test message', 2, \TYPO3\CMS\Core\Messaging\FlashMessage::WARNING));
     $this->flashMessageQueue->enqueue($messages[0]);
     $this->flashMessageQueue->enqueue($messages[1]);
     $filteredFlashMessages = $this->flashMessageQueue->getAllMessagesAndFlush(\TYPO3\CMS\Core\Messaging\FlashMessage::NOTICE);
     $this->assertEquals(count($filteredFlashMessages), 1);
     reset($filteredFlashMessages);
     $flashMessage = current($filteredFlashMessages);
     $this->assertEquals($messages[0], $flashMessage);
     $this->assertEquals(array(), $this->flashMessageQueue->getAllMessages(\TYPO3\CMS\Core\Messaging\FlashMessage::NOTICE));
     $this->assertEquals(array($messages[1]), array_values($this->flashMessageQueue->getAllMessages()));
 }
コード例 #4
0
 /**
  * @param LanguageService $languageService
  * @param FlashMessageQueue $messageQueue
  * @param bool $isAjaxCall
  * @internal Only public to be used in tests
  * @return \Closure
  */
 public static function getMessageClosure(LanguageService $languageService, FlashMessageQueue $messageQueue, $isAjaxCall)
 {
     return function () use($languageService, $messageQueue, $isAjaxCall) {
         /** @var \TYPO3\CMS\Core\Messaging\FlashMessage $flashMessage */
         $flashMessage = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Messaging\FlashMessage::class, $languageService->sL('LLL:EXT:lang/locallang_core.xlf:error.formProtection.tokenInvalid'), '', \TYPO3\CMS\Core\Messaging\FlashMessage::ERROR, !$isAjaxCall);
         $messageQueue->enqueue($flashMessage);
     };
 }
コード例 #5
0
 /**
  * Enqueues the instance into the given FlashMessageQueue
  *
  * @param FlashMessageQueue $queue The queue to enqueue to
  *
  * @return void
  *
  * @throws \TYPO3\CMS\Core\Exception If the given message instance is not a
  *                                   FlashMessage instance
  */
 public function enqueueIn(FlashMessageQueue $queue)
 {
     $queue->enqueue($this);
 }