diff options
Diffstat (limited to 'program')
-rw-r--r-- | program/include/html.php | 2 | ||||
-rw-r--r-- | program/include/rcube_browser.php | 3 | ||||
-rwxr-xr-x | program/include/rcube_template.php | 9 |
3 files changed, 9 insertions, 5 deletions
diff --git a/program/include/html.php b/program/include/html.php index 8d3144d93..50689f2e7 100644 --- a/program/include/html.php +++ b/program/include/html.php @@ -248,7 +248,7 @@ class html_inputfield extends html { protected $tagname = 'input'; protected $type = 'text'; - protected $allowed = array('type','name','value','size','tabindex','autocomplete','checked','onchange','onclick','disabled','readonly','spellcheck'); + protected $allowed = array('type','name','value','size','tabindex','autocomplete','checked','onchange','onclick','disabled','readonly','spellcheck','results'); public function __construct($attrib = array()) { diff --git a/program/include/rcube_browser.php b/program/include/rcube_browser.php index 0d4766417..162844f32 100644 --- a/program/include/rcube_browser.php +++ b/program/include/rcube_browser.php @@ -43,7 +43,8 @@ class rcube_browser $this->ns = ($this->ns4 || stristr($HTTP_USER_AGENT, 'netscape')); $this->ie = stristr($HTTP_USER_AGENT, 'compatible; msie') && !$this->opera; $this->mz = stristr($HTTP_USER_AGENT, 'mozilla/5'); - $this->safari = stristr($HTTP_USER_AGENT, 'safari'); + $this->khtml = stristr($HTTP_USER_AGENT, 'khtml'); + $this->safari = ($this->khtml || stristr($HTTP_USER_AGENT, 'safari')); if ($this->ns) { $test = eregi("mozilla\/([0-9\.]+)", $HTTP_USER_AGENT, $regs); diff --git a/program/include/rcube_template.php b/program/include/rcube_template.php index 61e4975eb..2108ed7ee 100755 --- a/program/include/rcube_template.php +++ b/program/include/rcube_template.php @@ -54,6 +54,7 @@ class rcube_template extends rcube_html_page $this->app = rcmail::get_instance(); $this->config = $this->app->config->all(); + $this->browser = new rcube_browser(); //$this->framed = $framed; $this->set_env('task', $task); @@ -707,8 +708,6 @@ class rcube_template extends rcube_html_page return ''; } - $browser = new rcube_browser(); - // try to find out the button type if ($attrib['type']) { $attrib['type'] = strtolower($attrib['type']); @@ -755,7 +754,7 @@ class rcube_template extends rcube_html_page $attrib['alt'] = Q(rcube_label($attrib['alt'])); } // set title to alt attribute for IE browsers - if ($browser->ie && $attrib['title'] && !$attrib['alt']) { + if ($this->browser->ie && $attrib['title'] && !$attrib['alt']) { $attrib['alt'] = $attrib['title']; unset($attrib['title']); } @@ -1018,6 +1017,10 @@ class rcube_template extends rcube_html_page if (empty($attrib['id'])) { $attrib['id'] = 'rcmqsearchbox'; } + if ($attrib['type'] == 'search' && !$this->browser->khtml) { + unset($attrib['type'], $attrib['results']); + } + $input_q = new html_inputfield($attrib); $out = $input_q->show(); |