function _views_maintenance_compare_by_order in Views Maintenance 6
Same name and namespace in other branches
- 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;
}
}