diff -u b/views_distinct.install b/views_distinct.install --- b/views_distinct.install +++ b/views_distinct.install @@ -18,20 +18,21 @@ /** * Migrate existing views_distinct settings to the variable storage. */ -function views_distinct_update_7001() { - $result = db_select('views_distinct', 'v') - ->fields('v') - ->execute(); +function views_distinct_update_7100() { + if (db_table_exists('views_distinct')) { + $result = db_select('views_distinct', 'v') + ->fields('v') + ->execute(); - foreach ($result as $v) { - $views[$v->view_name][$v->display_id][$v->field_id] = unserialize($v->settings); - } + $views = array(); + foreach ($result as $v) { + $views[$v->view_name][$v->display_id][$v->field_id] = unserialize($v->settings); + } - foreach ($views as $view_name => $settings) { - variable_set('views_distinct:' . $view_name, $settings); - } + foreach ($views as $view_name => $settings) { + variable_set('views_distinct:' . $view_name, $settings); + } - if (db_table_exists('views_distinct')) { db_drop_table('views_distinct'); } } diff -u b/views_distinct.module b/views_distinct.module --- b/views_distinct.module +++ b/views_distinct.module @@ -405,37 +405,37 @@ $settings = (array) $settings + _views_distinct_field_settings_defaults(); $view_settings = variable_get('views_distinct:'.$view_name); - if($view_settings == NULL) { + if ($view_settings == NULL) { $view_settings = array($display_name => array($field_name => $settings)); } - elseif(isset($view_settings[$display_name])) { + elseif (isset($view_settings[$display_name])) { $view_settings[$display_name][$field_name] = $settings; } else { $view_settings[$display_name] = array($field_name => $settings); } - variable_set('views_distinct:'.$view_name, $view_settings); + variable_set('views_distinct:' . $view_name, $view_settings); } else { // If we're removing settings, revert the static cache to defaults: $settings = _views_distinct_field_settings_defaults(); - //remove field, and display if no more settings + // Remove field, and display if no more settings. $view_settings = variable_get('views_distinct:'.$view_name); - if(isset($view_settings[$display_name][$field_name])) { + if (isset($view_settings[$display_name][$field_name])) { unset($view_settings[$display_name][$field_name]); - if(count($view_settings[$display_name]) == 0) { + if (count($view_settings[$display_name]) == 0) { unset($view_settings[$display_name]); } } - if($view_settings != NULL && count($view_settings) == 0) { - //delete variable if no more useful information - variable_del('views_distinct:'.$view_name); + if ($view_settings != NULL && count($view_settings) == 0) { + // Delete variable if no more useful information. + variable_del('views_distinct:' . $view_name); } else { - //update just to remove the settings - variable_set('views_distinct:'.$view_name, $view_settings); + // Update just to remove the settings. + variable_set('views_distinct:' . $view_name, $view_settings); } }