spud_core 0.8.28 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. data/app/assets/javascripts/spud/admin/application.js +80 -39
  2. data/app/assets/javascripts/spud/admin/editor.js +91 -0
  3. data/app/assets/libs/bootstrap/css/bootstrap-responsive.css +799 -397
  4. data/app/assets/libs/bootstrap/css/bootstrap.css +3275 -1372
  5. data/app/assets/libs/bootstrap/img/glyphicons-halflings-white.png +0 -0
  6. data/app/assets/libs/bootstrap/img/glyphicons-halflings.png +0 -0
  7. data/app/assets/libs/bootstrap/js/bootstrap.js +716 -417
  8. data/app/assets/libs/datepicker/css/datepicker.css +223 -0
  9. data/app/assets/libs/datepicker/js/bootstrap-datepicker.js +779 -0
  10. data/app/assets/libs/datepicker/less/datepicker.less +122 -0
  11. data/app/assets/libs/jquery-ui/css/flick/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  12. data/app/assets/libs/jquery-ui/css/flick/images/ui-bg_flat_0_eeeeee_40x100.png +0 -0
  13. data/app/assets/libs/jquery-ui/css/flick/images/ui-bg_flat_55_ffffff_40x100.png +0 -0
  14. data/app/assets/libs/jquery-ui/css/flick/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  15. data/app/assets/libs/jquery-ui/css/flick/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  16. data/app/assets/libs/jquery-ui/css/flick/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png +0 -0
  17. data/app/assets/libs/jquery-ui/css/flick/images/ui-bg_highlight-soft_25_0073ea_1x100.png +0 -0
  18. data/app/assets/libs/jquery-ui/css/flick/images/ui-bg_highlight-soft_50_dddddd_1x100.png +0 -0
  19. data/app/assets/libs/jquery-ui/css/flick/images/ui-icons_0073ea_256x240.png +0 -0
  20. data/app/assets/libs/jquery-ui/css/flick/images/ui-icons_454545_256x240.png +0 -0
  21. data/app/assets/libs/jquery-ui/css/flick/images/ui-icons_666666_256x240.png +0 -0
  22. data/app/assets/libs/jquery-ui/css/flick/images/ui-icons_ff0084_256x240.png +0 -0
  23. data/app/assets/libs/jquery-ui/css/flick/images/ui-icons_ffffff_256x240.png +0 -0
  24. data/app/assets/libs/jquery-ui/css/flick/jquery-ui-1.9.1.custom.css +297 -0
  25. data/app/assets/libs/jquery-ui/css/flick/jquery-ui-1.9.1.custom.min.css +5 -0
  26. data/app/assets/libs/jquery-ui/js/jquery-ui-1.9.1.custom.js +4870 -0
  27. data/app/assets/libs/jquery-ui/js/jquery-ui-1.9.1.custom.min.js +6 -0
  28. data/app/assets/stylesheets/spud/admin/application.css +22 -4
  29. data/app/controllers/spud/admin/application_controller.rb +13 -4
  30. data/app/controllers/spud/admin/dashboard_controller.rb +1 -1
  31. data/app/controllers/spud/admin/users_controller.rb +4 -9
  32. data/app/controllers/spud/setup_controller.rb +3 -4
  33. data/app/models/spud_admin_permission.rb +1 -1
  34. data/app/models/spud_user.rb +4 -2
  35. data/app/views/layouts/spud/admin/application.html.erb +24 -5
  36. data/app/views/spud/admin/users/_edit.html.erb +2 -4
  37. data/app/views/spud/admin/users/_new.html.erb +3 -5
  38. data/app/views/spud/admin/users/index.html.erb +6 -5
  39. data/lib/spud_core/belongs_to_app.rb +9 -6
  40. data/lib/spud_core/configuration.rb +23 -1
  41. data/lib/spud_core/engine.rb +20 -28
  42. data/lib/spud_core/version.rb +1 -1
  43. data/spec/dummy/log/development.log +15 -37
  44. data/spec/dummy/log/test.log +72841 -25918
  45. metadata +25 -101
  46. data/app/assets/libs/bootstrap/css/bootstrap-responsive.min.css +0 -12
  47. data/app/assets/libs/bootstrap/css/bootstrap.min.css +0 -689
  48. data/app/assets/libs/bootstrap/js/bootstrap.min.js +0 -6
  49. data/app/assets/libs/tiny_mce/plugins/autosave/editor_plugin.js +0 -1
  50. data/app/assets/libs/tiny_mce/plugins/autosave/editor_plugin_src.js +0 -431
  51. data/app/assets/libs/tiny_mce/plugins/autosave/langs/en.js +0 -4
  52. data/app/assets/libs/tiny_mce/plugins/bbcode/editor_plugin.js +0 -1
  53. data/app/assets/libs/tiny_mce/plugins/bbcode/editor_plugin_src.js +0 -120
  54. data/app/assets/libs/tiny_mce/plugins/emotions/editor_plugin.js +0 -1
  55. data/app/assets/libs/tiny_mce/plugins/emotions/editor_plugin_src.js +0 -43
  56. data/app/assets/libs/tiny_mce/plugins/emotions/emotions.htm +0 -42
  57. data/app/assets/libs/tiny_mce/plugins/emotions/img/smiley-cool.gif +0 -0
  58. data/app/assets/libs/tiny_mce/plugins/emotions/img/smiley-cry.gif +0 -0
  59. data/app/assets/libs/tiny_mce/plugins/emotions/img/smiley-embarassed.gif +0 -0
  60. data/app/assets/libs/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
  61. data/app/assets/libs/tiny_mce/plugins/emotions/img/smiley-frown.gif +0 -0
  62. data/app/assets/libs/tiny_mce/plugins/emotions/img/smiley-innocent.gif +0 -0
  63. data/app/assets/libs/tiny_mce/plugins/emotions/img/smiley-kiss.gif +0 -0
  64. data/app/assets/libs/tiny_mce/plugins/emotions/img/smiley-laughing.gif +0 -0
  65. data/app/assets/libs/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif +0 -0
  66. data/app/assets/libs/tiny_mce/plugins/emotions/img/smiley-sealed.gif +0 -0
  67. data/app/assets/libs/tiny_mce/plugins/emotions/img/smiley-smile.gif +0 -0
  68. data/app/assets/libs/tiny_mce/plugins/emotions/img/smiley-surprised.gif +0 -0
  69. data/app/assets/libs/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif +0 -0
  70. data/app/assets/libs/tiny_mce/plugins/emotions/img/smiley-undecided.gif +0 -0
  71. data/app/assets/libs/tiny_mce/plugins/emotions/img/smiley-wink.gif +0 -0
  72. data/app/assets/libs/tiny_mce/plugins/emotions/img/smiley-yell.gif +0 -0
  73. data/app/assets/libs/tiny_mce/plugins/emotions/js/emotions.js +0 -43
  74. data/app/assets/libs/tiny_mce/plugins/emotions/langs/en_dlg.js +0 -1
  75. data/app/assets/libs/tiny_mce/plugins/fullpage/css/fullpage.css +0 -143
  76. data/app/assets/libs/tiny_mce/plugins/fullpage/editor_plugin.js +0 -1
  77. data/app/assets/libs/tiny_mce/plugins/fullpage/editor_plugin_src.js +0 -405
  78. data/app/assets/libs/tiny_mce/plugins/fullpage/fullpage.htm +0 -259
  79. data/app/assets/libs/tiny_mce/plugins/fullpage/js/fullpage.js +0 -232
  80. data/app/assets/libs/tiny_mce/plugins/fullpage/langs/en_dlg.js +0 -1
  81. data/app/assets/libs/tiny_mce/plugins/fullscreen/editor_plugin.js +0 -1
  82. data/app/assets/libs/tiny_mce/plugins/fullscreen/editor_plugin_src.js +0 -159
  83. data/app/assets/libs/tiny_mce/plugins/fullscreen/fullscreen.htm +0 -110
  84. data/app/assets/libs/tiny_mce/plugins/insertdatetime/editor_plugin.js +0 -1
  85. data/app/assets/libs/tiny_mce/plugins/insertdatetime/editor_plugin_src.js +0 -83
  86. data/app/assets/libs/tiny_mce/plugins/legacyoutput/editor_plugin.js +0 -1
  87. data/app/assets/libs/tiny_mce/plugins/legacyoutput/editor_plugin_src.js +0 -139
  88. data/app/assets/libs/tiny_mce/plugins/nonbreaking/editor_plugin.js +0 -1
  89. data/app/assets/libs/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +0 -54
  90. data/app/assets/libs/tiny_mce/plugins/noneditable/editor_plugin.js +0 -1
  91. data/app/assets/libs/tiny_mce/plugins/noneditable/editor_plugin_src.js +0 -454
  92. data/app/assets/libs/tiny_mce/plugins/pagebreak/editor_plugin.js +0 -1
  93. data/app/assets/libs/tiny_mce/plugins/pagebreak/editor_plugin_src.js +0 -74
  94. data/app/assets/libs/tiny_mce/plugins/preview/editor_plugin.js +0 -1
  95. data/app/assets/libs/tiny_mce/plugins/preview/editor_plugin_src.js +0 -53
  96. data/app/assets/libs/tiny_mce/plugins/preview/example.html +0 -28
  97. data/app/assets/libs/tiny_mce/plugins/preview/jscripts/embed.js +0 -73
  98. data/app/assets/libs/tiny_mce/plugins/preview/preview.html +0 -17
  99. data/app/assets/libs/tiny_mce/plugins/print/editor_plugin.js +0 -1
  100. data/app/assets/libs/tiny_mce/plugins/print/editor_plugin_src.js +0 -34
  101. data/app/assets/libs/tiny_mce/plugins/save/editor_plugin.js +0 -1
  102. data/app/assets/libs/tiny_mce/plugins/save/editor_plugin_src.js +0 -101
  103. data/app/assets/libs/tiny_mce/plugins/searchreplace/css/searchreplace.css +0 -6
  104. data/app/assets/libs/tiny_mce/plugins/searchreplace/editor_plugin.js +0 -1
  105. data/app/assets/libs/tiny_mce/plugins/searchreplace/editor_plugin_src.js +0 -61
  106. data/app/assets/libs/tiny_mce/plugins/searchreplace/js/searchreplace.js +0 -142
  107. data/app/assets/libs/tiny_mce/plugins/searchreplace/langs/en_dlg.js +0 -1
  108. data/app/assets/libs/tiny_mce/plugins/searchreplace/searchreplace.htm +0 -100
  109. data/app/assets/libs/tiny_mce/plugins/tabfocus/editor_plugin.js +0 -1
  110. data/app/assets/libs/tiny_mce/plugins/tabfocus/editor_plugin_src.js +0 -122
  111. data/app/assets/libs/tiny_mce/plugins/template/blank.htm +0 -12
  112. data/app/assets/libs/tiny_mce/plugins/template/css/template.css +0 -23
  113. data/app/assets/libs/tiny_mce/plugins/template/editor_plugin.js +0 -1
  114. data/app/assets/libs/tiny_mce/plugins/template/editor_plugin_src.js +0 -159
  115. data/app/assets/libs/tiny_mce/plugins/template/js/template.js +0 -106
  116. data/app/assets/libs/tiny_mce/plugins/template/langs/en_dlg.js +0 -1
  117. data/app/assets/libs/tiny_mce/plugins/template/template.htm +0 -31
  118. data/app/assets/libs/tiny_mce/plugins/visualblocks/css/visualblocks.css +0 -21
  119. data/app/assets/libs/tiny_mce/plugins/visualblocks/editor_plugin.js +0 -1
  120. data/app/assets/libs/tiny_mce/plugins/visualblocks/editor_plugin_src.js +0 -63
  121. data/app/assets/libs/tiny_mce/plugins/visualchars/editor_plugin.js +0 -1
  122. data/app/assets/libs/tiny_mce/plugins/visualchars/editor_plugin_src.js +0 -83
  123. data/app/assets/libs/tiny_mce/plugins/wordcount/editor_plugin.js +0 -1
  124. data/app/assets/libs/tiny_mce/plugins/wordcount/editor_plugin_src.js +0 -122
  125. data/app/assets/libs/tiny_mce/plugins/xhtmlxtras/abbr.htm +0 -142
  126. data/app/assets/libs/tiny_mce/plugins/xhtmlxtras/acronym.htm +0 -142
  127. data/app/assets/libs/tiny_mce/plugins/xhtmlxtras/attributes.htm +0 -149
  128. data/app/assets/libs/tiny_mce/plugins/xhtmlxtras/cite.htm +0 -142
  129. data/app/assets/libs/tiny_mce/plugins/xhtmlxtras/css/attributes.css +0 -11
  130. data/app/assets/libs/tiny_mce/plugins/xhtmlxtras/css/popup.css +0 -9
  131. data/app/assets/libs/tiny_mce/plugins/xhtmlxtras/del.htm +0 -162
  132. data/app/assets/libs/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +0 -1
  133. data/app/assets/libs/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +0 -132
  134. data/app/assets/libs/tiny_mce/plugins/xhtmlxtras/ins.htm +0 -162
  135. data/app/assets/libs/tiny_mce/plugins/xhtmlxtras/js/abbr.js +0 -28
  136. data/app/assets/libs/tiny_mce/plugins/xhtmlxtras/js/acronym.js +0 -28
  137. data/app/assets/libs/tiny_mce/plugins/xhtmlxtras/js/attributes.js +0 -111
  138. data/app/assets/libs/tiny_mce/plugins/xhtmlxtras/js/cite.js +0 -28
  139. data/app/assets/libs/tiny_mce/plugins/xhtmlxtras/js/del.js +0 -53
  140. data/app/assets/libs/tiny_mce/plugins/xhtmlxtras/js/element_common.js +0 -229
  141. data/app/assets/libs/tiny_mce/plugins/xhtmlxtras/js/ins.js +0 -53
  142. data/app/assets/libs/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js +0 -1
