Dotclear

Changeset 328:134b65a90d17 for admin


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

Merge popup_link.php and popup_posts.php for TinyMCE popup

Location:
admin
Files:
3 deleted
4 edited
1 moved

Legend:

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

    r327 r328  
    11(function() { 
    2      tinymce.create('tinymce.plugins.dcControls', { 
     2     tinymce.create('tinymce.plugins.dcControls',{ 
    33          // Init. 
    4           init : function(ed, url) { 
     4          init: function(ed, url) { 
    55               var t = this; 
    66               var popup_link_url = 'popup_link.php'; 
    7                var popup_post_url = 'popup_posts.php'; 
    87               var popup_media_url = 'media.php?popup=1'; 
    98                
     
    1716                    ed.formatter.toggle('quote'); 
    1817               }); 
    19                ed.addCommand('dcExternalLink', function() { 
     18               ed.addCommand('dcLink', function() { 
    2019                    var se = ed.selection; 
    2120                     
     
    2726                    var node = se.getNode(); 
    2827                     
    29                     if (node.nodeName  == 'A') { 
     28                    if (node.nodeName == 'A') { 
    3029                         var href= node.href || ''; 
    3130                         var title = node.title || ''; 
     
    3534                    ed.windowManager.open({ 
    3635                         file: url, 
    37                          width: 520, 
    38                          height: 420, 
     36                         width: 760, 
     37                         height: 500, 
     38                         inline: 1, 
     39                         popup_css : false, 
    3940                         dc_popup: '', 
    4041                         alwaysRaised: 'yes', 
     
    4950                    }); 
    5051               }); 
    51                ed.addCommand('dcPostLink', function() { 
    52                     var se = ed.selection; 
    53                      
    54                     // No selection and not in link 
    55                     if (se.isCollapsed() && !ed.dom.getParent(se.getNode(), 'A')) 
    56                          return; 
    57                      
    58                     var url = popup_post_url + '?q=' + se.getContent(); 
    59                      
    60                     ed.windowManager.open({ 
    61                          file: url, 
    62                          width: 760, 
    63                          height: 500, 
    64                          dc_popup: '', 
    65                          alwaysRaised: 'yes', 
    66                          dependent: 'yes', 
    67                          toolbar: 'yes', 
    68                          menubar: 'no', 
    69                          resizable: 'yes', 
    70                          scrollbars: 'yes', 
    71                          status: 'no' 
    72                     }, { 
    73                          plugin_url : url 
    74                     }); 
    75                }); 
    76                ed.addCommand('dcMediaLink', function() { 
     52               ed.addCommand('dcMedia', function() { 
    7753                    ed.windowManager.open({ 
    7854                         file: popup_media_url, 
    7955                         width: 760, 
    8056                         height: 500, 
     57                         inline: 1, 
     58                         popup_css : false, 
    8159                         dc_popup: '', 
    8260                         alwaysRaised: 'yes', 
     
    10583               ed.addButton('link', { 
    10684                    title: 'dcControls.link_desc', 
    107                     cmd: 'dcExternalLink' 
     85                    cmd: 'dcLink' 
    10886               }); 
    109                ed.addButton('postlink', { 
    110                     title: 'dcControls.postlink_desc', 
    111                     cmd: 'dcPostLink', 
    112                     image: url + '/img/postlink.png' 
    113                }); 
    114                ed.addButton('medialink', { 
    115                     title: 'dcControls.medialink_desc', 
    116                     cmd: 'dcMediaLink', 
    117                     image: url + '/img/medialink.png' 
     87               ed.addButton('media', { 
     88                    title: 'dcControls.media_desc', 
     89                    cmd: 'dcMedia', 
     90                    image: url + '/img/media.png' 
    11891               }); 
    11992                
    12093               // Register shortcuts 
    121                ed.addShortcut('ctrl+alt+c', 'dcControls.inlinecode_desc', 'dcCode'); 
    122                ed.addShortcut('ctrl+alt+q', 'dcControls.quote_desc', 'dcQuote'); 
    123                ed.addShortcut('ctrl+alt+l', 'dcControls.link_desc', 'dcExternalLink'); 
    124                ed.addShortcut('ctrl+alt+p', 'dcControls.postlink_desc', 'dcPostLink'); 
    125                ed.addShortcut('ctrl+alt+m', 'dcControls.medialink_desc', 'dcMediaLink'); 
     94               ed.addShortcut('alt+shift+c', 'dcControls.inlinecode_desc', 'dcCode'); 
     95               ed.addShortcut('alt+shift+q', 'dcControls.quote_desc', 'dcQuote'); 
     96               ed.addShortcut('alt+shift+l', 'dcControls.link_desc', 'dcLink'); 
     97               ed.addShortcut('alt+shift+m', 'dcControls.media_desc', 'dcMedia'); 
    12698                
    12799               // Register changes management 
    128100               ed.onNodeChange.add(function(ed, cm, n, co) { 
    129                     cm.setDisabled('postlink', co && n.nodeName != 'A'); 
    130                     cm.setActive('inlinecode', n.nodeName == 'CODE' || ed.dom.getParent(n, 'CODE')); 
    131                     cm.setActive('quote', n.nodeName == 'Q' || ed.dom.getParent(n, 'Q')); 
    132                     cm.setActive('postlink', n.nodeName == 'A' && n.href.indexOf(ed.settings.post_url_pattern) != -1); 
     101                    cm.setActive('inlinecode', n.nodeName == 'CODE' || ed.dom.getParent(n,'CODE')); 
     102                    cm.setActive('quote', n.nodeName == 'Q' || ed.dom.getParent(n,'Q')); 
    133103               }); 
    134104          }, 
    135105           
    136           getInfo : function() { 
     106          getInfo: function() { 
    137107               return { 
    138                     longname : 'Dotclear custom controls', 
    139                     author : 'Tomtom for dotclear', 
    140                     authorurl : 'http://dotclear.org', 
    141                     infourl : '', 
    142                     version : tinymce.majorVersion + "." + tinymce.minorVersion 
     108                    longname: 'Dotclear custom controls', 
     109                    author: 'Tomtom for dotclear', 
     110                    authorurl: 'http://dotclear.org', 
     111                    infourl: '', 
     112                    version: tinymce.majorVersion + "." + tinymce.minorVersion 
    143113               }; 
    144114          } 
     
    146116      
    147117     // Register plugin 
    148      tinymce.PluginManager.add('dcControls', tinymce.plugins.dcControls); 
     118     tinymce.PluginManager.add('dcControls',tinymce.plugins.dcControls); 
    149119})(); 
  • admin/js/tiny_mce/plugins/dcControls/js/popup_link.js

    r326 r328  
    1 $(function() { 
    2      $('#link-insert-ok').click(function(){ 
    3           var ed = window.opener.tinymce.activeEditor; 
    4           var node = ed.selection.getNode(); 
    5           var formatter = ed.activeFormatter; 
    6           var href = $('#href').val(); 
    7           var title = $('#title').val(); 
    8           var hreflang = $('#hreflang').val(); 
     1tinyMCEPopup.requireLangPack(); 
     2 
     3var popup_link = { 
     4     init: function() { 
     5          $('#div-entries h4').toggleWithLegend($('#div-entries').children().not('h4'),{ 
     6               cookie: 'dcx_div_entries' 
     7          }); 
    98           
    10           // href attribue is mandatory 
    11           if (href == '') { 
    12                $('#href').focus(); 
    13                $('#href').backgroundFade({sColor:'#ffffff',eColor:'#ff9999',steps:50},function() { 
    14                     $(this).backgroundFade({sColor:'#ff9999',eColor:'#ffffff'}); 
    15                }); 
     9          $('#form-entries tr>td.maximal>a').click(function() { 
     10               $('#href').val($(this).attr('title')); 
     11               $('#title').val($(this).html()); 
    1612               return false; 
    17           } 
     13          }); 
    1814           
    19           node = ed.dom.getParent(node, 'A'); 
     15          $('#link-insert-ok').click(function(){ 
     16               var ed = tinyMCEPopup.editor; 
     17               var formatter = ed.getParam('formatter'); 
     18               var node = ed.selection.getNode(); 
     19               var href = $('#href').val(); 
     20               var title = $('#title').val(); 
     21               var hreflang = $('#hreflang').val(); 
     22                
     23               // href attribue is mandatory 
     24               if (href == '') { 
     25                    $('#href').focus(); 
     26                    $('#href').backgroundFade({sColor:'#ffffff',eColor:'#ff9999',steps:50},function() { 
     27                         $(this).backgroundFade({sColor:'#ff9999',eColor:'#ffffff'}); 
     28                    }); 
     29                    return false; 
     30               } 
     31                
     32               node = ed.dom.getParent(node, 'A'); 
     33                
     34               // Insert link 
     35               if (node == null) { 
     36                    ed.getDoc().execCommand("unlink", false, null); 
     37                    tinyMCEPopup.execCommand("mceInsertLink", false, "#mce_temp_url#", {skip_undo : 1}); 
    2038           
    21           // Create link 
    22           if (node == null) { 
    23                var link = ''; 
    24                if (formatter == 'xhtml') { 
    25                     link += '<a href="' + href + '"'; 
    26                     if (title != '') { 
    27                          link += ' title="' + title + '"'; 
    28                     } 
    29                     if (hreflang != '') { 
    30                          link += ' hreflang="' + hreflang + '"'; 
    31                     } 
    32                     link += '>{$selection}</a>'; 
    33                } 
    34                if (formatter == 'wiki') { 
    35                     link += '[{$selection}|' + href; 
    36                     if (hreflang != '') { 
    37                          link += '|' + hreflang; 
    38                     } 
    39                     if (title != '') { 
    40                          link += '|' + title; 
    41                     } 
    42                     link += ']'; 
    43                } 
    44                ed.execCommand('mceReplaceContent',false,link,{skip_undo : 1}); 
    45           } 
    46           // Update link 
    47           else { 
    48                if (formatter == 'xhtml') { 
    49                     node.href = href; 
    50                     if (title != '') { 
    51                          node.title = title; 
    52                     } 
    53                     if (hreflang != '') { 
    54                          node.hreflang = hreflang; 
     39                    elementArray = tinymce.grep(ed.dom.select("a"),function(n) {return ed.dom.getAttrib(n,'href') == '#mce_temp_url#';}); 
     40                    for (i=0; i<elementArray.length; i++) { 
     41                         node = elementArray[i]; 
     42                         ed.dom.setAttrib(node,'href',href); 
     43                         ed.dom.setAttrib(node,'title',title); 
     44                         ed.dom.setAttrib(node,'hreflang',hreflang); 
    5545                    } 
    5646               } 
    57           } 
     47               // Update link 
     48               else { 
     49                    ed.dom.setAttrib(node,'href',href); 
     50                    ed.dom.setAttrib(node,'title',title); 
     51                    ed.dom.setAttrib(node,'hreflang',hreflang); 
     52               } 
     53                
     54               // Don't move caret if selection was image 
     55               if (node.childNodes.length != 1 || node.firstChild.nodeName != 'IMG') { 
     56                    ed.focus(); 
     57                    ed.selection.select(node); 
     58                    ed.selection.collapse(0); 
     59                    tinyMCEPopup.storeSelection(); 
     60               } 
    5861           
    59           ed.execCommand("mceEndUndoLevel"); 
    60           ed.windowManager.close(window); 
    61      }); 
    62       
    63      $('#link-insert-cancel').click(function(){ 
    64           window.opener.tinymce.activeEditor.windowManager.close(window); 
    65      }); 
    66 }); 
     62               tinyMCEPopup.execCommand("mceEndUndoLevel"); 
     63               tinyMCEPopup.close(); 
     64          }); 
     65           
     66          $('#link-insert-cancel').click(function(){ 
     67               tinyMCEPopup.close(); 
     68          }); 
     69     } 
     70}; 
     71 
     72tinyMCEPopup.onInit.add(popup_link.init, popup_link); 
  • admin/js/tiny_mce/plugins/dcControls/js/popup_media.js

    r326 r328  
    1 $(function() { 
    2      $('#media-insert').onetabload(function() { 
    3           $('#media-insert-ok').click(function() { 
    4                var ed = window.opener.tinymce.activeEditor; 
    5                var node = ed.selection.getNode(); 
    6                var formatter = ed.activeFormatter; 
    7                var type = $('input[name=type]').val(); 
    8                var title = $('input[name=title]').val(); 
    9                var description = $('input[name=description]').val(); 
    10                var url = $('input[name=url]').val(); 
     1tinyMCEPopup.requireLangPack(); 
     2 
     3var popup_media = { 
     4     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;' 
     15                    }; 
     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                     
     25                    if (type == 'image') { 
     26                         var opts_img = {src: src}; 
     27                         if (alignment != 'none') { 
     28                              opts_img.style = media_align_grid[alignment]; 
     29                         } 
     30                         if (description != '' || title != '') { 
     31                              opts_img.alt = (description || title).replace('&','&amp;').replace('>','&gt;').replace('<','&lt;').replace('"','&quot;'); 
     32                         } 
     33                         if (title != '') { 
     34                              opts_img.title = title.replace('&','&amp;').replace('>','&gt;').replace('<','&lt;').replace('"','&quot;'); 
     35                         } 
     36                          
     37                         var opts_a = {href: url}; 
     38                         if (opts_img.hasOwnProperty('alt')) { 
     39                              opts_a.title = opts_img.alt.replace('&','&amp;').replace('>','&gt;').replace('<','&lt;').replace('"','&quot;'); 
     40                         } 
     41                          
     42                         var res = null; 
     43                         var img = ed.dom.create('img',opts_img); 
     44                         var a = ed.dom.create('a',opts_a); 
     45                           
     46                         if (insertion == 'link') { 
     47                              res = ed.dom.add(a,img); 
     48                         } 
     49                         else { 
     50                              res = img; 
     51                         } 
     52                         ed.execCommand('mceReplaceContent',false,ed.dom.getOuterHTML(res),{skip_undo : 1}); 
     53                    } 
     54                    else if (type == 'mp3') { 
     55                     
     56                    } 
     57                    else if (type == 'flv') { 
     58                     
     59                    } 
     60                    else { 
     61                     
     62                    } 
     63                     
     64                    tinyMCEPopup.close(); 
     65               }); 
    1166                
    12                //window.opener.tinymce.activeEditor.windowManager.close(window); 
     67               $('#media-insert-cancel').click(function() { 
     68                    tinyMCEPopup.close(); 
     69               }); 
    1370          }); 
    1471           
    15           $('#media-insert-cancel').click(function() { 
    16                window.opener.tinymce.activeEditor.windowManager.close(window); 
    17           }); 
    18      }); 
    19       
    20      function sendClose() { 
    21           var insert_form = $('#media-insert-form').get(0); 
    22           if (insert_form == undefined) { return; } 
    23            
    24           var tb = window.opener.the_toolbar; 
    25           var type = insert_form.elements.type.value; 
    26            
    27           var media_align_grid = { 
    28                left: 'float: left; margin: 0 1em 1em 0;', 
    29                right: 'float: right; margin: 0 0 1em 1em;', 
    30                center: 'text-align: center;' 
     72          function sendClose() { 
     73               var insert_form = $('#media-insert-form').get(0); 
     74               if (insert_form == undefined) { return; } 
     75                
     76               var tb = window.opener.the_toolbar; 
     77               var type = insert_form.elements.type.value; 
     78                
     79               var media_align_grid = { 
     80                    left: 'float: left; margin: 0 1em 1em 0;', 
     81                    right: 'float: right; margin: 0 0 1em 1em;', 
     82                    center: 'text-align: center;' 
     83               }; 
     84                
     85               if (type == 'image') 
     86               { 
     87                    tb.elements.img_select.data.src = tb.stripBaseURL($('input[name="src"]:checked',insert_form).val()); 
     88                    tb.elements.img_select.data.alignment = $('input[name="alignment"]:checked',insert_form).val(); 
     89                    tb.elements.img_select.data.link = $('input[name="insertion"]:checked',insert_form).val() == 'link'; 
     90                     
     91                    tb.elements.img_select.data.title = insert_form.elements.title.value; 
     92                    tb.elements.img_select.data.description = $('input[name="description"]',insert_form).val(); 
     93                    tb.elements.img_select.data.url = tb.stripBaseURL(insert_form.elements.url.value); 
     94                    tb.elements.img_select.fncall[tb.mode].call(tb); 
     95               } 
     96               else if (type == 'mp3') 
     97               { 
     98                    var player = $('#public_player').val(); 
     99                    var align = $('input[name="alignment"]:checked',insert_form).val(); 
     100                     
     101                    if (align != undefined && align != 'none') { 
     102                         player = '<div style="' + media_align_grid[align] + '">' + player + '</div>'; 
     103                    } 
     104                     
     105                    tb.elements.mp3_insert.data.player = player.replace(/>/g,'>\n'); 
     106                    tb.elements.mp3_insert.fncall[tb.mode].call(tb); 
     107               } 
     108               else if (type == 'flv') 
     109               { 
     110                    var oplayer = $('<div>'+$('#public_player').val()+'</div>'); 
     111                    var flashvars = $("[name=FlashVars]",oplayer).val(); 
     112                     
     113                    var align = $('input[name="alignment"]:checked',insert_form).val(); 
     114                    var title = insert_form.elements.title.value; 
     115                     
     116                    if (title) { 
     117                         flashvars = 'title='+encodeURI(title)+'&amp;'+flashvars; 
     118                    } 
     119                    $('object',oplayer).attr('width',$('#video_w').val()); 
     120                    $('object',oplayer).attr('height',$('#video_h').val()); 
     121                    flashvars = flashvars.replace(/(width=\d*)/,'width='+$('#video_w').val()); 
     122                    flashvars = flashvars.replace(/(height=\d*)/,'height='+$('#video_h').val()); 
     123                     
     124                    $("[name=FlashVars]",oplayer).val(flashvars); 
     125                    var player = oplayer.html();   
     126                     
     127                    if (align != undefined && align != 'none') { 
     128                         player = '<div style="' + media_align_grid[align] + '">' + player + '</div>'; 
     129                    } 
     130                     
     131                    tb.elements.flv_insert.data.player = player.replace(/>/g,'>\n'); 
     132                    tb.elements.flv_insert.fncall[tb.mode].call(tb); 
     133               } 
     134               else 
     135               { 
     136                    tb.elements.link.data.href = tb.stripBaseURL(insert_form.elements.url.value); 
     137                    tb.elements.link.data.content = insert_form.elements.title.value; 
     138                    tb.elements.link.fncall[tb.mode].call(tb); 
     139               } 
    31140          }; 
    32141           
    33           if (type == 'image') 
    34           { 
    35                tb.elements.img_select.data.src = tb.stripBaseURL($('input[name="src"]:checked',insert_form).val()); 
    36                tb.elements.img_select.data.alignment = $('input[name="alignment"]:checked',insert_form).val(); 
    37                tb.elements.img_select.data.link = $('input[name="insertion"]:checked',insert_form).val() == 'link'; 
     142          function playerFormat(s) { 
     143               s = s.replace(/&lt;/g,'<'); 
     144               s = s.replace(/&gt;/g,'>\n'); 
     145               s = s.replace(/&amp;/g,'&'); 
    38146                
    39                tb.elements.img_select.data.title = insert_form.elements.title.value; 
    40                tb.elements.img_select.data.description = $('input[name="description"]',insert_form).val(); 
    41                tb.elements.img_select.data.url = tb.stripBaseURL(insert_form.elements.url.value); 
    42                tb.elements.img_select.fncall[tb.mode].call(tb); 
    43           } 
    44           else if (type == 'mp3') 
    45           { 
    46                var player = $('#public_player').val(); 
    47                var align = $('input[name="alignment"]:checked',insert_form).val(); 
     147               return s; 
     148          }; 
     149           
     150          /*var alt = (str) ? str : d.title; 
     151               var res = '<img src="'+d.src+'" alt="'+alt.replace('&','&amp;').replace('>','&gt;').replace('<','&lt;').replace('"','&quot;')+'"'; 
    48152                
    49                if (align != undefined && align != 'none') { 
    50                     player = '<div style="' + media_align_grid[align] + '">' + player + '</div>'; 
     153               if (d.alignment == 'left') { 
     154                    res += ' style="float: left; margin: 0 1em 1em 0;"'; 
     155               } else if (d.alignment == 'right') { 
     156                    res += ' style="float: right; margin: 0 0 1em 1em;"'; 
     157               } else if (d.alignment == 'center') { 
     158                    res += ' style="margin: 0 auto; display: block;"'; 
    51159               } 
    52160                
    53                tb.elements.mp3_insert.data.player = player.replace(/>/g,'>\n'); 
    54                tb.elements.mp3_insert.fncall[tb.mode].call(tb); 
    55           } 
    56           else if (type == 'flv') 
    57           { 
    58                var oplayer = $('<div>'+$('#public_player').val()+'</div>'); 
    59                var flashvars = $("[name=FlashVars]",oplayer).val(); 
    60                 
    61                var align = $('input[name="alignment"]:checked',insert_form).val(); 
    62                var title = insert_form.elements.title.value; 
    63                 
    64                if (title) { 
    65                     flashvars = 'title='+encodeURI(title)+'&amp;'+flashvars; 
    66                } 
    67                $('object',oplayer).attr('width',$('#video_w').val()); 
    68                $('object',oplayer).attr('height',$('#video_h').val()); 
    69                flashvars = flashvars.replace(/(width=\d*)/,'width='+$('#video_w').val()); 
    70                flashvars = flashvars.replace(/(height=\d*)/,'height='+$('#video_h').val()); 
    71                 
    72                $("[name=FlashVars]",oplayer).val(flashvars); 
    73                var player = oplayer.html();   
    74                 
    75                if (align != undefined && align != 'none') { 
    76                     player = '<div style="' + media_align_grid[align] + '">' + player + '</div>'; 
     161               if (d.description) { 
     162                    res += ' title="'+d.description.replace('&','&amp;').replace('>','&gt;').replace('<','&lt;').replace('"','&quot;')+'"'; 
    77163               } 
    78164                
    79                tb.elements.flv_insert.data.player = player.replace(/>/g,'>\n'); 
    80                tb.elements.flv_insert.fncall[tb.mode].call(tb); 
    81           } 
    82           else 
    83           { 
    84                tb.elements.link.data.href = tb.stripBaseURL(insert_form.elements.url.value); 
    85                tb.elements.link.data.content = insert_form.elements.title.value; 
    86                tb.elements.link.fncall[tb.mode].call(tb); 
    87           } 
    88      }; 
    89       
    90      function playerFormat(s) { 
    91           s = s.replace(/&lt;/g,'<'); 
    92           s = s.replace(/&gt;/g,'>\n'); 
    93           s = s.replace(/&amp;/g,'&'); 
    94            
    95           return s; 
    96      }; 
    97       
    98      /*var alt = (str) ? str : d.title; 
    99           var res = '<img src="'+d.src+'" alt="'+alt.replace('&','&amp;').replace('>','&gt;').replace('<','&lt;').replace('"','&quot;')+'"'; 
    100            
    101           if (d.alignment == 'left') { 
    102                res += ' style="float: left; margin: 0 1em 1em 0;"'; 
    103           } else if (d.alignment == 'right') { 
    104                res += ' style="float: right; margin: 0 0 1em 1em;"'; 
    105           } else if (d.alignment == 'center') { 
    106                res += ' style="margin: 0 auto; display: block;"'; 
    107           } 
    108            
    109           if (d.description) { 
    110                res += ' title="'+d.description.replace('&','&amp;').replace('>','&gt;').replace('<','&lt;').replace('"','&quot;')+'"'; 
    111           } 
    112            
    113           res += ' />'; 
    114            
    115           if (d.link) { 
    116                var ltitle = (alt) ? ' title="'+alt.replace('&','&amp;').replace('>','&gt;').replace('<','&lt;').replace('"','&quot;')+'"' : ''; 
    117                res = '<a href="'+d.url+'"'+ltitle+'>'+res+'</a>'; 
    118           } 
    119            
    120           return res;*/ 
    121 }); 
     165               res += ' />'; 
     166                
     167               if (d.link) { 
     168                    var ltitle = (alt) ? ' title="'+alt.replace('&','&amp;').replace('>','&gt;').replace('<','&lt;').replace('"','&quot;')+'"' : ''; 
     169                    res = '<a href="'+d.url+'"'+ltitle+'>'+res+'</a>'; 
     170               } 
     171                
     172               return res;*/ 
     173     } 
     174}; 
     175 
     176tinyMCEPopup.onInit.add(popup_media.init, popup_media); 
  • admin/popup_link.php

    r326 r328  
    1515dcPage::check('usage,contentadmin'); 
    1616 
    17 $href = !empty($_GET['href']) ? $_GET['href'] : ''; 
    18 $hreflang = !empty($_GET['hreflang']) ? $_GET['hreflang'] : ''; 
    19 $title = !empty($_GET['title']) ? $_GET['title'] : ''; 
     17$href     = !empty($_GET['href']) ? $_GET['href'] : ''; 
     18$hreflang = !empty($_GET['hreflang']) ? $_GET['hreflang'] : ''; 
     19$title    = !empty($_GET['title']) ? $_GET['title'] : ''; 
     20$q        = !empty($_GET['q']) ? $_GET['q'] : null; 
     21$page     = !empty($_GET['page']) ? (integer) $_GET['page'] : 1; 
     22$nb_per_page = 10; 
    2023 
    21 dcPage::openPopup(__('Add a link'),dcPage::jsLoad('js/tiny_mce/plugins/dcControls/js/popup_link.js')); 
     24$params = array(); 
     25$params['limit'] = array((($page-1)*$nb_per_page),$nb_per_page); 
     26$params['no_content'] = true; 
     27$params['order'] = 'post_dt DESC'; 
     28 
     29if ($q) { 
     30     $params['search'] = $q; 
     31} 
     32 
     33dcPage::openPopup(__('Add a link'), 
     34     dcPage::jsLoad('js/_posts_list.js'). 
     35     dcPage::jsLoad('js/tiny_mce/tiny_mce_popup.js'). 
     36     dcPage::jsLoad('js/tiny_mce/plugins/dcControls/js/popup_link.js') 
     37); 
    2238 
    2339echo '<h2>'.__('Add a link').'</h2>'; 
     
    4056echo 
    4157'<form id="link-insert-form" action="#" method="get">'. 
     58'<h4>'.__('Enter a destination URL').'</h4>'. 
    4259'<p><label class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Link URL:').' '. 
    4360form::field('href',35,512,html::escapeHTML($href)).'</label></p>'. 
     
    4764form::combo('hreflang',$lang_combo,$hreflang). 
    4865'</label></p>'. 
    49  
    50 '</form>'. 
    51  
    5266'<p><a class="button reset" href="#" id="link-insert-cancel">'.__('cancel').'</a> - '. 
    5367'<strong><a class="button" href="#" id="link-insert-ok">'.__('insert').'</a></strong></p>'."\n". 
     68 
     69'<div id="div-entries">'. 
     70'<h4>'.__('Or link to existing content').'</h4>'. 
     71'<p class="form-note">'.__('Click on a title to select the link').'</p>'. 
     72'<p><label for="q" class="classic">'.__('Search entry:').' '.form::field('q',30,255,html::escapeHTML($q)).'</label> '. 
     73' <input type="submit" value="'.__('ok').'" /></p>'; 
     74 
     75try { 
     76     $posts = $core->blog->getPosts($params); 
     77     $counter = $core->blog->getPosts($params,true); 
     78     $post_list = new adminPostMiniList($core,$posts,$counter->f(0)); 
     79} catch (Exception $e) { 
     80     $core->error->add($e->getMessage()); 
     81} 
     82 
     83echo '<div id="form-entries">'; # I know it's not a form but we just need the ID 
     84$post_list->display($page,$nb_per_page); 
     85echo 
     86'</div>'. 
     87'</div>'. 
     88'</form>'. 
    5489 
    5590'<script type="text/javascript">'."\n". 
     
    6095 
    6196dcPage::closePopup(); 
     97 
    6298?> 
Note: See TracChangeset for help on using the changeset viewer.

Sites map