spud_core 0.9.22 → 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (208) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/glyphicons-halflings-regular.eot +0 -0
  3. data/app/assets/images/glyphicons-halflings-regular.svg +229 -0
  4. data/app/assets/images/glyphicons-halflings-regular.ttf +0 -0
  5. data/app/assets/images/glyphicons-halflings-regular.woff +0 -0
  6. data/app/assets/javascripts/spud/admin/application.js +5 -2
  7. data/app/assets/javascripts/spud/admin/editor.js +55 -21
  8. data/app/assets/javascripts/spud/admin/preinit.js +1 -1
  9. data/app/assets/libs/bootstrap3/css/bootstrap-theme.css +397 -0
  10. data/app/assets/libs/bootstrap3/css/bootstrap-theme.min.css +7 -0
  11. data/app/assets/libs/bootstrap3/css/bootstrap.css.erb +7118 -0
  12. data/app/assets/libs/bootstrap3/css/bootstrap.min.css +7 -0
  13. data/app/assets/libs/bootstrap3/fonts/glyphicons-halflings-regular.eot +0 -0
  14. data/app/assets/libs/bootstrap3/fonts/glyphicons-halflings-regular.svg +229 -0
  15. data/app/assets/libs/bootstrap3/fonts/glyphicons-halflings-regular.ttf +0 -0
  16. data/app/assets/libs/bootstrap3/fonts/glyphicons-halflings-regular.woff +0 -0
  17. data/app/assets/libs/bootstrap3/js/bootstrap.js +2006 -0
  18. data/app/assets/libs/bootstrap3/js/bootstrap.min.js +7 -0
  19. data/app/assets/stylesheets/spud/admin/{application.css → application.css.erb} +4 -4
  20. data/app/assets/stylesheets/spud/admin/navbar.css +31 -0
  21. data/app/controllers/spud/admin/users_controller.rb +6 -2
  22. data/app/controllers/spud/application_controller.rb +0 -1
  23. data/app/controllers/spud/sitemaps_controller.rb +1 -1
  24. data/app/controllers/spud/users_controller.rb +10 -4
  25. data/app/models/spud_admin_permission.rb +0 -2
  26. data/app/models/spud_user.rb +0 -2
  27. data/app/views/spud/admin/users/index.html.erb +1 -1
  28. data/config/routes.rb +1 -0
  29. data/lib/spud_core/configuration.rb +13 -3
  30. data/lib/spud_core/engine.rb +3 -7
  31. data/lib/spud_core/version.rb +1 -1
  32. data/spec/controllers/spud/sitemap_controllers_spec.rb +6 -5
  33. data/spec/dummy/config/environments/development.rb +1 -5
  34. data/spec/dummy/config/environments/production.rb +2 -0
  35. data/spec/dummy/config/environments/test.rb +1 -5
  36. metadata +104 -190
  37. data/app/assets/libs/tiny_mce/jquery.tinymce.js +0 -1
  38. data/app/assets/libs/tiny_mce/langs/en.js +0 -1
  39. data/app/assets/libs/tiny_mce/license.txt +0 -504
  40. data/app/assets/libs/tiny_mce/plugins/advhr/css/advhr.css +0 -5
  41. data/app/assets/libs/tiny_mce/plugins/advhr/editor_plugin.js +0 -1
  42. data/app/assets/libs/tiny_mce/plugins/advhr/editor_plugin_src.js +0 -57
  43. data/app/assets/libs/tiny_mce/plugins/advhr/js/rule.js +0 -43
  44. data/app/assets/libs/tiny_mce/plugins/advhr/langs/en_dlg.js +0 -1
  45. data/app/assets/libs/tiny_mce/plugins/advhr/rule.htm +0 -58
  46. data/app/assets/libs/tiny_mce/plugins/advimage/css/advimage.css +0 -13
  47. data/app/assets/libs/tiny_mce/plugins/advimage/editor_plugin.js +0 -1
  48. data/app/assets/libs/tiny_mce/plugins/advimage/editor_plugin_src.js +0 -50
  49. data/app/assets/libs/tiny_mce/plugins/advimage/image.htm +0 -235
  50. data/app/assets/libs/tiny_mce/plugins/advimage/img/sample.gif +0 -0
  51. data/app/assets/libs/tiny_mce/plugins/advimage/js/image.js +0 -462
  52. data/app/assets/libs/tiny_mce/plugins/advimage/langs/en_dlg.js +0 -1
  53. data/app/assets/libs/tiny_mce/plugins/advlink/css/advlink.css +0 -8
  54. data/app/assets/libs/tiny_mce/plugins/advlink/editor_plugin.js +0 -1
  55. data/app/assets/libs/tiny_mce/plugins/advlink/editor_plugin_src.js +0 -61
  56. data/app/assets/libs/tiny_mce/plugins/advlink/js/advlink.js +0 -539
  57. data/app/assets/libs/tiny_mce/plugins/advlink/langs/en_dlg.js +0 -1
  58. data/app/assets/libs/tiny_mce/plugins/advlink/link.htm +0 -338
  59. data/app/assets/libs/tiny_mce/plugins/advlist/editor_plugin.js +0 -1
  60. data/app/assets/libs/tiny_mce/plugins/advlist/editor_plugin_src.js +0 -176
  61. data/app/assets/libs/tiny_mce/plugins/autolink/editor_plugin.js +0 -1
  62. data/app/assets/libs/tiny_mce/plugins/autolink/editor_plugin_src.js +0 -174
  63. data/app/assets/libs/tiny_mce/plugins/autoresize/editor_plugin.js +0 -1
  64. data/app/assets/libs/tiny_mce/plugins/autoresize/editor_plugin_src.js +0 -119
  65. data/app/assets/libs/tiny_mce/plugins/contextmenu/editor_plugin.js +0 -1
  66. data/app/assets/libs/tiny_mce/plugins/contextmenu/editor_plugin_src.js +0 -161
  67. data/app/assets/libs/tiny_mce/plugins/directionality/editor_plugin.js +0 -1
  68. data/app/assets/libs/tiny_mce/plugins/directionality/editor_plugin_src.js +0 -82
  69. data/app/assets/libs/tiny_mce/plugins/example/dialog.htm +0 -22
  70. data/app/assets/libs/tiny_mce/plugins/example/editor_plugin.js +0 -1
  71. data/app/assets/libs/tiny_mce/plugins/example/editor_plugin_src.js +0 -84
  72. data/app/assets/libs/tiny_mce/plugins/example/img/example.gif +0 -0
  73. data/app/assets/libs/tiny_mce/plugins/example/js/dialog.js +0 -19
  74. data/app/assets/libs/tiny_mce/plugins/example/langs/en.js +0 -3
  75. data/app/assets/libs/tiny_mce/plugins/example/langs/en_dlg.js +0 -3
  76. data/app/assets/libs/tiny_mce/plugins/example_dependency/editor_plugin.js +0 -1
  77. data/app/assets/libs/tiny_mce/plugins/example_dependency/editor_plugin_src.js +0 -50
  78. data/app/assets/libs/tiny_mce/plugins/iespell/editor_plugin.js +0 -1
  79. data/app/assets/libs/tiny_mce/plugins/iespell/editor_plugin_src.js +0 -54
  80. data/app/assets/libs/tiny_mce/plugins/inlinepopups/editor_plugin.js +0 -1
  81. data/app/assets/libs/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +0 -699
  82. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  83. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  84. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  85. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  86. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  87. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  88. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  89. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +0 -90
  90. data/app/assets/libs/tiny_mce/plugins/inlinepopups/template.htm +0 -387
  91. data/app/assets/libs/tiny_mce/plugins/layer/editor_plugin.js +0 -1
  92. data/app/assets/libs/tiny_mce/plugins/layer/editor_plugin_src.js +0 -262
  93. data/app/assets/libs/tiny_mce/plugins/lists/editor_plugin.js +0 -1
  94. data/app/assets/libs/tiny_mce/plugins/lists/editor_plugin_src.js +0 -951
  95. data/app/assets/libs/tiny_mce/plugins/media/css/media.css +0 -17
  96. data/app/assets/libs/tiny_mce/plugins/media/editor_plugin.js +0 -1
  97. data/app/assets/libs/tiny_mce/plugins/media/editor_plugin_src.js +0 -890
  98. data/app/assets/libs/tiny_mce/plugins/media/js/embed.js +0 -73
  99. data/app/assets/libs/tiny_mce/plugins/media/js/media.js +0 -470
  100. data/app/assets/libs/tiny_mce/plugins/media/langs/en_dlg.js +0 -1
  101. data/app/assets/libs/tiny_mce/plugins/media/media.htm +0 -922
  102. data/app/assets/libs/tiny_mce/plugins/media/moxieplayer.swf +0 -0
  103. data/app/assets/libs/tiny_mce/plugins/paste/editor_plugin.js +0 -1
  104. data/app/assets/libs/tiny_mce/plugins/paste/editor_plugin_src.js +0 -871
  105. data/app/assets/libs/tiny_mce/plugins/paste/js/pastetext.js +0 -36
  106. data/app/assets/libs/tiny_mce/plugins/paste/js/pasteword.js +0 -51
  107. data/app/assets/libs/tiny_mce/plugins/paste/langs/en_dlg.js +0 -1
  108. data/app/assets/libs/tiny_mce/plugins/paste/pastetext.htm +0 -27
  109. data/app/assets/libs/tiny_mce/plugins/paste/pasteword.htm +0 -21
  110. data/app/assets/libs/tiny_mce/plugins/spellchecker/css/content.css +0 -1
  111. data/app/assets/libs/tiny_mce/plugins/spellchecker/editor_plugin.js +0 -1
  112. data/app/assets/libs/tiny_mce/plugins/spellchecker/editor_plugin_src.js +0 -436
  113. data/app/assets/libs/tiny_mce/plugins/spellchecker/img/wline.gif +0 -0
  114. data/app/assets/libs/tiny_mce/plugins/style/css/props.css +0 -14
  115. data/app/assets/libs/tiny_mce/plugins/style/editor_plugin.js +0 -1
  116. data/app/assets/libs/tiny_mce/plugins/style/editor_plugin_src.js +0 -71
  117. data/app/assets/libs/tiny_mce/plugins/style/js/props.js +0 -709
  118. data/app/assets/libs/tiny_mce/plugins/style/langs/en_dlg.js +0 -1
  119. data/app/assets/libs/tiny_mce/plugins/style/props.htm +0 -845
  120. data/app/assets/libs/tiny_mce/plugins/style/readme.txt +0 -19
  121. data/app/assets/libs/tiny_mce/plugins/table/cell.htm +0 -180
  122. data/app/assets/libs/tiny_mce/plugins/table/css/cell.css +0 -17
  123. data/app/assets/libs/tiny_mce/plugins/table/css/row.css +0 -25
  124. data/app/assets/libs/tiny_mce/plugins/table/css/table.css +0 -13
  125. data/app/assets/libs/tiny_mce/plugins/table/editor_plugin.js +0 -1
  126. data/app/assets/libs/tiny_mce/plugins/table/editor_plugin_src.js +0 -1428
  127. data/app/assets/libs/tiny_mce/plugins/table/js/cell.js +0 -319
  128. data/app/assets/libs/tiny_mce/plugins/table/js/merge_cells.js +0 -27
  129. data/app/assets/libs/tiny_mce/plugins/table/js/row.js +0 -237
  130. data/app/assets/libs/tiny_mce/plugins/table/js/table.js +0 -489
  131. data/app/assets/libs/tiny_mce/plugins/table/langs/en_dlg.js +0 -1
  132. data/app/assets/libs/tiny_mce/plugins/table/merge_cells.htm +0 -32
  133. data/app/assets/libs/tiny_mce/plugins/table/row.htm +0 -158
  134. data/app/assets/libs/tiny_mce/plugins/table/table.htm +0 -188
  135. data/app/assets/libs/tiny_mce/themes/advanced/about.htm +0 -52
  136. data/app/assets/libs/tiny_mce/themes/advanced/anchor.htm +0 -26
  137. data/app/assets/libs/tiny_mce/themes/advanced/charmap.htm +0 -55
  138. data/app/assets/libs/tiny_mce/themes/advanced/color_picker.htm +0 -70
  139. data/app/assets/libs/tiny_mce/themes/advanced/editor_template.js +0 -1
  140. data/app/assets/libs/tiny_mce/themes/advanced/editor_template_src.js +0 -1467
  141. data/app/assets/libs/tiny_mce/themes/advanced/image.htm +0 -80
  142. data/app/assets/libs/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  143. data/app/assets/libs/tiny_mce/themes/advanced/img/flash.gif +0 -0
  144. data/app/assets/libs/tiny_mce/themes/advanced/img/icons.gif +0 -0
  145. data/app/assets/libs/tiny_mce/themes/advanced/img/iframe.gif +0 -0
  146. data/app/assets/libs/tiny_mce/themes/advanced/img/pagebreak.gif +0 -0
  147. data/app/assets/libs/tiny_mce/themes/advanced/img/quicktime.gif +0 -0
  148. data/app/assets/libs/tiny_mce/themes/advanced/img/realmedia.gif +0 -0
  149. data/app/assets/libs/tiny_mce/themes/advanced/img/shockwave.gif +0 -0
  150. data/app/assets/libs/tiny_mce/themes/advanced/img/trans.gif +0 -0
  151. data/app/assets/libs/tiny_mce/themes/advanced/img/video.gif +0 -0
  152. data/app/assets/libs/tiny_mce/themes/advanced/img/windowsmedia.gif +0 -0
  153. data/app/assets/libs/tiny_mce/themes/advanced/js/about.js +0 -73
  154. data/app/assets/libs/tiny_mce/themes/advanced/js/anchor.js +0 -44
  155. data/app/assets/libs/tiny_mce/themes/advanced/js/charmap.js +0 -363
  156. data/app/assets/libs/tiny_mce/themes/advanced/js/color_picker.js +0 -345
  157. data/app/assets/libs/tiny_mce/themes/advanced/js/image.js +0 -251
  158. data/app/assets/libs/tiny_mce/themes/advanced/js/link.js +0 -153
  159. data/app/assets/libs/tiny_mce/themes/advanced/js/source_editor.js +0 -78
  160. data/app/assets/libs/tiny_mce/themes/advanced/langs/en.js +0 -1
  161. data/app/assets/libs/tiny_mce/themes/advanced/langs/en_dlg.js +0 -1
  162. data/app/assets/libs/tiny_mce/themes/advanced/link.htm +0 -57
  163. data/app/assets/libs/tiny_mce/themes/advanced/shortcuts.htm +0 -47
  164. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/content.css +0 -51
  165. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/dialog.css +0 -118
  166. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  167. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  168. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  169. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  170. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
  171. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  172. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/ui.css +0 -215
  173. data/app/assets/libs/tiny_mce/themes/advanced/skins/highcontrast/content.css +0 -25
  174. data/app/assets/libs/tiny_mce/themes/advanced/skins/highcontrast/dialog.css +0 -106
  175. data/app/assets/libs/tiny_mce/themes/advanced/skins/highcontrast/ui.css +0 -102
  176. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/content.css +0 -49
  177. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/dialog.css +0 -118
  178. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  179. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  180. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  181. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/ui.css +0 -218
  182. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +0 -8
  183. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +0 -5
  184. data/app/assets/libs/tiny_mce/themes/advanced/source_editor.htm +0 -25
  185. data/app/assets/libs/tiny_mce/themes/simple/editor_template.js +0 -1
  186. data/app/assets/libs/tiny_mce/themes/simple/editor_template_src.js +0 -84
  187. data/app/assets/libs/tiny_mce/themes/simple/img/icons.gif +0 -0
  188. data/app/assets/libs/tiny_mce/themes/simple/langs/en.js +0 -1
  189. data/app/assets/libs/tiny_mce/themes/simple/skins/default/content.css +0 -25
  190. data/app/assets/libs/tiny_mce/themes/simple/skins/default/ui.css +0 -32
  191. data/app/assets/libs/tiny_mce/themes/simple/skins/o2k7/content.css +0 -17
  192. data/app/assets/libs/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
  193. data/app/assets/libs/tiny_mce/themes/simple/skins/o2k7/ui.css +0 -35
  194. data/app/assets/libs/tiny_mce/tiny_mce.js +0 -1
  195. data/app/assets/libs/tiny_mce/tiny_mce_popup.js +0 -5
  196. data/app/assets/libs/tiny_mce/tiny_mce_src.js +0 -16753
  197. data/app/assets/libs/tiny_mce/utils/editable_selects.js +0 -70
  198. data/app/assets/libs/tiny_mce/utils/form_utils.js +0 -210
  199. data/app/assets/libs/tiny_mce/utils/mctabs.js +0 -162
  200. data/app/assets/libs/tiny_mce/utils/validate.js +0 -252
  201. data/app/assets/stylesheets/spud/admin/settings.css +0 -4
  202. data/app/assets/stylesheets/spud/admin/users.css +0 -4
  203. data/app/assets/stylesheets/spud/password_resets.css +0 -4
  204. data/app/assets/stylesheets/spud/setup.css +0 -4
  205. data/app/assets/stylesheets/spud/sitemaps.css +0 -4
  206. data/app/assets/stylesheets/spud/user_sessions.css +0 -4
  207. data/app/assets/stylesheets/spud/users.css +0 -4
  208. /data/app/assets/{libs/tiny_mce → javascripts/tinymce}/plugins/tableDropdown/editor_plugin.js +0 -0
