You are here

function _file_sort_array_by_weight in File Entity (fieldable files) 7

Same name and namespace in other branches
  1. 7.3 file_entity.file_api.inc \_file_sort_array_by_weight()
  2. 7.2 file_entity.file_api.inc \_file_sort_array_by_weight()

Helper function to sort an array by the value of each item's 'weight' key, while preserving relative order of items that have equal weight.

1 call to _file_sort_array_by_weight()
file_view_file in ./file_entity.file_api.inc
Generate an array for rendering just the file portion of a file entity.

File

./file_entity.file_api.inc, line 418
API extensions of Drupal core's file.inc.

Code

function _file_sort_array_by_weight(&$a) {
  $i = 0;
  foreach ($a as $key => $item) {
    if (!isset($a[$key]['weight'])) {
      $a[$key]['weight'] = 0;
    }
    $original_weight[$key] = $a[$key]['weight'];
    $a[$key]['weight'] += $i / 1000;
    $i++;
  }
  uasort($a, 'drupal_sort_weight');
  foreach ($a as $key => $item) {
    $a[$key]['weight'] = $original_weight[$key];
  }
}