pid = $pid; $this->item = new Fedora_Item($this->pid); } } /** * extract metadata * @param type $parameterArray * @param type $dsid * @param type $file * @param type $file_ext * @return type */ function extractFits($parameterArray, $dsid, $file, $file_ext) { if (variable_get('enable_fits', FALSE) == 1) { $file_name = '_' . $dsid . '.xml'; $output = array(); exec(variable_get('fits_path', '/usr/local/bin/fits.sh') .' -i ' . escapeshellarg($file) . '', $output); if ( !file_put_contents($file . $file_name, implode("\n", $output)) ) { //drupal_set_message(t("error writing fits file %s", array('%s' => "$file.$file_name"))); return FALSE; } $_SESSION['fedora_ingest_files']["$dsid"] = $file . $file_name; return TRUE; } return TRUE; //this prevents getting the error following content model rules message when fits generation is turned off } /** * display metadata * @return type */ function displayFits() { $output = ''; $fits = $this->item->get_datastream_dissemination('TECHMD_FITS'); if (trim($fits) != '') { $fitsDom = DOMDocument::loadXML($this->item->get_datastream_dissemination('FITS')); if ($fitsDom != NULL) { $description = $fitsDom->getElementsByTagName('fits'); if ($description->length > 0) { $description = $description->item(0); $output .= '
'; $fieldset = array( '#title' => t("!text", array('!text' => 'FITS Technical Metadata')), '#collapsible' => TRUE, '#collapsed' => TRUE, '#value' => $output ); $output = theme('fieldset', $fieldset); } } } return $output; } }