I was trying to figure out why, regardless of the settings in the view, the output would always include odd/even classes and the default view classes. In the preview on the view it works as expected, but once I check it out with the theme everything goes haywire and there are classes all over the place.

This comes down to the "mothership_preprocess_views_view_unformatted" in "mothership/functions/views.php" -- it seems to be adding these odd/even row classes all the time and doesn't check the options before doing so. We're using v2.8, but I checked 2.10 and the same issue is there.

Seems to me this function could use a bit of TLC -- it looks like it was borrowed from 'views/theme/theme.inc' at some point in time but some things have been missed or removed, I'm not entirely sure.

I rewrote it on our site to the following :

/**
 * views list css classes
 * options for renaming classes & removing em
 * most of this is from contrib/views/theme/theme.inc
 */
function mothership_preprocess_views_view_unformatted(&$vars) {

  // Remove .view-row
  $mothership_classes_view_row = theme_get_setting('mothership_classes_view_row');

  // Remove .view-row-$count
  $mothership_classes_view_row_count = theme_get_setting('mothership_classes_view_row_count');

  // Rename .view-row-$count, .view-row-first & .view-row-last to : count-$count, .first & .last
  $mothership_classes_view_row_rename = theme_get_setting('mothership_classes_view_row_rename');

  // Remove .view-row-first & .view-row-last
  $mothership_classes_view_row_first_last = theme_get_setting('mothership_classes_view_row_first_last');

  // set up variables for first/last/count rows
  $row_first = $mothership_classes_view_row_rename ? 'first'  : 'views-row-first';
  $row_last  = $mothership_classes_view_row_rename ? 'last'   : 'views-row-last';
  $row_count = $mothership_classes_view_row_rename ? 'count-' : 'views-row-';

  $view = $vars['view'];
  $rows = $vars['rows'];
  $style = $view->style_plugin;
  $options = $style->options;

  $vars['classes_array'] = array();
  $vars['classes'] = array();
  $default_row_class = isset($options['default_row_class']) ? $options['default_row_class'] : FALSE;
  $row_class_special = isset($options['row_class_special']) ? $options['row_class_special'] : FALSE;

  $count = 0;
  $max = count($rows);

  foreach ($rows as $id => $row) {
    $count++;

    if (!$mothership_classes_view_row && $default_row_class ) {
      $vars['classes'][$id][] = 'views-row';
    }

    if (!$mothership_classes_view_row_count && $default_row_class ) {
      $vars['classes'][$id][] = 'views-row-' . $count;
    }

    if ($row_class_special) {
      $vars['classes'][$id][] = $row_count . ($count % 2 ? 'odd' : 'even');
      if (!$mothership_classes_view_row_first_last && $count == 1 ) {
        $vars['classes'][$id][] = $row_first;
      }
      if (!$mothership_classes_view_row_first_last && $count == $max ) {
        $vars['classes'][$id][] = $row_last;
      }
    }

    if ($row_class = $view->style_plugin->get_row_class($id)) {
      $vars['classes'][$id][] = $row_class;
    }

    // Flatten the classes to a string for each row for the template file.
    $vars['classes_array'][$id] = isset($vars['classes'][$id]) ? implode(' ', $vars['classes'][$id]) : '';

  }

}