Daniel Aitken
10 years ago
19 changed files with 388 additions and 247 deletions
@ -0,0 +1,60 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
/** |
||||||
|
* @file |
||||||
|
* Mimetype specific utility functions. |
||||||
|
*/ |
||||||
|
|
||||||
|
/** |
||||||
|
* Retrieve the correct file extension for a give mimetype. |
||||||
|
* |
||||||
|
* @param string $mimetype |
||||||
|
* The mimetype whose extension is required. |
||||||
|
* |
||||||
|
* @return string |
||||||
|
* The extension mapped to the given mimetype. Defaults to 'bin'. |
||||||
|
*/ |
||||||
|
function islandora_get_extension_for_mimetype($mimetype) { |
||||||
|
// file.mimetypes.inc is a part of Drupal core, however is not |
||||||
|
// automatically loaded. Manually require it. |
||||||
|
require_once DRUPAL_ROOT . "/includes/file.mimetypes.inc"; |
||||||
|
$extension = 'bin'; |
||||||
|
$mimetype_mapping = file_mimetype_mapping(); |
||||||
|
$extension_index = array_search($mimetype, $mimetype_mapping['mimetypes']); |
||||||
|
if ($extension_index !== FALSE) { |
||||||
|
$mime_array_flipped = array_reverse($mimetype_mapping['extensions']); |
||||||
|
$extension = array_search($extension_index, $mime_array_flipped); |
||||||
|
} |
||||||
|
|
||||||
|
// We can only have one mapping in drupal for 'xml'. |
||||||
|
if ($mimetype == "text/xml") { |
||||||
|
return "xml"; |
||||||
|
} |
||||||
|
return $extension; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Retrieve all file extensions for a give mimetype. |
||||||
|
* |
||||||
|
* @param string $mimetype |
||||||
|
* The mimetype whose extensions are required. |
||||||
|
* |
||||||
|
* @return array |
||||||
|
* All known legal extensions. |
||||||
|
*/ |
||||||
|
function islandora_get_extensions_for_mimetype($mimetype) { |
||||||
|
// file.mimetypes.inc is a part of Drupal core, however is not |
||||||
|
// automatically loaded. Manually require it. |
||||||
|
require_once DRUPAL_ROOT . "/includes/file.mimetypes.inc"; |
||||||
|
$mimetype_mapping = file_mimetype_mapping(); |
||||||
|
$index = array_search($mimetype, $mimetype_mapping['mimetypes']); |
||||||
|
$extensions = array(); |
||||||
|
if ($index !== FALSE) { |
||||||
|
$extensions = array_keys($mimetype_mapping['extensions'], $index); |
||||||
|
} |
||||||
|
// We can only have one mapping in drupal for 'xml'. |
||||||
|
if ($mimetype == "text/xml") { |
||||||
|
$extensions[] = 'xml'; |
||||||
|
} |
||||||
|
return $extensions; |
||||||
|
} |
@ -1,18 +0,0 @@ |
|||||||
/** |
|
||||||
* @file |
|
||||||
* JavaScript file responsable for the print button behaviour. |
|
||||||
*
|
|
||||||
* The print button is added automatically to every view, as metadata |
|
||||||
* can be printed from every object. |
|
||||||
* |
|
||||||
*/ |
|
||||||
(function ($) { |
|
||||||
$(document).ready(function() { |
|
||||||
$('.tabs .primary').append('<img id="print_btn" title="Print" src="' + Drupal.settings.basePath + Drupal.settings.islandora.print_img + '"></img>'); |
|
||||||
$('#print_btn').css("cursor","pointer"); |
|
||||||
$('#print_btn').click(function() { |
|
||||||
window.location=Drupal.settings.basePath + Drupal.settings.islandora.print_link; |
|
||||||
}); |
|
||||||
}); |
|
||||||
})(jQuery); |
|
||||||
|
|
Loading…
Reference in new issue