Ticket #6979: flash10.diff

File flash10.diff, 3.8 KB (added by ryan, 4 years ago)

Disable flash uploader if flash 10

  • trunk/wp-admin/includes/media.php

     
    969969<script type="text/javascript"> 
    970970<!-- 
     971var FlashDetect = new function(){ 
     972        var self = this; 
     973        self.installed = false; 
     974        self.raw = ""; 
     975        self.major = -1; 
     976        self.minor = -1; 
     977        self.revision = -1; 
     978        self.revisionStr = ""; 
     979        var activeXDetectRules = [ 
     980                { 
     981                        "name":"ShockwaveFlash.ShockwaveFlash.7", 
     982                        "version":function(obj){ 
     983                                return getActiveXVersion(obj); 
     984                        } 
     985                }, 
     986                { 
     987                        "name":"ShockwaveFlash.ShockwaveFlash.6", 
     988                        "version":function(obj){ 
     989                                var version = "6,0,21"; 
     990                                try{ 
     991                                        obj.AllowScriptAccess = "always"; 
     992                                        version = getActiveXVersion(obj); 
     993                                }catch(err){} 
     994                                return version; 
     995                        } 
     996                }, 
     997                { 
     998                        "name":"ShockwaveFlash.ShockwaveFlash", 
     999                        "version":function(obj){ 
     1000                                return getActiveXVersion(obj); 
     1001                        } 
     1002                } 
     1003        ]; 
     1004        var getActiveXVersion = function(activeXObj){ 
     1005                var version = -1; 
     1006                try{ 
     1007                        version = activeXObj.GetVariable("$version"); 
     1008                }catch(err){} 
     1009                return version; 
     1010        }; 
     1011        var getActiveXObject = function(name){ 
     1012                var obj = -1; 
     1013                try{ 
     1014                        obj = new ActiveXObject(name); 
     1015                }catch(err){} 
     1016                return obj; 
     1017        }; 
     1018        var parseActiveXVersion = function(str){ 
     1019                var versionArray = str.split(",");//replace with regex 
     1020                return { 
     1021                        "raw":str, 
     1022                        "major":parseInt(versionArray[0].split(" ")[1], 10), 
     1023                        "minor":parseInt(versionArray[1], 10), 
     1024                        "revision":parseInt(versionArray[2], 10), 
     1025                        "revisionStr":versionArray[2] 
     1026                }; 
     1027        }; 
     1028        var parseStandardVersion = function(str){ 
     1029                var descParts = str.split(/ +/); 
     1030                var majorMinor = descParts[2].split(/\./); 
     1031                var revisionStr = descParts[3]; 
     1032                return { 
     1033                        "raw":str, 
     1034                        "major":parseInt(majorMinor[0], 10), 
     1035                        "minor":parseInt(majorMinor[1], 10),  
     1036                        "revisionStr":revisionStr, 
     1037                        "revision":parseRevisionStrToInt(revisionStr) 
     1038                }; 
     1039        }; 
     1040        var parseRevisionStrToInt = function(str){ 
     1041                return parseInt(str.replace(/[a-zA-Z]/g, ""), 10) || self.revision; 
     1042        }; 
     1043        self.majorAtLeast = function(version){ 
     1044                return self.major >= version; 
     1045        }; 
     1046        self.FlashDetect = function(){ 
     1047                if(navigator.plugins && navigator.plugins.length>0){ 
     1048                        var type = 'application/x-shockwave-flash'; 
     1049                        var mimeTypes = navigator.mimeTypes; 
     1050                        if(mimeTypes && mimeTypes[type] && mimeTypes[type].enabledPlugin && mimeTypes[type].enabledPlugin.description){ 
     1051                                var version = mimeTypes[type].enabledPlugin.description; 
     1052                                var versionObj = parseStandardVersion(version); 
     1053                                self.raw = versionObj.raw; 
     1054                                self.major = versionObj.major; 
     1055                                self.minor = versionObj.minor;  
     1056                                self.revisionStr = versionObj.revisionStr; 
     1057                                self.revision = versionObj.revision; 
     1058                                self.installed = true; 
     1059                        } 
     1060                }else if(navigator.appVersion.indexOf("Mac")==-1 && window.execScript){ 
     1061                        var version = -1; 
     1062                        for(var i=0; i<activeXDetectRules.length && version==-1; i++){ 
     1063                                var obj = getActiveXObject(activeXDetectRules[i].name); 
     1064                                if(typeof obj == "object"){ 
     1065                                        self.installed = true; 
     1066                                        version = activeXDetectRules[i].version(obj); 
     1067                                        if(version!=-1){ 
     1068                                                var versionObj = parseActiveXVersion(version); 
     1069                                                self.raw = versionObj.raw; 
     1070                                                self.major = versionObj.major; 
     1071                                                self.minor = versionObj.minor;  
     1072                                                self.revision = versionObj.revision; 
     1073                                                self.revisionStr = versionObj.revisionStr; 
     1074                                        } 
     1075                                } 
     1076                        } 
     1077                } 
     1078        }(); 
     1079}; 
     1080FlashDetect.release = "1.0.3"; 
     1081 
     1082 
     1083 
     1084if( FlashDetect.installed && FlashDetect.major < 10 ) { 
     1085 
    9711086jQuery(function($){ 
    9721087        swfu = new SWFUpload({ 
     
    10001115        $("#flash-browse-button").bind( "click", function(){swfu.selectFiles();}); 
    10011116}); 
     1117 
     1118} // Flash detect condition 
    10021119//--> 
    10031120</script>