This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
khosb/includes/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js

1 line
9.6 KiB
JavaScript
Raw Normal View History

(function(){var c=tinymce.makeMap("id,width,height,type"),b=tinymce.html.Node,e,a,f=tinymce.util.JSON,d;e=[["Flash","d27cdb6e-ae6d-11cf-96b8-444553540000","application/x-shockwave-flash","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"],["ShockWave","166b1bca-3f9c-11cf-8075-444553540000","application/x-director","http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0"],["WindowsMedia","6bf52a52-394a-11d3-b153-00c04f79faa6,22d6f312-b0f6-11d0-94ab-0080c74c7e95,05589fa1-c356-11ce-bf01-00aa0055595a","application/x-mplayer2","http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701"],["QuickTime","02bf25d5-8c17-4b23-bc80-d3488abddc6b","video/quicktime","http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0"],["RealMedia","cfcdaa03-8be4-11cf-b84b-0020afbbccfa","audio/x-pn-realaudio-plugin","http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"],["Java","8ad9c840-044e-11d1-b3e9-00805f499d93","application/x-java-applet","http://java.sun.com/products/plugin/autodl/jinstall-1_5_0-windows-i586.cab#Version=1,5,0,0"],["Silverlight","dfeaf541-f3e1-4c24-acac-99c30715084a","application/x-silverlight-2"],["Video"]];tinymce.create("tinymce.plugins.MediaPlugin",{init:function(l,g){var p=this,j={},k,n,o,h;function m(q){return q&&q.nodeName==="IMG"&&l.dom.hasClass(q,"mceItemMedia")}p.editor=l;p.url=g;a="";for(k=0;k<e.length;k++){h=e[k][0];o={name:h,clsids:tinymce.explode(e[k][1]||""),mimes:tinymce.explode(e[k][2]||""),codebase:e[k][3]};for(n=0;n<o.clsids.length;n++){j["clsid:"+o.clsids[n]]=o}for(n=0;n<o.mimes.length;n++){j[o.mimes[n]]=o}j["mceItem"+h]=o;j[h.toLowerCase()]=o;a+=(a?"|":"")+h}tinymce.each(l.getParam("media_types","video=mp4,m4v,ogv,webm;silverlight=xap;flash=swf;shockwave=dcr;quicktime=mov,qt,mpg,mp3,mpeg;shockwave=dcr;windowsmedia=avi,wmv,wm,asf,asx,wmx,wvx;realmedia=rm,ra,ram;java=jar").split(";"),function(t){var q,s,r;t=t.split(/=/);s=tinymce.explode(t[1].toLowerCase());for(q=0;q<s.length;q++){r=j[t[0].toLowerCase()];if(r){j[s[q]]=r}}});a=new RegExp("write("+a+")\\(([^)]+)\\)");p.lookup=j;l.onPreInit.add(function(){l.schema.addValidElements("object[id|style|width|height|classid|codebase|*],param[name|value],embed[id|style|width|height|type|src|*],video[*],audio[*],source[*]");l.parser.addNodeFilter("object,embed,video,audio,script",function(q){var r=q.length;while(r--){p.objectToImg(q[r])}});l.serializer.addNodeFilter("img",function(q){var r=q.length,s;while(r--){s=q[r];if((s.attr("class")||"").indexOf("mceItemMedia")!==-1){p.imgToObject(s)}}})});if(l.settings.content_css!==false){l.contentCSS.push(g+"/css/content.css")}l.onInit.add(function(){if(l.theme&&l.theme.onResolveName){l.theme.onResolveName.add(function(q,r){if(r.name==="img"&&l.dom.hasClass(r.node,"mceItemMedia")){r.name="media"}})}if(l&&l.plugins.contextmenu){l.plugins.contextmenu.onContextMenu.add(function(r,s,q){if(q.nodeName==="IMG"&&q.className.indexOf("mceItemMedia")!==-1){s.add({title:"media.edit",icon:"media",cmd:"mceMedia"})}})}});l.addCommand("mceMedia",function(){var r,q;q=l.selection.getNode();if(m(q)){r=f.parse(l.dom.getAttrib(q,"data-mce-json"));tinymce.each("id,width,height,class".split(","),function(s){var t=l.dom.getAttrib(q,s);if(t){r[s]=t}});r.type=p.getType(q.className).name.toLowerCase()}if(!r){r={type:"flash",video:{sources:[]},params:{}}}l.windowManager.open({file:g+"/media.htm",width:430+parseInt(l.getLang("media.delta_width",0)),height:470+parseInt(l.getLang("media.delta_height",0)),inline:1},{plugin_url:g,data:r})});l.addButton("media",{title:"media.desc",cmd:"mceMedia"});l.onNodeChange.add(function(r,q,s){q.setActive("media",m(s))})},getInfo:function(){return{longname:"Media",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/media",version:tinymce.majorVersion+"."+tinymce.minorVersion}},dataToImg:function(m,n){var l=this.editor,o=l.documentBaseURI,j,h,g;function k(p){if(!p){return p}if(n){return o.toAbsolute(p)}else{return l