Index: feedback.module
===================================================================
--- feedback.module	(revision 331)
+++ feedback.module	(working copy)
@@ -104,10 +104,10 @@
   );
   if (user_access('view feedback messages')) {
     if (arg(0) != 'node') {
-      $feedbacks = feedback_load(array('status' => 0, 'location_masked' => feedback_mask_path($_GET['q'])));
+      $feedbacks = feedback_load(NULL, array('status' => 0, 'location_masked' => feedback_mask_path($_GET['q'])));
     }
     else {
-      $feedbacks = feedback_load(array('status' => 0, 'location' => $_GET['q']));
+      $feedbacks = feedback_load(NULL, array('status' => 0, 'location' => $_GET['q']));
     }
     if ($feedbacks) {
       $rows = '';
@@ -171,10 +171,15 @@
 /**
  * Load feedback entries from the database.
  *
+ * @param $fid
+ *   An optional fid of a specific feedback message to load.
  * @param $array
  *   A keyed array of optional where clause conditions.
  */
-function feedback_load($array) {
+function feedback_load($fid = NULL, $array = array()) {
+  if ($fid) {
+    $array['fid'] = $fid;
+  }
   $where = $args = array();
   if (!empty($array)) {
     foreach ($array as $column => $value) {
@@ -301,15 +306,13 @@
     // Build the table.
     $rows = array();
     foreach (element_children($item) as $element_entry) {
+      //die(dpr($element_entry));
       $entry = &$item[$element_entry];
       // Render the data first.
-      $rows[] = array(
-        0,
-        drupal_render($entry['location']),
-        drupal_render($entry['date']),
-        drupal_render($entry['user']),
-        drupal_render($entry['message']),
-      );
+      $rows[] = array(0);
+      foreach (element_children($entry) as $column) {
+        $rows[count($rows) - 1][] = drupal_render($entry[$column]);
+      }
       // Render the checkbox.
       $rows[count($rows) - 1][0] = drupal_render($entry);
     }
