--- /cvs/drupal/contributions/modules/views_bulk_operations/views_bulk_operations.module  2010/12/09 03:42:34 1.29.2.9.2.162
+++ /cvs/drupal/contributions/modules/views_bulk_operations/views_bulk_operations.module  2010/12/14 05:47:31 1.29.2.9.2.163
@@ -1,5 +1,5 @@
 <?php
-// $Id: views_bulk_operations.module,v 1.29.2.9.2.161 2010/11/26 10:00:02 kratib Exp $
+// $Id: views_bulk_operations.module,v 1.29.2.9.2.162 2010/12/09 03:42:34 kratib Exp $
 
 /**
  * @file 
@@ -86,10 +86,8 @@
       'arguments' => array('objects' => NULL, 'view' => NULL),
     ),
   );
-  $files = file_scan_directory(drupal_get_path('module', 'views_bulk_operations'), '(.*).action.inc$');
-  if ($files) foreach ($files as $file) {
-    require_once($file->filename);
-    $action_theme_fn = 'views_bulk_operations_'. str_replace('.', '_', basename($file->filename, '.inc')).'_theme';
+  foreach (_views_bulk_operations_load_actions() as $file) {
+    $action_theme_fn = 'views_bulk_operations_'. $file .'_action_theme';
     if (function_exists($action_theme_fn)) {
       $themes += call_user_func($action_theme_fn);
     }
@@ -172,10 +170,28 @@
   }
 
   // Automatically include the action files.
-  $files = file_scan_directory(drupal_get_path('module', 'views_bulk_operations'), '(.*).action.inc$');
-  if ($files) foreach ($files as $file) {
-    require_once($file->filename);
+  _views_bulk_operations_load_actions();
+}
+
+/**
+ * Helper to include all action files.
+ */
+function _views_bulk_operations_load_actions() {
+  $files = array(
+    'archive',
+    'argument_selector',
+    'delete',
+    'fields',
+    'profile',
+    'ruleset',
+    'script',
+    'taxonomy',
+    'user_roles',
+  );
+  foreach ($files as $file) {
+    module_load_include('inc', 'views_bulk_operations', "$file.action");
   }
+  return $files;
 }
 
 /**
@@ -1191,10 +1207,8 @@
  */
 function views_bulk_operations_action_info() {
   $actions = array();
-  $files = file_scan_directory(drupal_get_path('module', 'views_bulk_operations'), '(.*).action.inc$');
-  if ($files) foreach ($files as $file) {
-    require_once($file->filename);
-    $action_info_fn = 'views_bulk_operations_'. str_replace('.', '_', basename($file->filename, '.inc')).'_info';
+  foreach (_views_bulk_operations_load_actions() as $file) {
+    $action_info_fn = 'views_bulk_operations_'. $file .'_action_info';
     $action_info = call_user_func($action_info_fn);
     if (is_array($action_info)) $actions += $action_info;
   }
