[geeklog-cvs] geeklog: Fixed IE6 and Safari compatibility issue with sort and ...

geeklog-cvs at lists.geeklog.net geeklog-cvs at lists.geeklog.net
Thu Jun 18 16:27:20 EDT 2009


details:   http://project.geeklog.net/cgi-bin/hgweb.cgi/rev/45aff005f42c
changeset: 7126:45aff005f42c
user:      Sami Barakat
date:      Thu Jun 18 21:25:41 2009 +0100
description:
Fixed IE6 and Safari compatibility issue with sort and limit combo boxes in search results (part of bug #0000874)

diffstat:

 public_html/layout/professional/lists/inline/list.thtml       |  16 +++++---
 public_html/layout/professional/lists/inline/page_limit.thtml |   2 +-
 public_html/layout/professional/lists/inline/page_sort.thtml  |   2 +-
 public_html/layout/professional/lists/table/list.thtml        |   8 ++-
 public_html/layout/professional/lists/table/page_limit.thtml  |   2 +-
 public_html/layout/professional/lists/table/page_sort.thtml   |   2 +-
 system/classes/listfactory.class.php                          |  20 +++++-----
 7 files changed, 29 insertions(+), 23 deletions(-)

diffs (126 lines):

diff -r a6bebd4747e6 -r 45aff005f42c public_html/layout/professional/lists/inline/list.thtml
--- a/public_html/layout/professional/lists/inline/list.thtml	Thu Jun 18 20:16:20 2009 +0200
+++ b/public_html/layout/professional/lists/inline/list.thtml	Thu Jun 18 21:25:41 2009 +0100
@@ -1,11 +1,15 @@
                             {list_top}
                             <div class="admin-list-search">
-                                <select name="page_limit" style="{show_limit}">
-                                    {page_limit}
-                                </select>
-                                <select name="page_sort" style="{show_sort}">
-                                    {page_sort}
-                                </select>
+                                <form name="page_limit" style="display: inline;">
+                                    <select name="page_limit_links" style="{show_limit}" onChange="window.location=document.page_limit.page_limit_links.options[document.page_limit.page_limit_links.selectedIndex].value">
+                                        {page_limit}
+                                    </select>
+                                </form>
+                                <form name="page_sort" style="display: inline;">
+                                    <select name="page_sort_links" style="{show_sort}" onChange="window.location=document.page_sort.page_sort_links.options[document.page_sort.page_sort_links.selectedIndex].value">
+                                        {page_sort}
+                                    </select>
+                                </form>
                             </div>
                             {item_row}
                             <p class="aligncenter" style="{show_message}"><b>{message}</b></p>
diff -r a6bebd4747e6 -r 45aff005f42c public_html/layout/professional/lists/inline/page_limit.thtml
--- a/public_html/layout/professional/lists/inline/page_limit.thtml	Thu Jun 18 20:16:20 2009 +0200
+++ b/public_html/layout/professional/lists/inline/page_limit.thtml	Thu Jun 18 21:25:41 2009 +0100
@@ -1,1 +1,1 @@
-<option{limit_selected}{limit_subtags}>{limit_text}</option>
+<option{limit_selected} onmouseover="this.style.cursor='pointer';" value="{limit_href}">{limit_text}</option>
diff -r a6bebd4747e6 -r 45aff005f42c public_html/layout/professional/lists/inline/page_sort.thtml
--- a/public_html/layout/professional/lists/inline/page_sort.thtml	Thu Jun 18 20:16:20 2009 +0200
+++ b/public_html/layout/professional/lists/inline/page_sort.thtml	Thu Jun 18 21:25:41 2009 +0100
@@ -1,1 +1,1 @@
-<option{sort_selected}{sort_subtags}>{sort_text}</option>
+<option{sort_selected} onmouseover="this.style.cursor='pointer';" value="{sort_href}">{sort_text}</option>
diff -r a6bebd4747e6 -r 45aff005f42c public_html/layout/professional/lists/table/list.thtml
--- a/public_html/layout/professional/lists/table/list.thtml	Thu Jun 18 20:16:20 2009 +0200
+++ b/public_html/layout/professional/lists/table/list.thtml	Thu Jun 18 21:25:41 2009 +0100
@@ -1,8 +1,10 @@
                             {list_top}
                             <div class="admin-list-search">
-                                <select name="page_limit" style="{show_limit}">
-                                    {page_limit}
-                                </select>
+                                <form name="page_limit" style="display: inline;">
+                                    <select name="page_limit_links" style="{show_limit}" onChange="window.location=document.page_limit.page_limit_links.options[document.page_limit.page_limit_links.selectedIndex].value">
+                                        {page_limit}
+                                    </select>
+                                </form>
                             </div>
                             <table class="admin-list-table" style="{show_sort}">
                                 <tr style="background:#FFFFFF;">
diff -r a6bebd4747e6 -r 45aff005f42c public_html/layout/professional/lists/table/page_limit.thtml
--- a/public_html/layout/professional/lists/table/page_limit.thtml	Thu Jun 18 20:16:20 2009 +0200
+++ b/public_html/layout/professional/lists/table/page_limit.thtml	Thu Jun 18 21:25:41 2009 +0100
@@ -1,1 +1,1 @@
-<option{limit_selected}{limit_subtags}>{limit_text}</option>
+<option{limit_selected} onmouseover="this.style.cursor='pointer';" value="{limit_href}">{limit_text}</option>
diff -r a6bebd4747e6 -r 45aff005f42c public_html/layout/professional/lists/table/page_sort.thtml
--- a/public_html/layout/professional/lists/table/page_sort.thtml	Thu Jun 18 20:16:20 2009 +0200
+++ b/public_html/layout/professional/lists/table/page_sort.thtml	Thu Jun 18 21:25:41 2009 +0100
@@ -1,1 +1,1 @@
-<th class="admin-list-headerfield"{sort_subtags}>{sort_text}{sort_selected}</th>
+<th class="admin-list-headerfield">{sort_text}{sort_selected}</th>
diff -r a6bebd4747e6 -r 45aff005f42c system/classes/listfactory.class.php
--- a/system/classes/listfactory.class.php	Thu Jun 18 20:16:20 2009 +0200
+++ b/system/classes/listfactory.class.php	Thu Jun 18 21:25:41 2009 +0100
@@ -510,20 +510,17 @@
             return $retval;
         }
 