@@ -1 +0,0 @@
1
- (function(a){a.create("tinymce.plugins.EmotionsPlugin",{init:function(b,c){b.addCommand("mceEmotion",function(){b.windowManager.open({file:c+"/emotions.htm",width:250+parseInt(b.getLang("emotions.delta_width",0)),height:160+parseInt(b.getLang("emotions.delta_height",0)),inline:1},{plugin_url:c})});b.addButton("emotions",{title:"emotions.emotions_desc",cmd:"mceEmotion"})},getInfo:function(){return{longname:"Emotions",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions",version:a.majorVersion+"."+a.minorVersion}}});a.PluginManager.add("emotions",a.plugins.EmotionsPlugin)})(tinymce);
@@ -1,43 +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(tinymce) {
12
- tinymce.create('tinymce.plugins.EmotionsPlugin', {
13
- init : function(ed, url) {
14
- // Register commands
15
- ed.addCommand('mceEmotion', function() {
16
- ed.windowManager.open({
17
- file : url + '/emotions.htm',
18
- width : 250 + parseInt(ed.getLang('emotions.delta_width', 0)),
19
- height : 160 + parseInt(ed.getLang('emotions.delta_height', 0)),
20
- inline : 1
21
- }, {
22
- plugin_url : url
23
- });
24
- });
25
-
26
- // Register buttons
27
- ed.addButton('emotions', {title : 'emotions.emotions_desc', cmd : 'mceEmotion'});
28
- },
29
-
30
- getInfo : function() {
31
- return {
32
- longname : 'Emotions',
33
- author : 'Moxiecode Systems AB',
34
- authorurl : 'http://tinymce.moxiecode.com',
35
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions',
36
- version : tinymce.majorVersion + "." + tinymce.minorVersion
37
- };
38
- }
39
- });
40
-
41
- // Register plugin
42
- tinymce.PluginManager.add('emotions', tinymce.plugins.EmotionsPlugin);
43
- })(tinymce);
@@ -1,42 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <title>{#emotions_dlg.title}</title>
5
- <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
6
- <script type="text/javascript" src="js/emotions.js"></script>
7
- </head>
8
- <body style="display: none" role="application" aria-labelledby="app_title">
9
- <span style="display:none;" id="app_title">{#emotions_dlg.title}</span>
10
- <div align="center">
11
- <div class="title">{#emotions_dlg.title}:<br /><br /></div>
12
-
13
- <table id="emoticon_table" role="presentation" border="0" cellspacing="0" cellpadding="4">
14
- <tr>
15
- <td><a class="emoticon_link" role="button" title="{#emotions_dlg.cool}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-cool.gif','emotions_dlg.cool');"><img src="img/smiley-cool.gif" width="18" height="18" border="0" alt="{#emotions_dlg.cool}. {#emotions_dlg.usage}" /></a></td>
16
- <td><a class="emoticon_link" role="button" title="{#emotions_dlg.cry}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-cry.gif','emotions_dlg.cry');"><img src="img/smiley-cry.gif" width="18" height="18" border="0" alt="{#emotions_dlg.cry}. {#emotions_dlg.usage}" /></a></td>
17
- <td><a class="emoticon_link" role="button" title="{#emotions_dlg.embarassed}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-embarassed.gif','emotions_dlg.embarassed');"><img src="img/smiley-embarassed.gif" width="18" height="18" border="0" alt="{#emotions_dlg.embarassed}. {#emotions_dlg.usage}" /></a></td>
18
- <td><a class="emoticon_link" role="button" title="{#emotions_dlg.foot_in_mouth}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-foot-in-mouth.gif','emotions_dlg.foot_in_mouth');"><img src="img/smiley-foot-in-mouth.gif" width="18" height="18" border="0" alt="{#emotions_dlg.foot_in_mouth}. {#emotions_dlg.usage}" /></a></td>
19
- </tr>
20
- <tr>
21
- <td><a class="emoticon_link" role="button" title="{#emotions_dlg.frown}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-frown.gif','emotions_dlg.frown');"><img src="img/smiley-frown.gif" width="18" height="18" border="0" alt="{#emotions_dlg.frown}. {#emotions_dlg.usage}" /></a></td>
22
- <td><a class="emoticon_link" role="button" title="{#emotions_dlg.innocent}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-innocent.gif','emotions_dlg.innocent');"><img src="img/smiley-innocent.gif" width="18" height="18" border="0" alt="{#emotions_dlg.innocent}. {#emotions_dlg.usage}" /></a></td>
23
- <td><a class="emoticon_link" role="button" title="{#emotions_dlg.kiss}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-kiss.gif','emotions_dlg.kiss');"><img src="img/smiley-kiss.gif" width="18" height="18" border="0" alt="{#emotions_dlg.kiss}. {#emotions_dlg.usage}" /></a></td>
24
- <td><a class="emoticon_link" role="button" title="{#emotions_dlg.laughing}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-laughing.gif','emotions_dlg.laughing');"><img src="img/smiley-laughing.gif" width="18" height="18" border="0" alt="{#emotions_dlg.laughing}. {#emotions_dlg.usage}" /></a></td>
25
- </tr>
26
- <tr>
27
- <td><a class="emoticon_link" role="button" title="{#emotions_dlg.money_mouth}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-money-mouth.gif','emotions_dlg.money_mouth');"><img src="img/smiley-money-mouth.gif" width="18" height="18" border="0" alt="{#emotions_dlg.money_mouth}. {#emotions_dlg.usage}"/></a></td>
28
- <td><a class="emoticon_link" role="button" title="{#emotions_dlg.sealed}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-sealed.gif','emotions_dlg.sealed');"><img src="img/smiley-sealed.gif" width="18" height="18" border="0" alt="{#emotions_dlg.sealed}. {#emotions_dlg.usage}" /></a></td>
29
- <td><a class="emoticon_link" role="button" title="{#emotions_dlg.smile}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-smile.gif','emotions_dlg.smile');"><img src="img/smiley-smile.gif" width="18" height="18" border="0" alt="{#emotions_dlg.smile}. {#emotions_dlg.usage}" /></a></td>
30
- <td><a class="emoticon_link" role="button" title="{#emotions_dlg.surprised}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-surprised.gif','emotions_dlg.surprised');"><img src="img/smiley-surprised.gif" width="18" height="18" border="0" alt="{#emotions_dlg.surprised}. {#emotions_dlg.usage}" /></a></td>
31
- </tr>
32
- <tr>
33
- <td><a class="emoticon_link" role="button" title="{#emotions_dlg.tongue_out}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-tongue-out.gif','emotions_dlg.tongue_out');"><img src="img/smiley-tongue-out.gif" width="18" height="18" border="0" alt="{#emotions_dlg.tongue-out}. {#emotions_dlg.usage}" /></a></td>
34
- <td><a class="emoticon_link" role="button" title="{#emotions_dlg.undecided}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-undecided.gif','emotions_dlg.undecided');"><img src="img/smiley-undecided.gif" width="18" height="18" border="0" alt="{#emotions_dlg.undecided}. {#emotions_dlg.usage}" /></a></td>
35
- <td><a class="emoticon_link" role="button" title="{#emotions_dlg.wink}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-wink.gif','emotions_dlg.wink');"><img src="img/smiley-wink.gif" width="18" height="18" border="0" alt="{#emotions_dlg.wink}. {#emotions_dlg.usage}" /></a></td>
36
- <td><a class="emoticon_link" role="button" title="{#emotions_dlg.yell}. {#emotions_dlg.usage}" href="javascript:EmotionsDialog.insert('smiley-yell.gif','emotions_dlg.yell');"><img src="img/smiley-yell.gif" width="18" height="18" border="0" alt="{#emotions_dlg.yell}. {#emotions_dlg.usage}" /></a></td>
37
- </tr>
38
- </table>
39
- <div>{#emotions_dlg.usage}</div>
40
- </div>
41
- </body>
42
- </html>
@@ -1,43 +0,0 @@
1
- tinyMCEPopup.requireLangPack();
2
-
3
- var EmotionsDialog = {
4
- addKeyboardNavigation: function(){
5
- var tableElm, cells, settings;
6
-
7
- cells = tinyMCEPopup.dom.select("a.emoticon_link", "emoticon_table");
8
-
9
- settings ={
10
- root: "emoticon_table",
11
- items: cells
12
- };
13
- cells[0].tabindex=0;
14
- tinyMCEPopup.dom.addClass(cells[0], "mceFocus");
15
- if (tinymce.isGecko) {
16
- cells[0].focus();
17
- } else {
18
- setTimeout(function(){
19
- cells[0].focus();
20
- }, 100);
21
- }
22
- tinyMCEPopup.editor.windowManager.createInstance('tinymce.ui.KeyboardNavigation', settings, tinyMCEPopup.dom);
23
- },
24
- init : function(ed) {
25
- tinyMCEPopup.resizeToInnerSize();
26
- this.addKeyboardNavigation();
27
- },
28
-
29
- insert : function(file, title) {
30
- var ed = tinyMCEPopup.editor, dom = ed.dom;
31
-
32
- tinyMCEPopup.execCommand('mceInsertContent', false, dom.createHTML('img', {
33
- src : tinyMCEPopup.getWindowArg('plugin_url') + '/img/' + file,
34
- alt : ed.getLang(title),
35
- title : ed.getLang(title),
36
- border : 0
37
- }));
38
-
39
- tinyMCEPopup.close();
40
- }
41
- };
42
-
43
- tinyMCEPopup.onInit.add(EmotionsDialog.init, EmotionsDialog);
@@ -1 +0,0 @@
1
- tinyMCE.addI18n('en.emotions_dlg',{cry:"Cry",cool:"Cool",desc:"Emotions",title:"Insert Emotion",usage:"Use left and right arrows to navigate.",yell:"Yell",wink:"Wink",undecided:"Undecided","tongue_out":"Tongue Out",surprised:"Surprised",smile:"Smile",sealed:"Sealed","money_mouth":"Money Mouth",laughing:"Laughing",kiss:"Kiss",innocent:"Innocent",frown:"Frown","foot_in_mouth":"Foot in Mouth",embarassed:"Embarassed"});
@@ -1,143 +0,0 @@
1
- /* Hide the advanced tab */
2
- #advanced_tab {
3
- display: none;
4
- }
5
-
6
- #metatitle, #metakeywords, #metadescription, #metaauthor, #metacopyright {
7
- width: 280px;
8
- }
9
-
10
- #doctype, #docencoding {
11
- width: 200px;
12
- }
13
-
14
- #langcode {
15
- width: 30px;
16
- }
17
-
18
- #bgimage {
19
- width: 220px;
20
- }
21
-
22
- #fontface {
23
- width: 240px;
24
- }
25
-
26
- #leftmargin, #rightmargin, #topmargin, #bottommargin {
27
- width: 50px;
28
- }
29
-
30
- .panel_wrapper div.current {
31
- height: 400px;
32
- }
33
-
34
- #stylesheet, #style {
35
- width: 240px;
36
- }
37
-
38
- #doctypes {
39
- width: 200px;
40
- }
41
-
42
- /* Head list classes */
43
-
44
- .headlistwrapper {
45
- width: 100%;
46
- }
47
-
48
- .selected {
49
- border: 1px solid #0A246A;
50
- background-color: #B6BDD2;
51
- }
52
-
53
- .toolbar {
54
- width: 100%;
55
- }
56
-
57
- #headlist {
58
- width: 100%;
59
- margin-top: 3px;
60
- font-size: 11px;
61
- }
62
-
63
- #info, #title_element, #meta_element, #script_element, #style_element, #base_element, #link_element, #comment_element, #unknown_element {
64
- display: none;
65
- }
66
-
67
- #addmenu {
68
- position: absolute;
69
- border: 1px solid gray;
70
- display: none;
71
- z-index: 100;
72
- background-color: white;
73
- }
74
-
75
- #addmenu a {
76
- display: block;
77
- width: 100%;
78
- line-height: 20px;
79
- text-decoration: none;
80
- background-color: white;
81
- }
82
-
83
- #addmenu a:hover {
84
- background-color: #B6BDD2;
85
- color: black;
86
- }
87
-
88
- #addmenu span {
89
- padding-left: 10px;
90
- padding-right: 10px;
91
- }
92
-
93
- #updateElementPanel {
94
- display: none;
95
- }
96
-
97
- #script_element .panel_wrapper div.current {
98
- height: 108px;
99
- }
100
-
101
- #style_element .panel_wrapper div.current {
102
- height: 108px;
103
- }
104
-
105
- #link_element .panel_wrapper div.current {
106
- height: 140px;
107
- }
108
-
109
- #element_script_value {
110
- width: 100%;
111
- height: 100px;
112
- }
113
-
114
- #element_comment_value {
115
- width: 100%;
116
- height: 120px;
117
- }
118
-
119
- #element_style_value {
120
- width: 100%;
121
- height: 100px;
122
- }
123
-
124
- #element_title, #element_script_src, #element_meta_name, #element_meta_content, #element_base_href, #element_link_href, #element_link_title {
125
- width: 250px;
126
- }
127
-
128
- .updateElementButton {
129
- margin-top: 3px;
130
- }
131
-
132
- /* MSIE specific styles */
133
-
134
- * html .addbutton, * html .removebutton, * html .moveupbutton, * html .movedownbutton {
135
- width: 22px;
136
- height: 22px;
137
- }
138
-
139
- textarea {
140
- height: 55px;
141
- }
142
-
143
- .panel_wrapper div.current {height:420px;}
@@ -1 +0,0 @@
1
- (function(){var b=tinymce.each,a=tinymce.html.Node;tinymce.create("tinymce.plugins.FullPagePlugin",{init:function(c,d){var e=this;e.editor=c;c.addCommand("mceFullPageProperties",function(){c.windowManager.open({file:d+"/fullpage.htm",width:430+parseInt(c.getLang("fullpage.delta_width",0)),height:495+parseInt(c.getLang("fullpage.delta_height",0)),inline:1},{plugin_url:d,data:e._htmlToData()})});c.addButton("fullpage",{title:"fullpage.desc",cmd:"mceFullPageProperties"});c.onBeforeSetContent.add(e._setContent,e);c.onGetContent.add(e._getContent,e)},getInfo:function(){return{longname:"Fullpage",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_htmlToData:function(){var f=this._parseHeader(),h={},c,i,g,e=this.editor;function d(l,j){var k=l.attr(j);return k||""}h.fontface=e.getParam("fullpage_default_fontface","");h.fontsize=e.getParam("fullpage_default_fontsize","");i=f.firstChild;if(i.type==7){h.xml_pi=true;g=/encoding="([^"]+)"/.exec(i.value);if(g){h.docencoding=g[1]}}i=f.getAll("#doctype")[0];if(i){h.doctype="<!DOCTYPE"+i.value+">"}i=f.getAll("title")[0];if(i&&i.firstChild){h.metatitle=i.firstChild.value}b(f.getAll("meta"),function(m){var k=m.attr("name"),j=m.attr("http-equiv"),l;if(k){h["meta"+k.toLowerCase()]=m.attr("content")}else{if(j=="Content-Type"){l=/charset\s*=\s*(.*)\s*/gi.exec(m.attr("content"));if(l){h.docencoding=l[1]}}}});i=f.getAll("html")[0];if(i){h.langcode=d(i,"lang")||d(i,"xml:lang")}i=f.getAll("link")[0];if(i&&i.attr("rel")=="stylesheet"){h.stylesheet=i.attr("href")}i=f.getAll("body")[0];if(i){h.langdir=d(i,"dir");h.style=d(i,"style");h.visited_color=d(i,"vlink");h.link_color=d(i,"link");h.active_color=d(i,"alink")}return h},_dataToHtml:function(g){var f,d,h,j,k,e=this.editor.dom;function c(n,l,m){n.attr(l,m?m:undefined)}function i(l){if(d.firstChild){d.insert(l,d.firstChild)}else{d.append(l)}}f=this._parseHeader();d=f.getAll("head")[0];if(!d){j=f.getAll("html")[0];d=new a("head",1);if(j.firstChild){j.insert(d,j.firstChild,true)}else{j.append(d)}}j=f.firstChild;if(g.xml_pi){k='version="1.0"';if(g.docencoding){k+=' encoding="'+g.docencoding+'"'}if(j.type!=7){j=new a("xml",7);f.insert(j,f.firstChild,true)}j.value=k}else{if(j&&j.type==7){j.remove()}}j=f.getAll("#doctype")[0];if(g.doctype){if(!j){j=new a("#doctype",10);if(g.xml_pi){f.insert(j,f.firstChild)}else{i(j)}}j.value=g.doctype.substring(9,g.doctype.length-1)}else{if(j){j.remove()}}j=f.getAll("title")[0];if(g.metatitle){if(!j){j=new a("title",1);j.append(new a("#text",3)).value=g.metatitle;i(j)}}if(g.docencoding){j=null;b(f.getAll("meta"),function(l){if(l.attr("http-equiv")=="Content-Type"){j=l}});if(!j){j=new a("meta",1);j.attr("http-equiv","Content-Type");j.shortEnded=true;i(j)}j.attr("content","text/html; charset="+g.docencoding)}b("keywords,description,author,copyright,robots".split(","),function(m){var l=f.getAll("meta"),n,p,o=g["meta"+m];for(n=0;n<l.length;n++){p=l[n];if(p.attr("name")==m){if(o){p.attr("content",o)}else{p.remove()}return}}if(o){j=new a("meta",1);j.attr("name",m);j.attr("content",o);j.shortEnded=true;i(j)}});j=f.getAll("link")[0];if(j&&j.attr("rel")=="stylesheet"){if(g.stylesheet){j.attr("href",g.stylesheet)}else{j.remove()}}else{if(g.stylesheet){j=new a("link",1);j.attr({rel:"stylesheet",text:"text/css",href:g.stylesheet});j.shortEnded=true;i(j)}}j=f.getAll("body")[0];if(j){c(j,"dir",g.langdir);c(j,"style",g.style);c(j,"vlink",g.visited_color);c(j,"link",g.link_color);c(j,"alink",g.active_color);e.setAttribs(this.editor.getBody(),{style:g.style,dir:g.dir,vLink:g.visited_color,link:g.link_color,aLink:g.active_color})}j=f.getAll("html")[0];if(j){c(j,"lang",g.langcode);c(j,"xml:lang",g.langcode)}h=new tinymce.html.Serializer({validate:false,indent:true,apply_source_formatting:true,indent_before:"head,html,body,meta,title,script,link,style",indent_after:"head,html,body,meta,title,script,link,style"}).serialize(f);this.head=h.substring(0,h.indexOf("</body>"))},_parseHeader:function(){return new tinymce.html.DomParser({validate:false,root_name:"#document"}).parse(this.head)},_setContent:function(g,d){var m=this,i,c,h=d.content,f,l="",e=m.editor.dom,j;function k(n){return n.replace(/<\/?[A-Z]+/g,function(o){return o.toLowerCase()})}if(d.format=="raw"&&m.head){return}if(d.source_view&&g.getParam("fullpage_hide_in_source_view")){return}h=h.replace(/<(\/?)BODY/gi,"<$1body");i=h.indexOf("<body");if(i!=-1){i=h.indexOf(">",i);m.head=k(h.substring(0,i+1));c=h.indexOf("</body",i);if(c==-1){c=h.length}d.content=h.substring(i+1,c);m.foot=k(h.substring(c))}else{m.head=this._getDefaultHeader();m.foot="\n</body>\n</html>"}f=m._parseHeader();b(f.getAll("style"),function(n){if(n.firstChild){l+=n.firstChild.value}});j=f.getAll("body")[0];if(j){e.setAttribs(m.editor.getBody(),{style:j.attr("style")||"",dir:j.attr("dir")||"",vLink:j.attr("vlink")||"",link:j.attr("link")||"",aLink:j.attr("alink")||""})}e.remove("fullpage_styles");if(l){e.add(m.editor.getDoc().getElementsByTagName("head")[0],"style",{id:"fullpage_styles"},l);j=e.get("fullpage_styles");if(j.styleSheet){j.styleSheet.cssText=l}}},_getDefaultHeader:function(){var f="",c=this.editor,e,d="";if(c.getParam("fullpage_default_xml_pi")){f+='<?xml version="1.0" encoding="'+c.getParam("fullpage_default_encoding","ISO-8859-1")+'" ?>\n'}f+=c.getParam("fullpage_default_doctype",'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');f+="\n<html>\n<head>\n";if(e=c.getParam("fullpage_default_title")){f+="<title>"+e+"</title>\n"}if(e=c.getParam("fullpage_default_encoding")){f+='<meta http-equiv="Content-Type" content="text/html; charset='+e+'" />\n'}if(e=c.getParam("fullpage_default_font_family")){d+="font-family: "+e+";"}if(e=c.getParam("fullpage_default_font_size")){d+="font-size: "+e+";"}if(e=c.getParam("fullpage_default_text_color")){d+="color: "+e+";"}f+="</head>\n<body"+(d?' style="'+d+'"':"")+">\n";return f},_getContent:function(d,e){var c=this;if(!e.source_view||!d.getParam("fullpage_hide_in_source_view")){e.content=tinymce.trim(c.head)+"\n"+tinymce.trim(e.content)+"\n"+tinymce.trim(c.foot)}}});tinymce.PluginManager.add("fullpage",tinymce.plugins.FullPagePlugin)})();
@@ -1,405 +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 each = tinymce.each, Node = tinymce.html.Node;
13
-
14
- tinymce.create('tinymce.plugins.FullPagePlugin', {
15
- init : function(ed, url) {
16
- var t = this;
17
-
18
- t.editor = ed;
19
-
20
- // Register commands
21
- ed.addCommand('mceFullPageProperties', function() {
22
- ed.windowManager.open({
23
- file : url + '/fullpage.htm',
24
- width : 430 + parseInt(ed.getLang('fullpage.delta_width', 0)),
25
- height : 495 + parseInt(ed.getLang('fullpage.delta_height', 0)),
26
- inline : 1
27
- }, {
28
- plugin_url : url,
29
- data : t._htmlToData()
30
- });
31
- });
32
-
33
- // Register buttons
34
- ed.addButton('fullpage', {title : 'fullpage.desc', cmd : 'mceFullPageProperties'});
35
-
36
- ed.onBeforeSetContent.add(t._setContent, t);
37
- ed.onGetContent.add(t._getContent, t);
38
- },
39
-
40
- getInfo : function() {
41
- return {
42
- longname : 'Fullpage',
43
- author : 'Moxiecode Systems AB',
44
- authorurl : 'http://tinymce.moxiecode.com',
45
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage',
46
- version : tinymce.majorVersion + "." + tinymce.minorVersion
47
- };
48
- },
49
-
50
- // Private plugin internal methods
51
-
52
- _htmlToData : function() {
53
- var headerFragment = this._parseHeader(), data = {}, nodes, elm, matches, editor = this.editor;
54
-
55
- function getAttr(elm, name) {
56
- var value = elm.attr(name);
57
-
58
- return value || '';
59
- };
60
-
61
- // Default some values
62
- data.fontface = editor.getParam("fullpage_default_fontface", "");
63
- data.fontsize = editor.getParam("fullpage_default_fontsize", "");
64
-
65
- // Parse XML PI
66
- elm = headerFragment.firstChild;
67
- if (elm.type == 7) {
68
- data.xml_pi = true;
69
- matches = /encoding="([^"]+)"/.exec(elm.value);
70
- if (matches)
71
- data.docencoding = matches[1];
72
- }
73
-
74
- // Parse doctype
75
- elm = headerFragment.getAll('#doctype')[0];
76
- if (elm)
77
- data.doctype = '<!DOCTYPE' + elm.value + ">";
78
-
79
- // Parse title element
80
- elm = headerFragment.getAll('title')[0];
81
- if (elm && elm.firstChild) {
82
- data.metatitle = elm.firstChild.value;
83
- }
84
-
85
- // Parse meta elements
86
- each(headerFragment.getAll('meta'), function(meta) {
87
- var name = meta.attr('name'), httpEquiv = meta.attr('http-equiv'), matches;
88
-
89
- if (name)
90
- data['meta' + name.toLowerCase()] = meta.attr('content');
91
- else if (httpEquiv == "Content-Type") {
92
- matches = /charset\s*=\s*(.*)\s*/gi.exec(meta.attr('content'));
93
-
94
- if (matches)
95
- data.docencoding = matches[1];
96
- }
97
- });
98
-
99
- // Parse html attribs
100
- elm = headerFragment.getAll('html')[0];
101
- if (elm)
102
- data.langcode = getAttr(elm, 'lang') || getAttr(elm, 'xml:lang');
103
-
104
- // Parse stylesheet
105
- elm = headerFragment.getAll('link')[0];
106
- if (elm && elm.attr('rel') == 'stylesheet')
107
- data.stylesheet = elm.attr('href');
108
-
109
- // Parse body parts
110
- elm = headerFragment.getAll('body')[0];
111
- if (elm) {
112
- data.langdir = getAttr(elm, 'dir');
113
- data.style = getAttr(elm, 'style');
114
- data.visited_color = getAttr(elm, 'vlink');
115
- data.link_color = getAttr(elm, 'link');
116
- data.active_color = getAttr(elm, 'alink');
117
- }
118
-
119
- return data;
120
- },
121
-
122
- _dataToHtml : function(data) {
123
- var headerFragment, headElement, html, elm, value, dom = this.editor.dom;
124
-
125
- function setAttr(elm, name, value) {
126
- elm.attr(name, value ? value : undefined);
127
- };
128
-
129
- function addHeadNode(node) {
130
- if (headElement.firstChild)
131
- headElement.insert(node, headElement.firstChild);
132
- else
133
- headElement.append(node);
134
- };
135
-
136
- headerFragment = this._parseHeader();
137
- headElement = headerFragment.getAll('head')[0];
138
- if (!headElement) {
139
- elm = headerFragment.getAll('html')[0];
140
- headElement = new Node('head', 1);
141
-
142
- if (elm.firstChild)
143
- elm.insert(headElement, elm.firstChild, true);
144
- else
145
- elm.append(headElement);
146
- }
147
-
148
- // Add/update/remove XML-PI
149
- elm = headerFragment.firstChild;
150
- if (data.xml_pi) {
151
- value = 'version="1.0"';
152
-
153
- if (data.docencoding)
154
- value += ' encoding="' + data.docencoding + '"';
155
-
156
- if (elm.type != 7) {
157
- elm = new Node('xml', 7);
158
- headerFragment.insert(elm, headerFragment.firstChild, true);
159
- }
160
-
161
- elm.value = value;
162
- } else if (elm && elm.type == 7)
163
- elm.remove();
164
-
165
- // Add/update/remove doctype
166
- elm = headerFragment.getAll('#doctype')[0];
167
- if (data.doctype) {
168
- if (!elm) {
169
- elm = new Node('#doctype', 10);
170
-
171
- if (data.xml_pi)
172
- headerFragment.insert(elm, headerFragment.firstChild);
173
- else
174
- addHeadNode(elm);
175
- }
176
-
177
- elm.value = data.doctype.substring(9, data.doctype.length - 1);
178
- } else if (elm)
179
- elm.remove();
180
-
181
- // Add/update/remove title
182
- elm = headerFragment.getAll('title')[0];
183
- if (data.metatitle) {
184
- if (!elm) {
185
- elm = new Node('title', 1);
186
- elm.append(new Node('#text', 3)).value = data.metatitle;
187
- addHeadNode(elm);
188
- }
189
- }
190
-
191
- // Add meta encoding
192
- if (data.docencoding) {
193
- elm = null;
194
- each(headerFragment.getAll('meta'), function(meta) {
195
- if (meta.attr('http-equiv') == 'Content-Type')
196
- elm = meta;
197
- });
198
-
199
- if (!elm) {
200
- elm = new Node('meta', 1);
201
- elm.attr('http-equiv', 'Content-Type');
202
- elm.shortEnded = true;
203
- addHeadNode(elm);
204
- }
205
-
206
- elm.attr('content', 'text/html; charset=' + data.docencoding);
207
- }
208
-
209
- // Add/update/remove meta
210
- each('keywords,description,author,copyright,robots'.split(','), function(name) {
211
- var nodes = headerFragment.getAll('meta'), i, meta, value = data['meta' + name];
212
-
213
- for (i = 0; i < nodes.length; i++) {
214
- meta = nodes[i];
215
-
216
- if (meta.attr('name') == name) {
217
- if (value)
218
- meta.attr('content', value);
219
- else
220
- meta.remove();
221
-
222
- return;
223
- }
224
- }
225
-
226
- if (value) {
227
- elm = new Node('meta', 1);
228
- elm.attr('name', name);
229
- elm.attr('content', value);
230
- elm.shortEnded = true;
231
-
232
- addHeadNode(elm);
233
- }
234
- });
235
-
236
- // Add/update/delete link
237
- elm = headerFragment.getAll('link')[0];
238
- if (elm && elm.attr('rel') == 'stylesheet') {
239
- if (data.stylesheet)
240
- elm.attr('href', data.stylesheet);
241
- else
242
- elm.remove();
243
- } else if (data.stylesheet) {
244
- elm = new Node('link', 1);
245
- elm.attr({
246
- rel : 'stylesheet',
247
- text : 'text/css',
248
- href : data.stylesheet
249
- });
250
- elm.shortEnded = true;
251
-
252
- addHeadNode(elm);
253
- }
254
-
255
- // Update body attributes
256
- elm = headerFragment.getAll('body')[0];
257
- if (elm) {
258
- setAttr(elm, 'dir', data.langdir);
259
- setAttr(elm, 'style', data.style);
260
- setAttr(elm, 'vlink', data.visited_color);
261
- setAttr(elm, 'link', data.link_color);
262
- setAttr(elm, 'alink', data.active_color);
263
-
264
- // Update iframe body as well
265
- dom.setAttribs(this.editor.getBody(), {
266
- style : data.style,
267
- dir : data.dir,
268
- vLink : data.visited_color,
269
- link : data.link_color,
270
- aLink : data.active_color
271
- });
272
- }
273
-
274
- // Set html attributes
275
- elm = headerFragment.getAll('html')[0];
276
- if (elm) {
277
- setAttr(elm, 'lang', data.langcode);
278
- setAttr(elm, 'xml:lang', data.langcode);
279
- }
280
-
281
- // Serialize header fragment and crop away body part
282
- html = new tinymce.html.Serializer({
283
- validate: false,
284
- indent: true,
285
- apply_source_formatting : true,
286
- indent_before: 'head,html,body,meta,title,script,link,style',
287
- indent_after: 'head,html,body,meta,title,script,link,style'
288
- }).serialize(headerFragment);
289
-
290
- this.head = html.substring(0, html.indexOf('</body>'));
291
- },
292
-
293
- _parseHeader : function() {
294
- // Parse the contents with a DOM parser
295
- return new tinymce.html.DomParser({
296
- validate: false,
297
- root_name: '#document'
298
- }).parse(this.head);
299
- },
300
-
301
- _setContent : function(ed, o) {
302
- var self = this, startPos, endPos, content = o.content, headerFragment, styles = '', dom = self.editor.dom, elm;
303
-
304
- function low(s) {
305
- return s.replace(/<\/?[A-Z]+/g, function(a) {
306
- return a.toLowerCase();
307
- })
308
- };
309
-
310
- // Ignore raw updated if we already have a head, this will fix issues with undo/redo keeping the head/foot separate
311
- if (o.format == 'raw' && self.head)
312
- return;
313
-
314
- if (o.source_view && ed.getParam('fullpage_hide_in_source_view'))
315
- return;
316
-
317
- // Parse out head, body and footer
318
- content = content.replace(/<(\/?)BODY/gi, '<$1body');
319
- startPos = content.indexOf('<body');
320
-
321
- if (startPos != -1) {
322
- startPos = content.indexOf('>', startPos);
323
- self.head = low(content.substring(0, startPos + 1));
324
-
325
- endPos = content.indexOf('</body', startPos);
326
- if (endPos == -1)
327
- endPos = content.length;
328
-
329
- o.content = content.substring(startPos + 1, endPos);
330
- self.foot = low(content.substring(endPos));
331
- } else {
332
- self.head = this._getDefaultHeader();
333
- self.foot = '\n</body>\n</html>';
334
- }
335
-
336
- // Parse header and update iframe
337
- headerFragment = self._parseHeader();
338
- each(headerFragment.getAll('style'), function(node) {
339
- if (node.firstChild)
340
- styles += node.firstChild.value;
341
- });
342
-
343
- elm = headerFragment.getAll('body')[0];
344
- if (elm) {
345
- dom.setAttribs(self.editor.getBody(), {
346
- style : elm.attr('style') || '',
347
- dir : elm.attr('dir') || '',
348
- vLink : elm.attr('vlink') || '',
349
- link : elm.attr('link') || '',
350
- aLink : elm.attr('alink') || ''
351
- });
352
- }
353
-
354
- dom.remove('fullpage_styles');
355
-
356
- if (styles) {
357
- dom.add(self.editor.getDoc().getElementsByTagName('head')[0], 'style', {id : 'fullpage_styles'}, styles);
358
-
359
- // Needed for IE 6/7
360
- elm = dom.get('fullpage_styles');
361
- if (elm.styleSheet)
362
- elm.styleSheet.cssText = styles;
363
- }
364
- },
365
-
366
- _getDefaultHeader : function() {
367
- var header = '', editor = this.editor, value, styles = '';
368
-
369
- if (editor.getParam('fullpage_default_xml_pi'))
370
- header += '<?xml version="1.0" encoding="' + editor.getParam('fullpage_default_encoding', 'ISO-8859-1') + '" ?>\n';
371
-
372
- header += editor.getParam('fullpage_default_doctype', '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');
373
- header += '\n<html>\n<head>\n';
374
-
375
- if (value = editor.getParam('fullpage_default_title'))
376
- header += '<title>' + value + '</title>\n';
377
-
378
- if (value = editor.getParam('fullpage_default_encoding'))
379
- header += '<meta http-equiv="Content-Type" content="text/html; charset=' + value + '" />\n';
380
-
381
- if (value = editor.getParam('fullpage_default_font_family'))
382
- styles += 'font-family: ' + value + ';';
383
-
384
- if (value = editor.getParam('fullpage_default_font_size'))
385
- styles += 'font-size: ' + value + ';';
386
-
387
- if (value = editor.getParam('fullpage_default_text_color'))
388
- styles += 'color: ' + value + ';';
389
-
390
- header += '</head>\n<body' + (styles ? ' style="' + styles + '"' : '') + '>\n';
391
-
392
- return header;
393
- },
394
-
395
- _getContent : function(ed, o) {
396
- var self = this;
397
-
398
- if (!o.source_view || !ed.getParam('fullpage_hide_in_source_view'))
399
- o.content = tinymce.trim(self.head) + '\n' + tinymce.trim(o.content) + '\n' + tinymce.trim(self.foot);
400
- }
401
- });
402
-
403
- // Register plugin
404
- tinymce.PluginManager.add('fullpage', tinymce.plugins.FullPagePlugin);
405
- })();