[geeklog-hg] geeklog: Fixed Story Admin List where selected topic reset by pa...
geeklog-cvs at lists.geeklog.net
geeklog-cvs at lists.geeklog.net
Mon Aug 5 20:06:06 EDT 2013
changeset 9246:a9073c20e6ce
url: http://project.geeklog.net/cgi-bin/hgwebdir.cgi/geeklog/rev/a9073c20e6ce
user: Tom <websitemaster at cogeco.net>
date: Mon Aug 05 20:05:31 2013 -0400
description:
Fixed Story Admin List where selected topic reset by page navigation. Also fixed incorrect record count in search box for Story Admin List (bug #0001672)
diffstat:
public_html/admin/story.php | 9 +++++++--
system/lib-admin.php | 18 ++++++++++--------
2 files changed, 17 insertions(+), 10 deletions(-)
diffs (89 lines):
diff -r 319904f32da0 -r a9073c20e6ce public_html/admin/story.php
--- a/public_html/admin/story.php Sun Aug 04 01:25:57 2013 +0900
+++ b/public_html/admin/story.php Mon Aug 05 20:05:31 2013 -0400
@@ -188,6 +188,8 @@
$menu_arr[] = array('url' => $_CONF['site_admin_url'],
'text' => $LANG_ADMIN['admin_home']);
+
+ $form_arr = array('bottom' => '', 'top' => '');
$retval .= COM_startBlock($LANG24[22], '',
COM_getBlockTemplate('_admin_block', 'header'));
@@ -218,9 +220,12 @@
'query_fields' => array('title', 'introtext', 'bodytext', 'sid', 'tid'),
'default_filter' => $excludetopics . COM_getPermSQL('AND')
);
-
+
+ // Add in topic filter so it is remembered with paging
+ $pagenavurl = '&tid=' . $current_topic;
+
$retval .= ADMIN_list('story', 'ADMIN_getListField_stories', $header_arr,
- $text_arr, $query_arr, $defsort_arr, $filter);
+ $text_arr, $query_arr, $defsort_arr, $filter, '', '', $form_arr, true, $pagenavurl);
$retval .= COM_endBlock(COM_getBlockTemplate('_admin_block', 'footer'));
return $retval;
diff -r 319904f32da0 -r a9073c20e6ce system/lib-admin.php
--- a/system/lib-admin.php Sun Aug 04 01:25:57 2013 +0900
+++ b/system/lib-admin.php Mon Aug 05 20:05:31 2013 -0400
@@ -212,12 +212,13 @@
* @param array $options array of options - intially just used for the Check-All feature
* @param array $form_arr optional extra forms at top or bottom
* @param bool $showsearch whether to show the search functionality
+* @param string $pagenavurl additional url values that page navigation may need for any additonal filters
* @return string HTML output of function
*
*/
function ADMIN_list($component, $fieldfunction, $header_arr, $text_arr,
$query_arr, $defsort_arr, $filter = '', $extra = '',
- $options = '', $form_arr='', $showsearch = true)
+ $options = '', $form_arr='', $showsearch = true, $pagenavurl = '')
{
global $_CONF, $_TABLES, $LANG_ADMIN, $LANG_ACCESS, $LANG01, $_IMAGE_TYPE, $MESSAGE;
@@ -429,6 +430,11 @@
$admin_templates->clear_var('class');
$admin_templates->clear_var('header_text');
}
+
+
+ if (!empty($query_arr['query_group'])){ # add group by to sql
+ $group_by_sql = " GROUP BY {$query_arr['query_group']}";
+ }
if ($has_extras && $showsearch) {
/**
@@ -462,7 +468,7 @@
}
$filter_str .= ")";
}
- $num_pages_sql = $sql . $filter_str;
+ $num_pages_sql = $sql . $filter_str . $group_by_sql;
$num_pages_result = DB_query($num_pages_sql);
$num_rows = DB_numRows($num_pages_result);
$num_pages = ceil ($num_rows / $limit);
@@ -482,10 +488,6 @@
if (!empty($extra)) $use_fieldfunction = 2;
else $use_fieldfunction = 1;
} else $use_fieldfunction = 0;
-
- if (!empty($query_arr['query_group'])){ # add group by to sql
- $group_by_sql = " GROUP BY {$query_arr['query_group']}";
- }
# SQL
$sql .= "$filter_str $group_by_sql $order_sql $limit;";
@@ -553,9 +555,9 @@
$sep = '?';
}
if (!empty($query)) { # port query to next page
- $base_url = $form_url . $sep . 'q=' . urlencode($query) . "&query_limit=$query_limit$order_var_link&direction=$direction";
+ $base_url = $form_url . $sep . 'q=' . urlencode($query) . "&query_limit=$query_limit$order_var_link&direction=$direction$pagenavurl";
} else {
- $base_url = $form_url . $sep ."query_limit=$query_limit$order_var_link&direction=$direction";
+ $base_url = $form_url . $sep ."query_limit=$query_limit$order_var_link&direction=$direction$pagenavurl";
}
if ($num_pages > 1) { # print actual google-paging
More information about the geeklog-cvs
mailing list