109 lines
4.2 KiB
JavaScript
109 lines
4.2 KiB
JavaScript
/*
|
|
Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
|
|
For licensing, see LICENSE.html or http://ckeditor.com/license
|
|
*/
|
|
|
|
CKEDITOR.editorConfig = function( config )
|
|
{
|
|
|
|
config.forcePasteAsPlainText = true;
|
|
|
|
config.filebrowserBrowseUrl = "/ckeditor/attachment_files";
|
|
config.filebrowserFlashBrowseUrl = "/ckeditor/attachment_files";
|
|
config.filebrowserFlashUploadUrl = "/ckeditor/attachment_files";
|
|
config.filebrowserImageBrowseLinkUrl = "/ckeditor/pictures";
|
|
config.filebrowserImageBrowseUrl = "/ckeditor/pictures";
|
|
config.filebrowserImageUploadUrl = "/ckeditor/pictures";
|
|
config.filebrowserUploadUrl = "/ckeditor/attachment_files";
|
|
|
|
config.allowedContent = true;
|
|
config.format_tags = "p;h2;h3";
|
|
|
|
// Rails CSRF token
|
|
config.filebrowserParams = function(){
|
|
var csrf_token, csrf_param, meta,
|
|
metas = document.getElementsByTagName("meta"),
|
|
params = new Object();
|
|
|
|
for ( var i = 0 ; i < metas.length ; i++ ){
|
|
meta = metas[i];
|
|
|
|
switch(meta.name) {
|
|
case "csrf-token":
|
|
csrf_token = meta.content;
|
|
break;
|
|
case "csrf-param":
|
|
csrf_param = meta.content;
|
|
break;
|
|
default:
|
|
continue;
|
|
}
|
|
}
|
|
|
|
if (csrf_param !== undefined && csrf_token !== undefined) {
|
|
params[csrf_param] = csrf_token;
|
|
}
|
|
|
|
return params;
|
|
};
|
|
|
|
config.addQueryString = function( url, params ){
|
|
var queryString = [];
|
|
|
|
if ( !params ) {
|
|
return url;
|
|
} else {
|
|
for ( var i in params )
|
|
queryString.push( i + "=" + encodeURIComponent( params[ i ] ) );
|
|
}
|
|
|
|
return url + ( ( url.indexOf( "?" ) != -1 ) ? "&" : "?" ) + queryString.join( "&" );
|
|
};
|
|
|
|
// Integrate Rails CSRF token into file upload dialogs (link, image, attachment and flash)
|
|
CKEDITOR.on( "dialogDefinition", function( ev ){
|
|
// Take the dialog name and its definition from the event data.
|
|
var dialogName = ev.data.name;
|
|
var dialogDefinition = ev.data.definition;
|
|
var content, upload;
|
|
|
|
if (CKEDITOR.tools.indexOf(["link", "image", "attachment", "flash"], dialogName) > -1) {
|
|
content = (dialogDefinition.getContents("Upload") || dialogDefinition.getContents("upload"));
|
|
upload = (content == null ? null : content.get("upload"));
|
|
|
|
if (upload && upload.filebrowser && upload.filebrowser["params"] === undefined) {
|
|
upload.filebrowser["params"] = config.filebrowserParams();
|
|
upload.action = config.addQueryString(upload.action, upload.filebrowser["params"]);
|
|
}
|
|
}
|
|
});
|
|
|
|
// Toolbar groups configuration.
|
|
config.toolbar = [
|
|
{ name: "document", groups: [ "mode", "document", "doctools" ], items: [ "Source"] },
|
|
{ name: "clipboard", groups: [ "clipboard", "undo" ], items: [ "Cut", "Copy", "Paste", "PasteText", "PasteFromWord", "-", "Undo", "Redo" ] },
|
|
// { name: "editing", groups: [ "find", "selection", "spellchecker" ], items: [ "Find", "Replace", "-", "SelectAll", "-", "Scayt" ] },
|
|
// { name: "forms", items: [ "Form", "Checkbox", "Radio", "TextField", "Textarea", "Select", "Button", "ImageButton", "HiddenField" ] },
|
|
{ name: "links", items: [ "Link", "Unlink", "Anchor" ] },
|
|
{ name: "insert", items: [ "Image", "Flash", "Table", "HorizontalRule", "SpecialChar" ] },
|
|
{ name: "paragraph", groups: [ "list", "indent", "blocks", "align", "bidi" ], items: [ "NumberedList", "BulletedList", "-", "Outdent", "Indent", "-", "Blockquote", "CreateDiv", "-", "JustifyLeft", "JustifyCenter", "JustifyRight", "JustifyBlock" ] },
|
|
"/",
|
|
{ name: "styles", items: [ "Styles", "Format", "Font", "FontSize" ] },
|
|
{ name: "colors", items: [ "TextColor", "BGColor" ] },
|
|
{ name: "basicstyles", groups: [ "basicstyles", "cleanup" ], items: [ "Bold", "Italic", "Underline", "Strike", "Subscript", "Superscript", "-", "RemoveFormat" ] }
|
|
];
|
|
|
|
config.toolbar_mini = [
|
|
{ name: "paragraph", groups: [ "list" ], items: [ "NumberedList", "BulletedList" ] },
|
|
{ name: "links", items: [ "Link", "Unlink" ] },
|
|
{ name: "styles", items: [ "Format" ] },
|
|
{ name: "basicstyles", groups: [ "basicstyles", "cleanup" ], items: [ "Bold", "Italic", "Underline", "Strike" ] }
|
|
];
|
|
|
|
config.toolbar_admin = config.toolbar_mini.concat([
|
|
{ name: "insert", items: [ "Image", "Table" ] }
|
|
]);
|
|
|
|
config.toolbar = "mini";
|
|
};
|