Index: README.txt
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedback/README.txt,v
retrieving revision 1.8
diff -u -p -r1.8 README.txt
--- README.txt	8 Aug 2008 18:05:29 -0000	1.8
+++ README.txt	19 Oct 2008 19:13:23 -0000
@@ -16,8 +16,6 @@ Bug reports, feature suggestions and lat
 
 -- REQUIREMENTS --
 
-* jQuery Update v2.x
-
 * BrowsCap (optional to record user agents)
 
 
Index: feedback.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/feedback/feedback.module,v
retrieving revision 1.71
diff -u -p -r1.71 feedback.module
--- feedback.module	19 Oct 2008 19:10:23 -0000	1.71
+++ feedback.module	19 Oct 2008 20:01:26 -0000
@@ -14,6 +14,17 @@ function feedback_perm() {
 }
 
 /**
+ * Implementation of hook_theme().
+ */
+function feedback_theme() {
+  return array(
+    'feedback_admin_view_form' => array(
+      'arguments' => array('form' => array()),
+    ),
+  );
+}
+
+/**
  * Implementation of hook_menu().
  */
 function feedback_menu() {
@@ -22,7 +33,7 @@ function feedback_menu() {
     'title' => 'Feedback messages',
     'description' => 'View feedback messages.',
     'page callback' => 'drupal_get_form',
-    'page arguments' => 'feedback_admin_view_form',
+    'page arguments' => array('feedback_admin_view_form'),
     'access arguments' => array('view feedback messages'),
   );
   return $items;
@@ -129,10 +140,10 @@ function feedback_form() {
   return $form;
 }
 
-function feedback_form_submit($form_id, $form_values) {
-  feedback_add_entry($form_values['message'], $form_values['location']);
+function feedback_form_submit($form, &$form_state) {
+  feedback_add_entry($form_state['values']['message'], $form_state['values']['location']);
   $message = t('Thanks for your feedback!');
-  if ($form_values['ajax']) {
+  if ($form_state['values']['ajax']) {
     echo drupal_to_js(array('message' => $message));
     exit;
   }
@@ -209,7 +220,7 @@ function feedback_mask_path($path) {
 function feedback_add_entry($message, $location) {
   global $user;
 
-  db_query("INSERT INTO {feedback} (uid, message, location, location_masked, timestamp, useragent) VALUES (%d, %d, '%s', '%s', '%s', %d, '%s')", $user->uid, trim($message), $location, feedback_mask_path($location), time(), $_SERVER['HTTP_USER_AGENT']);
+  db_query("INSERT INTO {feedback} (uid, message, location, location_masked, timestamp, useragent) VALUES (%d, '%s', '%s', '%s', %d, '%s')", $user->uid, trim($message), $location, feedback_mask_path($location), time(), $_SERVER['HTTP_USER_AGENT']);
 }
 
 /**
@@ -237,10 +248,19 @@ function feedback_admin_view_form() {
     array('data' => t('User'), 'field' => 'u.name'),
     t('Message'),
   );
+  // Hack to prevent pager_query() from issuing PHP notices.
+  if (!isset($_GET['page'])) {
+    $_GET['page'] = '';
+  }
+  if (count(explode(',', $_GET['page'])) < 2) {
+    $_GET['page'] .= ',0';
+  }
+
   foreach (array(0, 1) as $status) {
     $sql = "SELECT f.*, u.name FROM {feedback} f INNER JOIN {users} u ON f.uid = u.uid WHERE f.status = %d";
+    $count_query = "SELECT COUNT(fid) FROM {feedback} WHERE status = %d";
     $tablesort = tablesort_sql($header);
-    $result = pager_query($sql . $tablesort, 50, $status, NULL, $status);
+    $result = pager_query($sql . $tablesort, 50, $status, $count_query, $status);
 
     $form['feedback-messages-'. $status] = array(
       '#type' => 'fieldset',
@@ -254,7 +274,7 @@ function feedback_admin_view_form() {
       $form['feedback-messages-'. $status][$entry->fid] = array(
         '#type' => 'checkbox',
         '#return_value' => 1,
-        '#default_value' => 0,
+        '#default_value' => FALSE,
       );
       $form['feedback-messages-'. $status][$entry->fid]['location'] = array('#value' => l(truncate_utf8($entry->location, 32, FALSE, TRUE), $entry->location));
       $form['feedback-messages-'. $status][$entry->fid]['date'] = array('#value' => format_date($entry->timestamp, 'small'));
@@ -272,9 +292,10 @@ function feedback_admin_view_form() {
  */
 function theme_feedback_admin_view_form(&$form) {
   $output = '';
+  $status = 0;
   foreach (element_children($form) as $element) {
     $item = &$form[$element];
-    if ($item['#type'] != 'fieldset') {
+    if (!isset($item['#type']) || $item['#type'] != 'fieldset') {
       continue;
     }
     // Build the table.
@@ -302,6 +323,8 @@ function theme_feedback_admin_view_form(
     );
     // Render the fieldset.
     $output .= drupal_render($item);
+
+    $status++;
   }
   // Render internal FAPI and potential extra form elements.
   $output .= drupal_render($form);
@@ -311,19 +334,19 @@ function theme_feedback_admin_view_form(
 /**
  * Form submit callback for admin view form.
  */
-function feedback_admin_view_form_submit($form_id, $form_values) {
+function feedback_admin_view_form_submit($form, &$form_state) {
   $update = array();
   // Determine feedback entries to update.
-  foreach ($form_values as $key => $values) {
+  foreach ($form_state['values'] as $key => $values) {
     if (strpos($key, 'feedback-messages') === FALSE) {
       continue;
     }
-    $form_values[$key] = array_filter($form_values[$key]);
+    $form_state['values'][$key] = array_filter($form_state['values'][$key]);
     // Lame for now. :(
-    foreach ($form_values[$key] as $fid => $value) {
-      $form_values[$key][$fid] = ($key == 'feedback-messages-0' ? 1 : 0);
+    foreach ($form_state['values'][$key] as $fid => $value) {
+      $form_state['values'][$key][$fid] = ($key == 'feedback-messages-0' ? 1 : 0);
     }
-    $update += $form_values[$key];
+    $update += $form_state['values'][$key];
   }
   // Update status of entry in database.
   foreach ($update as $fid => $value) {
