Exemple #1
0
 /**
  * Replace the object tag by a link to the Claroline resource
  *
  * @access private
  *
  * @param DOMNodelist::item $ob element object
  * @param Claroline\CoreBundle\Entity\Resource $resourceNode
  *
  */
 private function replaceNode($ob, $resourceNode)
 {
     $mimeType = $ob->getAttribute('type');
     if (strpos($mimeType, 'image/') !== false) {
         $url = $this->container->get('router')->generate('claro_file_get_media', array('node' => $resourceNode->getId()));
         $imgTag = $this->assessmentItem->ownerDocument->createElement('img');
         $styleAttr = $this->assessmentItem->ownerDocument->createAttribute('style');
         $srcAttr = $this->assessmentItem->ownerDocument->createAttribute('src');
         $altAttr = $this->assessmentItem->ownerDocument->createAttribute('alt');
         $styleAttr->value = 'max-width: 100%;';
         $srcAttr->value = $url;
         $altAttr->value = $resourceNode->getName();
         $imgTag->appendChild($styleAttr);
         $imgTag->appendChild($srcAttr);
         $imgTag->appendChild($altAttr);
         $ob->parentNode->replaceChild($imgTag, $ob);
     } else {
         $url = $this->container->get('router')->generate('claro_resource_open', array('resourceType' => $resourceNode->getResourceType()->getName(), 'node' => $resourceNode->getId()));
         $aTag = $this->assessmentItem->ownerDocument->createElement('a', $resourceNode->getName());
         $hrefAttr = $this->assessmentItem->ownerDocument->createAttribute('href');
         $hrefAttr->value = $url;
         $aTag->appendChild($hrefAttr);
         $ob->parentNode->replaceChild($aTag, $ob);
     }
 }