-        $subtag = " onmouseover=\"this.style.cursor='pointer';\"" .
-                    " onclick=\"window.location.href='{$this->_page_url}";
-
         // Draw the page limit select box
         if ($show_limit)
         {
             foreach ($this->_page_limits as $key => $val)
             {
                 $text = is_numeric($key) ? sprintf($LANG09[67], $val) : $key;
-                $subtags = $subtag."results=$val';\"";
+                $href = $this->_page_url . "results=$val";
                 $selected = $this->_per_page == $val ? ' selected="selected"' : '';
 
                 $list_templates->set_var('limit_text', $text);
-                $list_templates->set_var('limit_subtags', $subtags);
+                $list_templates->set_var('limit_href', $href);
                 $list_templates->set_var('limit_selected', $selected);
                 $list_templates->parse('page_limit', 'limit', true);
             }
@@ -556,25 +553,28 @@
             if ($field['display'] == true && $field['title'] != '')
             {
                 $text = $sort_text . $field['title'];
-                $subtags = '';
+                $href = '';
                 $selected = '';
                 if ($show_sort && $field['sort'] != false)
                 {
                     $direction = $this->_def_sort_arr['direction'];
 
                     // Show the sort arrow
-                    if ($this->_sort_arr['field'] === $field['name'])
-                    {
+                    if ($this->_sort_arr['field'] === $field['name']) {
                         $selected = $sort_selected;
                         $direction = $this->_sort_arr['direction'] == 'asc' ? 'desc' : 'asc';
                     }
 
-                    $subtags = $subtag."order={$field['name']}&direction=$direction';\"";
+                    $href = $this->_page_url . "order={$field['name']}&direction=$direction";
+
+                    if ($this->_style == 'table') {
+                        $text = "<a href=\"$href\">$text</a>";
+                    }
                 }
 
                 // Write field
                 $list_templates->set_var('sort_text', $text);
-                $list_templates->set_var('sort_subtags', $subtags);
+                $list_templates->set_var('sort_href', $href);
                 $list_templates->set_var('sort_selected', $selected);
                 $list_templates->parse('page_sort', 'sort', true);
             }



More information about the geeklog-cvs mailing list