Exemple #1
0
 /**
  * @param CollectionEntity|AbstractMediaEntity $entity
  *
  * @return string
  */
 public function escapeDescription($entity)
 {
     $description = $entity->getDescription();
     $strategy = null;
     $hookName = null;
     if ($entity instanceof CollectionEntity) {
         $strategy = \ModUtil::getVar('CmfcmfMediaModule', 'descriptionEscapingStrategyForCollection');
         $hookName = 'collections';
     } elseif ($entity instanceof AbstractMediaEntity) {
         $strategy = \ModUtil::getVar('CmfcmfMediaModule', 'descriptionEscapingStrategyForMedia');
         $hookName = 'media';
     } else {
         throw new \LogicException();
     }
     $eventName = "cmfcmfmediamodule.filter_hooks.{$hookName}.filter";
     $hook = new \Zikula_FilterHook($eventName, $description);
     $description = $this->hookDispatcher->dispatch($eventName, $hook)->getData();
     switch ($strategy) {
         case 'raw':
             return $description;
         case 'text':
             return htmlentities($description);
         case 'markdown':
             return $this->markdownExtra->transform($description);
         default:
             throw new \LogicException();
     }
 }