[pLog-svn] r7098 - in plog/branches/lifetype-1.2/js/tinymce/plugins: . insertvideo insertvideo/css insertvideo/img insertvideo/langs
mark at devel.lifetype.net
mark at devel.lifetype.net
Tue Dec 21 12:37:19 EST 2010
Author: mark
Date: 2010-12-21 12:37:19 -0500 (Tue, 21 Dec 2010)
New Revision: 7098
Added:
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/README.txt
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/css/
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/css/content.css
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/css/flash.css
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/editor_plugin.js
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/editor_plugin_src.js
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/functions.js
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/bolt.png
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/dailymotion.png
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/dalealplay.png
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/goear.png
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/grouper.png
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/gvideo.png
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/ifilm.png
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/metacafe.png
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/spacer.gif
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/vimeo.png
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/youtube.png
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/zippyvideos.png
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/langs/
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/langs/en.js
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/langs/en_dlg.js
plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/videoinput.html
Log:
InsertVideo works now, I just refactored the plugin (almost rewrite) based on the tecnique I used in InsertResource plugin. There is one todo item: functions.js must rewrite to its own namespace.
Added: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/README.txt
===================================================================
--- plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/README.txt (rev 0)
+++ plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/README.txt 2010-12-21 17:37:19 UTC (rev 7098)
@@ -0,0 +1,18 @@
+InsertVideo:
+
+Author: Oscar Renalias / LifeType (copied from the flash plugin)
+
+A plugin for tinymce that allows to insert videos from youtube and
+google video without breaking the xhhtml compliancy. The code has been
+shamelessly ripped from the tinymce 'flash' plugin but it works.
+
+
+
+History:
+
+10/2006: Created
+
+early 2007: various bug fixes/typos
+
+06/2007: DailyMotion support and Localized for other
+ languages by Gabriel Rousseau
Added: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/css/content.css
===================================================================
--- plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/css/content.css (rev 0)
+++ plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/css/content.css 2010-12-21 17:37:19 UTC (rev 7098)
@@ -0,0 +1,56 @@
+.ltVideoYouTube {
+ border: 1px dotted #cc0000;
+ background-image: url('../img/youtube.png');
+ background-position: center;
+ background-repeat: no-repeat;
+ background-color: #ffffcc;
+}
+.ltVideoVimeo {
+ border: 1px dotted #cc0000;
+ background-image: url('../img/vimeo.png');
+ background-position: center;
+ background-repeat: no-repeat;
+ background-color: #ffffcc;
+}
+.ltVideoGoogleVideo {
+ border: 1px dotted #cc0000;
+ background-image: url('../img/gvideo.png');
+ background-position: center;
+ background-repeat: no-repeat;
+ background-color: #ffffcc;
+}
+.ltVideoMetacafe {
+ border: 1px dotted #cc0000;
+ background-image: url('../img/metacafe.png');
+ background-position: center;
+ background-repeat: no-repeat;
+ background-color: #ffffcc;
+ }
+.ltVideoIfilm {
+ border: 1px dotted #cc0000;
+ background-image: url('../img/ifilm.png');
+ background-position: center;
+ background-repeat: no-repeat;
+ background-color: #ffffcc;
+ }
+.ltVideoGoear {
+ border: 1px dotted #cc0000;
+ background-image: url('../img/goear.png');
+ background-position: center;
+ background-repeat: no-repeat;
+ background-color: #ffffcc;
+ }
+.ltVideoGrouper {
+ border: 1px dotted #cc0000;
+ background-image: url('../img/grouper.png');
+ background-position: center;
+ background-repeat: no-repeat;
+ background-color: #ffffcc;
+ }
+.ltVideoDailymot {
+ border: 1px dotted #cc0000;
+ background-image: url('../img/dailymotion.png');
+ background-position: center;
+ background-repeat: no-repeat;
+ background-color: #ffffcc;
+ }
Added: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/css/flash.css
===================================================================
--- plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/css/flash.css (rev 0)
+++ plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/css/flash.css 2010-12-21 17:37:19 UTC (rev 7098)
@@ -0,0 +1,11 @@
+.panel_wrapper div.current {
+ height: 100px;
+}
+
+#width, #height {
+ width: 50px;
+}
+
+#file {
+ width: 250px;
+}
Added: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/editor_plugin.js
===================================================================
--- plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/editor_plugin.js (rev 0)
+++ plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/editor_plugin.js 2010-12-21 17:37:19 UTC (rev 7098)
@@ -0,0 +1,8 @@
+
+(function(){tinymce.PluginManager.requireLangPack('insertvideo');tinymce.create('tinymce.plugins.InsertVideoPlugin',{init:function(ed,url){var t=this;t.ed=ed;t.url=url;ed.onBeforeSetContent.add(function(ed,o){o.content=t._insertToEditor(t,o.content);});ed.onPostProcess.add(function(ed,o){if(o.set){o.content=t._insertToEditor(t,o.content);}
+if(o.get){o.content=t._getFromEditor(t,o.content);}});ed.addCommand('mceInsertVideo',function(){ed.windowManager.open({file:url+'/videoinput.html',width:500,height:300,inline:1},{plugin_url:url});});ed.addButton('insertvideo',{title:'insertvideo.desc',cmd:'mceInsertVideo',image:url+'/img/youtube.png'});ed.onInit.add(function(){if(ed.settings.content_css!==false)
+ed.dom.loadCSS(url+"/css/content.css");});},getInfo:function(){return{longname:'Insert Video',author:'LifeType Team',authorurl:'http://www.lifetype.net',infourl:'http://www.lifetype.net',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_insertToEditor:function(t,content){cdom=t.ed.dom.create('div');t.ed.dom.setHTML(cdom,content);elems=t.ed.dom.select('object[data]',cdom);tinymce.each(elems,function(e){src=e.data;cls=t._getVideoType(src);if(src&&cls){height=e.height;width=e.width;imgHTML=t._getVideoImgHTML(src,height,width,cls);t.ed.dom.setOuterHTML(e,imgHTML);}});content=cdom.innerHTML;t.ed.dom.remove(cdom);return content;},_getFromEditor:function(t,content){cdom=t.ed.dom.create('div');t.ed.dom.setHTML(cdom,content);elems=t.ed.dom.select('img[class^=ltVideo]',cdom);tinymce.each(elems,function(e){cls=t._isValidVideoType(e.className);src=e.alt;if(src&&cls){height=e.height;width=e.width;embedHTML=t._getVideoFlashHTML(src,height,width,cls);t.ed.dom.setOuterHTML(e,embedHT
ML);}});content=cdom.innerHTML;t.ed.dom.remove(cdom);return content;},_getVideoType:function(url)
+{var sites={GoogleVideo:{regexp:/^http:\/\/video\.google\.com\//,cls:'ltVideoGoogleVideo'},YouTube:{regexp:/^http:\/\/.{2,3}\.youtube\.com\//,cls:'ltVideoYouTube'},Metacafe:{regexp:/^http:\/\/www\.metacafe\.com\//,cls:'ltVideoMetacafe'},Ifilm:{regexp:/^http:\/\/www\.ifilm\.com\//,cls:'ltVideoIfilm'},VideoGoear:{regexp:/^http:\/\/www\.goear.com\//,cls:'ltVideoGoear'},Grouper:{regexp:/^http:\/\/www\.grouper\.com\//,cls:'ltVideoGrouper'},DailyMotion:{regexp:/^http:\/\/www\.dailymotion\.com\//,cls:'ltVideoDailymot'},Vimeo:{regexp:/^http:\/\/vimeo\.com\//,cls:'ltVideoVimeo'}};var cls='';for(site in sites){if(url.match(sites[site].regexp)){cls=sites[site].cls;break;}}
+return(cls);},_isValidVideoType:function(cls){result=cls.match(/^ltVideo(GoogleVideo|YouTube|Metacafe|Ifilm|Goear|Grouper|Dailymot|Vimeo)/);return(result?'ltVideo'+result[1]:false);},_getVideoImgHTML:function(src,height,width,cls){html='<img width="'+width+'" height="'+height+'"'+' src="'+this.url+'/img/spacer.gif'+'" title="'+src+'"'+' alt="'+src+'" class="'+cls+'" />';return html;},_getVideoFlashHTML:function(url,height,width,cls)
+{html='<object type="application/x-shockwave-flash" width="'+width+'" height="'+height+'" data="'+url+'" class="'+cls+'">'+'<param name="movie" value="'+url+'" />'+'<param name="wmode" value="transparent" />'+'<param name="allowScriptAccess" value="sameDomain" />'+'<param name="quality" value="best" />'+'<param name="bgcolor" value="#ffffff" />';if(cls=='ltVideoGoear'){html+='<param name="FlashVars" value="'+url.substring(43,url.length)+'" />';}else{html+='<param name="FlashVars" value="playerMode=embedded" />';}
+html+='</object>';return html;}});tinymce.PluginManager.add('insertvideo',tinymce.plugins.InsertVideoPlugin);})();
\ No newline at end of file
Added: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/editor_plugin_src.js
===================================================================
--- plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/editor_plugin_src.js (rev 0)
+++ plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/editor_plugin_src.js 2010-12-21 17:37:19 UTC (rev 7098)
@@ -0,0 +1,170 @@
+/**
+ * editor_plugin_src.js
+ *
+ * Copyright 2010, Lifetype Team, http://www.lifetype.net
+ * Released under GPLv2 License.
+ */
+
+(function() {
+ tinymce.PluginManager.requireLangPack('insertvideo');
+ tinymce.create('tinymce.plugins.InsertVideoPlugin', {
+ init : function(ed, url) {
+ var t = this;
+ t.ed = ed;
+ t.url = url;
+
+ ed.onBeforeSetContent.add(function(ed, o) {
+ o.content = t._insertToEditor(t, o.content);
+ });
+
+ ed.onPostProcess.add(function(ed, o) {
+ if (o.set){
+ o.content = t._insertToEditor(t, o.content);
+ }
+ if (o.get){
+ o.content = t._getFromEditor(t, o.content);
+ }
+ });
+
+ ed.addCommand('mceInsertVideo', function() {
+ ed.windowManager.open({
+ file : url + '/videoinput.html',
+ width : 500,
+ height : 300,
+ inline : 1
+ }, {
+ plugin_url : url
+ });
+ });
+
+ // Register insertresource button
+ ed.addButton('insertvideo', {
+ title : 'insertvideo.desc',
+ cmd : 'mceInsertVideo',
+ image : url + '/img/youtube.png'
+ });
+
+ ed.onInit.add(function() {
+ if (ed.settings.content_css !== false)
+ ed.dom.loadCSS(url + "/css/content.css");
+ });
+ },
+
+ getInfo : function() {
+ return {
+ longname : 'Insert Video',
+ author : 'LifeType Team',
+ authorurl : 'http://www.lifetype.net',
+ infourl : 'http://www.lifetype.net',
+ version : tinymce.majorVersion + "." + tinymce.minorVersion
+ };
+ },
+
+ _insertToEditor : function(t, content) {
+ // Parse all object tags and replace them with img
+ cdom = t.ed.dom.create('div');
+ t.ed.dom.setHTML(cdom, content);
+ elems = t.ed.dom.select('object[data]', cdom);
+
+ tinymce.each(elems, function(e) {
+ src = e.data;
+ cls = t._getVideoType(src);
+ if (src && cls) {
+ height = e.height;
+ width = e.width;
+ imgHTML = t._getVideoImgHTML(src, height, width, cls);
+ t.ed.dom.setOuterHTML(e, imgHTML);
+ }
+ });
+
+ content = cdom.innerHTML;
+ t.ed.dom.remove(cdom);
+
+ return content;
+ },
+
+ _getFromEditor : function(t, content) {
+ // Parse all img[class=ltVideo*] tags and replace them with object+embed
+ cdom = t.ed.dom.create('div');
+ t.ed.dom.setHTML(cdom, content);
+ elems = t.ed.dom.select('img[class^=ltVideo]', cdom);
+
+ tinymce.each(elems, function(e) {
+ cls = t._isValidVideoType(e.className);
+ src = e.alt;
+ if (src && cls) {
+ height = e.height;
+ width = e.width;
+ embedHTML = t._getVideoFlashHTML(src, height, width, cls);
+ t.ed.dom.setOuterHTML(e, embedHTML);
+ }
+ });
+
+ content = cdom.innerHTML;
+ t.ed.dom.remove(cdom);
+
+ return content;
+ },
+
+ _getVideoType : function(url)
+ {
+ var sites = {
+ GoogleVideo : {regexp : /^http:\/\/video\.google\.com\//, cls : 'ltVideoGoogleVideo'},
+ YouTube : {regexp : /^http:\/\/.{2,3}\.youtube\.com\//, cls : 'ltVideoYouTube'},
+ Metacafe : {regexp : /^http:\/\/www\.metacafe\.com\//, cls : 'ltVideoMetacafe'},
+ Ifilm : {regexp : /^http:\/\/www\.ifilm\.com\//, cls : 'ltVideoIfilm'},
+ VideoGoear : {regexp : /^http:\/\/www\.goear.com\//, cls : 'ltVideoGoear'},
+ Grouper : {regexp : /^http:\/\/www\.grouper\.com\//, cls : 'ltVideoGrouper'},
+ DailyMotion : {regexp : /^http:\/\/www\.dailymotion\.com\//, cls : 'ltVideoDailymot'},
+ Vimeo : {regexp : /^http:\/\/vimeo\.com\//, cls : 'ltVideoVimeo'}
+ };
+
+ var cls = '';
+ for (site in sites) {
+ if (url.match(sites[site].regexp)) {
+ cls = sites[site].cls;
+ break;
+ }
+ }
+
+ return( cls );
+ },
+
+ _isValidVideoType: function(cls) {
+ result = cls.match(/^ltVideo(GoogleVideo|YouTube|Metacafe|Ifilm|Goear|Grouper|Dailymot|Vimeo)/);
+
+ return (result ? 'ltVideo'+result[1] : false);
+ },
+
+ _getVideoImgHTML : function(src, height, width, cls) {
+ html = '<img width="' + width + '" height="' + height + '"' +
+ ' src="' + this.url + '/img/spacer.gif' + '" title="' + src + '"' +
+ ' alt="' + src + '" class="'+ cls +'" />';
+
+ return html;
+ },
+
+ _getVideoFlashHTML : function(url, height, width, cls)
+ {
+ html = '<object type="application/x-shockwave-flash" width="' + width + '" height="' + height + '" data="' + url + '" class="' + cls + '">' +
+ '<param name="movie" value="' + url + '" />' +
+ '<param name="wmode" value="transparent" />' +
+ '<param name="allowScriptAccess" value="sameDomain" />' +
+ '<param name="quality" value="best" />' +
+ '<param name="bgcolor" value="#ffffff" />';
+ if (cls == 'ltVideoGoear') {
+ html += '<param name="FlashVars" value="' + url.substring( 43, url.length ) + '" />';
+ } else {
+ html += '<param name="FlashVars" value="playerMode=embedded" />';
+ }
+
+ html += '</object>';
+
+ return html;
+ }
+
+ });
+
+ // Register plugin
+ tinymce.PluginManager.add('insertvideo', tinymce.plugins.InsertVideoPlugin);
+})();
Added: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/functions.js
===================================================================
--- plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/functions.js (rev 0)
+++ plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/functions.js 2010-12-21 17:37:19 UTC (rev 7098)
@@ -0,0 +1,268 @@
+function init() {
+ tinyMCEPopup.requireLangPack();
+ tinyMCEPopup.resizeToInnerSize();
+}
+
+function isValidUrl( url )
+{
+ var regexp = /(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
+ return regexp.test(url);
+}
+
+function getVimeoLink( url )
+{
+ var regexp = /http:\/\/(?:www\.)?vimeo.com\/([0-9]+)/i;
+ result = regexp.exec( url );
+ if(!result){
+ return url;
+ }
+ videoId = result[1];
+ url = "http://vimeo.com/moogaloop.swf?clip_id="+videoId+"&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=0a7ac2&fullscreen=1";
+ return url;
+}
+
+function getYouTubeLink( url )
+{
+ var regexp;
+ // check if this is a URL pointing to a youtube link or to a youtube video
+ //if( url.substring( 0, 31 ) == "http://www.youtube.com/watch?v=" ) {
+ if( url.match( /http:\/\/.{2,3}\.youtube.com\/.*?v=/i )) {
+ // and if it's a link to a normal youtube page, build the right link to the video player
+ regexp = /http:\/\/.{2,3}\.youtube.com\/.*?v=([\-0-9a-zA-z_]*).*/i;
+ result = regexp.exec( url );
+ if( result ) {
+ videoId = result[1];
+ }
+ else {
+ // let's try to make a best guess...
+ videoId = url.substring( 31, url.length );
+ }
+
+ url = "http://www.youtube.com/v/" + videoId;
+ }
+ else if ( url.substring( 0, 27 ) == "http://youtube.com/watch?v=" ) {
+ // Checks if the URL is missing WWW.
+ // and if it's a link to a normal youtube page, build the right link to the video player
+ regexp = /http:\/\/youtube.com\/.*?v=([\-0-9a-zA-z_]*).*/i;
+ result = regexp.exec( url );
+ if( result ) {
+ videoId = result[1];
+ }
+ else {
+ // let's try to make a best guess...
+ videoId = url.substring( 27, url.length );
+ }
+
+ url = "http://www.youtube.com/v/" + videoId;
+ }
+ else {
+ regexp = /.*?v=([\-0-9a-zA-z_]*).*/i;
+ result = regexp.exec( url );
+ if( result ) {
+ videoId = result[1];
+ url = "http://www.youtube.com/v/" + videoId;
+ }
+ }
+
+ return( url );
+}
+
+function getGoogleVideoLink( url )
+{
+ // check if it's a link to a video page or a link to the video player
+ if( url.substring( 0, 40 ) == "http://video.google.com/videoplay?docid=" ) {
+ // if it's a link to a video page, generate the right one
+ var regexp = /http:\/\/video.google.com\/.*?docid=([\-0-9a-zA-z_]*).*/i;
+ result = regexp.exec( url );
+ if( result ) {
+ videoId = result[1];
+ }
+ else {
+ videoId = url.substring( 40, url.length );
+ }
+
+ url = "http://video.google.com/googleplayer.swf?docId=" + videoId;
+ }
+
+ return( url );
+}
+
+function getMetacafeVideoLink( url )
+{
+ // check if it's a link to a video page or a link to the video player
+ if( url.substring( 0, 30 ) == "http://www.metacafe.com/watch/" ) {
+ // if it's a link to a video page, generate the right one
+ var regexp = /http:\/\/www.metacafe.com\/watch\/.*?docid=([\-0-9a-zA-z_]*).*/i;
+ result = regexp.exec( url );
+ if( result ) {
+ videoId = result[1];
+ }
+ else {
+ videoId = url.substring( 30, url.length - 1 );
+ }
+
+ url = "http://www.metacafe.com/fplayer/" + videoId + ".swf";
+ }
+
+ return( url );
+}
+
+function getiFilmVideoLink( url )
+{
+ // check if it's a link to a video page or a link to the video player
+ if( url.substring( 0, 27 ) == "http://www.ifilm.com/video/" ) {
+ // if it's a link to a video page, generate the right one
+ var regexp = /http:\/\/www.ifilm.com\/video\/.*?docid=([\-0-9a-zA-z_]*).*/i;
+ result = regexp.exec( url );
+ if( result ) {
+ videoId = result[1];
+ }
+ else {
+ videoId = url.substring( 27, url.length );
+ }
+
+ url = "http://www.ifilm.com/efp?flvbaseclip=" + videoId ;
+ }
+
+ return( url );
+}
+
+function getGoearVideoLink( url )
+{
+ // check if it's a link to a video page or a link to the video player
+ if( url.substring( 0, 34 ) == "http://www.goear.com/listen.php?v=" ) {
+ // if it's a link to a video page, generate the right one
+ var regexp = /http:\/\/www.goear.com\/.*?v=([\-0-9a-zA-z_]*).*/i;
+ result = regexp.exec( url );
+ if( result ) {
+ videoId = result[1];
+ }
+ else {
+ videoId = url.substring( 34, url.length );
+ }
+ url = "http://www.goear.com/files/external.swf?file=" + videoId ;
+ }
+
+ return( url );
+}
+
+function getGrouperVideoLink( url )
+{
+ // check if it's a link to a video page or a link to the video player
+ if( url.substring( 0, 46 ) == "http://grouper.com/video/MediaDetails.aspx?id=" ) {
+ // if it's a link to a video page, generate the right one
+ var regexp = /http:\/\/www.grouper.com\/video\/MediaDetails.aspx.*?id=([\-0-9a-zA-z_]*).*/i;
+ result = regexp.exec( url );
+ if( result ) {
+ videoId = result[1];
+ }
+ else {
+ videoId = url.substring( 46, url.length );
+ }
+
+ url = "http://grouper.com/mtg/mtgPlayer.swf?gvars=vurl~http%3a%2f%2fgrouper.com%2frss%2fflv.ashx%3fid%3d" + videoId + "_rf%7e-9_vfver~8_ap~1_extid~-1";
+ }
+
+ return( url );
+}
+
+function getDailymotionLink( url )
+{
+ // check if this is a URL pointing to a dailymotion embedded video link
+ var regexp = /object\swidth="([0-9]+)"\sheight="([0-9]+)".+value="(http:\/\/www\.dailymotion\.com\/swf\/\w+).*"/;
+ result = regexp.exec( url );
+ return( result );
+}
+
+function insertVideoCode()
+{
+ // get and check the URL
+ urlField = document.forms[0].url;
+ url = urlField.value;
+ if( url === "" || !isValidUrl( url )) {
+ window.alert( tinyMCEPopup.getLang('insertvideo_dlg.badurl', 0) );
+ return( false );
+ }
+
+ // check if a destination system was selected
+ vimeo = document.getElementById("vimeo");
+ youtube = document.getElementById("youtube");
+ gvideo = document.getElementById("gvideo");
+ metacafe = document.getElementById("metacafe");
+ ifilm = document.getElementById("ifilm");
+ goear = document.getElementById("goear");
+ grouper = document.getElementById("grouper");
+ dailymot = document.getElementById("dailymot");
+
+ if( vimeo.checked === false &&
+ youtube.checked === false &&
+ gvideo.checked === false &&
+ metacafe.checked === false &&
+ ifilm.checked === false &&
+ goear.checked === false &&
+ grouper.checked === false &&
+ dailymot.checked === false ) {
+ window.alert( tinyMCEPopup.getLang('insertvideo_dlg.selectiontype', 0) );
+ return( false );
+ }
+
+ if( vimeo.checked === true ) {
+ link = getVimeoLink( url );
+ css="ltVideoVimeo";
+ width=425;
+ height=355;
+ }
+ if( youtube.checked === true ) {
+ link = getYouTubeLink( url );
+ css="ltVideoYouTube";
+ width=425;
+ height=355;
+ }
+ if( gvideo.checked === true ) {
+ link = getGoogleVideoLink( url );
+ css="ltVideoGoogleVideo";
+ width=425;
+ height=355;
+ }
+ if( metacafe.checked === true ) {
+ link = getMetacafeVideoLink( url );
+ css="ltVideoMetacafe";
+ width=400;
+ height=345;
+ }
+ if( ifilm.checked === true ) {
+ link = getiFilmVideoLink( url );
+ css="ltVideoIfilm";
+ width=448;
+ height=365;
+ }
+ if( goear.checked === true ) {
+ link = getGoearVideoLink( url );
+ css="ltVideoGoear";
+ width=366;
+ height=75;
+ }
+ if( grouper.checked === true ) {
+ link = getGrouperVideoLink( url );
+ css="ltVideoGrouper";
+ width=496;
+ height=398;
+ }
+ if( dailymot.checked === true ) {
+ result = getDailymotionLink( url );
+ width = result[1];
+ height = result[2];
+ link = result[3];
+ css="ltVideoDailymot";
+ }
+ insertFlash( link, css, width, height );
+}
+
+function insertFlash( file, css, width, height ) {
+ var html = '<img src="' + tinyMCEPopup.getWindowArg('plugin_url') + '/img/spacer.gif" mce_src="' + tinyMCEPopup.getWindowArg('plugin_url') + '/img/spacer.gif" ' +
+ 'width="' + width + '" height="' + height + '" ' +
+ 'border="0" alt="' + file + '" title="' + file + '" class="' + css + '" />';
+
+ tinyMCEPopup.execCommand("mceInsertContent", true, html);
+ tinyMCEPopup.close();
+}
Added: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/bolt.png
===================================================================
(Binary files differ)
Property changes on: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/bolt.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/dailymotion.png
===================================================================
(Binary files differ)
Property changes on: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/dailymotion.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/dalealplay.png
===================================================================
(Binary files differ)
Property changes on: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/dalealplay.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/goear.png
===================================================================
(Binary files differ)
Property changes on: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/goear.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/grouper.png
===================================================================
(Binary files differ)
Property changes on: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/grouper.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/gvideo.png
===================================================================
(Binary files differ)
Property changes on: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/gvideo.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/ifilm.png
===================================================================
(Binary files differ)
Property changes on: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/ifilm.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/metacafe.png
===================================================================
(Binary files differ)
Property changes on: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/metacafe.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/spacer.gif
===================================================================
(Binary files differ)
Property changes on: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/spacer.gif
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/vimeo.png
===================================================================
(Binary files differ)
Property changes on: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/vimeo.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/youtube.png
===================================================================
(Binary files differ)
Property changes on: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/youtube.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/zippyvideos.png
===================================================================
(Binary files differ)
Property changes on: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/img/zippyvideos.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/langs/en.js
===================================================================
--- plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/langs/en.js (rev 0)
+++ plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/langs/en.js 2010-12-21 17:37:19 UTC (rev 7098)
@@ -0,0 +1,3 @@
+tinyMCE.addI18n('en.insertvideo',{
+ desc : 'Insert Video'
+});
Added: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/langs/en_dlg.js
===================================================================
--- plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/langs/en_dlg.js (rev 0)
+++ plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/langs/en_dlg.js 2010-12-21 17:37:19 UTC (rev 7098)
@@ -0,0 +1,10 @@
+tinyMCE.addI18n('en.insertvideo_dlg',{
+ desc : 'Insert Video',
+ linklegend : 'Please provide a link to a video file.',
+ link : 'Video URL:',
+ selsource : 'Select Source:',
+ dailymotembeddableplayer : 'Embeddable Player',
+ badurl : 'Invalid URL',
+ selectiontype : 'You must select the right video site.',
+ inputurlstyle : 'style="width:350px;"'
+});
Added: plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/videoinput.html
===================================================================
--- plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/videoinput.html (rev 0)
+++ plog/branches/lifetype-1.2/js/tinymce/plugins/insertvideo/videoinput.html 2010-12-21 17:37:19 UTC (rev 7098)
@@ -0,0 +1,52 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <title>{#insertvideo_dlg.desc}</title>
+ <script language="javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
+ <script language="javascript" type="text/javascript" src="functions.js"></script>
+ <script type="text/javascript">
+ init();
+ </script>
+ <base target="_self" />
+</head>
+<body style="display: none">
+ <form name="video" id="video" method="post" action="#">
+ <div class="tabs">
+ <ul>
+ <li id="general_tab" class="current"><span>{#insertvideo_dlg.desc}</span></li>
+ </ul>
+ </div>
+ <div class="panel_wrapper">
+ <div id="general_panel" class="panel_current">
+ <legend>{#insertvideo_dlg.linklegend}</legend>
+ <table border="0" cellpadding="4" cellspacing="0">
+ <tr>
+ <td nowrap="nowrap">{#insertvideo_dlg.link}</td>
+ <td><input type="text" id="url" name="url" value="" {#insertvideo_dlg.inputurlstyle} /></td>
+ </tr>
+ <tr>
+ <td nowrap="nowrap">{#insertvideo_dlg.selsource}</td>
+ <td>
+ <input type="radio" id="youtube" style="border:0px" name="type" value="1"><img src="img/youtube.png" alt="YouTube" /> YouTube<br />
+ <input type="radio" id="gvideo" style="border:0px"name="type" value="2"><img src="img/gvideo.png" alt="Google Video" /> Google Video<br />
+ <input type="radio" id="metacafe" style="border:0px"name="type" value="3"><img src="img/metacafe.png" alt="Metacafe" /> Metacafe<br />
+ <input type="radio" id="ifilm" style="border:0px"name="type" value="4"><img src="img/ifilm.png" alt="iFilm" /> iFilm<br />
+ <input type="radio" id="goear" style="border:0px"name="type" value="5"><img src="img/goear.png" alt="Goear" /> Goear<br />
+ <input type="radio" id="grouper" style="border:0px"name="type" value="6"><img src="img/grouper.png" alt="Grouper" /> Grouper<br />
+ <input type="radio" id="dailymot" style="border:0px"name="type" value="7"><img src="img/dailymotion.png" alt="dailymotion" /> dailymotion <span style="color: grey; font-style: oblique;">({#insertvideo_dlg.dailymotembeddableplayer})</span><br />
+ <input type="radio" id="vimeo" style="border:0px" name="type" value="8"><img src="img/vimeo.png" alt="Vimeo" /> Vimeo<br />
+ </td>
+ </tr>
+ </table>
+ </div>
+ </div>
+ <div class="mceActionPanel">
+ <div style="float:left">
+ <input type="button" name="insert" value="{#insert}" onClick="insertVideoCode()" id="insert" />
+ </div>
+ <div style="float:right">
+ <input type="button" name="cancel" value="{#close}" onclick="tinyMCEPopup.close();" id="cancel" />
+ </div>
+ </div>
+ </form>
+</body>
+</html>
More information about the pLog-svn
mailing list