You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.2 KiB
48 lines
1.2 KiB
<?php |
|
|
|
/** |
|
* Convert bytes to human readable format |
|
* |
|
* @param integer bytes Size in bytes to convert |
|
* @return string |
|
*/ |
|
function islandora_convert_bytes_to_human_readable($bytes, $precision = 2) |
|
{ |
|
$kilobyte = 1024; |
|
$megabyte = $kilobyte * 1024; |
|
$gigabyte = $megabyte * 1024; |
|
$terabyte = $gigabyte * 1024; |
|
|
|
if (($bytes >= 0) && ($bytes < $kilobyte)) { |
|
return $bytes . ' B'; |
|
|
|
} elseif (($bytes >= $kilobyte) && ($bytes < $megabyte)) { |
|
return round($bytes / $kilobyte, $precision) . ' KB'; |
|
|
|
} elseif (($bytes >= $megabyte) && ($bytes < $gigabyte)) { |
|
return round($bytes / $megabyte, $precision) . ' MB'; |
|
|
|
} elseif (($bytes >= $gigabyte) && ($bytes < $terabyte)) { |
|
return round($bytes / $gigabyte, $precision) . ' GB'; |
|
|
|
} elseif ($bytes >= $terabyte) { |
|
return round($bytes / $terabyte, $precision) . ' TB'; |
|
} else { |
|
return $bytes . ' B'; |
|
} |
|
} |
|
|
|
function islandora_control_group_to_human_readable($control_group) { |
|
switch($control_group) { |
|
case 'M': |
|
return '<b>M</b>anaged'; |
|
case 'X': |
|
return 'Inline <b>X</b>ML'; |
|
case 'R': |
|
return '<b>R</b>edirect'; |
|
case 'E': |
|
return '<b>E</b>xternally Referenced'; |
|
default: |
|
return $control_group; |
|
} |
|
} |