/** * @param Request $request * * @return \Symfony\Component\HttpFoundation\JsonResponse */ protected function setBuilderContentAction(Request $request) { $dataArray = array('success' => 0); $entityId = InputHelper::clean($request->request->get('entity')); $session = $this->factory->getSession(); if (!empty($entityId)) { $sessionVar = 'mautic.emailbuilder.' . $entityId . '.content'; // Check for an array of slots $slots = InputHelper::_($request->request->get('slots', array(), true), 'html'); $content = $session->get($sessionVar, array()); if (!is_array($content)) { $content = array(); } if (!empty($slots)) { // Builder was closed so save each content foreach ($slots as $slot => $newContent) { $content[$slot] = $newContent; } $session->set($sessionVar, $content); $dataArray['success'] = 1; } else { // Check for a single slot $newContent = InputHelper::html($request->request->get('content')); $slot = InputHelper::clean($request->request->get('slot')); if (!empty($slot)) { $content[$slot] = $newContent; $session->set($sessionVar, $content); $dataArray['success'] = 1; } } } return $this->sendJsonResponse($dataArray); }
/** * Write a notification. * * @param string $message Message of the notification * @param string $type Optional $type to ID the source of the notification * @param bool|true $isRead Add unread indicator * @param string $header Header for message * @param string $iconClass Font Awesome CSS class for the icon (e.g. fa-eye) * @param \DateTime $datetime Date the item was created * @param User|null $user User object; defaults to current user */ public function addNotification($message, $type = null, $isRead = false, $header = null, $iconClass = null, \DateTime $datetime = null, User $user = null) { if ($user === null) { $user = $this->userHelper->getUser(); } if ($user === null || !$user->getId()) { //ensure notifications aren't written for non users return; } $notification = new Notification(); $notification->setType($type); $notification->setIsRead($isRead); $notification->setHeader(EmojiHelper::toHtml(InputHelper::html($header))); $notification->setMessage(EmojiHelper::toHtml(InputHelper::html($message))); $notification->setIconClass($iconClass); $notification->setUser($user); if ($datetime == null) { $datetime = new \DateTime(); } $notification->setDateAdded($datetime); $this->saveEntity($notification); }