Fixing the sniff js code see #3874
	
		
	
				
					
				
			
							parent
							
								
									bcb87a16f5
								
							
						
					
					
						commit
						f4c97ed873
					
				@ -0,0 +1,134 @@ | 
				
			||||
{literal} | 
				
			||||
<script LANGUAGE="JavaScript"> | 
				
			||||
var nav =""; | 
				
			||||
var screen_size_w; | 
				
			||||
var screen_size_h; | 
				
			||||
var java=""; | 
				
			||||
var type_mimetypes=""; | 
				
			||||
var suffixes_mimetypes=""; | 
				
			||||
var list_plugins=""; | 
				
			||||
var check_some_activex=""; | 
				
			||||
var check_some_plugins=""; | 
				
			||||
var java_sun_ver=""; | 
				
			||||
 | 
				
			||||
<!-- check Microsoft Internet Explorer --> | 
				
			||||
if (navigator.userAgent.indexOf("MSIE") != -1) { var nav="ie";} | 
				
			||||
 | 
				
			||||
<!-- check Screen Size --> | 
				
			||||
screen_size_w=screen.width; | 
				
			||||
screen_size_h=screen.height; | 
				
			||||
 | 
				
			||||
<!-- list mimetypes types, suffixes and plugins (no for IE) --> | 
				
			||||
if (nav!="ie"){ | 
				
			||||
         | 
				
			||||
        if (navigator.mimeTypes && navigator.mimeTypes.length > 0) { | 
				
			||||
         | 
				
			||||
                for (i=0; i < navigator.mimeTypes.length; i++) { | 
				
			||||
                        type_mimetypes=type_mimetypes+" "+navigator.mimeTypes[i].type; | 
				
			||||
                        suffixes_mimetypes=suffixes_mimetypes+" "+navigator.mimeTypes[i].suffixes; | 
				
			||||
                        if (navigator.mimeTypes[i].enabledPlugin!=null) { | 
				
			||||
                                list_plugins=list_plugins+" "+navigator.mimeTypes[i].enabledPlugin.name; | 
				
			||||
                        }                | 
				
			||||
                } | 
				
			||||
        } | 
				
			||||
} | 
				
			||||
<!-- check some activex for IE --> | 
				
			||||
if (nav=="ie"){ | 
				
			||||
        //TODO:check wmediaplayer are too aggressive. Then we can assume that if there Windows, there Wmediaplayer? | 
				
			||||
         | 
				
			||||
        var check_some_activex =  | 
				
			||||
        DetectActiveXObject("ShockwaveFlash.ShockwaveFlash.1", "flash_yes")+ | 
				
			||||
        DetectActiveXObject("QuickTime.QTElementBehavior", "quicktime_yes")+ | 
				
			||||
        //DetectActiveXObject("MediaPlayer.MediaPlayer.1","wmediaplayer_yes")+ | 
				
			||||
        DetectActiveXObject("acroPDF.PDF.1","acrobatreader_yes"); | 
				
			||||
         | 
				
			||||
        function DetectActiveXObject(ObjectName, name) {  | 
				
			||||
                result = false; | 
				
			||||
                        document.write('<SCRIPT LANGUAGE=VBScript\> \n'); | 
				
			||||
                        document.write('on error resume next \n'); | 
				
			||||
                        document.write('result = IsObject(CreateObject("' + ObjectName + '")) \n'); | 
				
			||||
                        document.write('</SCRIPT\> \n'); | 
				
			||||
                if (result) return name+' , '; else return ''; | 
				
			||||
        } | 
				
			||||
} | 
				
			||||
<!-- check some plugins for not IE --> | 
				
			||||
if (nav!="ie"){ | 
				
			||||
 | 
				
			||||
        if (list_plugins.indexOf("Shockwave Flash")!=-1){ | 
				
			||||
                check_some_plugins=check_some_plugins+', flash_yes'; | 
				
			||||
        } | 
				
			||||
        if (list_plugins.indexOf("QuickTime")!=-1){ | 
				
			||||
                check_some_plugins=check_some_plugins+', quicktime_yes'; | 
				
			||||
        } | 
				
			||||
        if (list_plugins.indexOf("Windows Media Player")!=-1){ | 
				
			||||
                check_some_plugins=check_some_plugins+', wmediaplayer_yes'; | 
				
			||||
        } | 
				
			||||
        if (list_plugins.indexOf("Adobe Acrobat")!=-1){ | 
				
			||||
                check_some_plugins=check_some_plugins+',acrobatreader_yes'; | 
				
			||||
        } | 
				
			||||
} | 
				
			||||
<!-- java --> | 
				
			||||
if(navigator.javaEnabled()==true){java="java_yes";}else{java="java_no";} | 
				
			||||
 | 
				
			||||
<!-- check java Sun ver --> | 
				
			||||
