Bug #14278
closed
Browser Client Konqueror not recognized
Added by old_HeikoSchroeter over 20 years ago.
Updated over 18 years ago.
Description
typo3 does not distinguish between Netscape/Mozilla and Konqueror.
[browser=net]
and
[browser=konqu] are valid identifiers according to the docs.
Konqueror will allways show up as Netscape/Mozilla.
Should work because Konqueror does not handle all Frames correctly and this [if] clause shall switch between frame-noframe html.
- Masquerading the Client String does not work.
- Changing class.t3lib_div.php->clientInfo function has no effect.
- Tested HTTP_USER_AGENT strings (taken from phpMyAdmin):
Konqueror==> Mozilla/5.0 (compatible; Konqueror/3.2; Linux) (KHTML, like Gecko)
Mozilla(Firefox)==>Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040207 Firefox/0.8
(issue imported from #M298)
Files
If anyone could supply a patch, that would increase the chances of getting this bug solved for 3.7.
I've made an output in line 2660 (class.t3lib_div.php in function client_info) before the line "if ($bInfo['BROWSER']) {..."
echo $bInfo['BROWSER']; echo $useragent;
and the result (not very nice to look at :-), two times:
konquMozilla/5.0 (compatible; Konqueror/3.2; Linux) (KHTML, like Gecko)
so this is ok! (using SuSE 9.1,KDE&Konqu 3.2.1)
@Heiko: What is the reason that you think this is not correct?
Typo3 Template does not switch bewteen selection:
> [browser = net][browser = msie] -> recognized. Typo3 dives into IF construct.
> [browser = konq] -> not recognized.
Konqueror will allways trigger the Netscape/Mozilla condition.
According to the docs the Konqueror should be recognized.
Ok - I see the point.
The problem seems to be in class.t3lib_matchcondition.php, function browserInfo($useragent) (line 410 or something around this).
There are two type of Browser recognition as it seems because the bInfo['BROWSER'] isn't valid here.
In this function Konqueror isn't regognized because there's no line about that. You have to enter 2 lines before the Mozilla recognition:
...
} elseif(strstr($useragent,'Teleport')) {
$browserInfo['browser']='teleport';
} elseif(strstr($useragent,'Konqueror')) {
$browserInfo['browser']='konqueror';
} elseif(strstr($useragent,'Mozilla')) {
$browserInfo['browser']='netscape';
...
There are also some lines missing for the following rcognition of the version number - but I think that this is made in some seconds (for the developer...)
Maybe there are plans to bring the two browser recognition functions together... ???
Can you please test if the attached patch works AND if it still works on other browsers?
It works in my test config. Maybe Heiko can check it and if ok I think it's good.
Great. Works.
The mentioned doc is manual-doc_core_ts-17-07-2003_16-21-14.pdf (page 27).
Pls also note that there is a typing mismatch between the doc and typo3.
[browser] needs to be all lower case letters and not as printed in the doc [Browser].
Thanks for your time end effort.
The mentioned doc is manual-doc_core_ts-17-07-2003_16-21-14.pdf (page 27).
Well, but this is outdated! Visit typo3.org to get a more recent version (last week) of that document. All other problems should be solved there, too.
I will close the bug because it's now solved.
Also available in: Atom
PDF