lucy_cms 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +19 -0
- data/Gemfile.lock +88 -0
- data/LICENSE +24 -0
- data/README.md +161 -0
- data/Rakefile +26 -0
- data/VERSION +1 -0
- data/app/controllers/application_controller.rb +5 -0
- data/app/controllers/cms_admin/base_controller.rb +43 -0
- data/app/controllers/cms_admin/layouts_controller.rb +66 -0
- data/app/controllers/cms_admin/pages_controller.rb +111 -0
- data/app/controllers/cms_admin/sessions_controller.rb +25 -0
- data/app/controllers/cms_admin/sites_controller.rb +69 -0
- data/app/controllers/cms_admin/snippets_controller.rb +62 -0
- data/app/controllers/cms_admin/upload_dirs_controller.rb +79 -0
- data/app/controllers/cms_admin/users_controller.rb +129 -0
- data/app/controllers/cms_content_controller.rb +51 -0
- data/app/models/cms_block.rb +28 -0
- data/app/models/cms_layout.rb +118 -0
- data/app/models/cms_page.rb +163 -0
- data/app/models/cms_site.rb +38 -0
- data/app/models/cms_snippet.rb +70 -0
- data/app/models/cms_upload.rb +19 -0
- data/app/models/cms_upload_dir.rb +11 -0
- data/app/models/cms_user.rb +93 -0
- data/app/views/cms_admin/layouts/_form.html.erb +10 -0
- data/app/views/cms_admin/layouts/_index_branch.html.erb +24 -0
- data/app/views/cms_admin/layouts/edit.html.erb +6 -0
- data/app/views/cms_admin/layouts/index.html.erb +6 -0
- data/app/views/cms_admin/layouts/new.html.erb +6 -0
- data/app/views/cms_admin/pages/_form.html.erb +37 -0
- data/app/views/cms_admin/pages/_form_blocks.html.erb +7 -0
- data/app/views/cms_admin/pages/_index_branch.html.erb +40 -0
- data/app/views/cms_admin/pages/edit.html.erb +5 -0
- data/app/views/cms_admin/pages/form_blocks.js.erb +2 -0
- data/app/views/cms_admin/pages/index.html.erb +6 -0
- data/app/views/cms_admin/pages/new.html.erb +5 -0
- data/app/views/cms_admin/pages/toggle_branch.js.erb +11 -0
- data/app/views/cms_admin/sessions/new.html.erb +12 -0
- data/app/views/cms_admin/sites/_form.html.erb +16 -0
- data/app/views/cms_admin/sites/edit.html.erb +6 -0
- data/app/views/cms_admin/sites/new.html.erb +6 -0
- data/app/views/cms_admin/sites/setup.html.erb +16 -0
- data/app/views/cms_admin/snippets/_form.html.erb +4 -0
- data/app/views/cms_admin/snippets/edit.html.erb +6 -0
- data/app/views/cms_admin/snippets/index.html.erb +23 -0
- data/app/views/cms_admin/snippets/new.html.erb +6 -0
- data/app/views/cms_admin/upload_dirs/_file.html.erb +15 -0
- data/app/views/cms_admin/upload_dirs/_form.html.erb +2 -0
- data/app/views/cms_admin/upload_dirs/conflict.html.erb +12 -0
- data/app/views/cms_admin/upload_dirs/index.html.erb +23 -0
- data/app/views/cms_admin/upload_dirs/new.html.erb +6 -0
- data/app/views/cms_admin/upload_dirs/show.html.erb +26 -0
- data/app/views/cms_admin/upload_dirs/uploads_destroy.js.erb +3 -0
- data/app/views/cms_admin/users/_form.html.erb +9 -0
- data/app/views/cms_admin/users/_index_branch.html.erb +16 -0
- data/app/views/cms_admin/users/change_password.html.erb +14 -0
- data/app/views/cms_admin/users/edit.html.erb +17 -0
- data/app/views/cms_admin/users/index.html.erb +6 -0
- data/app/views/cms_admin/users/new.html.erb +14 -0
- data/app/views/layouts/cms_admin.html.erb +52 -0
- data/config/application.rb +48 -0
- data/config/boot.rb +13 -0
- data/config/database.yml +22 -0
- data/config/environment.rb +5 -0
- data/config/environments/development.rb +22 -0
- data/config/environments/production.rb +49 -0
- data/config/environments/test.rb +35 -0
- data/config/initializers/LucyCMS.rb +37 -0
- data/config/initializers/mime_types.rb +5 -0
- data/config/locales/en.yml +5 -0
- data/config/routes.rb +45 -0
- data/config.ru +4 -0
- data/db/cms_seeds/example.local/layouts/default.yml +8 -0
- data/db/cms_seeds/example.local/layouts/nested.yml +6 -0
- data/db/cms_seeds/example.local/pages/child/subchild.yml +14 -0
- data/db/cms_seeds/example.local/pages/child.yml +10 -0
- data/db/cms_seeds/example.local/pages/index.yml +11 -0
- data/db/cms_seeds/example.local/snippets/example.yml +4 -0
- data/db/migrate/01_create_cms.rb +114 -0
- data/db/seeds.rb +7 -0
- data/lib/LucyCMS/acts_as_tree.rb +102 -0
- data/lib/LucyCMS/cms_tag/field_datetime.rb +26 -0
- data/lib/LucyCMS/cms_tag/field_integer.rb +26 -0
- data/lib/LucyCMS/cms_tag/field_string.rb +26 -0
- data/lib/LucyCMS/cms_tag/field_text.rb +26 -0
- data/lib/LucyCMS/cms_tag/helper.rb +20 -0
- data/lib/LucyCMS/cms_tag/page_datetime.rb +22 -0
- data/lib/LucyCMS/cms_tag/page_integer.rb +22 -0
- data/lib/LucyCMS/cms_tag/page_rich_text.rb +22 -0
- data/lib/LucyCMS/cms_tag/page_string.rb +22 -0
- data/lib/LucyCMS/cms_tag/page_text.rb +22 -0
- data/lib/LucyCMS/cms_tag/partial.rb +21 -0
- data/lib/LucyCMS/cms_tag/snippet.rb +22 -0
- data/lib/LucyCMS/cms_tag.rb +119 -0
- data/lib/LucyCMS/configuration.rb +36 -0
- data/lib/LucyCMS/controller_methods.rb +42 -0
- data/lib/LucyCMS/engine.rb +12 -0
- data/lib/LucyCMS/form_builder.rb +129 -0
- data/lib/LucyCMS/rails_extensions.rb +22 -0
- data/lib/LucyCMS/site_form_builder.rb +129 -0
- data/lib/LucyCMS/view_hooks.rb +30 -0
- data/lib/LucyCMS/view_methods.rb +68 -0
- data/lib/LucyCMS.rb +40 -0
- data/lib/generators/README +17 -0
- data/lib/generators/cms_generator.rb +44 -0
- data/lib/tasks/LucyCMS.rake +283 -0
- data/lucy_cms.gemspec +100 -0
- data/public/404.html +26 -0
- data/public/422.html +26 -0
- data/public/500.html +26 -0
- data/public/favicon.ico +0 -0
- data/public/images/LucyCMS/arrow_bottom.gif +0 -0
- data/public/images/LucyCMS/arrow_right.gif +0 -0
- data/public/images/LucyCMS/icon_folder.png +0 -0
- data/public/images/LucyCMS/icon_layout.gif +0 -0
- data/public/images/LucyCMS/icon_move.gif +0 -0
- data/public/images/LucyCMS/icon_regular.gif +0 -0
- data/public/images/LucyCMS/icon_snippet.gif +0 -0
- data/public/images/LucyCMS/icon_upload.png +0 -0
- data/public/images/LucyCMS/icon_user.jpg +0 -0
- data/public/javascripts/LucyCMS/cms.js +204 -0
- data/public/javascripts/LucyCMS/codemirror/codemirror.css +102 -0
- data/public/javascripts/LucyCMS/codemirror/codemirror.js +23 -0
- data/public/javascripts/LucyCMS/codemirror/codemirror_base.js +88 -0
- data/public/javascripts/LucyCMS/codemirror/parse_css.js +4 -0
- data/public/javascripts/LucyCMS/codemirror/parse_html_mixed.js +3 -0
- data/public/javascripts/LucyCMS/codemirror/parse_js.js +12 -0
- data/public/javascripts/LucyCMS/codemirror/parse_xml.js +7 -0
- data/public/javascripts/LucyCMS/jquery-ui/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/public/javascripts/LucyCMS/jquery-ui/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/public/javascripts/LucyCMS/jquery-ui/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/public/javascripts/LucyCMS/jquery-ui/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/public/javascripts/LucyCMS/jquery-ui/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/public/javascripts/LucyCMS/jquery-ui/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/public/javascripts/LucyCMS/jquery-ui/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/public/javascripts/LucyCMS/jquery-ui/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/public/javascripts/LucyCMS/jquery-ui/images/ui-icons_222222_256x240.png +0 -0
- data/public/javascripts/LucyCMS/jquery-ui/images/ui-icons_2e83ff_256x240.png +0 -0
- data/public/javascripts/LucyCMS/jquery-ui/images/ui-icons_454545_256x240.png +0 -0
- data/public/javascripts/LucyCMS/jquery-ui/images/ui-icons_888888_256x240.png +0 -0
- data/public/javascripts/LucyCMS/jquery-ui/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/public/javascripts/LucyCMS/jquery-ui/jquery-ui.css +362 -0
- data/public/javascripts/LucyCMS/jquery-ui/jquery-ui.js +190 -0
- data/public/javascripts/LucyCMS/jquery.js +154 -0
- data/public/javascripts/LucyCMS/plupload/plupload.full.min.js +1 -0
- data/public/javascripts/LucyCMS/plupload/plupload.html5.min.js +1 -0
- data/public/javascripts/LucyCMS/plupload/plupload.min.js +1 -0
- data/public/javascripts/LucyCMS/rails.js +132 -0
- data/public/javascripts/LucyCMS/tiny_mce/jquery.tinymce.js +1 -0
- data/public/javascripts/LucyCMS/tiny_mce/langs/en.js +170 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/about.htm +54 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/anchor.htm +26 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/charmap.htm +52 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/color_picker.htm +73 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/editor_template.js +1 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/image.htm +80 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/img/icons.gif +0 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/js/about.js +72 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/js/anchor.js +37 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/js/charmap.js +335 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/js/color_picker.js +253 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/js/image.js +245 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/js/link.js +156 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/js/source_editor.js +56 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/langs/en.js +62 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/langs/en_dlg.js +51 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/link.htm +58 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/skins/default/content.css +36 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/skins/default/dialog.css +117 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/skins/default/ui.css +213 -0
- data/public/javascripts/LucyCMS/tiny_mce/themes/advanced/source_editor.htm +25 -0
- data/public/javascripts/LucyCMS/tiny_mce/tiny_mce.js +1 -0
- data/public/javascripts/LucyCMS/tiny_mce/tiny_mce_popup.js +5 -0
- data/public/robots.txt +5 -0
- data/public/stylesheets/LucyCMS/content.css +196 -0
- data/public/stylesheets/LucyCMS/form.css +125 -0
- data/public/stylesheets/LucyCMS/reset.css +1 -0
- data/public/stylesheets/LucyCMS/site_form.css +82 -0
- data/public/stylesheets/LucyCMS/structure.css +125 -0
- data/public/stylesheets/LucyCMS/typography.css +25 -0
- data/script/rails +6 -0
- data/test/cms_seeds/test.host/layouts/broken.yml +1 -0
- data/test/cms_seeds/test.host/layouts/default.yml +3 -0
- data/test/cms_seeds/test.host/layouts/nested.yml +4 -0
- data/test/cms_seeds/test.host/pages/broken.yml +1 -0
- data/test/cms_seeds/test.host/pages/child/subchild.yml +10 -0
- data/test/cms_seeds/test.host/pages/child.yml +10 -0
- data/test/cms_seeds/test.host/pages/index.yml +10 -0
- data/test/cms_seeds/test.host/snippets/broken.yml +1 -0
- data/test/cms_seeds/test.host/snippets/default.yml +3 -0
- data/test/fixtures/cms_blocks.yml +12 -0
- data/test/fixtures/cms_layouts.yml +36 -0
- data/test/fixtures/cms_pages.yml +39 -0
- data/test/fixtures/cms_sites.yml +3 -0
- data/test/fixtures/cms_snippets.yml +5 -0
- data/test/fixtures/cms_upload_dirs.yml +9 -0
- data/test/fixtures/cms_uploads.yml +4 -0
- data/test/fixtures/cms_users.yml +11 -0
- data/test/fixtures/files/invalid_file.gif +9 -0
- data/test/fixtures/files/valid_image.jpg +0 -0
- data/test/fixtures/views/_nav_hook.html.erb +1 -0
- data/test/fixtures/views/_nav_hook_2.html.erb +1 -0
- data/test/functional/cms_admin/layouts_controller_test.rb +103 -0
- data/test/functional/cms_admin/pages_controller_test.rb +334 -0
- data/test/functional/cms_admin/sites_controller_test.rb +99 -0
- data/test/functional/cms_admin/snippets_controller_test.rb +102 -0
- data/test/functional/cms_admin/uploads_controller_test.rb +26 -0
- data/test/functional/cms_content_controller_test.rb +134 -0
- data/test/integration/rake_tasks_test.rb +65 -0
- data/test/integration/render_cms_seed_test.rb +34 -0
- data/test/integration/render_cms_test.rb +81 -0
- data/test/integration/sites_test.rb +63 -0
- data/test/integration/view_hooks_test.rb +33 -0
- data/test/test_helper.rb +86 -0
- data/test/unit/cms_block_test.rb +43 -0
- data/test/unit/cms_configuration_test.rb +17 -0
- data/test/unit/cms_layout_test.rb +146 -0
- data/test/unit/cms_page_test.rb +257 -0
- data/test/unit/cms_site_test.rb +41 -0
- data/test/unit/cms_snippet_test.rb +77 -0
- data/test/unit/cms_tag_test.rb +206 -0
- data/test/unit/cms_tags/field_datetime_test.rb +34 -0
- data/test/unit/cms_tags/field_integer_test.rb +33 -0
- data/test/unit/cms_tags/field_string_test.rb +34 -0
- data/test/unit/cms_tags/field_text_test.rb +32 -0
- data/test/unit/cms_tags/helper_test.rb +38 -0
- data/test/unit/cms_tags/page_datetime_test.rb +34 -0
- data/test/unit/cms_tags/page_integer_test.rb +33 -0
- data/test/unit/cms_tags/page_rich_text.rb +33 -0
- data/test/unit/cms_tags/page_string_test.rb +33 -0
- data/test/unit/cms_tags/page_text_test.rb +34 -0
- data/test/unit/cms_tags/partial_test.rb +44 -0
- data/test/unit/cms_tags/snippet_test.rb +33 -0
- data/test/unit/cms_upload_dir_test.rb +8 -0
- data/test/unit/cms_upload_test.rb +26 -0
- data/test/unit/cms_user_test.rb +8 -0
- data/test/unit/view_methods_test.rb +21 -0
- metadata +488 -0
@@ -0,0 +1,245 @@
|
|
1
|
+
var ImageDialog = {
|
2
|
+
preInit : function() {
|
3
|
+
var url;
|
4
|
+
|
5
|
+
tinyMCEPopup.requireLangPack();
|
6
|
+
|
7
|
+
if (url = tinyMCEPopup.getParam("external_image_list_url"))
|
8
|
+
document.write('<script language="javascript" type="text/javascript" src="' + tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></script>');
|
9
|
+
},
|
10
|
+
|
11
|
+
init : function() {
|
12
|
+
var f = document.forms[0], ed = tinyMCEPopup.editor;
|
13
|
+
|
14
|
+
// Setup browse button
|
15
|
+
document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image');
|
16
|
+
if (isVisible('srcbrowser'))
|
17
|
+
document.getElementById('src').style.width = '180px';
|
18
|
+
|
19
|
+
e = ed.selection.getNode();
|
20
|
+
|
21
|
+
this.fillFileList('image_list', 'tinyMCEImageList');
|
22
|
+
|
23
|
+
if (e.nodeName == 'IMG') {
|
24
|
+
f.src.value = ed.dom.getAttrib(e, 'src');
|
25
|
+
f.alt.value = ed.dom.getAttrib(e, 'alt');
|
26
|
+
f.border.value = this.getAttrib(e, 'border');
|
27
|
+
f.vspace.value = this.getAttrib(e, 'vspace');
|
28
|
+
f.hspace.value = this.getAttrib(e, 'hspace');
|
29
|
+
f.width.value = ed.dom.getAttrib(e, 'width');
|
30
|
+
f.height.value = ed.dom.getAttrib(e, 'height');
|
31
|
+
f.insert.value = ed.getLang('update');
|
32
|
+
this.styleVal = ed.dom.getAttrib(e, 'style');
|
33
|
+
selectByValue(f, 'image_list', f.src.value);
|
34
|
+
selectByValue(f, 'align', this.getAttrib(e, 'align'));
|
35
|
+
this.updateStyle();
|
36
|
+
}
|
37
|
+
},
|
38
|
+
|
39
|
+
fillFileList : function(id, l) {
|
40
|
+
var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl;
|
41
|
+
|
42
|
+
l = window[l];
|
43
|
+
|
44
|
+
if (l && l.length > 0) {
|
45
|
+
lst.options[lst.options.length] = new Option('', '');
|
46
|
+
|
47
|
+
tinymce.each(l, function(o) {
|
48
|
+
lst.options[lst.options.length] = new Option(o[0], o[1]);
|
49
|
+
});
|
50
|
+
} else
|
51
|
+
dom.remove(dom.getParent(id, 'tr'));
|
52
|
+
},
|
53
|
+
|
54
|
+
update : function() {
|
55
|
+
var f = document.forms[0], nl = f.elements, ed = tinyMCEPopup.editor, args = {}, el;
|
56
|
+
|
57
|
+
tinyMCEPopup.restoreSelection();
|
58
|
+
|
59
|
+
if (f.src.value === '') {
|
60
|
+
if (ed.selection.getNode().nodeName == 'IMG') {
|
61
|
+
ed.dom.remove(ed.selection.getNode());
|
62
|
+
ed.execCommand('mceRepaint');
|
63
|
+
}
|
64
|
+
|
65
|
+
tinyMCEPopup.close();
|
66
|
+
return;
|
67
|
+
}
|
68
|
+
|
69
|
+
if (!ed.settings.inline_styles) {
|
70
|
+
args = tinymce.extend(args, {
|
71
|
+
vspace : nl.vspace.value,
|
72
|
+
hspace : nl.hspace.value,
|
73
|
+
border : nl.border.value,
|
74
|
+
align : getSelectValue(f, 'align')
|
75
|
+
});
|
76
|
+
} else
|
77
|
+
args.style = this.styleVal;
|
78
|
+
|
79
|
+
tinymce.extend(args, {
|
80
|
+
src : f.src.value,
|
81
|
+
alt : f.alt.value,
|
82
|
+
width : f.width.value,
|
83
|
+
height : f.height.value
|
84
|
+
});
|
85
|
+
|
86
|
+
el = ed.selection.getNode();
|
87
|
+
|
88
|
+
if (el && el.nodeName == 'IMG') {
|
89
|
+
ed.dom.setAttribs(el, args);
|
90
|
+
} else {
|
91
|
+
ed.execCommand('mceInsertContent', false, '<img id="__mce_tmp" />', {skip_undo : 1});
|
92
|
+
ed.dom.setAttribs('__mce_tmp', args);
|
93
|
+
ed.dom.setAttrib('__mce_tmp', 'id', '');
|
94
|
+
ed.undoManager.add();
|
95
|
+
}
|
96
|
+
|
97
|
+
tinyMCEPopup.close();
|
98
|
+
},
|
99
|
+
|
100
|
+
updateStyle : function() {
|
101
|
+
var dom = tinyMCEPopup.dom, st, v, f = document.forms[0];
|
102
|
+
|
103
|
+
if (tinyMCEPopup.editor.settings.inline_styles) {
|
104
|
+
st = tinyMCEPopup.dom.parseStyle(this.styleVal);
|
105
|
+
|
106
|
+
// Handle align
|
107
|
+
v = getSelectValue(f, 'align');
|
108
|
+
if (v) {
|
109
|
+
if (v == 'left' || v == 'right') {
|
110
|
+
st['float'] = v;
|
111
|
+
delete st['vertical-align'];
|
112
|
+
} else {
|
113
|
+
st['vertical-align'] = v;
|
114
|
+
delete st['float'];
|
115
|
+
}
|
116
|
+
} else {
|
117
|
+
delete st['float'];
|
118
|
+
delete st['vertical-align'];
|
119
|
+
}
|
120
|
+
|
121
|
+
// Handle border
|
122
|
+
v = f.border.value;
|
123
|
+
if (v || v == '0') {
|
124
|
+
if (v == '0')
|
125
|
+
st['border'] = '0';
|
126
|
+
else
|
127
|
+
st['border'] = v + 'px solid black';
|
128
|
+
} else
|
129
|
+
delete st['border'];
|
130
|
+
|
131
|
+
// Handle hspace
|
132
|
+
v = f.hspace.value;
|
133
|
+
if (v) {
|
134
|
+
delete st['margin'];
|
135
|
+
st['margin-left'] = v + 'px';
|
136
|
+
st['margin-right'] = v + 'px';
|
137
|
+
} else {
|
138
|
+
delete st['margin-left'];
|
139
|
+
delete st['margin-right'];
|
140
|
+
}
|
141
|
+
|
142
|
+
// Handle vspace
|
143
|
+
v = f.vspace.value;
|
144
|
+
if (v) {
|
145
|
+
delete st['margin'];
|
146
|
+
st['margin-top'] = v + 'px';
|
147
|
+
st['margin-bottom'] = v + 'px';
|
148
|
+
} else {
|
149
|
+
delete st['margin-top'];
|
150
|
+
delete st['margin-bottom'];
|
151
|
+
}
|
152
|
+
|
153
|
+
// Merge
|
154
|
+
st = tinyMCEPopup.dom.parseStyle(dom.serializeStyle(st), 'img');
|
155
|
+
this.styleVal = dom.serializeStyle(st, 'img');
|
156
|
+
}
|
157
|
+
},
|
158
|
+
|
159
|
+
getAttrib : function(e, at) {
|
160
|
+
var ed = tinyMCEPopup.editor, dom = ed.dom, v, v2;
|
161
|
+
|
162
|
+
if (ed.settings.inline_styles) {
|
163
|
+
switch (at) {
|
164
|
+
case 'align':
|
165
|
+
if (v = dom.getStyle(e, 'float'))
|
166
|
+
return v;
|
167
|
+
|
168
|
+
if (v = dom.getStyle(e, 'vertical-align'))
|
169
|
+
return v;
|
170
|
+
|
171
|
+
break;
|
172
|
+
|
173
|
+
case 'hspace':
|
174
|
+
v = dom.getStyle(e, 'margin-left')
|
175
|
+
v2 = dom.getStyle(e, 'margin-right');
|
176
|
+
if (v && v == v2)
|
177
|
+
return parseInt(v.replace(/[^0-9]/g, ''));
|
178
|
+
|
179
|
+
break;
|
180
|
+
|
181
|
+
case 'vspace':
|
182
|
+
v = dom.getStyle(e, 'margin-top')
|
183
|
+
v2 = dom.getStyle(e, 'margin-bottom');
|
184
|
+
if (v && v == v2)
|
185
|
+
return parseInt(v.replace(/[^0-9]/g, ''));
|
186
|
+
|
187
|
+
break;
|
188
|
+
|
189
|
+
case 'border':
|
190
|
+
v = 0;
|
191
|
+
|
192
|
+
tinymce.each(['top', 'right', 'bottom', 'left'], function(sv) {
|
193
|
+
sv = dom.getStyle(e, 'border-' + sv + '-width');
|
194
|
+
|
195
|
+
// False or not the same as prev
|
196
|
+
if (!sv || (sv != v && v !== 0)) {
|
197
|
+
v = 0;
|
198
|
+
return false;
|
199
|
+
}
|
200
|
+
|
201
|
+
if (sv)
|
202
|
+
v = sv;
|
203
|
+
});
|
204
|
+
|
205
|
+
if (v)
|
206
|
+
return parseInt(v.replace(/[^0-9]/g, ''));
|
207
|
+
|
208
|
+
break;
|
209
|
+
}
|
210
|
+
}
|
211
|
+
|
212
|
+
if (v = dom.getAttrib(e, at))
|
213
|
+
return v;
|
214
|
+
|
215
|
+
return '';
|
216
|
+
},
|
217
|
+
|
218
|
+
resetImageData : function() {
|
219
|
+
var f = document.forms[0];
|
220
|
+
|
221
|
+
f.width.value = f.height.value = "";
|
222
|
+
},
|
223
|
+
|
224
|
+
updateImageData : function() {
|
225
|
+
var f = document.forms[0], t = ImageDialog;
|
226
|
+
|
227
|
+
if (f.width.value == "")
|
228
|
+
f.width.value = t.preloadImg.width;
|
229
|
+
|
230
|
+
if (f.height.value == "")
|
231
|
+
f.height.value = t.preloadImg.height;
|
232
|
+
},
|
233
|
+
|
234
|
+
getImageData : function() {
|
235
|
+
var f = document.forms[0];
|
236
|
+
|
237
|
+
this.preloadImg = new Image();
|
238
|
+
this.preloadImg.onload = this.updateImageData;
|
239
|
+
this.preloadImg.onerror = this.resetImageData;
|
240
|
+
this.preloadImg.src = tinyMCEPopup.editor.documentBaseURI.toAbsolute(f.src.value);
|
241
|
+
}
|
242
|
+
};
|
243
|
+
|
244
|
+
ImageDialog.preInit();
|
245
|
+
tinyMCEPopup.onInit.add(ImageDialog.init, ImageDialog);
|
@@ -0,0 +1,156 @@
|
|
1
|
+
tinyMCEPopup.requireLangPack();
|
2
|
+
|
3
|
+
var LinkDialog = {
|
4
|
+
preInit : function() {
|
5
|
+
var url;
|
6
|
+
|
7
|
+
if (url = tinyMCEPopup.getParam("external_link_list_url"))
|
8
|
+
document.write('<script language="javascript" type="text/javascript" src="' + tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></script>');
|
9
|
+
},
|
10
|
+
|
11
|
+
init : function() {
|
12
|
+
var f = document.forms[0], ed = tinyMCEPopup.editor;
|
13
|
+
|
14
|
+
// Setup browse button
|
15
|
+
document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser', 'href', 'file', 'theme_advanced_link');
|
16
|
+
if (isVisible('hrefbrowser'))
|
17
|
+
document.getElementById('href').style.width = '180px';
|
18
|
+
|
19
|
+
this.fillClassList('class_list');
|
20
|
+
this.fillFileList('link_list', 'tinyMCELinkList');
|
21
|
+
this.fillTargetList('target_list');
|
22
|
+
|
23
|
+
if (e = ed.dom.getParent(ed.selection.getNode(), 'A')) {
|
24
|
+
f.href.value = ed.dom.getAttrib(e, 'href');
|
25
|
+
f.linktitle.value = ed.dom.getAttrib(e, 'title');
|
26
|
+
f.insert.value = ed.getLang('update');
|
27
|
+
selectByValue(f, 'link_list', f.href.value);
|
28
|
+
selectByValue(f, 'target_list', ed.dom.getAttrib(e, 'target'));
|
29
|
+
selectByValue(f, 'class_list', ed.dom.getAttrib(e, 'class'));
|
30
|
+
}
|
31
|
+
},
|
32
|
+
|
33
|
+
update : function() {
|
34
|
+
var f = document.forms[0], ed = tinyMCEPopup.editor, e, b;
|
35
|
+
|
36
|
+
tinyMCEPopup.restoreSelection();
|
37
|
+
e = ed.dom.getParent(ed.selection.getNode(), 'A');
|
38
|
+
|
39
|
+
// Remove element if there is no href
|
40
|
+
if (!f.href.value) {
|
41
|
+
if (e) {
|
42
|
+
tinyMCEPopup.execCommand("mceBeginUndoLevel");
|
43
|
+
b = ed.selection.getBookmark();
|
44
|
+
ed.dom.remove(e, 1);
|
45
|
+
ed.selection.moveToBookmark(b);
|
46
|
+
tinyMCEPopup.execCommand("mceEndUndoLevel");
|
47
|
+
tinyMCEPopup.close();
|
48
|
+
return;
|
49
|
+
}
|
50
|
+
}
|
51
|
+
|
52
|
+
tinyMCEPopup.execCommand("mceBeginUndoLevel");
|
53
|
+
|
54
|
+
// Create new anchor elements
|
55
|
+
if (e == null) {
|
56
|
+
ed.getDoc().execCommand("unlink", false, null);
|
57
|
+
tinyMCEPopup.execCommand("CreateLink", false, "#mce_temp_url#", {skip_undo : 1});
|
58
|
+
|
59
|
+
tinymce.each(ed.dom.select("a"), function(n) {
|
60
|
+
if (ed.dom.getAttrib(n, 'href') == '#mce_temp_url#') {
|
61
|
+
e = n;
|
62
|
+
|
63
|
+
ed.dom.setAttribs(e, {
|
64
|
+
href : f.href.value,
|
65
|
+
title : f.linktitle.value,
|
66
|
+
target : f.target_list ? getSelectValue(f, "target_list") : null,
|
67
|
+
'class' : f.class_list ? getSelectValue(f, "class_list") : null
|
68
|
+
});
|
69
|
+
}
|
70
|
+
});
|
71
|
+
} else {
|
72
|
+
ed.dom.setAttribs(e, {
|
73
|
+
href : f.href.value,
|
74
|
+
title : f.linktitle.value,
|
75
|
+
target : f.target_list ? getSelectValue(f, "target_list") : null,
|
76
|
+
'class' : f.class_list ? getSelectValue(f, "class_list") : null
|
77
|
+
});
|
78
|
+
}
|
79
|
+
|
80
|
+
// Don't move caret if selection was image
|
81
|
+
if (e.childNodes.length != 1 || e.firstChild.nodeName != 'IMG') {
|
82
|
+
ed.focus();
|
83
|
+
ed.selection.select(e);
|
84
|
+
ed.selection.collapse(0);
|
85
|
+
tinyMCEPopup.storeSelection();
|
86
|
+
}
|
87
|
+
|
88
|
+
tinyMCEPopup.execCommand("mceEndUndoLevel");
|
89
|
+
tinyMCEPopup.close();
|
90
|
+
},
|
91
|
+
|
92
|
+
checkPrefix : function(n) {
|
93
|
+
if (n.value && Validator.isEmail(n) && !/^\s*mailto:/i.test(n.value) && confirm(tinyMCEPopup.getLang('advanced_dlg.link_is_email')))
|
94
|
+
n.value = 'mailto:' + n.value;
|
95
|
+
|
96
|
+
if (/^\s*www\./i.test(n.value) && confirm(tinyMCEPopup.getLang('advanced_dlg.link_is_external')))
|
97
|
+
n.value = 'http://' + n.value;
|
98
|
+
},
|
99
|
+
|
100
|
+
fillFileList : function(id, l) {
|
101
|
+
var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl;
|
102
|
+
|
103
|
+
l = window[l];
|
104
|
+
|
105
|
+
if (l && l.length > 0) {
|
106
|
+
lst.options[lst.options.length] = new Option('', '');
|
107
|
+
|
108
|
+
tinymce.each(l, function(o) {
|
109
|
+
lst.options[lst.options.length] = new Option(o[0], o[1]);
|
110
|
+
});
|
111
|
+
} else
|
112
|
+
dom.remove(dom.getParent(id, 'tr'));
|
113
|
+
},
|
114
|
+
|
115
|
+
fillClassList : function(id) {
|
116
|
+
var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl;
|
117
|
+
|
118
|
+
if (v = tinyMCEPopup.getParam('theme_advanced_styles')) {
|
119
|
+
cl = [];
|
120
|
+
|
121
|
+
tinymce.each(v.split(';'), function(v) {
|
122
|
+
var p = v.split('=');
|
123
|
+
|
124
|
+
cl.push({'title' : p[0], 'class' : p[1]});
|
125
|
+
});
|
126
|
+
} else
|
127
|
+
cl = tinyMCEPopup.editor.dom.getClasses();
|
128
|
+
|
129
|
+
if (cl.length > 0) {
|
130
|
+
lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), '');
|
131
|
+
|
132
|
+
tinymce.each(cl, function(o) {
|
133
|
+
lst.options[lst.options.length] = new Option(o.title || o['class'], o['class']);
|
134
|
+
});
|
135
|
+
} else
|
136
|
+
dom.remove(dom.getParent(id, 'tr'));
|
137
|
+
},
|
138
|
+
|
139
|
+
fillTargetList : function(id) {
|
140
|
+
var dom = tinyMCEPopup.dom, lst = dom.get(id), v;
|
141
|
+
|
142
|
+
lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), '');
|
143
|
+
lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('advanced_dlg.link_target_same'), '_self');
|
144
|
+
lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('advanced_dlg.link_target_blank'), '_blank');
|
145
|
+
|
146
|
+
if (v = tinyMCEPopup.getParam('theme_advanced_link_targets')) {
|
147
|
+
tinymce.each(v.split(','), function(v) {
|
148
|
+
v = v.split('=');
|
149
|
+
lst.options[lst.options.length] = new Option(v[0], v[1]);
|
150
|
+
});
|
151
|
+
}
|
152
|
+
}
|
153
|
+
};
|
154
|
+
|
155
|
+
LinkDialog.preInit();
|
156
|
+
tinyMCEPopup.onInit.add(LinkDialog.init, LinkDialog);
|
@@ -0,0 +1,56 @@
|
|
1
|
+
tinyMCEPopup.requireLangPack();
|
2
|
+
tinyMCEPopup.onInit.add(onLoadInit);
|
3
|
+
|
4
|
+
function saveContent() {
|
5
|
+
tinyMCEPopup.editor.setContent(document.getElementById('htmlSource').value, {source_view : true});
|
6
|
+
tinyMCEPopup.close();
|
7
|
+
}
|
8
|
+
|
9
|
+
function onLoadInit() {
|
10
|
+
tinyMCEPopup.resizeToInnerSize();
|
11
|
+
|
12
|
+
// Remove Gecko spellchecking
|
13
|
+
if (tinymce.isGecko)
|
14
|
+
document.body.spellcheck = tinyMCEPopup.editor.getParam("gecko_spellcheck");
|
15
|
+
|
16
|
+
document.getElementById('htmlSource').value = tinyMCEPopup.editor.getContent({source_view : true});
|
17
|
+
|
18
|
+
if (tinyMCEPopup.editor.getParam("theme_advanced_source_editor_wrap", true)) {
|
19
|
+
setWrap('soft');
|
20
|
+
document.getElementById('wraped').checked = true;
|
21
|
+
}
|
22
|
+
|
23
|
+
resizeInputs();
|
24
|
+
}
|
25
|
+
|
26
|
+
function setWrap(val) {
|
27
|
+
var v, n, s = document.getElementById('htmlSource');
|
28
|
+
|
29
|
+
s.wrap = val;
|
30
|
+
|
31
|
+
if (!tinymce.isIE) {
|
32
|
+
v = s.value;
|
33
|
+
n = s.cloneNode(false);
|
34
|
+
n.setAttribute("wrap", val);
|
35
|
+
s.parentNode.replaceChild(n, s);
|
36
|
+
n.value = v;
|
37
|
+
}
|
38
|
+
}
|
39
|
+
|
40
|
+
function toggleWordWrap(elm) {
|
41
|
+
if (elm.checked)
|
42
|
+
setWrap('soft');
|
43
|
+
else
|
44
|
+
setWrap('off');
|
45
|
+
}
|
46
|
+
|
47
|
+
function resizeInputs() {
|
48
|
+
var vp = tinyMCEPopup.dom.getViewPort(window), el;
|
49
|
+
|
50
|
+
el = document.getElementById('htmlSource');
|
51
|
+
|
52
|
+
if (el) {
|
53
|
+
el.style.width = (vp.w - 20) + 'px';
|
54
|
+
el.style.height = (vp.h - 65) + 'px';
|
55
|
+
}
|
56
|
+
}
|
@@ -0,0 +1,62 @@
|
|
1
|
+
tinyMCE.addI18n('en.advanced',{
|
2
|
+
style_select:"Styles",
|
3
|
+
font_size:"Font size",
|
4
|
+
fontdefault:"Font family",
|
5
|
+
block:"Format",
|
6
|
+
paragraph:"Paragraph",
|
7
|
+
div:"Div",
|
8
|
+
address:"Address",
|
9
|
+
pre:"Preformatted",
|
10
|
+
h1:"Heading 1",
|
11
|
+
h2:"Heading 2",
|
12
|
+
h3:"Heading 3",
|
13
|
+
h4:"Heading 4",
|
14
|
+
h5:"Heading 5",
|
15
|
+
h6:"Heading 6",
|
16
|
+
blockquote:"Blockquote",
|
17
|
+
code:"Code",
|
18
|
+
samp:"Code sample",
|
19
|
+
dt:"Definition term ",
|
20
|
+
dd:"Definition description",
|
21
|
+
bold_desc:"Bold (Ctrl+B)",
|
22
|
+
italic_desc:"Italic (Ctrl+I)",
|
23
|
+
underline_desc:"Underline (Ctrl+U)",
|
24
|
+
striketrough_desc:"Strikethrough",
|
25
|
+
justifyleft_desc:"Align left",
|
26
|
+
justifycenter_desc:"Align center",
|
27
|
+
justifyright_desc:"Align right",
|
28
|
+
justifyfull_desc:"Align full",
|
29
|
+
bullist_desc:"Unordered list",
|
30
|
+
numlist_desc:"Ordered list",
|
31
|
+
outdent_desc:"Outdent",
|
32
|
+
indent_desc:"Indent",
|
33
|
+
undo_desc:"Undo (Ctrl+Z)",
|
34
|
+
redo_desc:"Redo (Ctrl+Y)",
|
35
|
+
link_desc:"Insert/edit link",
|
36
|
+
unlink_desc:"Unlink",
|
37
|
+
image_desc:"Insert/edit image",
|
38
|
+
cleanup_desc:"Cleanup messy code",
|
39
|
+
code_desc:"Edit HTML Source",
|
40
|
+
sub_desc:"Subscript",
|
41
|
+
sup_desc:"Superscript",
|
42
|
+
hr_desc:"Insert horizontal ruler",
|
43
|
+
removeformat_desc:"Remove formatting",
|
44
|
+
custom1_desc:"Your custom description here",
|
45
|
+
forecolor_desc:"Select text color",
|
46
|
+
backcolor_desc:"Select background color",
|
47
|
+
charmap_desc:"Insert custom character",
|
48
|
+
visualaid_desc:"Toggle guidelines/invisible elements",
|
49
|
+
anchor_desc:"Insert/edit anchor",
|
50
|
+
cut_desc:"Cut",
|
51
|
+
copy_desc:"Copy",
|
52
|
+
paste_desc:"Paste",
|
53
|
+
image_props_desc:"Image properties",
|
54
|
+
newdocument_desc:"New document",
|
55
|
+
help_desc:"Help",
|
56
|
+
blockquote_desc:"Blockquote",
|
57
|
+
clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.\r\nDo you want more information about this issue?",
|
58
|
+
path:"Path",
|
59
|
+
newdocument:"Are you sure you want clear all contents?",
|
60
|
+
toolbar_focus:"Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X",
|
61
|
+
more_colors:"More colors"
|
62
|
+
});
|
@@ -0,0 +1,51 @@
|
|
1
|
+
tinyMCE.addI18n('en.advanced_dlg',{
|
2
|
+
about_title:"About TinyMCE",
|
3
|
+
about_general:"About",
|
4
|
+
about_help:"Help",
|
5
|
+
about_license:"License",
|
6
|
+
about_plugins:"Plugins",
|
7
|
+
about_plugin:"Plugin",
|
8
|
+
about_author:"Author",
|
9
|
+
about_version:"Version",
|
10
|
+
about_loaded:"Loaded plugins",
|
11
|
+
anchor_title:"Insert/edit anchor",
|
12
|
+
anchor_name:"Anchor name",
|
13
|
+
code_title:"HTML Source Editor",
|
14
|
+
code_wordwrap:"Word wrap",
|
15
|
+
colorpicker_title:"Select a color",
|
16
|
+
colorpicker_picker_tab:"Picker",
|
17
|
+
colorpicker_picker_title:"Color picker",
|
18
|
+
colorpicker_palette_tab:"Palette",
|
19
|
+
colorpicker_palette_title:"Palette colors",
|
20
|
+
colorpicker_named_tab:"Named",
|
21
|
+
colorpicker_named_title:"Named colors",
|
22
|
+
colorpicker_color:"Color:",
|
23
|
+
colorpicker_name:"Name:",
|
24
|
+
charmap_title:"Select custom character",
|
25
|
+
image_title:"Insert/edit image",
|
26
|
+
image_src:"Image URL",
|
27
|
+
image_alt:"Image description",
|
28
|
+
image_list:"Image list",
|
29
|
+
image_border:"Border",
|
30
|
+
image_dimensions:"Dimensions",
|
31
|
+
image_vspace:"Vertical space",
|
32
|
+
image_hspace:"Horizontal space",
|
33
|
+
image_align:"Alignment",
|
34
|
+
image_align_baseline:"Baseline",
|
35
|
+
image_align_top:"Top",
|
36
|
+
image_align_middle:"Middle",
|
37
|
+
image_align_bottom:"Bottom",
|
38
|
+
image_align_texttop:"Text top",
|
39
|
+
image_align_textbottom:"Text bottom",
|
40
|
+
image_align_left:"Left",
|
41
|
+
image_align_right:"Right",
|
42
|
+
link_title:"Insert/edit link",
|
43
|
+
link_url:"Link URL",
|
44
|
+
link_target:"Target",
|
45
|
+
link_target_same:"Open link in the same window",
|
46
|
+
link_target_blank:"Open link in a new window",
|
47
|
+
link_titlefield:"Title",
|
48
|
+
link_is_email:"The URL you entered seems to be an email address, do you want to add the required mailto: prefix?",
|
49
|
+
link_is_external:"The URL you entered seems to external link, do you want to add the required http:// prefix?",
|
50
|
+
link_list:"Link list"
|
51
|
+
});
|
@@ -0,0 +1,58 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
2
|
+
<html xmlns="http://www.w3.org/1999/xhtml">
|
3
|
+
<head>
|
4
|
+
<title>{#advanced_dlg.link_title}</title>
|
5
|
+
<script type="text/javascript" src="../../tiny_mce_popup.js"></script>
|
6
|
+
<script type="text/javascript" src="../../utils/mctabs.js"></script>
|
7
|
+
<script type="text/javascript" src="../../utils/form_utils.js"></script>
|
8
|
+
<script type="text/javascript" src="../../utils/validate.js"></script>
|
9
|
+
<script type="text/javascript" src="js/link.js"></script>
|
10
|
+
</head>
|
11
|
+
<body id="link" style="display: none">
|
12
|
+
<form onsubmit="LinkDialog.update();return false;" action="#">
|
13
|
+
<div class="tabs">
|
14
|
+
<ul>
|
15
|
+
<li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#advanced_dlg.link_title}</a></span></li>
|
16
|
+
</ul>
|
17
|
+
</div>
|
18
|
+
|
19
|
+
<div class="panel_wrapper">
|
20
|
+
<div id="general_panel" class="panel current">
|
21
|
+
|
22
|
+
<table border="0" cellpadding="4" cellspacing="0">
|
23
|
+
<tr>
|
24
|
+
<td class="nowrap"><label for="href">{#advanced_dlg.link_url}</label></td>
|
25
|
+
<td><table border="0" cellspacing="0" cellpadding="0">
|
26
|
+
<tr>
|
27
|
+
<td><input id="href" name="href" type="text" class="mceFocus" value="" style="width: 200px" onchange="LinkDialog.checkPrefix(this);" /></td>
|
28
|
+
<td id="hrefbrowsercontainer"> </td>
|
29
|
+
</tr>
|
30
|
+
</table></td>
|
31
|
+
</tr>
|
32
|
+
<tr>
|
33
|
+
<td><label for="link_list">{#advanced_dlg.link_list}</label></td>
|
34
|
+
<td><select id="link_list" name="link_list" onchange="document.getElementById('href').value=this.options[this.selectedIndex].value;"></select></td>
|
35
|
+
</tr>
|
36
|
+
<tr>
|
37
|
+
<td><label id="targetlistlabel" for="targetlist">{#advanced_dlg.link_target}</label></td>
|
38
|
+
<td><select id="target_list" name="target_list"></select></td>
|
39
|
+
</tr>
|
40
|
+
<tr>
|
41
|
+
<td class="nowrap"><label for="linktitle">{#advanced_dlg.link_titlefield}</label></td>
|
42
|
+
<td><input id="linktitle" name="linktitle" type="text" value="" style="width: 200px" /></td>
|
43
|
+
</tr>
|
44
|
+
<tr>
|
45
|
+
<td><label for="class_list">{#class_name}</label></td>
|
46
|
+
<td><select id="class_list" name="class_list"></select></td>
|
47
|
+
</tr>
|
48
|
+
</table>
|
49
|
+
</div>
|
50
|
+
</div>
|
51
|
+
|
52
|
+
<div class="mceActionPanel">
|
53
|
+
<input type="submit" id="insert" name="insert" value="{#insert}" />
|
54
|
+
<input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
|
55
|
+
</div>
|
56
|
+
</form>
|
57
|
+
</body>
|
58
|
+
</html>
|
@@ -0,0 +1,36 @@
|
|
1
|
+
body, td, pre {color:#000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; margin:8px;}
|
2
|
+
body {background:#FFF;}
|
3
|
+
body.mceForceColors {background:#FFF; color:#000;}
|
4
|
+
h1 {font-size: 2em}
|
5
|
+
h2 {font-size: 1.5em}
|
6
|
+
h3 {font-size: 1.17em}
|
7
|
+
h4 {font-size: 1em}
|
8
|
+
h5 {font-size: .83em}
|
9
|
+
h6 {font-size: .75em}
|
10
|
+
.mceItemTable, .mceItemTable td, .mceItemTable th, .mceItemTable caption, .mceItemVisualAid {border: 1px dashed #BBB;}
|
11
|
+
a.mceItemAnchor {display:inline-block; width:11px !important; height:11px !important; background:url(img/items.gif) no-repeat 0 0;}
|
12
|
+
span.mceItemNbsp {background: #DDD}
|
13
|
+
td.mceSelected, th.mceSelected {background-color:#3399ff !important}
|
14
|
+
img {border:0;}
|
15
|
+
table {cursor:default}
|
16
|
+
table td, table th {cursor:text}
|
17
|
+
ins {border-bottom:1px solid green; text-decoration: none; color:green}
|
18
|
+
del {color:red; text-decoration:line-through}
|
19
|
+
cite {border-bottom:1px dashed blue}
|
20
|
+
acronym {border-bottom:1px dotted #CCC; cursor:help}
|
21
|
+
abbr {border-bottom:1px dashed #CCC; cursor:help}
|
22
|
+
|
23
|
+
/* IE */
|
24
|
+
* html body {
|
25
|
+
scrollbar-3dlight-color:#F0F0EE;
|
26
|
+
scrollbar-arrow-color:#676662;
|
27
|
+
scrollbar-base-color:#F0F0EE;
|
28
|
+
scrollbar-darkshadow-color:#DDD;
|
29
|
+
scrollbar-face-color:#E0E0DD;
|
30
|
+
scrollbar-highlight-color:#F0F0EE;
|
31
|
+
scrollbar-shadow-color:#F0F0EE;
|
32
|
+
scrollbar-track-color:#F5F5F5;
|
33
|
+
}
|
34
|
+
|
35
|
+
img:-moz-broken {-moz-force-broken-image-icon:1; width:24px; height:24px}
|
36
|
+
font[face=mceinline] {font-family:inherit !important}
|