From 4f0f3764309211f91ed53ac945bd8123300cea82 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Fri, 17 Nov 2006 06:53:31 +0000 Subject: [PATCH] - Rollback of #94058: see issue. --- includes/tablesort.inc | 41 ++++++++++++++--------------------------- includes/theme.inc | 7 ++----- 2 files changed, 16 insertions(+), 32 deletions(-) diff --git a/includes/tablesort.inc b/includes/tablesort.inc index fc612c9cd4a..eb141561520 100644 --- a/includes/tablesort.inc +++ b/includes/tablesort.inc @@ -12,14 +12,10 @@ /** * Initialize the table sort context. */ -function tablesort_init($header, $id) { - if (strlen($id) > 0) { - $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; +function tablesort_init($header) { + $ts = tablesort_get_order($header); + $ts['sort'] = tablesort_get_sort($header); + $ts['query_string'] = tablesort_get_querystring(); return $ts; } @@ -35,16 +31,13 @@ function tablesort_init($header, $id) { * @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 = '', $id = '') { - $ts = tablesort_init($header, $id); +function tablesort_sql($header, $before = '') { + $ts = tablesort_init($header); if ($ts['sql']) { $sql = db_escape_string($ts['sql']); $sort = drupal_strtoupper(db_escape_string($ts['sort'])); @@ -85,7 +78,7 @@ function tablesort_header($cell, $header, $ts) { if (!empty($ts['query_string'])) { $ts['query_string'] = '&'. $ts['query_string']; } - $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); + $cell['data'] = l($cell['data'] . $image, $_GET['q'], array('title' => $title), 'sort='. $ts['sort'] .'&order='. urlencode($cell['data']) . $ts['query_string'], NULL, FALSE, TRUE); unset($cell['field'], $cell['sort']); } @@ -128,14 +121,12 @@ function tablesort_cell($cell, $header, $ts, $i) { /** * 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($id) { - return drupal_query_string_encode($_REQUEST, array_merge(array('q', 'sort'. $id, 'order'. $id), array_keys($_COOKIE))); +function tablesort_get_querystring() { + return drupal_query_string_encode($_REQUEST, array_merge(array('q', 'sort', 'order'), array_keys($_COOKIE))); } /** @@ -143,15 +134,13 @@ function tablesort_get_querystring($id) { * * @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, $id) { - $order = isset($_GET['order'. $id]) ? $_GET['order'. $id] : ''; +function tablesort_get_order($headers) { + $order = isset($_GET['order']) ? $_GET['order'] : ''; foreach ($headers as $header) { if (isset($header['data']) && $order == $header['data']) { return array('name' => $header['data'], 'sql' => $header['field']); @@ -181,14 +170,12 @@ function tablesort_get_order($headers, $id) { * * @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, $id) { - if (isset($_GET['sort'. $id])) { - return ($_GET['sort'. $id] == 'desc') ? 'desc' : 'asc'; +function tablesort_get_sort($headers) { + if (isset($_GET['sort'])) { + return ($_GET['sort'] == 'desc') ? 'desc' : 'asc'; } // User has not specified a sort. Use default if specified; otherwise use "asc". else { diff --git a/includes/theme.inc b/includes/theme.inc index 06fe4b70927..e90fb36f18d 100644 --- a/includes/theme.inc +++ b/includes/theme.inc @@ -712,13 +712,10 @@ function theme_submenu($links) { * An array of HTML attributes to apply to the table tag. * @param $caption * A localized string to use for the 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, $id = '') { +function theme_table($header, $rows, $attributes = array(), $caption = NULL) { $output = '\n"; if (isset($caption)) { @@ -727,7 +724,7 @@ function theme_table($header, $rows, $attributes = array(), $caption = NULL, $id // Format the table header: if (count($header)) { - $ts = tablesort_init($header, $id); + $ts = tablesort_init($header); $output .= ' '; foreach ($header as $cell) { $cell = tablesort_header($cell, $header, $ts);