JAVASCRIPT 28
Dialog.js Guest on 27th April 2021 07:47:40 PM
  1. tinyMCEPopup.requireLangPack();
  2.  
  3. var YouTubeDialog = {
  4.    init : function() {
  5.       var f = document.forms[0];
  6.       var inst = tinyMCEPopup.editor;
  7.       var elm = inst.selection.getNode();
  8.       var action = "insert";
  9.  
  10.       if (elm != null && elm.nodeName == "IMG") {  
  11.          f.youtube_id.value = inst.dom.getAttrib(elm, 'id');  
  12.          f.youtubeID.value = inst.dom.getAttrib(elm, 'id');  
  13.          f.youtubeWidth.value = inst.dom.getAttrib(elm, 'width');  
  14.          f.youtubeHeight.value = inst.dom.getAttrib(elm, 'height');
  15.          
  16.          document.getElementById('old_youtube_id').innerHTML = inst.dom.getAttrib(elm, 'id');
  17.          document.getElementById('preview_button').style.display='inline';  
  18.  
  19.       }
  20.    },
  21.       videovalue : function(youtube_url) {
  22.             if(youtube_url == '') {
  23.                tinyMCEPopup.close();
  24.                   return false;
  25.             }
  26.       else{
  27.          if(youtube_url.match(new RegExp("youtube.com/watch\\?(.+)$","g"))){
  28.             var params = RegExp.$1;
  29.             var params = params.split("&");
  30.             for(var i=0;i<params.length;i++) {
  31.                 var pair = params[i].split("=");
  32.                 if(pair[0]=='v') {
  33.                   return pair[1];
  34.                }
  35.             }
  36.          }
  37.          else if(youtube_url.match(new RegExp("youtu.be/(.+)$","g"))){
  38.             return RegExp.$1;
  39.          }        
  40.          else {
  41.             return youtube_url;
  42.          }
  43.      
  44.          return '';
  45.             }
  46.       },
  47.       insert : function() {
  48.             // Insert the contents from the input into the document
  49.             var f = document.forms[0], iframe_code, youtube_id='', iframe_src='', iframe_width='', iframe_height='';
  50.      
  51.       youtube_id = YouTubeDialog.videovalue(f.youtubeID.value);
  52.  
  53.             if(youtube_id == '') {
  54.               tinyMCEPopup.close();
  55.               return false;
  56.             }
  57.  
  58.             if(f.youtubeWidth.value != '' && !isNaN(f.youtubeWidth.value)){
  59.          iframe_width += 'width="' + f.youtubeWidth.value + '"';
  60.             }
  61.       else {
  62.          iframe_width += 'width="640"';
  63.       }
  64.             if(f.youtubeHeight.value != '' && !isNaN(f.youtubeHeight.value)){
  65.          iframe_height += 'height="' + f.youtubeHeight.value + '"';
  66.             }
  67.       else {
  68.          iframe_height += 'height="360"';
  69.       }
  70.  
  71.       iframe_src = "//www.youtube.com/embed/"+youtube_id;
  72.       var iframe_code = '<div class="youtube"><iframe id="'+youtube_id+'" class="youtube" type="text/html" '+iframe_width+' '+iframe_height+' src="'+iframe_src+'" allowfullscreen frameborder="0"></iframe></div>';
  73.             tinyMCEPopup.editor.execCommand('mceInsertContent', false, iframe_code);
  74.             tinyMCEPopup.close();
  75.       }
  76. };
  77.  
  78. tinyMCEPopup.onInit.add(YouTubeDialog.init, YouTubeDialog);

Paste-bin is for source code and general debugging text.

Login or Register to edit, delete and keep track of your pastes and more.

Raw Paste

Login or Register to edit or fork this paste. It's free.