[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