//for not IE | 
				
			||||
if (nav!="ie"){ | 
				
			||||
        if (navigator.mimeTypes["application/x-java-applet"]){ java_sun_ver="javasun_yes";} | 
				
			||||
        if (navigator.mimeTypes["application/x-java-applet;jpi-version=1.6.0_24"]){ java_sun_ver=java_sun_ver+" , javasun_ver_1.6_24_yes"; }//This java version 1.6.0_24 is problematic, the user should be updated | 
				
			||||
 | 
				
			||||
} | 
				
			||||
//for IE | 
				
			||||
if (nav=="ie"){ | 
				
			||||
        //1.5->end nov 2009 | 
				
			||||
        //TODO:extract minor version | 
				
			||||
        var java_sun_ver = | 
				
			||||
        DetectActiveXObject("JavaWebStart.isInstalled","javasun_yes")+ | 
				
			||||
        DetectActiveXObject("JavaWebStart.isInstalled.1.4.2.0","javasun_ver_1.4_yes")+ | 
				
			||||
        DetectActiveXObject("JavaWebStart.isInstalled.1.5.0.0","javasun_ver_1.5_yes")+ | 
				
			||||
        DetectActiveXObject("JavaWebStart.isInstalled.1.6.0.0","javasun_ver_1.6_yes")+ | 
				
			||||
        DetectActiveXObject("JavaWebStart.isInstalled.1.7.0.0","javasun_ver_1.7_yes"); | 
				
			||||
         | 
				
			||||
        function DetectActiveXObject(ObjectName, name) {  | 
				
			||||
                result = false; | 
				
			||||
                        document.write('<SCRIPT LANGUAGE=VBScript\> \n'); | 
				
			||||
                        document.write('on error resume next \n'); | 
				
			||||
                        document.write('result = IsObject(CreateObject("' + ObjectName + '")) \n'); | 
				
			||||
                        document.write('</SCRIPT\> \n'); | 
				
			||||
                if (result) return name+' , '; else return ''; | 
				
			||||
        } | 
				
			||||
} | 
				
			||||
 | 
				
			||||
<!-- Send to server --> | 
				
			||||
function sendSniff(){ | 
				
			||||
        document.forms.sniff_nav_form.sniff_navigator.value="checked"; | 
				
			||||
        document.forms.sniff_nav_form.sniff_navigator_screen_size_w.value=screen_size_w; | 
				
			||||
        document.forms.sniff_nav_form.sniff_navigator_screen_size_h.value=screen_size_h; | 
				
			||||
        document.forms.sniff_nav_form.sniff_navigator_type_mimetypes.value=type_mimetypes; | 
				
			||||
        document.forms.sniff_nav_form.sniff_navigator_suffixes_mimetypes.value=suffixes_mimetypes; | 
				
			||||
        document.forms.sniff_nav_form.sniff_navigator_list_plugins.value=list_plugins; | 
				
			||||
        document.forms.sniff_nav_form.sniff_navigator_check_some_activex.value=check_some_activex; | 
				
			||||
        document.forms.sniff_nav_form.sniff_navigator_check_some_plugins.value=check_some_plugins; | 
				
			||||
        document.forms.sniff_nav_form.sniff_navigator_java.value=java; | 
				
			||||
        document.forms.sniff_nav_form.sniff_navigator_java_sun_ver.value=java_sun_ver; | 
				
			||||
        document.sniff_nav_form.submit();  | 
				
			||||
} | 
				
			||||
</script> | 
				
			||||
{/literal} | 
				
			||||
 | 
				
			||||
<form name="sniff_nav_form" method="POST"> | 
				
			||||
<input type="hidden" name="sniff_navigator"> | 
				
			||||
<input type="hidden" name="sniff_navigator_screen_size_w"> | 
				
			||||
<input type="hidden" name="sniff_navigator_screen_size_h"> | 
				
			||||
<input type="hidden" name="sniff_navigator_type_mimetypes"> | 
				
			||||
<input type="hidden" name="sniff_navigator_suffixes_mimetypes"> | 
				
			||||
<input type="hidden" name="sniff_navigator_list_plugins"> | 
				
			||||
<input type="hidden" name="sniff_navigator_check_some_activex"> | 
				
			||||
<input type="hidden" name="sniff_navigator_check_some_plugins"> | 
				
			||||
<input type="hidden" name="sniff_navigator_java"> | 
				
			||||
<input type="hidden" name="sniff_navigator_java_sun_ver"> | 
				
			||||
</form> | 
				
			||||
{if empty($smarty.post.sniff_navigator) } | 
				
			||||
	<script> | 
				
			||||
    	sendSniff(); | 
				
			||||
	</script> | 
				
			||||
{/if} | 
				
			||||
					Loading…
					
					
				
		Reference in new issue