@@ -1,699 +0,0 @@
1
- /**
2
- * editor_plugin_src.js
3
- *
4
- * Copyright 2009, Moxiecode Systems AB
5
- * Released under LGPL License.
6
- *
7
- * License: http://tinymce.moxiecode.com/license
8
- * Contributing: http://tinymce.moxiecode.com/contributing
9
- */
10
-
11
- (function() {
12
- var DOM = tinymce.DOM, Element = tinymce.dom.Element, Event = tinymce.dom.Event, each = tinymce.each, is = tinymce.is;
13
-
14
- tinymce.create('tinymce.plugins.InlinePopups', {
15
- init : function(ed, url) {
16
- // Replace window manager
17
- ed.onBeforeRenderUI.add(function() {
18
- ed.windowManager = new tinymce.InlineWindowManager(ed);
19
- DOM.loadCSS(url + '/skins/' + (ed.settings.inlinepopups_skin || 'clearlooks2') + "/window.css");
20
- });
21
- },
22
-
23
- getInfo : function() {
24
- return {
25
- longname : 'InlinePopups',
26
- author : 'Moxiecode Systems AB',
27
- authorurl : 'http://tinymce.moxiecode.com',
28
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups',
29
- version : tinymce.majorVersion + "." + tinymce.minorVersion
30
- };
31
- }
32
- });
33
-
34
- tinymce.create('tinymce.InlineWindowManager:tinymce.WindowManager', {
35
- InlineWindowManager : function(ed) {
36
- var t = this;
37
-
38
- t.parent(ed);
39
- t.zIndex = 300000;
40
- t.count = 0;
41
- t.windows = {};
42
- },
43
-
44
- open : function(f, p) {
45
- var t = this, id, opt = '', ed = t.editor, dw = 0, dh = 0, vp, po, mdf, clf, we, w, u, parentWindow;
46
-
47
- f = f || {};
48
- p = p || {};
49
-
50
- // Run native windows
51
- if (!f.inline)
52
- return t.parent(f, p);
53
-
54
- parentWindow = t._frontWindow();
55
- if (parentWindow && DOM.get(parentWindow.id + '_ifr')) {
56
- parentWindow.focussedElement = DOM.get(parentWindow.id + '_ifr').contentWindow.document.activeElement;
57
- }
58
-
59
- // Only store selection if the type is a normal window
60
- if (!f.type)
61
- t.bookmark = ed.selection.getBookmark(1);
62
-
63
- id = DOM.uniqueId();
64
- vp = DOM.getViewPort();
65
- f.width = parseInt(f.width || 320);
66
- f.height = parseInt(f.height || 240) + (tinymce.isIE ? 8 : 0);
67
- f.min_width = parseInt(f.min_width || 150);
68
- f.min_height = parseInt(f.min_height || 100);
69
- f.max_width = parseInt(f.max_width || 2000);
70
- f.max_height = parseInt(f.max_height || 2000);
71
- f.left = f.left || Math.round(Math.max(vp.x, vp.x + (vp.w / 2.0) - (f.width / 2.0)));
72
- f.top = f.top || Math.round(Math.max(vp.y, vp.y + (vp.h / 2.0) - (f.height / 2.0)));
73
- f.movable = f.resizable = true;
74
- p.mce_width = f.width;
75
- p.mce_height = f.height;
76
- p.mce_inline = true;
77
- p.mce_window_id = id;
78
- p.mce_auto_focus = f.auto_focus;
79
-
80
- // Transpose
81
- // po = DOM.getPos(ed.getContainer());
82
- // f.left -= po.x;
83
- // f.top -= po.y;
84
-
85
- t.features = f;
86
- t.params = p;
87
- t.onOpen.dispatch(t, f, p);
88
-
89
- if (f.type) {
90
- opt += ' mceModal';
91
-
92
- if (f.type)
93
- opt += ' mce' + f.type.substring(0, 1).toUpperCase() + f.type.substring(1);
94
-
95
- f.resizable = false;
96
- }
97
-
98
- if (f.statusbar)
99
- opt += ' mceStatusbar';
100
-
101
- if (f.resizable)
102
- opt += ' mceResizable';
103
-
104
- if (f.minimizable)
105
- opt += ' mceMinimizable';
106
-
107
- if (f.maximizable)
108
- opt += ' mceMaximizable';
109
-
110
- if (f.movable)
111
- opt += ' mceMovable';
112
-
113
- // Create DOM objects
114
- t._addAll(DOM.doc.body,
115
- ['div', {id : id, role : 'dialog', 'aria-labelledby': f.type ? id + '_content' : id + '_title', 'class' : (ed.settings.inlinepopups_skin || 'clearlooks2') + (tinymce.isIE && window.getSelection ? ' ie9' : ''), style : 'width:100px;height:100px'},
116
- ['div', {id : id + '_wrapper', 'class' : 'mceWrapper' + opt},
117
- ['div', {id : id + '_top', 'class' : 'mceTop'},
118
- ['div', {'class' : 'mceLeft'}],
119
- ['div', {'class' : 'mceCenter'}],
120
- ['div', {'class' : 'mceRight'}],
121
- ['span', {id : id + '_title'}, f.title || '']
122
- ],
123
-
124
- ['div', {id : id + '_middle', 'class' : 'mceMiddle'},
125
- ['div', {id : id + '_left', 'class' : 'mceLeft', tabindex : '0'}],
126
- ['span', {id : id + '_content'}],
127
- ['div', {id : id + '_right', 'class' : 'mceRight', tabindex : '0'}]
128
- ],
129
-
130
- ['div', {id : id + '_bottom', 'class' : 'mceBottom'},
131
- ['div', {'class' : 'mceLeft'}],
132
- ['div', {'class' : 'mceCenter'}],
133
- ['div', {'class' : 'mceRight'}],
134
- ['span', {id : id + '_status'}, 'Content']
135
- ],
136
-
137
- ['a', {'class' : 'mceMove', tabindex : '-1', href : 'javascript:;'}],
138
- ['a', {'class' : 'mceMin', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}],
139
- ['a', {'class' : 'mceMax', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}],
140
- ['a', {'class' : 'mceMed', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}],
141
- ['a', {'class' : 'mceClose', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}],
142
- ['a', {id : id + '_resize_n', 'class' : 'mceResize mceResizeN', tabindex : '-1', href : 'javascript:;'}],
143
- ['a', {id : id + '_resize_s', 'class' : 'mceResize mceResizeS', tabindex : '-1', href : 'javascript:;'}],
144
- ['a', {id : id + '_resize_w', 'class' : 'mceResize mceResizeW', tabindex : '-1', href : 'javascript:;'}],
145
- ['a', {id : id + '_resize_e', 'class' : 'mceResize mceResizeE', tabindex : '-1', href : 'javascript:;'}],
146
- ['a', {id : id + '_resize_nw', 'class' : 'mceResize mceResizeNW', tabindex : '-1', href : 'javascript:;'}],
147
- ['a', {id : id + '_resize_ne', 'class' : 'mceResize mceResizeNE', tabindex : '-1', href : 'javascript:;'}],
148
- ['a', {id : id + '_resize_sw', 'class' : 'mceResize mceResizeSW', tabindex : '-1', href : 'javascript:;'}],
149
- ['a', {id : id + '_resize_se', 'class' : 'mceResize mceResizeSE', tabindex : '-1', href : 'javascript:;'}]
150
- ]
151
- ]
152
- );
153
-
154
- DOM.setStyles(id, {top : -10000, left : -10000});
155
-
156
- // Fix gecko rendering bug, where the editors iframe messed with window contents
157
- if (tinymce.isGecko)
158
- DOM.setStyle(id, 'overflow', 'auto');
159
-
160
- // Measure borders
161
- if (!f.type) {
162
- dw += DOM.get(id + '_left').clientWidth;
163
- dw += DOM.get(id + '_right').clientWidth;
164
- dh += DOM.get(id + '_top').clientHeight;
165
- dh += DOM.get(id + '_bottom').clientHeight;
166
- }
167
-
168
- // Resize window
169
- DOM.setStyles(id, {top : f.top, left : f.left, width : f.width + dw, height : f.height + dh});
170
-
171
- u = f.url || f.file;
172
- if (u) {
173
- if (tinymce.relaxedDomain)
174
- u += (u.indexOf('?') == -1 ? '?' : '&') + 'mce_rdomain=' + tinymce.relaxedDomain;
175
-
176
- u = tinymce._addVer(u);
177
- }
178
-
179
- if (!f.type) {
180
- DOM.add(id + '_content', 'iframe', {id : id + '_ifr', src : 'javascript:""', frameBorder : 0, style : 'border:0;width:10px;height:10px'});
181
- DOM.setStyles(id + '_ifr', {width : f.width, height : f.height});
182
- DOM.setAttrib(id + '_ifr', 'src', u);
183
- } else {
184
- DOM.add(id + '_wrapper', 'a', {id : id + '_ok', 'class' : 'mceButton mceOk', href : 'javascript:;', onmousedown : 'return false;'}, 'Ok');
185
-
186
- if (f.type == 'confirm')
187
- DOM.add(id + '_wrapper', 'a', {'class' : 'mceButton mceCancel', href : 'javascript:;', onmousedown : 'return false;'}, 'Cancel');
188
-
189
- DOM.add(id + '_middle', 'div', {'class' : 'mceIcon'});
190
- DOM.setHTML(id + '_content', f.content.replace('\n', '<br />'));
191
-
192
- Event.add(id, 'keyup', function(evt) {
193
- var VK_ESCAPE = 27;
194
- if (evt.keyCode === VK_ESCAPE) {
195
- f.button_func(false);
196
- return Event.cancel(evt);
197
- }
198
- });
199
-
200
- Event.add(id, 'keydown', function(evt) {
201
- var cancelButton, VK_TAB = 9;
202
- if (evt.keyCode === VK_TAB) {
203
- cancelButton = DOM.select('a.mceCancel', id + '_wrapper')[0];
204
- if (cancelButton && cancelButton !== evt.target) {
205
- cancelButton.focus();
206
- } else {
207
- DOM.get(id + '_ok').focus();
208
- }
209
- return Event.cancel(evt);
210
- }
211
- });
212
- }
213
-
214
- // Register events
215
- mdf = Event.add(id, 'mousedown', function(e) {
216
- var n = e.target, w, vp;
217
-
218
- w = t.windows[id];
219
- t.focus(id);
220
-
221
- if (n.nodeName == 'A' || n.nodeName == 'a') {
222
- if (n.className == 'mceClose') {
223
- t.close(null, id);
224
- return Event.cancel(e);
225
- } else if (n.className == 'mceMax') {
226
- w.oldPos = w.element.getXY();
227
- w.oldSize = w.element.getSize();
228
-
229
- vp = DOM.getViewPort();
230
-
231
- // Reduce viewport size to avoid scrollbars
232
- vp.w -= 2;
233
- vp.h -= 2;
234
-
235
- w.element.moveTo(vp.x, vp.y);
236
- w.element.resizeTo(vp.w, vp.h);
237
- DOM.setStyles(id + '_ifr', {width : vp.w - w.deltaWidth, height : vp.h - w.deltaHeight});
238
- DOM.addClass(id + '_wrapper', 'mceMaximized');
239
- } else if (n.className == 'mceMed') {
240
- // Reset to old size
241
- w.element.moveTo(w.oldPos.x, w.oldPos.y);
242
- w.element.resizeTo(w.oldSize.w, w.oldSize.h);
243
- w.iframeElement.resizeTo(w.oldSize.w - w.deltaWidth, w.oldSize.h - w.deltaHeight);
244
-
245
- DOM.removeClass(id + '_wrapper', 'mceMaximized');
246
- } else if (n.className == 'mceMove')
247
- return t._startDrag(id, e, n.className);
248
- else if (DOM.hasClass(n, 'mceResize'))
249
- return t._startDrag(id, e, n.className.substring(13));
250
- }
251
- });
252
-
253
- clf = Event.add(id, 'click', function(e) {
254
- var n = e.target;
255
-
256
- t.focus(id);
257
-
258
- if (n.nodeName == 'A' || n.nodeName == 'a') {
259
- switch (n.className) {
260
- case 'mceClose':
261
- t.close(null, id);
262
- return Event.cancel(e);
263
-
264
- case 'mceButton mceOk':
265
- case 'mceButton mceCancel':
266
- f.button_func(n.className == 'mceButton mceOk');
267
- return Event.cancel(e);
268
- }
269
- }
270
- });
271
-
272
- // Make sure the tab order loops within the dialog.
273
- Event.add([id + '_left', id + '_right'], 'focus', function(evt) {
274
- var iframe = DOM.get(id + '_ifr');
275
- if (iframe) {
276
- var body = iframe.contentWindow.document.body;
277
- var focusable = DOM.select(':input:enabled,*[tabindex=0]', body);
278
- if (evt.target.id === (id + '_left')) {
279
- focusable[focusable.length - 1].focus();
280
- } else {
281
- focusable[0].focus();
282
- }
283
- } else {
284
- DOM.get(id + '_ok').focus();
285
- }
286
- });
287
-
288
- // Add window
289
- w = t.windows[id] = {
290
- id : id,
291
- mousedown_func : mdf,
292
- click_func : clf,
293
- element : new Element(id, {blocker : 1, container : ed.getContainer()}),
294
- iframeElement : new Element(id + '_ifr'),
295
- features : f,
296
- deltaWidth : dw,
297
- deltaHeight : dh
298
- };
299
-
300
- w.iframeElement.on('focus', function() {
301
- t.focus(id);
302
- });
303
-
304
- // Setup blocker
305
- if (t.count == 0 && t.editor.getParam('dialog_type', 'modal') == 'modal') {
306
- DOM.add(DOM.doc.body, 'div', {
307
- id : 'mceModalBlocker',
308
- 'class' : (t.editor.settings.inlinepopups_skin || 'clearlooks2') + '_modalBlocker',
309
- style : {zIndex : t.zIndex - 1}
310
- });
311
-
312
- DOM.show('mceModalBlocker'); // Reduces flicker in IE
313
- DOM.setAttrib(DOM.doc.body, 'aria-hidden', 'true');
314
- } else
315
- DOM.setStyle('mceModalBlocker', 'z-index', t.zIndex - 1);
316
-
317
- if (tinymce.isIE6 || /Firefox\/2\./.test(navigator.userAgent) || (tinymce.isIE && !DOM.boxModel))
318
- DOM.setStyles('mceModalBlocker', {position : 'absolute', left : vp.x, top : vp.y, width : vp.w - 2, height : vp.h - 2});
319
-
320
- DOM.setAttrib(id, 'aria-hidden', 'false');
321
- t.focus(id);
322
- t._fixIELayout(id, 1);
323
-
324
- // Focus ok button
325
- if (DOM.get(id + '_ok'))
326
- DOM.get(id + '_ok').focus();
327
- t.count++;
328
-
329
- return w;
330
- },
331
-
332
- focus : function(id) {
333
- var t = this, w;
334
-
335
- if (w = t.windows[id]) {
336
- w.zIndex = this.zIndex++;
337
- w.element.setStyle('zIndex', w.zIndex);
338
- w.element.update();
339
-
340
- id = id + '_wrapper';
341
- DOM.removeClass(t.lastId, 'mceFocus');
342
- DOM.addClass(id, 'mceFocus');
343
- t.lastId = id;
344
-
345
- if (w.focussedElement) {
346
- w.focussedElement.focus();
347
- } else if (DOM.get(id + '_ok')) {
348
- DOM.get(w.id + '_ok').focus();
349
- } else if (DOM.get(w.id + '_ifr')) {
350
- DOM.get(w.id + '_ifr').focus();
351
- }
352
- }
353
- },
354
-
355
- _addAll : function(te, ne) {
356
- var i, n, t = this, dom = tinymce.DOM;
357
-
358
- if (is(ne, 'string'))
359
- te.appendChild(dom.doc.createTextNode(ne));
360
- else if (ne.length) {
361
- te = te.appendChild(dom.create(ne[0], ne[1]));
362
-
363
- for (i=2; i<ne.length; i++)
364
- t._addAll(te, ne[i]);
365
- }
366
- },
367
-
368
- _startDrag : function(id, se, ac) {
369
- var t = this, mu, mm, d = DOM.doc, eb, w = t.windows[id], we = w.element, sp = we.getXY(), p, sz, ph, cp, vp, sx, sy, sex, sey, dx, dy, dw, dh;
370
-
371
- // Get positons and sizes
372
- // cp = DOM.getPos(t.editor.getContainer());
373
- cp = {x : 0, y : 0};
374
- vp = DOM.getViewPort();
375
-
376
- // Reduce viewport size to avoid scrollbars while dragging
377
- vp.w -= 2;
378
- vp.h -= 2;
379
-
380
- sex = se.screenX;
381
- sey = se.screenY;
382
- dx = dy = dw = dh = 0;
383
-
384
- // Handle mouse up
385
- mu = Event.add(d, 'mouseup', function(e) {
386
- Event.remove(d, 'mouseup', mu);
387
- Event.remove(d, 'mousemove', mm);
388
-
389
- if (eb)
390
- eb.remove();
391
-
392
- we.moveBy(dx, dy);
393
- we.resizeBy(dw, dh);
394
- sz = we.getSize();
395
- DOM.setStyles(id + '_ifr', {width : sz.w - w.deltaWidth, height : sz.h - w.deltaHeight});
396
- t._fixIELayout(id, 1);
397
-
398
- return Event.cancel(e);
399
- });
400
-
401
- if (ac != 'Move')
402
- startMove();
403
-
404
- function startMove() {
405
- if (eb)
406
- return;
407
-
408
- t._fixIELayout(id, 0);
409
-
410
- // Setup event blocker
411
- DOM.add(d.body, 'div', {
412
- id : 'mceEventBlocker',
413
- 'class' : 'mceEventBlocker ' + (t.editor.settings.inlinepopups_skin || 'clearlooks2'),
414
- style : {zIndex : t.zIndex + 1}
415
- });
416
-
417
- if (tinymce.isIE6 || (tinymce.isIE && !DOM.boxModel))
418
- DOM.setStyles('mceEventBlocker', {position : 'absolute', left : vp.x, top : vp.y, width : vp.w - 2, height : vp.h - 2});
419
-
420
- eb = new Element('mceEventBlocker');
421
- eb.update();
422
-
423
- // Setup placeholder
424
- p = we.getXY();
425
- sz = we.getSize();
426
- sx = cp.x + p.x - vp.x;
427
- sy = cp.y + p.y - vp.y;
428
- DOM.add(eb.get(), 'div', {id : 'mcePlaceHolder', 'class' : 'mcePlaceHolder', style : {left : sx, top : sy, width : sz.w, height : sz.h}});
429
- ph = new Element('mcePlaceHolder');
430
- };
431
-
432
- // Handle mouse move/drag
433
- mm = Event.add(d, 'mousemove', function(e) {
434
- var x, y, v;
435
-
436
- startMove();
437
-
438
- x = e.screenX - sex;
439
- y = e.screenY - sey;
440
-
441
- switch (ac) {
442
- case 'ResizeW':
443
- dx = x;
444
- dw = 0 - x;
445
- break;
446
-
447
- case 'ResizeE':
448
- dw = x;
449
- break;
450
-
451
- case 'ResizeN':
452
- case 'ResizeNW':
453
- case 'ResizeNE':
454
- if (ac == "ResizeNW") {
455
- dx = x;
456
- dw = 0 - x;
457
- } else if (ac == "ResizeNE")
458
- dw = x;
459
-
460
- dy = y;
461
- dh = 0 - y;
462
- break;
463
-
464
- case 'ResizeS':
465
- case 'ResizeSW':
466
- case 'ResizeSE':
467
- if (ac == "ResizeSW") {
468
- dx = x;
469
- dw = 0 - x;
470
- } else if (ac == "ResizeSE")
471
- dw = x;
472
-
473
- dh = y;
474
- break;
475
-
476
- case 'mceMove':
477
- dx = x;
478
- dy = y;
479
- break;
480
- }
481
-
482
- // Boundary check
483
- if (dw < (v = w.features.min_width - sz.w)) {
484
- if (dx !== 0)
485
- dx += dw - v;
486
-
487
- dw = v;
488
- }
489
-
490
- if (dh < (v = w.features.min_height - sz.h)) {
491
- if (dy !== 0)
492
- dy += dh - v;
493
-
494
- dh = v;
495
- }
496
-
497
- dw = Math.min(dw, w.features.max_width - sz.w);
498
- dh = Math.min(dh, w.features.max_height - sz.h);
499
- dx = Math.max(dx, vp.x - (sx + vp.x));
500
- dy = Math.max(dy, vp.y - (sy + vp.y));
501
- dx = Math.min(dx, (vp.w + vp.x) - (sx + sz.w + vp.x));
502
- dy = Math.min(dy, (vp.h + vp.y) - (sy + sz.h + vp.y));
503
-
504
- // Move if needed
505
- if (dx + dy !== 0) {
506
- if (sx + dx < 0)
507
- dx = 0;
508
-
509
- if (sy + dy < 0)
510
- dy = 0;
511
-
512
- ph.moveTo(sx + dx, sy + dy);
513
- }
514
-
515
- // Resize if needed
516
- if (dw + dh !== 0)
517
- ph.resizeTo(sz.w + dw, sz.h + dh);
518
-
519
- return Event.cancel(e);
520
- });
521
-
522
- return Event.cancel(se);
523
- },
524
-
525
- resizeBy : function(dw, dh, id) {
526
- var w = this.windows[id];
527
-
528
- if (w) {
529
- w.element.resizeBy(dw, dh);
530
- w.iframeElement.resizeBy(dw, dh);
531
- }
532
- },
533
-
534
- close : function(win, id) {
535
- var t = this, w, d = DOM.doc, fw, id;
536
-
537
- id = t._findId(id || win);
538
-
539
- // Probably not inline
540
- if (!t.windows[id]) {
541
- t.parent(win);
542
- return;
543
- }
544
-
545
- t.count--;
546
-
547
- if (t.count == 0) {
548
- DOM.remove('mceModalBlocker');
549
- DOM.setAttrib(DOM.doc.body, 'aria-hidden', 'false');
550
- t.editor.focus();
551
- }
552
-
553
- if (w = t.windows[id]) {
554
- t.onClose.dispatch(t);
555
- Event.remove(d, 'mousedown', w.mousedownFunc);
556
- Event.remove(d, 'click', w.clickFunc);
557
- Event.clear(id);
558
- Event.clear(id + '_ifr');
559
-
560
- DOM.setAttrib(id + '_ifr', 'src', 'javascript:""'); // Prevent leak
561
- w.element.remove();
562
- delete t.windows[id];
563
-
564
- fw = t._frontWindow();
565
-
566
- if (fw)
567
- t.focus(fw.id);
568
- }
569
- },
570
-
571
- // Find front most window
572
- _frontWindow : function() {
573
- var fw, ix = 0;
574
- // Find front most window and focus that
575
- each (this.windows, function(w) {
576
- if (w.zIndex > ix) {
577
- fw = w;
578
- ix = w.zIndex;
579
- }
580
- });
581
- return fw;
582
- },
583
-
584
- setTitle : function(w, ti) {
585
- var e;
586
-
587
- w = this._findId(w);
588
-
589
- if (e = DOM.get(w + '_title'))
590
- e.innerHTML = DOM.encode(ti);
591
- },
592
-
593
- alert : function(txt, cb, s) {
594
- var t = this, w;
595
-
596
- w = t.open({
597
- title : t,
598
- type : 'alert',
599
- button_func : function(s) {
600
- if (cb)
601
- cb.call(s || t, s);
602
-
603
- t.close(null, w.id);
604
- },
605
- content : DOM.encode(t.editor.getLang(txt, txt)),
606
- inline : 1,
607
- width : 400,
608
- height : 130
609
- });
610
- },
611
-
612
- confirm : function(txt, cb, s) {
613
- var t = this, w;
614
-
615
- w = t.open({
616
- title : t,
617
- type : 'confirm',
618
- button_func : function(s) {
619
- if (cb)
620
- cb.call(s || t, s);
621
-
622
- t.close(null, w.id);
623
- },
624
- content : DOM.encode(t.editor.getLang(txt, txt)),
625
- inline : 1,
626
- width : 400,
627
- height : 130
628
- });
629
- },
630
-
631
- // Internal functions
632
-
633
- _findId : function(w) {
634
- var t = this;
635
-
636
- if (typeof(w) == 'string')
637
- return w;
638
-
639
- each(t.windows, function(wo) {
640
- var ifr = DOM.get(wo.id + '_ifr');
641
-
642
- if (ifr && w == ifr.contentWindow) {
643
- w = wo.id;
644
- return false;
645
- }
646
- });
647
-
648
- return w;
649
- },
650
-
651
- _fixIELayout : function(id, s) {
652
- var w, img;
653
-
654
- if (!tinymce.isIE6)
655
- return;
656
-
657
- // Fixes the bug where hover flickers and does odd things in IE6
658
- each(['n','s','w','e','nw','ne','sw','se'], function(v) {
659
- var e = DOM.get(id + '_resize_' + v);
660
-
661
- DOM.setStyles(e, {
662
- width : s ? e.clientWidth : '',
663
- height : s ? e.clientHeight : '',
664
- cursor : DOM.getStyle(e, 'cursor', 1)
665
- });
666
-
667
- DOM.setStyle(id + "_bottom", 'bottom', '-1px');
668
-
669
- e = 0;
670
- });
671
-
672
- // Fixes graphics glitch
673
- if (w = this.windows[id]) {
674
- // Fixes rendering bug after resize
675
- w.element.hide();
676
- w.element.show();
677
-
678
- // Forced a repaint of the window
679
- //DOM.get(id).style.filter = '';
680
-
681
- // IE has a bug where images used in CSS won't get loaded
682
- // sometimes when the cache in the browser is disabled
683
- // This fix tries to solve it by loading the images using the image object
684
- each(DOM.select('div,a', id), function(e, i) {
685
- if (e.currentStyle.backgroundImage != 'none') {
686
- img = new Image();
687
- img.src = e.currentStyle.backgroundImage.replace(/url\(\"(.+)\"\)/, '$1');
688
- }
689
- });
690
-
691
- DOM.get(id).style.filter = '';
692
- }
693
- }
694
- });
695
-
696
- // Register plugin
697
- tinymce.PluginManager.add('inlinepopups', tinymce.plugins.InlinePopups);
698
- })();
699
-