src/pyams_skin/resources/js/ext/tinymce/dev/plugins/media/plugin.min.js
changeset 69 a361355b55c7
equal deleted inserted replaced
68:fd8fb93e1b6a 69:a361355b55c7
       
     1 tinymce.PluginManager.add("media",function(e,b){var m=[{regex:/youtu\.be\/([\w\-.]+)/,type:"iframe",w:425,h:350,url:"//www.youtube.com/embed/$1"},{regex:/youtube\.com(.+)v=([^&]+)/,type:"iframe",w:425,h:350,url:"//www.youtube.com/embed/$2"},{regex:/vimeo\.com\/([0-9]+)/,type:"iframe",w:425,h:350,url:"//player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc"},{regex:/vimeo\.com\/(.*)\/([0-9]+)/,type:"iframe",w:425,h:350,url:"//player.vimeo.com/video/$2?title=0&amp;byline=0"},{regex:/maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,type:"iframe",w:425,h:350,url:'//maps.google.com/maps/ms?msid=$2&output=embed"'}];var k=(tinymce.Env.ie&&tinymce.Env.ie<=8)?"onChange":"onInput";function a(n){n=n.toLowerCase();if(n.indexOf(".mp3")!=-1){return"audio/mpeg"}if(n.indexOf(".wav")!=-1){return"audio/wav"}if(n.indexOf(".mp4")!=-1){return"video/mp4"}if(n.indexOf(".webm")!=-1){return"video/webm"}if(n.indexOf(".ogg")!=-1){return"video/ogg"}if(n.indexOf(".swf")!=-1){return"application/x-shockwave-flash"}return""}function j(p){var o=e.settings.media_scripts;if(o){for(var n=0;n<o.length;n++){if(p.indexOf(o[n].filter)!==-1){return o[n]}}}}function i(){var u,s,o,t;var r=[{name:"source1",type:"filepicker",filetype:"media",size:40,autofocus:true,label:"Source",onchange:function(v){tinymce.each(v.meta,function(x,w){u.find("#"+w).value(x)})}}];function p(z){var w,y,x,v;w=u.find("#width")[0];y=u.find("#height")[0];x=w.value();v=y.value();if(u.find("#constrain")[0].checked()&&s&&o&&x&&v){if(z.control==w){v=Math.round((x/s)*v);if(!isNaN(v)){y.value(v)}}else{x=Math.round((v/o)*x);if(!isNaN(x)){w.value(x)}}}s=x;o=v}if(e.settings.media_alt_source!==false){r.push({name:"source2",type:"filepicker",filetype:"media",size:40,label:"Alternative source"})}if(e.settings.media_poster!==false){r.push({name:"poster",type:"filepicker",filetype:"image",size:40,label:"Poster"})}if(e.settings.media_dimensions!==false){r.push({type:"container",label:"Dimensions",layout:"flex",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:5,size:3,onchange:p,ariaLabel:"Width"},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:5,size:3,onchange:p,ariaLabel:"Height"},{name:"constrain",type:"checkbox",checked:true,text:"Constrain proportions"}]})}t=d(e.selection.getNode());s=t.width;o=t.height;var n={id:"mcemediasource",type:"textbox",flex:1,name:"embed",value:f(),multiline:true,label:"Source"};function q(){t=l(this.value());this.parent().parent().fromJSON(t)}n[k]=q;u=e.windowManager.open({title:"Insert/edit video",data:t,bodyType:"tabpanel",body:[{title:"General",type:"form",onShowTab:function(){t=l(this.next().find("#embed").value());this.fromJSON(t)},items:r},{title:"Embed",type:"panel",layout:"flex",direction:"column",align:"stretch",padding:10,spacing:10,onShowTab:function(){this.find("#embed").value(h(this.parent().toJSON()))},items:[{type:"label",text:"Paste your embed code below:",forId:"mcemediasource"},n]}],onSubmit:function(){var x,v,w,z;x=e.dom.select("img[data-mce-object]");e.insertContent(h(this.toJSON()));v=e.dom.select("img[data-mce-object]");for(w=0;w<x.length;w++){for(z=v.length-1;z>=0;z--){if(x[w]==v[z]){v.splice(z,1)}}}e.selection.select(v[0]);e.nodeChanged()}})}function f(){var n=e.selection.getNode();if(n.getAttribute("data-mce-object")){return e.selection.getContent()}}function h(p){var o="";if(!p.source1){tinymce.extend(p,l(p.embed));if(!p.source1){return""}}if(!p.source2){p.source2=""}if(!p.poster){p.poster=""}p.source1=e.convertURL(p.source1,"source");p.source2=e.convertURL(p.source2,"source");p.source1mime=a(p.source1);p.source2mime=a(p.source2);p.poster=e.convertURL(p.poster,"poster");p.flashPlayerUrl=e.convertURL(b+"/moxieplayer.swf","movie");tinymce.each(m,function(t){var r,s,q;if((r=t.regex.exec(p.source1))){q=t.url;for(s=0;r[s];s++){q=q.replace("$"+s,function(){return r[s]})}p.source1=q;p.type=t.type;p.width=p.width||t.w;p.height=p.height||t.h}});if(p.embed){o=g(p.embed,p,true)}else{var n=j(p.source1);if(n){p.type="script";p.width=n.width;p.height=n.height}p.width=p.width||300;p.height=p.height||150;tinymce.each(p,function(r,q){p[q]=e.dom.encode(r)});if(p.type=="iframe"){o+='<iframe src="'+p.source1+'" width="'+p.width+'" height="'+p.height+'"></iframe>'}else{if(p.source1mime=="application/x-shockwave-flash"){o+='<object data="'+p.source1+'" width="'+p.width+'" height="'+p.height+'" type="application/x-shockwave-flash">';if(p.poster){o+='<img src="'+p.poster+'" width="'+p.width+'" height="'+p.height+'" />'}o+="</object>"}else{if(p.source1mime.indexOf("audio")!=-1){if(e.settings.audio_template_callback){o=e.settings.audio_template_callback(p)}else{o+=('<audio controls="controls" src="'+p.source1+'">'+(p.source2?'\n<source src="'+p.source2+'"'+(p.source2mime?' type="'+p.source2mime+'"':"")+" />\n":"")+"</audio>")}}else{if(p.type=="script"){o+='<script src="'+p.source1+'"><\/script>'}else{if(e.settings.video_template_callback){o=e.settings.video_template_callback(p)}else{o=('<video width="'+p.width+'" height="'+p.height+'"'+(p.poster?' poster="'+p.poster+'"':"")+' controls="controls">\n<source src="'+p.source1+'"'+(p.source1mime?' type="'+p.source1mime+'"':"")+" />\n"+(p.source2?'<source src="'+p.source2+'"'+(p.source2mime?' type="'+p.source2mime+'"':"")+" />\n":"")+"</video>")}}}}}}return o}function l(n){var o={};new tinymce.html.SaxParser({validate:false,allow_conditional_comments:true,special:"script,noscript",start:function(q,p){if(!o.source1&&q=="param"){o.source1=p.map.movie}if(q=="iframe"||q=="object"||q=="embed"||q=="video"||q=="audio"){if(!o.type){o.type=q}o=tinymce.extend(p.map,o)}if(q=="script"){var r=j(p.map.src);if(!r){return}o={type:"script",source1:p.map.src,width:r.width,height:r.height}}if(q=="source"){if(!o.source1){o.source1=p.map.src}else{if(!o.source2){o.source2=p.map.src}}}if(q=="img"&&!o.poster){o.poster=p.map.src}}}).parse(n);o.source1=o.source1||o.src||o.data;o.source2=o.source2||"";o.poster=o.poster||"";return o}function d(n){if(n.getAttribute("data-mce-object")){return l(e.serializer.serialize(n,{selection:true}))}return{}}function c(n){if(e.settings.media_filter_html===false){return n}var o=new tinymce.html.Writer();new tinymce.html.SaxParser({validate:false,allow_conditional_comments:false,special:"script,noscript",comment:function(p){o.comment(p)},cdata:function(p){o.cdata(p)},text:function(q,p){o.text(q,p)},start:function(q,p,s){if(q=="script"||q=="noscript"){return}for(var r=0;r<p.length;r++){if(p[r].name.indexOf("on")===0){return}}o.start(q,p,s)},end:function(p){if(p=="script"||p=="noscript"){return}o.end(p)}},new tinymce.html.Schema({})).parse(n);return o.getContent()}function g(p,s,t){var r=new tinymce.html.Writer();var o=0,q;function n(w,z){var v,x,y,u;for(v in z){y=""+z[v];if(w.map[v]){x=w.length;while(x--){u=w[x];if(u.name==v){if(y){w.map[v]=y;u.value=y}else{delete w.map[v];w.splice(x,1)}}}}else{if(y){w.push({name:v,value:y});w.map[v]=y}}}}new tinymce.html.SaxParser({validate:false,allow_conditional_comments:true,special:"script,noscript",comment:function(u){r.comment(u)},cdata:function(u){r.cdata(u)},text:function(v,u){r.text(v,u)},start:function(v,u,w){switch(v){case"video":case"object":case"embed":case"img":case"iframe":n(u,{width:s.width,height:s.height});break}if(t){switch(v){case"video":n(u,{poster:s.poster,src:""});if(s.source2){n(u,{src:""})}break;case"iframe":n(u,{src:s.source1});break;case"source":o++;if(o<=2){n(u,{src:s["source"+o],type:s["source"+o+"mime"]});if(!s["source"+o]){return}}break;case"img":if(!s.poster){return}q=true;break}}r.start(v,u,w)},end:function(x){if(x=="video"&&t){for(var w=1;w<=2;w++){if(s["source"+w]){var v=[];v.map={};if(o<w){n(v,{src:s["source"+w],type:s["source"+w+"mime"]});r.start("source",v,true)}}}}if(s.poster&&x=="object"&&t&&!q){var u=[];u.map={};n(u,{src:s.poster,width:s.width,height:s.height});r.start("img",u,true)}r.end(x)}},new tinymce.html.Schema({})).parse(p);return r.getContent()}e.on("ResolveName",function(o){var n;if(o.target.nodeType==1&&(n=o.target.getAttribute("data-mce-object"))){o.name=n}});e.on("preInit",function(){var n=e.schema.getSpecialElements();tinymce.each("video audio iframe object".split(" "),function(p){n[p]=new RegExp("</"+p+"[^>]*>","gi")});var o=e.schema.getBoolAttrs();tinymce.each("webkitallowfullscreen mozallowfullscreen allowfullscreen".split(" "),function(p){o[p]={}});e.parser.addNodeFilter("iframe,video,audio,object,embed,script",function(r,q){var u=r.length,y,t,z,x,w,p,s;var v;while(u--){t=r[u];if(!t.parent){continue}if(t.name=="script"){v=j(t.attr("src"));if(!v){continue}}z=new tinymce.html.Node("img",1);z.shortEnded=true;if(v){if(v.width){t.attr("width",v.width.toString())}if(v.height){t.attr("height",v.height.toString())}}p=t.attributes;y=p.length;while(y--){x=p[y].name;w=p[y].value;if(x!=="width"&&x!=="height"&&x!=="style"){if(x=="data"||x=="src"){w=e.convertURL(w,x)}z.attr("data-mce-p-"+x,w)}}s=t.firstChild&&t.firstChild.value;if(s){z.attr("data-mce-html",escape(s));z.firstChild=null}z.attr({width:t.attr("width")||"300",height:t.attr("height")||(q=="audio"?"30":"150"),style:t.attr("style"),src:tinymce.Env.transparentSrc,"data-mce-object":q,"class":"mce-object mce-object-"+q});t.replace(z)}});e.serializer.addAttributeFilter("data-mce-object",function(r,q){var u=r.length,t,y,w,p,s,z,x;while(u--){t=r[u];if(!t.parent){continue}x=t.attr(q);y=new tinymce.html.Node(x,1);if(x!="audio"&&x!="script"){y.attr({width:t.attr("width"),height:t.attr("height")})}y.attr({style:t.attr("style")});p=t.attributes;w=p.length;while(w--){var v=p[w].name;if(v.indexOf("data-mce-p-")===0){y.attr(v.substr(11),p[w].value)}}if(x=="script"){y.attr("type","text/javascript")}s=t.attr("data-mce-html");if(s){z=new tinymce.html.Node("#text",3);z.raw=true;z.value=c(unescape(s));y.append(z)}t.replace(y)}})});e.on("ObjectSelected",function(o){var n=o.target.getAttribute("data-mce-object");if(n=="audio"||n=="script"){o.preventDefault()}});e.on("objectResized",function(p){var o=p.target,n;if(o.getAttribute("data-mce-object")){n=o.getAttribute("data-mce-html");if(n){n=unescape(n);o.setAttribute("data-mce-html",escape(g(n,{width:p.width,height:p.height})))}}});e.addButton("media",{tooltip:"Insert/edit video",onclick:i,stateSelector:["img[data-mce-object=video]","img[data-mce-object=iframe]"]});e.addMenuItem("media",{icon:"media",text:"Insert/edit video",onclick:i,context:"insert",prependToContext:true})});