/**
  * @param object                        $entity
  * @param ActivityListProviderInterface $provider
  * @param string                        $verb
  * @param ActivityList|null             $list
  *
  * @return ActivityList
  */
 protected function getActivityListEntityForEntity($entity, ActivityListProviderInterface $provider, $verb = ActivityList::VERB_CREATE, $list = null)
 {
     if ($provider->isApplicable($entity)) {
         if (!$list) {
             $list = new ActivityList();
         }
         $list->setSubject($provider->getSubject($entity));
         $list->setDescription($this->htmlTagHelper->stripTags($this->htmlTagHelper->purify($provider->getDescription($entity))));
         $this->setDate($entity, $provider, $list);
         if ($this->hasGrouping($provider)) {
             $list->setHead($provider->isHead($entity));
         }
         $list->setVerb($verb);
         if ($verb === ActivityList::VERB_UPDATE) {
             $activityListTargets = $list->getActivityListTargetEntities();
             foreach ($activityListTargets as $target) {
                 $list->removeActivityListTarget($target);
             }
         } else {
             $className = $this->doctrineHelper->getEntityClass($entity);
             $list->setRelatedActivityClass($className);
             $list->setRelatedActivityId($this->doctrineHelper->getSingleEntityIdentifier($entity));
             $list->setOrganization($provider->getOrganization($entity));
         }
         $targets = $provider->getTargetEntities($entity);
         foreach ($targets as $target) {
             if ($list->supportActivityListTarget($this->doctrineHelper->getEntityClass($target))) {
                 $list->addActivityListTarget($target);
             }
         }
         return $list;
     }
     return null;
 }
 /**
  * @param User $user
  * @param $maxEmailsDisplay
  *
  * @return array
  */
 public function getEmails(User $user, Organization $organization, $maxEmailsDisplay)
 {
     $emails = $this->em->getRepository('OroEmailBundle:Email')->getNewEmails($user, $organization, $maxEmailsDisplay);
     $emailsData = [];
     /** @var $email Email */
     foreach ($emails as $element) {
         $isSeen = $element['seen'];
         $email = $element[0];
         $bodyContent = '';
         try {
             $this->emailCacheManager->ensureEmailBodyCached($email);
             $bodyContent = $this->htmlTagHelper->shorten($this->htmlTagHelper->stripTags($this->htmlTagHelper->purify($email->getEmailBody()->getBodyContent())));
         } catch (LoadEmailBodyException $e) {
             // no content
         }
         $emailsData[] = ['route' => $this->router->generate('oro_email_email_reply', ['id' => $email->getId()]), 'id' => $email->getId(), 'seen' => $isSeen, 'subject' => $email->getSubject(), 'bodyContent' => $bodyContent, 'fromName' => $email->getFromName(), 'linkFromName' => $this->getFromNameLink($email)];
     }
     return $emailsData;
 }
 /**
  * {@inheritdoc}
  */
 public function getDescription($entity)
 {
     /** @var $entity Email */
     if ($entity->getEmailBody()) {
         $body = $entity->getEmailBody()->getBodyContent();
         $content = $this->htmlTagHelper->purify($body);
         $content = $this->htmlTagHelper->stripTags($content);
         $content = $this->htmlTagHelper->shorten($content);
         return $content;
     }
     return null;
 }
 /**
  * @param string $string
  *
  * @return string
  */
 public function tagFilter($string)
 {
     return $this->htmlTagHelper->stripTags($string);
 }
 public function testGetStripped()
 {
     $actualString = '<div class="new">test</div>';
     $expectedString = 'test';
     $this->assertEquals($expectedString, $this->helper->stripTags($actualString));
 }
Exemple #6
0
 /**
  * {@inheritdoc}
  */
 protected function executeAction($context)
 {
     $result = $this->htmlTagHelper->purify($this->contextAccessor->getValue($context, $this->html));
     $result = $this->htmlTagHelper->stripTags($result);
     $this->contextAccessor->setValue($context, $this->attribute, $result);
 }