? sync_live
? sites/all
? sites/apartmentlines.com
? sites/apartmentlines.xcarnated.com
? sites/localhost
Index: includes/tablesort.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/tablesort.inc,v
retrieving revision 1.40
diff -u -F^f -r1.40 tablesort.inc
--- includes/tablesort.inc	27 Aug 2006 12:43:18 -0000	1.40
+++ includes/tablesort.inc	10 Nov 2006 16:27:59 -0000
@@ -12,10 +12,14 @@
 /**
  * Initialize the table sort context.
  */
-function tablesort_init($header) {
-  $ts = tablesort_get_order($header);
-  $ts['sort'] = tablesort_get_sort($header);
-  $ts['query_string'] = tablesort_get_querystring();
+function tablesort_init($header, $id) {
+  if ($id) {
+    $id = '-'. $id;
+  }
+  $ts = tablesort_get_order($header, $id);
+  $ts['sort'] = tablesort_get_sort($header, $id);
+  $ts['query_string'] = tablesort_get_querystring($id);
+  $ts['id'] = $id;
   return $ts;
 }
 
@@ -31,13 +35,16 @@ function tablesort_init($header) {
  * @param $before
  *   An SQL string to insert after ORDER BY and before the table sorting code.
  *   Useful for sorting by important attributes like "sticky" first.
+ * @param $id
+ *   A unique id used to identify the table. Use this in the case where
+ *   multiple tables appear on one page.
  * @return
  *   An SQL string to append to the end of a query.
  *
  * @ingroup database
  */
-function tablesort_sql($header, $before = '') {
-  $ts = tablesort_init($header);
+function tablesort_sql($header, $before = '', $id = '') {
+  $ts = tablesort_init($header, $id);
   if ($ts['sql']) {
     $sql = db_escape_string($ts['sql']);
     $sort = drupal_strtoupper(db_escape_string($ts['sort']));
@@ -78,7 +85,7 @@ function tablesort_header($cell, $header
     if (!empty($ts['query_string'])) {
       $ts['query_string'] = '&'. $ts['query_string'];
     }
-    $cell['data'] = l($cell['data'] . $image, $_GET['q'], array('title' => $title), 'sort='. $ts['sort'] .'&order='. urlencode($cell['data']) . $ts['query_string'], NULL, FALSE, TRUE);
+    $cell['data'] = l($cell['data'] . $image, $_GET['q'], array('title' => $title), 'sort'. $ts['id'] .'='. $ts['sort'] .'&order'. $ts['id'] .'='. urlencode($cell['data']) . $ts['query_string'], NULL, FALSE, TRUE);
 
     unset($cell['field'], $cell['sort']);
   }
@@ -121,12 +128,14 @@ function tablesort_cell($cell, $header, 
 /**
  * Compose a query string to append to table sorting requests.
  *
+ * @param $id
+ *   A unique id used to identify the table.
  * @return
  *   A query string that consists of all components of the current page request
  *   except for those pertaining to table sorting.
  */
-function tablesort_get_querystring() {
-  return drupal_query_string_encode($_REQUEST, array_merge(array('q', 'sort', 'order'), array_keys($_COOKIE)));
+function tablesort_get_querystring($id) {
+  return drupal_query_string_encode($_REQUEST, array_merge(array('q', 'sort'. $id, 'order'. $id), array_keys($_COOKIE)));
 }
 
 /**
@@ -134,13 +143,15 @@ function tablesort_get_querystring() {
  *
  * @param $headers
  *   An array of column headers in the format described in theme_table().
+ * @param $id
+ *   A unique id used to identify the table.
  * @return
  *   An associative array describing the criterion, containing the keys:
  *   - "name": The localized title of the table column.
  *   - "sql": The name of the database field to sort on.
  */
-function tablesort_get_order($headers) {
-  $order = isset($_GET['order']) ? $_GET['order'] : '';
+function tablesort_get_order($headers, $id) {
+  $order = isset($_GET['order'. $id]) ? $_GET['order'. $id] : '';
   foreach ($headers as $header) {
     if (isset($header['data']) && $order == $header['data']) {
       return array('name' => $header['data'], 'sql' => $header['field']);
@@ -170,12 +181,14 @@ function tablesort_get_order($headers) {
  *
  * @param $headers
  *   An array of column headers in the format described in theme_table().
+ * @param $id
+ *   A unique id used to identify the table.
  * @return
  *   The current sort direction ("asc" or "desc").
  */
-function tablesort_get_sort($headers) {
-  if (isset($_GET['sort'])) {
-    return ($_GET['sort'] == 'desc') ? 'desc' : 'asc';
+function tablesort_get_sort($headers, $id) {
+  if (isset($_GET['sort'. $id])) {
+    return ($_GET['sort'. $id] == 'desc') ? 'desc' : 'asc';
   }
   // User has not specified a sort. Use default if specified; otherwise use "asc".
   else {
Index: includes/theme.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/theme.inc,v
retrieving revision 1.319
diff -u -F^f -r1.319 theme.inc
--- includes/theme.inc	8 Nov 2006 19:24:11 -0000	1.319
+++ includes/theme.inc	10 Nov 2006 16:27:59 -0000
@@ -712,10 +712,13 @@ function theme_submenu($links) {
  *   An array of HTML attributes to apply to the table tag.
  * @param $caption
  *   A localized string to use for the <caption> tag.
+ * @param $id
+ *   A unique id used to identify the table. Use this in the case where
+ *   multiple tables appear on one page.
  * @return
  *   An HTML string representing the table.
  */
-function theme_table($header, $rows, $attributes = array(), $caption = NULL) {
+function theme_table($header, $rows, $attributes = array(), $caption = NULL, $id = '') {
   $output = '<table'. drupal_attributes($attributes) .">\n";
 
   if (isset($caption)) {
@@ -724,7 +727,7 @@ function theme_table($header, $rows, $at
 
   // Format the table header:
   if (count($header)) {
-    $ts = tablesort_init($header);
+    $ts = tablesort_init($header, $id);
     $output .= ' <thead><tr>';
     foreach ($header as $cell) {
       $cell = tablesort_header($cell, $header, $ts);
