From 68e6cc8a324075d8e9dc6719388764e23e700048 Mon Sep 17 00:00:00 2001
From: Peter Lieverdink <me@cafuego.net>
Date: Tue, 17 May 2011 10:38:51 +1000
Subject: [PATCH] Properly handle mutiple webform node types, show node.nid in list and show unpublished nodes.

---
 webform_mysql_views.module |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/webform_mysql_views.module b/webform_mysql_views.module
index fa2bb89..479d69d 100644
--- a/webform_mysql_views.module
+++ b/webform_mysql_views.module
@@ -179,18 +179,19 @@ function webform_mysql_views_admin_form() {
     return array("error" => array('#value' => $output));
   }
 
-
   // Get list of webform-enabled content types
   $types = webform_variable_get('webform_node_types', array());
 
+  // Create query placeholders for these types.
+  $placeholders = db_placeholders($types, 'varchar');
+
   //Get list of nids that already have views
   $views = variable_get('webform_mysql_views_views', array());
   $view_nids = array_keys($views);
 
   //Get list of all webform nodes
-  $query = db_rewrite_sql("SELECT nid, title FROM {node} n WHERE type IN ('%s') AND status = 1 ORDER BY nid");
-  $result = db_query($query, implode("','", $types));
-
+  $query = db_rewrite_sql('SELECT nid, title, type FROM {node} AS n WHERE type IN (' . $placeholders . ') ORDER BY nid ASC');
+  $result = db_query($query, $types);
 
   $options = array();
   $titles = array();
@@ -206,7 +207,7 @@ function webform_mysql_views_admin_form() {
     else {
       $view_str = t('-');
     }
-    $options[$node->nid] = array('title' => $node->title, 'view' => $view_str);
+    $options[$node->nid] = array('nid' => $node->nid, 'title' => $node->title, 'type' => $node->type, 'view' => $view_str);
 
   }
 
@@ -218,7 +219,9 @@ function webform_mysql_views_admin_form() {
     '#value' => $titles,
   );
   $header = array(
+    'nid' => t('Node ID'),
     'title' => t('Webform Name'),
+    'type' => t('Node Type'),
     'view' => t('View Name'),
   );
   $form['help'] = array(
-- 
1.7.1

