Dotclear

Changeset 380:3befe1b6ed88 for admin/js


Ignore:
Timestamp:
06/17/11 09:57:56 (14 years ago)
Author:
Tomtom33 <tbouron@…>
Branch:
wysiwyg
Message:

Finished integration for dotclear media popup

File:
1 edited

Legend:

Unmodified
Added
Removed
  • admin/js/tiny_mce/plugins/dcControls/js/popup_media.js

    r329 r380  
    33var popup_media = { 
    44     init: function() { 
    5           $('#media-insert').onetabload(function() { 
    6                $('#media-insert-ok').click(function() { 
    7                     // Internal vars 
    8                     var ed = tinyMCEPopup.editor; 
    9                     var formatter = ed.getParam('formatter'); 
    10                     var node = ed.selection.getNode(); 
    11                     var media_align_grid = { 
    12                          left: 'float: left; margin: 0 1em 1em 0;', 
    13                          right: 'float: right; margin: 0 0 1em 1em;', 
    14                          center: 'text-align: center;' 
     5          $('#media-insert-ok').click(function() { 
     6               // Internal vars 
     7               var ed = tinyMCEPopup.editor; 
     8               var formatter = ed.getParam('formatter'); 
     9               var node = ed.selection.getNode(); 
     10               var media_align_grid = { 
     11                    left: 'float: left; margin: 0 1em 1em 0;', 
     12                    right: 'float: right; margin: 0 0 1em 1em;', 
     13                    center: 'text-align: center;' 
     14               }; 
     15               // Form vars 
     16               var url = $('input[name=url]').val(); 
     17               var src = $('input[name=src]:checked').val(); 
     18               var type = $('input[name=type]').val(); 
     19               var title = $('input[name=title]').val(); 
     20               var description = $('input[name=description]').val(); 
     21               var alignment = $('input[name=alignment]:checked').val(); 
     22               var insertion = $('input[name=insertion]:checked').val(); 
     23               var player = $('#public_player').val(); 
     24               var width = $('#video_w').val(); 
     25               var height = $('#video_h').val(); 
     26                
     27               if (type == 'image') { 
     28                    var opts_img = { 
     29                         src: src, 
     30                         alt: (description || title), 
     31                         title: title 
    1532                    }; 
    16                     // Form vars 
    17                     var url = $('input[name=url]').val(); 
    18                     var src = $('input[name=src]:checked').val(); 
    19                     var type = $('input[name=type]').val(); 
    20                     var title = $('input[name=title]').val(); 
    21                     var description = $('input[name=description]').val(); 
    22                     var alignment = $('input[name=alignment]:checked').val(); 
    23                     var insertion = $('input[name=insertion]:checked').val(); 
    24                     var player = $('#public_player').val(); 
     33                    var opts_a = { 
     34                         href: url, 
     35                         title: opts_img.alt 
     36                    }; 
    2537                     
    26                     if (type == 'image') { 
    27                          var opts_img = {src: src}; 
    28                          if (alignment != 'none') { 
    29                               opts_img.style = media_align_grid[alignment]; 
    30                          } 
    31                          if (description != '' || title != '') { 
    32                               opts_img.alt = (description || title).replace('&','&amp;').replace('>','&gt;').replace('<','&lt;').replace('"','&quot;'); 
    33                          } 
    34                          if (title != '') { 
    35                               opts_img.title = title.replace('&','&amp;').replace('>','&gt;').replace('<','&lt;').replace('"','&quot;'); 
    36                          } 
    37                           
    38                          var opts_a = {href: url}; 
    39                          if (opts_img.hasOwnProperty('alt')) { 
    40                               opts_a.title = opts_img.alt.replace('&','&amp;').replace('>','&gt;').replace('<','&lt;').replace('"','&quot;'); 
    41                          } 
    42                           
    43                          var res = null; 
    44                          var img = ed.dom.create('img',opts_img); 
    45                            
    46                          if (insertion == 'link') { 
    47                               res = ed.dom.createHTML('a',opts_a,ed.dom.getOuterHTML(img)); 
    48                          } 
    49                          else { 
    50                               res = ed.dom.getOuterHTML(img); 
    51                          } 
    52                          ed.execCommand('mceInsertContent',false,res,{skip_undo : 1}); 
     38                    if (alignment != 'none') { 
     39                         opts_img.style = media_align_grid[alignment]; 
    5340                    } 
    54                     else if (type == 'mp3') { 
    55                          var opts_divs 
    56                          if (alignment != 'none') { 
    57                               res = ed.dom.createHTML('a',{style: media_align_grid[alignment]},player); 
    58                          } 
    59                          else { 
    60                               res = player; 
    61                          } 
    62                     } 
    63                     else if (type == 'flv') { 
    64                          /*player = ed.dom.create('a',{},player); 
    65                          ar oplayer = $('<div>'+$('#public_player').val()+'</div>'); 
    66                          var flashvars = $("[name=FlashVars]",oplayer).val(); 
    67                           
    68                          var align = $('input[name="alignment"]:checked',insert_form).val(); 
    69                          var title = insert_form.elements.title.value; 
    70                           
    71                          if (title) { 
    72                               flashvars = 'title='+encodeURI(title)+'&amp;'+flashvars; 
    73                          } 
    74                          $('object',oplayer).attr('width',$('#video_w').val()); 
    75                          $('object',oplayer).attr('height',$('#video_h').val()); 
    76                          flashvars = flashvars.replace(/(width=\d*)/,'width='+$('#video_w').val()); 
    77                          flashvars = flashvars.replace(/(height=\d*)/,'height='+$('#video_h').val()); 
    78                           
    79                          $("[name=FlashVars]",oplayer).val(flashvars); 
    80                          var player = oplayer.html();   
    81                           
    82                          if (align != undefined && align != 'none') { 
    83                               player = '<div style="' + media_align_grid[align] + '">' + player + '</div>'; 
    84                          } 
    85                           
    86                          tb.elements.flv_insert.data.player = player.replace(/>/g,'>\n'); 
    87                          tb.elements.flv_insert.fncall[tb.mode].call(tb);*/ 
     41                     
     42                    var res = null; 
     43                    var img = ed.dom.create('img',opts_img); 
     44                      
     45                    if (insertion == 'link') { 
     46                         res = ed.dom.createHTML('a',opts_a,ed.dom.getOuterHTML(img)); 
    8847                    } 
    8948                    else { 
    90                          tinyMCEPopup.execCommand('mceInsertLink', false, '#mce_temp_url#', {skip_undo : 1}); 
    91            
    92                          elementArray = tinymce.grep(ed.dom.select("a"),function(n) {return ed.dom.getAttrib(n,'href') == '#mce_temp_url#';}); 
    93                          for (i=0; i<elementArray.length; i++) { 
    94                               var node = elementArray[i]; 
    95                               ed.dom.setAttrib(node,'href',href); 
    96                               ed.dom.setAttrib(node,'title',title); 
    97                          } 
     49                         res = ed.dom.getOuterHTML(img); 
     50                    } 
     51                    ed.execCommand('mceInsertContent',false,res,{skip_undo : 1}); 
     52               } 
     53               else if (type == 'mp3') { 
     54                    var res = null; 
     55                    if (alignment != 'none') { 
     56                         res = ed.dom.createHTML('div',{style: media_align_grid[alignment]},player); 
     57                    } 
     58                    else { 
     59                         res = player; 
     60                    } 
     61                    ed.execCommand('mceInsertContent',false,res,{skip_undo : 1}); 
     62               } 
     63               else if (type == 'flv') { 
     64                    var res = null; 
     65                    var opt_div = {}; 
     66                    var oplayer = $(player); 
     67                    var flashvars = $("[name=FlashVars]",player).val(); 
     68                     
     69                    if (title) { 
     70                         flashvars = 'title='+title+'&amp;'+flashvars; 
     71                    } 
     72                    flashvars = flashvars.replace(/(width=\d*)/,'width='+width); 
     73                    flashvars = flashvars.replace(/(height=\d*)/,'height='+height); 
     74                    $("[name=FlashVars]",oplayer).val(flashvars); 
     75                     
     76                    oplayer.attr('width',width); 
     77                    oplayer.attr('height',height); 
     78                     
     79                    if (alignment != 'none') { 
     80                         opt_div.style = media_align_grid[alignment]; 
    9881                    } 
    9982                     
    100                     tinyMCEPopup.execCommand('mceEndUndoLevel'); 
    101                     tinyMCEPopup.close(); 
    102                }); 
     83                    res = ed.dom.createHTML('div',opt_div,oplayer.get(0).outerHTML); 
     84                     
     85                    ed.execCommand('mceInsertContent',false,res,{skip_undo : 1}); 
     86               } 
     87               else { 
     88                    tinyMCEPopup.execCommand('mceInsertLink', false, '#mce_temp_url#', {skip_undo : 1}); 
     89                     
     90                    elementArray = tinymce.grep(ed.dom.select("a"),function(n) {return ed.dom.getAttrib(n,'href') == '#mce_temp_url#';}); 
     91                    for (i=0; i<elementArray.length; i++) { 
     92                         var node = elementArray[i]; 
     93                         ed.dom.setAttrib(node,'href',href); 
     94                         ed.dom.setAttrib(node,'title',title); 
     95                    } 
     96               } 
    10397                
    104                $('#media-insert-cancel').click(function() { 
    105                     tinyMCEPopup.close(); 
    106                }); 
     98               tinyMCEPopup.execCommand('mceEndUndoLevel'); 
     99               tinyMCEPopup.close(); 
     100          }); 
     101           
     102          $('#media-insert-cancel').click(function() { 
     103               tinyMCEPopup.close(); 
    107104          }); 
    108105     } 
Note: See TracChangeset for help on using the changeset viewer.

Sites map