? enabled_modules--766296-2.patch
? enabled_modules--768276-3.patch
? enabled_modules--768276-4.patch
Index: enabled_modules.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/enabled_modules/enabled_modules.module,v
retrieving revision 1.3
diff -u -p -r1.3 enabled_modules.module
--- enabled_modules.module	9 Apr 2010 11:46:46 -0000	1.3
+++ enabled_modules.module	5 May 2010 11:08:20 -0000
@@ -6,53 +6,68 @@
  * Provides a page showing all enabled modules by system name, including modules missing from the file system, and a page showing formerly enabled now disabled modules.  Also provides the operating system directory of the Drupal installation and the paths of enabled modules.
  */
 
-// move to separate module
 /**
- * Implementation of hook_block().
+ * Implementation of hook_block_info().
  */
-function enabled_modules_block($op = 'list', $delta = 0, $edit = array()) {
-  if ($op == 'list') {
-    $blocks['demo']['info'] = t('Key site modules');
-    return $blocks;
-  }
-  else if ($op == 'configure') {
-    switch ($delta) {
-      case 'demo':
-        $form = array();
-        // All we need to provide is a text field, Drupal will take care of
-        // the other block configuration options and the save button.
-        $form['enabled_modules_demo_list'] = array(
-          '#type' => 'checkboxes',
-          '#title' => t('Select modules to list in the block'),
-          '#options' => enabled_modules_fetch_names($status = 1, $reset = TRUE),
-          '#description' => t('Selected modules will be listed in the block.'),
-          '#default_value' => variable_get('enabled_modules_demo_list', ''),
-        );
-        return $form;
-
-        break;
-    }
-  }
-  else if ($op == 'save') {
-    switch ($delta) {
-      case 'demo':
-        variable_set('enabled_modules_demo_list', $edit['enabled_modules_demo_list']);
-        break;
-    }
-  }
-  else if ($op == 'view') {
-    switch ($delta) {
-      case 'demo':
-        $block['subject'] = t('Key Site Modules');
-        $block['content'] = enabled_modules_block_list($status = 1);
-        drupal_add_js('misc/collapse.js');
-        break;
-    }
-    return $block;
+function enabled_modules_block_info() {
+  $blocks['demo'] = array(
+    'info' => t('Key site modules'),
+  );
+  
+  return $blocks;
+}
+
+/**
+ * Implementation of hook_block_configure().
+ */
+function enabled_modules_block_configure($delta = 0) {
+  switch ($delta) {
+    case 'demo':
+      $form = array();
+      // All we need to provide is a text field, Drupal will take care of
+      // the other block configuration options and the save button.
+      $form['enabled_modules_demo_list'] = array(
+        '#type' => 'checkboxes',
+        '#title' => t('Select modules to list in the block'),
+        '#options' => enabled_modules_fetch_names($status = 1, $reset = TRUE),
+        '#description' => t('Selected modules will be listed in the block.'),
+        '#default_value' => variable_get('enabled_modules_demo_list', ''),
+      );
+      return $form;
   }
 }
 
 /**
+ * Implementation of hook_block_save().
+ */
+function enabled_modules_block_save($delta = 0, $edit = array()) {
+  switch ($delta) {
+    case 'demo':
+      variable_set('enabled_modules_demo_list', $edit['enabled_modules_demo_list']);
+      break;
+  }
+}
+
+/**
+ * Implementation of hook_block_view().
+ */
+function enabled_modules_block_view($delta = 0) {
+  switch ($delta) {
+    case 'demo':
+      $block['subject'] = t('Key Site Modules');
+      
+      $status = 1;
+      $modules = enabled_modules_fetch_demo($status);
+      
+      $block['content'] = theme('enabled_modules_block_list', $modules, $status);
+      
+      drupal_add_js('misc/collapse.js');
+      break;
+  }
+  return $block;
+}
+
+/**
  * Implementation of hook_help().
  */
 function enabled_modules_help($path, $arg) {
@@ -95,18 +110,13 @@ function enabled_modules_theme() {
 }
 
 // Helper functions
-function enabled_modules_block_list($status = 1) {
-  $modules = enabled_modules_fetch_demo($status);
-  $output .= theme('enabled_modules_block_list', $modules, $status);
-  return $output;
-}
-
 function enabled_modules_fetch_demo($status = 1, $reset = TRUE) {
   static $modules = array();
   if ($reset || !isset($modules) || empty($modules)) {
-    $module_list = array_values(variable_get('enabled_modules_demo_list', 0));
-    $result = db_query("SELECT filename, name, info, throttle, bootstrap, schema_version FROM {system} WHERE type = 'module' AND status = %d ORDER BY name", $status);
-    while ($module = db_fetch_object($result)) {
+    $module_list = array_values(variable_get('enabled_modules_demo_list', array()));
+    $result = db_query("SELECT filename, name, info, bootstrap, schema_version FROM {system} WHERE type = 'module' AND status = :status ORDER BY name",
+array(':status' => $status));
+    while ($module = $result->fetchObject()) {
       if (in_array($module->name, $module_list, TRUE)) {
         $module->info = unserialize($module->info);
         $modules[] = $module;
@@ -119,8 +129,9 @@ function enabled_modules_fetch_demo($sta
 function enabled_modules_fetch_names($status = 1, $reset = TRUE) {
   $module_names = array();
   if ($reset || !isset($modules) || empty($modules)) {
-    $result = db_query("SELECT filename, name, info, throttle, bootstrap, schema_version FROM {system} WHERE type = 'module' AND status = %d ORDER BY name", $status);
-    while ($module = db_fetch_object($result)) {
+    $result = db_query("SELECT filename, name, info, bootstrap, schema_version FROM {system} WHERE type = 'module' AND status = :status ORDER BY name",
+array(':status' => $status));
+    while ($module = $result->fetchObject()) {
       $module_names[$module->name] = $module->name;
     }
   }
