Index: views_bulk_operations_plugin_style.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/views_bulk_operations/Attic/views_bulk_operations_plugin_style.inc,v retrieving revision 1.1.2.36 diff -u -p -r1.1.2.36 views_bulk_operations_plugin_style.inc --- views_bulk_operations_plugin_style.inc 10 Jun 2009 05:29:11 -0000 1.1.2.36 +++ views_bulk_operations_plugin_style.inc 15 Jun 2009 19:18:24 -0000 @@ -104,7 +104,7 @@ class views_bulk_operations_plugin_style function get_selected_operations() { $selected = array(); - foreach (array_filter($this->options['selected_operations']) as $key => $operation) { + foreach (array_filter($this->options['selected_operations']) as $key) { if (module_exists('actions_permissions')) { $perm = actions_permissions_get_perm($this->options['all_operations'][$key]['label'], $this->options['all_operations'][$key]['callback']); if (!user_access($perm)) continue; @@ -151,7 +151,7 @@ class views_bulk_operations_plugin_style $hook_name = $object_type .'_operations'; foreach (module_invoke_all($hook_name) as $operation) { if (empty($operation['callback'])) continue; - $key = md5($operation['callback'] . (isset($operation['callback arguments']) ? serialize($operation['callback arguments']) : '')); + $key = $operation['callback'] . (empty($operation['callback arguments']) ? '' : ':'. md5(serialize($operation['callback arguments']))); if (!isset($operation['behavior'])) { // assume operations modify nodes by default $operation['behavior'] = array('changes_node_property'); } @@ -170,7 +170,7 @@ class views_bulk_operations_plugin_style $action_operations = actions_list() + $this->get_custom_actions(); foreach ($action_operations as $callback => $operation) { - $key = md5($callback); + $key = $callback; $operations[$key] = array( 'label' => $operation['description'], 'callback' => $callback, @@ -211,14 +211,16 @@ class views_bulk_operations_plugin_style $static_actions = actions_list(); $result = db_query("SELECT * FROM {actions} WHERE parameters > ''"); while ($action = db_fetch_object($result)) { - $actions[$action->aid] = array( + $parameters = unserialize($action->parameters); + $key = $action->callback . (empty($parameters) ? '' : ':'. md5($action->parameters)); + $actions[$key] = array( 'description' => $action->description, 'type' => $action->type, 'configurable' => FALSE, - 'parameters' => unserialize($action->parameters), + 'parameters' => $parameters, ); - if (isset($static_actions[$action->callback]['behavior'])) $actions[$action->aid]['behavior'] = $static_actions[$action->callback]['behavior']; - if (isset($static_actions[$action->callback]['aggregate'])) $actions[$action->aid]['aggregate'] = $static_actions[$action->callback]['aggregate']; + if (isset($static_actions[$action->callback]['behavior'])) $actions[$key]['behavior'] = $static_actions[$action->callback]['behavior']; + if (isset($static_actions[$action->callback]['aggregate'])) $actions[$key]['aggregate'] = $static_actions[$action->callback]['aggregate']; } return $actions; } Index: views_bulk_operations.install =================================================================== RCS file: views_bulk_operations.install diff -N views_bulk_operations.install --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ views_bulk_operations.install 15 Jun 2009 19:18:24 -0000 @@ -0,0 +1,57 @@ + ''"); + while ($action = db_fetch_object($result)) { + $key = md5($action->aid); + $parameters = unserialize($action->parameters); + $operations[$key] = $action->callback . (empty($parameters) ? '' : ':'. md5($action->parameters)); + } + foreach (array_keys(actions_list()) as $callback) { + $key = md5($callback); + $operations[$key] = $callback; + } + foreach (views_get_all_views() as $name => $view) { + $changed = FALSE; + foreach (array_keys($view->display) as $display) { + $display_options = &$view->display[$display]->display_options; + if (isset($display_options['style_plugin']) && $display_options['style_plugin'] == 'bulk') { + $changed = TRUE; + $selected_operations = $display_options['style_options']['selected_operations']; + $display_options['style_options']['selected_operations'] = array(); + foreach (array_filter($selected_operations) as $operation) { + // If an old operation is identified, replace it. + $display_options['style_options']['selected_operations'][] = isset($operations[$operation]) ? $operations[$operation] : $operation; + } + } + } + if ($changed) { + $view->save(); + views_object_cache_clear('view', $name); + } + } + cache_clear_all('*', 'cache_views'); + return array(); +}