function _views_maintenance_view_status in Views Maintenance 7
Same name and namespace in other branches
- 6 views_maintenance.admin.inc \_views_maintenance_view_status()
 
Returns view status based on its displays statuses.
Parameters
array $displays_statuses: Flat array containing statuses from most important use case of each view display.
Return value
string Status of view. Value is one of:
- "broken"
 - "ok"
 - "has-maybe"
 - "has-unused"
 - "unused".
 
1 call to _views_maintenance_view_status()
- views_maintenance_page in ./
views_maintenance.admin.inc  - Page callback for views maintenance page.
 
File
- ./
views_maintenance.admin.inc, line 34  - Provides administrative UI for Views Maintenance.
 
Code
function _views_maintenance_view_status($displays_statuses = array()) {
  // Check "broken" status existence.
  if (array_search('broken', $displays_statuses) !== FALSE) {
    return 'broken';
  }
  // Move 'default' display status from array
  $default_status = $displays_statuses['default'];
  unset($displays_statuses['default']);
  if (empty($displays_statuses)) {
    // Default display is the only display in view, use its status for view
    // status.
    switch ($default_status) {
      case 'ok':
        return 'ok';
      case 'maybe':
        return 'has-maybe';
      default:
        // unused
        return 'unused';
    }
  }
  $counts = array_count_values($displays_statuses);
  if (!empty($counts['unused'])) {
    // View has unused displays.
    if (empty($counts['ok']) && empty($counts['maybe']) && $default_status == 'unused') {
      // View contains only unused displays.
      return 'unused';
    }
    else {
      // View has unused displays among others.
      return 'has-unused';
    }
  }
  elseif (!empty($counts['maybe'])) {
    // View doesn't have unused displays, but has "maybe" non-default displays.
    // Default display status is ignored here.
    return 'has-maybe';
  }
  else {
    // All non-default displays have "ok" status, ignore default display status.
    return 'ok';
  }
}