Пример #1
0
 /**
  * Import the Dublin Core Metadata stored in the descProperties datastream
  *
  * @param Omeka_Record $object The Fedora object record.
  * @param string $dsid The datastream ID to import.
  */
 public function import($object, $dsid)
 {
     //Gets the url to the item's datastream content (ex: /fedora/objects/abc:defg890/datastreams/descMetadata/content)
     $url = $object->getMetadataUrl($dsid);
     $descMetadataContent = file_get_contents($url);
     //these are the only metadata types in the datastream
     $CPHMetadataTypes = explode(' ', 'Title Creator Subject Description Publisher Contributor Type Format Identifier Language Relation Rights');
     $elements = $this->db->getTable('Element')->findBySet('Dublin Core');
     $itemID = $object->getItem()->id;
     //save datastream element texts
     foreach ($elements as $element) {
         //current element is one of the types in the datastream
         if (in_array($element->name, $CPHMetadataTypes, true)) {
             $elementName = strtolower($element->name) . '> "';
             $start = strpos($descMetadataContent, $elementName);
             $end = strpos($descMetadataContent, '" .', $start);
             $elementNameLength = strlen($elementName);
             $elementText = substr($descMetadataContent, $start + $elementNameLength, $end - $start - $elementNameLength);
             $checkIfEmpty = trim($elementText);
             //only save the element if it has content
             if (!empty($checkIfEmpty)) {
                 try {
                     $this->saveElementText($itemID, $element->id, $elementText);
                 } catch (Exception $e) {
                     _log($e->getMessage());
                 }
             }
         }
     }
 }
Пример #2
0
 /**
  * Display an object.
  *
  * @param Omeka_Record $object The Fedora object record.
  * @return DOMDocument The HTML DOM for the datastream.
  */
 function display($object, $params = array())
 {
     $url = "{$object->getServer()->url}/objects/{$object->pid}" . "/datastreams/SCREEN/content";
     $dom = new DOMDocument();
     $node = $dom->createElement('img');
     $dom->appendChild($node);
     $node->setAttribute('class', 'fedora-renderer');
     $node->setAttribute('alt', 'image');
     $node->setAttribute('src', $url);
     return $dom;
 }
Пример #3
0
 /**
  * Render a datastream.
  *
  * @param Omeka_Record $object The Fedora object record.
  * @return DOMDocument|null The output of the renderer.
  */
 public function display($object, $params = null)
 {
     foreach (explode(',', $object->dsids) as $dsid) {
         // Get mime type.
         $mimeType = $object->getServer()->getMimeType($object->pid, $dsid);
         // Try to get renderer.
         $renderer = $this->displayPlugins->getPlugin($mimeType);
         // Render.
         if (!is_null($renderer)) {
             return $renderer->display($object, $params);
         }
     }
 }
Пример #4
0
 /**
  * Displays the image.
  *
  * @param Omeka_Record $object The Fedora object record.
  * @param string $size The size to scale the image to.
  *
  * @return DOMDocument The HTML DOM for the image.
  */
 private function _display($object, $params = array())
 {
     if (empty($params)) {
         $params = array('scale' => '400,0');
     }
     $server = $object->getServer();
     $url = "{$server->url}/{$server->getService()}/{$object->pid}" . "/methods/djatoka:jp2SDef/getRegion?" . http_build_query($params);
     $dom = new DOMDocument();
     $node = $dom->createElement('img');
     $dom->appendChild($node);
     $node->setAttribute('class', 'fedora-renderer');
     $node->setAttribute('alt', 'image');
     $node->setAttribute('src', $url);
     return $dom;
 }
Пример #5
0
 /**
  * Displays the image.
  *
  * @param Omeka_Record $object The Fedora object record.
  * @param string $size The size to scale the image to.
  *
  * @return DOMDocument The HTML DOM for the image.
  */
 private function _display($object, $params = array())
 {
     if (empty($params)) {
         $params = array('scale' => '600');
     }
     $server = $object->getServer();
     $url = 'http://digital.case.edu/image-service/' . $object->pid . '/full/' . $params['scale'] . ',/0/native.jpg';
     $dom = new DOMDocument();
     $node = $dom->createElement('img');
     $dom->appendChild($node);
     $node->setAttribute('class', 'fedora-renderer');
     $node->setAttribute('alt', 'image');
     $node->setAttribute('src', $url);
     return $dom;
 }
 /**
  * Get XML from Fedora for the item.
  *
  * @param Omeka_Record $object The Fedora object record.
  * @param string $dsid The dsid to load.
  * @return DOMDocument The metadata XML.
  */
 public function getMetadataXml($object, $dsid)
 {
     $url = $object->getMetadataUrl($dsid);
     return Zend_Registry::get('gateway')->load($url);
 }