Index: webform_report.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/webform_report/Attic/webform_report.inc,v
retrieving revision 1.1.2.27.2.10
diff -u -r1.1.2.27.2.10 webform_report.inc
--- webform_report.inc	9 Nov 2010 21:10:01 -0000	1.1.2.27.2.10
+++ webform_report.inc	12 Nov 2010 15:32:40 -0000
@@ -683,21 +683,32 @@
   
   // handle select type
   else if ($column['type'] == 'select') {
-    // save key value
-    $key = $raw[0];
-    // display key if wanted or if no key/value pairs exist
-    if ($column['format'] == 'KEY' || !array_key_exists('pairs', $column)) {
-      $data = $key;
-    }
-    else {
-      // set select value to friendly format (default)
-      $data = $column['pairs'][$key];
-    }
-    // set sort key - default is same as display
-    $sort = $data;
-    // change to key if selected
-    if ($column['option'] == 'KEY') {
-      $sort = $key;
+    $data = '';
+    $sort = '';
+    // process each key in case of multi-selects
+    for ($i=0; $i<count($raw); $i++) {
+      if ($i > 0) {
+        $data .= ',';
+        $sort .= ',';
+      }
+      // save key value
+      $key = $raw[$i];
+      // display key if wanted or if no key/value pairs exist
+      if ($column['format'] == 'KEY' || !array_key_exists('pairs', $column)) {
+        $data .= $key;
+      }
+      else {
+        // set select value to friendly format (default)
+        $data .= $column['pairs'][$key];
+      }
+      // set sort key - use key if selected
+      if ($column['option'] == 'KEY') {
+        $sort .= $key;
+      }
+      // otherwise use data
+      else {
+        $sort .= $column['pairs'][$key];
+      }
     }
     // save the value
     $out = array('data' => $data, 'field' => $column['cid'], 'sort' => $sort);

