[geeklog-cvs] geeklog: Specify default sort order from configuration (part of ...

geeklog-cvs at lists.geeklog.net geeklog-cvs at lists.geeklog.net
Sun Mar 7 13:01:23 EST 2010


changeset 7768:e611e17b85ec
url:  http://project.geeklog.net/cgi-bin/hgwebdir.cgi/geeklog/rev/e611e17b85ec
user: Sami Barakat <sami at sbarakat.co.uk>
date: Sun Mar 07 17:56:57 2010 +0000
description:
Specify default sort order from configuration (part of feature request #0001006)

diffstat:

 language/english.php                         |   6 ++++--
 public_html/admin/install/config-install.php |   1 +
 public_html/admin/install/lib-upgrade.php    |   2 ++
 public_html/docs/english/config.html         |   4 ++++
 sql/updates/mysql_1.6.1_to_1.6.2.php         |  18 ++++++++++++++++++
 system/classes/search.class.php              |   6 +++++-
 6 files changed, 34 insertions(+), 3 deletions(-)

diffs (102 lines):

diff -r 9a4c017e2a06 -r e611e17b85ec language/english.php
--- a/language/english.php	Sun Mar 07 16:32:24 2010 +0000
+++ b/language/english.php	Sun Mar 07 17:56:57 2010 +0000
@@ -1905,7 +1905,8 @@
     'search_show_sort' => "Allow User to Sort Results?",
     'search_show_limit' => "Show Page Limits?",
     'search_separator' => "Group Separator",
-    'search_def_keytype' => "Default Search Method"
+    'search_def_keytype' => "Default Search Method",
+    'search_def_sort' => "Default Sort Order"
 );
 
 $LANG_configsubgroups['Core'] = array(
@@ -1997,7 +1998,8 @@
     23 => array('Disabled' => 0, 'Enabled' => 1, 'Enabled (Default for Homepage only)' => 2),
     24 => array('Contribute' => 'contribute', 'Home' => 'home', 'Advanced Search' => 'search', 'Directory' => 'directory', 'My Account' => 'prefs', 'Plugin Entries' => 'plugins', 'Custom Entries' => 'custom', 'Site Statistics' => 'stats'),
     25 => array('New Stories' => 'story', 'New Comments' => 'comment', 'New Trackbacks' => 'trackback', 'New Pingbacks' => 'pingback', 'New Users' => 'user'),
-    26 => array('G (General Audiences)' => 'G', 'PG (Parental Guidance)' => 'PG', 'R (Restricted)' => 'R', 'X (Explicit)' => 'X')
+    26 => array('G (General Audiences)' => 'G', 'PG (Parental Guidance)' => 'PG', 'R (Restricted)' => 'R', 'X (Explicit)' => 'X'),
+    27 => array('Hits (asc)' => 'hits|asc', 'Hits (desc)' => 'hits|desc', 'Date (asc)' => 'date|asc', 'Date (desc)' => 'date|desc', 'Title (asc)' => 'title|asc', 'Title (desc)' => 'title|desc', 'Author (asc)' => 'uid|asc', 'Author (desc)' => 'uid|desc')
 );
 
 ?>
diff -r 9a4c017e2a06 -r e611e17b85ec public_html/admin/install/config-install.php
--- a/public_html/admin/install/config-install.php	Sun Mar 07 16:32:24 2010 +0000
+++ b/public_html/admin/install/config-install.php	Sun Mar 07 17:56:57 2010 +0000
@@ -98,6 +98,7 @@
     $c->add('search_separator',' > ','text',0,6,NULL,668,TRUE);
     $c->add('search_def_keytype','phrase','select',0,6,20,672,TRUE);
     $c->add('search_use_fulltext',FALSE,'hidden',0,6); // 675
+    $c->add('search_def_sort','hits|desc','select',0,6,27,676,TRUE);
 
     // Subgroup: Stories and Trackback
     $c->add('sg_stories', NULL, 'subgroup', 1, 0, NULL, 0, TRUE);
diff -r 9a4c017e2a06 -r e611e17b85ec public_html/admin/install/lib-upgrade.php
--- a/public_html/admin/install/lib-upgrade.php	Sun Mar 07 16:32:24 2010 +0000
+++ b/public_html/admin/install/lib-upgrade.php	Sun Mar 07 17:56:57 2010 +0000
@@ -488,6 +488,8 @@
             require_once $_CONF['path'] . 'sql/updates/' . $_DB_dbms . '_1.6.1_to_1.6.2.php';
             INST_updateDB($_SQL);
 
+            update_ConfValuesFor162();
+
             $current_gl_version = '1.6.2';
             $_SQL = '';
             break;
diff -r 9a4c017e2a06 -r e611e17b85ec public_html/docs/english/config.html
--- a/public_html/docs/english/config.html	Sun Mar 07 16:32:24 2010 +0000
+++ b/public_html/docs/english/config.html	Sun Mar 07 17:56:57 2010 +0000
@@ -321,6 +321,10 @@
     <li>'any': results may contain any of the search terms.</li>
     <li>'phrase': search for the exact phrase as entered. (default)</li>
     </ul></td></tr>
+<tr>
+  <td valign="top"><a name="desc_search_def_sort">search_def_sort</a></td>
+  <td valign="top">'Hits (desc)'</td>
+  <td valign="top">The default sort order for the search results.</td></tr>
 </table>
 
 
diff -r 9a4c017e2a06 -r e611e17b85ec sql/updates/mysql_1.6.1_to_1.6.2.php
--- a/sql/updates/mysql_1.6.1_to_1.6.2.php	Sun Mar 07 16:32:24 2010 +0000
+++ b/sql/updates/mysql_1.6.1_to_1.6.2.php	Sun Mar 07 17:56:57 2010 +0000
@@ -29,4 +29,22 @@
 $_SQL[] = "ALTER TABLE {$_TABLES['userprefs']} ADD advanced_editor tinyint(1) unsigned NOT NULL default '1' AFTER dfid";
 $_SQL[] = "UPDATE {$_TABLES['userprefs']} SET advanced_editor = 0 WHERE uid = 1";
 
+/**
+ * Add new config options
+ *
+ */
+function update_ConfValuesFor162()
+{
+    global $_CONF, $_TABLES;
+
+    require_once $_CONF['path_system'] . 'classes/config.class.php';
+
+    $c = config::get_instance();
+
+    // search config options.
+    $c->add('search_def_sort','hits|desc','select',0,6,27,676,TRUE);
+
+    return true;
+}
+
 ?>
diff -r 9a4c017e2a06 -r e611e17b85ec system/classes/search.class.php
--- a/system/classes/search.class.php	Sun Mar 07 16:32:24 2010 +0000
+++ b/system/classes/search.class.php	Sun Mar 07 17:56:57 2010 +0000
@@ -471,7 +471,11 @@
             $obj->setField('',          '_html',        true,       false, '</span>');
             $this->_wordlength = 50;
         }
-        $obj->setDefaultSort('hits');
+
+        // get default sort order
+        $default_sort = explode('|', $_CONF['search_def_sort']);
+        $obj->setDefaultSort($default_sort[0], $default_sort[1]);
+
         // set this only now, for compatibility with PHP 4
         $obj->setRowFunction(array($this, 'searchFormatCallback'));
 



More information about the geeklog-cvs mailing list