Dotclear

source: plugins/dcCKEditor/js/popup_media.js @ 3000:c253e82bd552

Revision 3000:c253e82bd552, 2.0 KB checked in by Nicolas <nikrou77@…>, 10 years ago (diff)

Fix #2062 - quotes were not encoded in attributes

Line 
1$(function() {
2     $('#media-insert-cancel').click(function() {
3          window.close();
4     });
5
6     $('#media-insert-ok').click(function() {
7          var insert_form = $('#media-insert-form').get(0);
8          if (insert_form === undefined) {
9               return;
10          }
11
12          var editor_name = window.opener.$.getEditorName(),
13          editor = window.opener.CKEDITOR.instances[editor_name],
14          type = insert_form.elements.type.value,
15          img = '',
16          media_align_grid = {
17               left: 'float: left; margin: 0 1em 1em 0;',
18               right: 'float: right; margin: 0 0 1em 1em;',
19               center: 'margin: 0 auto; display: block;'
20          };
21
22          if (type=='image') {
23               if (editor.mode=='wysiwyg') {
24                    img = '<img class="media" src="';
25                    img += window.opener.$.stripBaseURL($('input[name="src"]:checked',insert_form).val())+'"';
26                    var img_title = $('input[name="description"]',insert_form).val();
27                    img_title = window.opener.CKEDITOR.tools.htmlEncodeAttr(img_title);
28                    img += ' title="'+img_title+'"';
29                    var align = $('input[name="alignment"]:checked',insert_form).val();
30                    if (align!='' && align!='none') {
31                         img += ' style="'+media_align_grid[align]+'"';
32                    }
33
34                    var title = $('input[name="title"]',insert_form).val();
35                    img += ' alt="'+window.opener.CKEDITOR.tools.htmlEncodeAttr(title)+'"/>';
36
37                    var element;
38                    if ($('input[name="insertion"]:checked',insert_form).val() == 'link') {
39                         var link = '<a class="media-link" href="';
40                         link += window.opener.$.stripBaseURL($('input[name="url"]',insert_form).val());
41                         link += '">'+img+'</a>';
42
43                         element = window.opener.CKEDITOR.dom.element.createFromHtml(link);
44                    } else {
45                         element = window.opener.CKEDITOR.dom.element.createFromHtml(img);
46                    }
47
48                    editor.insertElement(element);
49               }
50          } else {
51               var link = '<a href="';
52               link += window.opener.$.stripBaseURL($('input[name="url"]',insert_form).val());
53               link += '">'+window.opener.CKEDITOR.tools.htmlEncodeAttr(insert_form.elements.title.value)+'</a>';
54               element = window.opener.CKEDITOR.dom.element.createFromHtml(link);
55
56               editor.insertElement(element);
57          }
58
59          window.close();
60     });
61});
Note: See TracBrowser for help on using the repository browser.

Sites map