You are here

function _views_maintenance_compare_by_order in Views Maintenance 6

Same name and namespace in other branches
  1. 7 views_maintenance.module \_views_maintenance_compare_by_order()

Compares values by predefined order.

If new order is passed it is saved for future calls and function always returns 0 (zero).

Parameters

string $a:

string $b:

array|null $order:

Return value

int

4 calls to _views_maintenance_compare_by_order()
views_maintenance_page in ./views_maintenance.admin.inc
Page callback for views maintenance page.
_views_maintenance_use_cases_sort_by_status in ./views_maintenance.admin.inc
Sorts by status, the order is "broken", "ok", "maybe", "unused".
_views_maintenance_views_sort_callback in theme/theme.inc
Compares passed values using strcasecmp() or predefined order.
_views_maintenance_views_sort_criteria in theme/theme.inc
Stores and returns field for comparing views.

File

./views_maintenance.module, line 90
Hooks implementations and helper functions for Views Maintenance module.

Code

function _views_maintenance_compare_by_order($a, $b, $new_order = NULL) {
  static $order = NULL;
  if (isset($new_order)) {

    // Flip new order to get "value => index" array.
    $order = array_flip($new_order);
    return 0;
  }
  if (isset($order[$a]) && isset($order[$b])) {

    // Return difference between fields indexes.
    return $order[$a] - $order[$b];
  }
  else {
    return 0;
  }
}