109
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1 |
/** |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
2 |
* WordPress plugin. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
3 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
4 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
5 |
(function() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
6 |
var DOM = tinymce.DOM; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
7 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
8 |
tinymce.create('tinymce.plugins.WordPress', { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
9 |
init : function(ed, url) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
10 |
var t = this, tbId = ed.getParam('wordpress_adv_toolbar', 'toolbar2'), last = 0, moreHTML, nextpageHTML; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
11 |
moreHTML = '<img src="' + url + '/img/trans.gif" class="mceWPmore mceItemNoResize" title="'+ed.getLang('wordpress.wp_more_alt')+'" />'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
12 |
nextpageHTML = '<img src="' + url + '/img/trans.gif" class="mceWPnextpage mceItemNoResize" title="'+ed.getLang('wordpress.wp_page_alt')+'" />'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
13 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
14 |
if ( getUserSetting('hidetb', '0') == '1' ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
15 |
ed.settings.wordpress_adv_hidden = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
16 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
17 |
// Hides the specified toolbar and resizes the iframe |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
18 |
ed.onPostRender.add(function() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
19 |
if ( ed.getParam('wordpress_adv_hidden', 1) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
20 |
DOM.hide(ed.controlManager.get(tbId).id); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
21 |
t._resizeIframe(ed, tbId, 28); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
22 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
23 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
24 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
25 |
// Register commands |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
26 |
ed.addCommand('WP_More', function() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
27 |
ed.execCommand('mceInsertContent', 0, moreHTML); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
28 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
29 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
30 |
ed.addCommand('WP_Page', function() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
31 |
ed.execCommand('mceInsertContent', 0, nextpageHTML); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
32 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
33 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
34 |
ed.addCommand('WP_Help', function() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
35 |
ed.windowManager.open({ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
36 |
url : tinymce.baseURL + '/wp-mce-help.php', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
37 |
width : 450, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
38 |
height : 420, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
39 |
inline : 1 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
40 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
41 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
42 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
43 |
ed.addCommand('WP_Adv', function() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
44 |
var id = ed.controlManager.get(tbId).id, cm = ed.controlManager; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
45 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
46 |
if (DOM.isHidden(id)) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
47 |
cm.setActive('wp_adv', 1); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
48 |
DOM.show(id); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
49 |
t._resizeIframe(ed, tbId, -28); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
50 |
ed.settings.wordpress_adv_hidden = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
51 |
setUserSetting('hidetb', '1'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
52 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
53 |
cm.setActive('wp_adv', 0); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
54 |
DOM.hide(id); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
55 |
t._resizeIframe(ed, tbId, 28); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
56 |
ed.settings.wordpress_adv_hidden = 1; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
57 |
setUserSetting('hidetb', '0'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
58 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
59 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
60 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
61 |
// Register buttons |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
62 |
ed.addButton('wp_more', { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
63 |
title : 'wordpress.wp_more_desc', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
64 |
image : url + '/img/more.gif', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
65 |
cmd : 'WP_More' |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
66 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
67 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
68 |
ed.addButton('wp_page', { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
69 |
title : 'wordpress.wp_page_desc', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
70 |
image : url + '/img/page.gif', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
71 |
cmd : 'WP_Page' |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
72 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
73 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
74 |
ed.addButton('wp_help', { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
75 |
title : 'wordpress.wp_help_desc', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
76 |
image : url + '/img/help.gif', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
77 |
cmd : 'WP_Help' |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
78 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
79 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
80 |
ed.addButton('wp_adv', { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
81 |
title : 'wordpress.wp_adv_desc', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
82 |
image : url + '/img/toolbars.gif', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
83 |
cmd : 'WP_Adv' |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
84 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
85 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
86 |
// Add Media buttons |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
87 |
ed.addButton('add_media', { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
88 |
title : 'wordpress.add_media', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
89 |
image : url + '/img/media.gif', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
90 |
onclick : function() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
91 |
tb_show('', tinymce.DOM.get('add_media').href); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
92 |
tinymce.DOM.setStyle( ['TB_overlay','TB_window','TB_load'], 'z-index', '999999' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
93 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
94 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
95 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
96 |
ed.addButton('add_image', { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
97 |
title : 'wordpress.add_image', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
98 |
image : url + '/img/image.gif', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
99 |
onclick : function() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
100 |
tb_show('', tinymce.DOM.get('add_image').href); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
101 |
tinymce.DOM.setStyle( ['TB_overlay','TB_window','TB_load'], 'z-index', '999999' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
102 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
103 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
104 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
105 |
ed.addButton('add_video', { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
106 |
title : 'wordpress.add_video', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
107 |
image : url + '/img/video.gif', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
108 |
onclick : function() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
109 |
tb_show('', tinymce.DOM.get('add_video').href); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
110 |
tinymce.DOM.setStyle( ['TB_overlay','TB_window','TB_load'], 'z-index', '999999' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
111 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
112 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
113 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
114 |
ed.addButton('add_audio', { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
115 |
title : 'wordpress.add_audio', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
116 |
image : url + '/img/audio.gif', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
117 |
onclick : function() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
118 |
tb_show('', tinymce.DOM.get('add_audio').href); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
119 |
tinymce.DOM.setStyle( ['TB_overlay','TB_window','TB_load'], 'z-index', '999999' ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
120 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
121 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
122 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
123 |
// Add Media buttons to fullscreen |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
124 |
ed.onBeforeExecCommand.add(function(ed, cmd, ui, val) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
125 |
if ( 'mceFullScreen' != cmd ) return; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
126 |
if ( 'mce_fullscreen' != ed.id ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
127 |
ed.settings.theme_advanced_buttons1 += ',|,add_image,add_video,add_audio,add_media'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
128 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
129 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
130 |
// Add class "alignleft", "alignright" and "aligncenter" when selecting align for images. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
131 |
ed.addCommand('JustifyLeft', function() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
132 |
var n = ed.selection.getNode(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
133 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
134 |
if ( n.nodeName != 'IMG' ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
135 |
ed.editorCommands.mceJustify('JustifyLeft', 'left'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
136 |
else ed.plugins.wordpress.do_align(n, 'alignleft'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
137 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
138 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
139 |
ed.addCommand('JustifyRight', function() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
140 |
var n = ed.selection.getNode(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
141 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
142 |
if ( n.nodeName != 'IMG' ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
143 |
ed.editorCommands.mceJustify('JustifyRight', 'right'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
144 |
else ed.plugins.wordpress.do_align(n, 'alignright'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
145 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
146 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
147 |
ed.addCommand('JustifyCenter', function() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
148 |
var n = ed.selection.getNode(), P = ed.dom.getParent(n, 'p'), DL = ed.dom.getParent(n, 'dl'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
149 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
150 |
if ( n.nodeName == 'IMG' && ( P || DL ) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
151 |
ed.plugins.wordpress.do_align(n, 'aligncenter'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
152 |
else ed.editorCommands.mceJustify('JustifyCenter', 'center'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
153 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
154 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
155 |
// Word count if script is loaded |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
156 |
if ( 'undefined' != typeof wpWordCount ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
157 |
ed.onKeyUp.add(function(ed, e) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
158 |
if ( e.keyCode == last ) return; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
159 |
if ( 13 == e.keyCode || 8 == last || 46 == last ) wpWordCount.wc( ed.getContent({format : 'raw'}) ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
160 |
last = e.keyCode; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
161 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
162 |
}; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
163 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
164 |
// Add listeners to handle more break |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
165 |
t._handleMoreBreak(ed, url); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
166 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
167 |
// Add custom shortcuts |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
168 |
ed.addShortcut('alt+shift+c', ed.getLang('justifycenter_desc'), 'JustifyCenter'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
169 |
ed.addShortcut('alt+shift+r', ed.getLang('justifyright_desc'), 'JustifyRight'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
170 |
ed.addShortcut('alt+shift+l', ed.getLang('justifyleft_desc'), 'JustifyLeft'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
171 |
ed.addShortcut('alt+shift+j', ed.getLang('justifyfull_desc'), 'JustifyFull'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
172 |
ed.addShortcut('alt+shift+q', ed.getLang('blockquote_desc'), 'mceBlockQuote'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
173 |
ed.addShortcut('alt+shift+u', ed.getLang('bullist_desc'), 'InsertUnorderedList'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
174 |
ed.addShortcut('alt+shift+o', ed.getLang('numlist_desc'), 'InsertOrderedList'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
175 |
ed.addShortcut('alt+shift+d', ed.getLang('striketrough_desc'), 'Strikethrough'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
176 |
ed.addShortcut('alt+shift+n', ed.getLang('spellchecker.desc'), 'mceSpellCheck'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
177 |
ed.addShortcut('alt+shift+a', ed.getLang('link_desc'), 'mceLink'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
178 |
ed.addShortcut('alt+shift+s', ed.getLang('unlink_desc'), 'unlink'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
179 |
ed.addShortcut('alt+shift+m', ed.getLang('image_desc'), 'mceImage'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
180 |
ed.addShortcut('alt+shift+g', ed.getLang('fullscreen.desc'), 'mceFullScreen'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
181 |
ed.addShortcut('alt+shift+z', ed.getLang('wp_adv_desc'), 'WP_Adv'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
182 |
ed.addShortcut('alt+shift+h', ed.getLang('help_desc'), 'WP_Help'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
183 |
ed.addShortcut('alt+shift+t', ed.getLang('wp_more_desc'), 'WP_More'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
184 |
ed.addShortcut('alt+shift+p', ed.getLang('wp_page_desc'), 'WP_Page'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
185 |
ed.addShortcut('ctrl+s', ed.getLang('save_desc'), function(){if('function'==typeof autosave)autosave();}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
186 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
187 |
if ( tinymce.isWebKit ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
188 |
ed.addShortcut('alt+shift+b', ed.getLang('bold_desc'), 'Bold'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
189 |
ed.addShortcut('alt+shift+i', ed.getLang('italic_desc'), 'Italic'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
190 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
191 |
}, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
192 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
193 |
getInfo : function() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
194 |
return { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
195 |
longname : 'WordPress Plugin', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
196 |
author : 'WordPress', // add Moxiecode? |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
197 |
authorurl : 'http://wordpress.org', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
198 |
infourl : 'http://wordpress.org', |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
199 |
version : '3.0' |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
200 |
}; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
201 |
}, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
202 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
203 |
// Internal functions |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
204 |
do_align : function(n, a) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
205 |
var P, DL, DIV, cls, c, ed = tinyMCE.activeEditor; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
206 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
207 |
if ( /^(mceItemFlash|mceItemShockWave|mceItemWindowsMedia|mceItemQuickTime|mceItemRealMedia)$/.test(n.className) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
208 |
return; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
209 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
210 |
P = ed.dom.getParent(n, 'p'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
211 |
DL = ed.dom.getParent(n, 'dl'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
212 |
DIV = ed.dom.getParent(n, 'div'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
213 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
214 |
if ( DL && DIV ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
215 |
cls = ed.dom.hasClass(DL, a) ? 'alignnone' : a; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
216 |
DL.className = DL.className.replace(/align[^ '"]+\s?/g, ''); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
217 |
ed.dom.addClass(DL, cls); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
218 |
c = (cls == 'aligncenter') ? ed.dom.addClass(DIV, 'mceIEcenter') : ed.dom.removeClass(DIV, 'mceIEcenter'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
219 |
} else if ( P ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
220 |
cls = ed.dom.hasClass(n, a) ? 'alignnone' : a; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
221 |
n.className = n.className.replace(/align[^ '"]+\s?/g, ''); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
222 |
ed.dom.addClass(n, cls); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
223 |
if ( cls == 'aligncenter' ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
224 |
ed.dom.setStyle(P, 'textAlign', 'center'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
225 |
else if (P.style && P.style.textAlign == 'center') |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
226 |
ed.dom.setStyle(P, 'textAlign', ''); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
227 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
228 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
229 |
ed.execCommand('mceRepaint'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
230 |
}, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
231 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
232 |
// Resizes the iframe by a relative height value |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
233 |
_resizeIframe : function(ed, tb_id, dy) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
234 |
var ifr = ed.getContentAreaContainer().firstChild; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
235 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
236 |
DOM.setStyle(ifr, 'height', ifr.clientHeight + dy); // Resize iframe |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
237 |
ed.theme.deltaHeight += dy; // For resize cookie |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
238 |
}, |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
239 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
240 |
_handleMoreBreak : function(ed, url) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
241 |
var moreHTML, nextpageHTML; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
242 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
243 |
moreHTML = '<img src="' + url + '/img/trans.gif" alt="$1" class="mceWPmore mceItemNoResize" title="'+ed.getLang('wordpress.wp_more_alt')+'" />'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
244 |
nextpageHTML = '<img src="' + url + '/img/trans.gif" class="mceWPnextpage mceItemNoResize" title="'+ed.getLang('wordpress.wp_page_alt')+'" />'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
245 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
246 |
// Load plugin specific CSS into editor |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
247 |
ed.onInit.add(function() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
248 |
ed.dom.loadCSS(url + '/css/content.css'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
249 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
250 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
251 |
// Display morebreak instead if img in element path |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
252 |
ed.onPostRender.add(function() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
253 |
if (ed.theme.onResolveName) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
254 |
ed.theme.onResolveName.add(function(th, o) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
255 |
if (o.node.nodeName == 'IMG') { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
256 |
if ( ed.dom.hasClass(o.node, 'mceWPmore') ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
257 |
o.name = 'wpmore'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
258 |
if ( ed.dom.hasClass(o.node, 'mceWPnextpage') ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
259 |
o.name = 'wppage'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
260 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
261 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
262 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
263 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
264 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
265 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
266 |
// Replace morebreak with images |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
267 |
ed.onBeforeSetContent.add(function(ed, o) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
268 |
o.content = o.content.replace(/<!--more(.*?)-->/g, moreHTML); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
269 |
o.content = o.content.replace(/<!--nextpage-->/g, nextpageHTML); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
270 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
271 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
272 |
// Replace images with morebreak |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
273 |
ed.onPostProcess.add(function(ed, o) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
274 |
if (o.get) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
275 |
o.content = o.content.replace(/<img[^>]+>/g, function(im) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
276 |
if (im.indexOf('class="mceWPmore') !== -1) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
277 |
var m, moretext = (m = im.match(/alt="(.*?)"/)) ? m[1] : ''; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
278 |
im = '<!--more'+moretext+'-->'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
279 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
280 |
if (im.indexOf('class="mceWPnextpage') !== -1) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
281 |
im = '<!--nextpage-->'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
282 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
283 |
return im; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
284 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
285 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
286 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
287 |
// Set active buttons if user selected pagebreak or more break |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
288 |
ed.onNodeChange.add(function(ed, cm, n) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
289 |
cm.setActive('wp_page', n.nodeName === 'IMG' && ed.dom.hasClass(n, 'mceWPnextpage')); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
290 |
cm.setActive('wp_more', n.nodeName === 'IMG' && ed.dom.hasClass(n, 'mceWPmore')); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
291 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
292 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
293 |
}); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
294 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
295 |
// Register plugin |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
296 |
tinymce.PluginManager.add('wordpress', tinymce.plugins.WordPress); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
297 |
})(); |