You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
4.2 KiB
119 lines
4.2 KiB
//= require frameworks/main.ckeditor |
|
|
|
(function () { |
|
$.cachedScript = function( url, options ) { |
|
options = $.extend( options || {}, { |
|
dataType: "script", |
|
cache: true, |
|
async: true, |
|
url: url |
|
}); |
|
return $.ajaxq(url,options); |
|
} |
|
|
|
$.fn.doesExist = function() { |
|
return $(this).length > 0; |
|
}; |
|
|
|
if($('.i-ckeditor').doesExist()){ |
|
$.cachedScript("<%= asset_path 'frameworks/main.ckeditor.js' %>"); |
|
} |
|
if($('.i-ckeditor-readonly').doesExist()){ |
|
$.cachedScript("<%= asset_path 'frameworks/main.ckeditor.js' %>"); |
|
} |
|
}) |
|
|
|
/* |
|
Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved. |
|
For licensing, see LICENSE.html or http://ckeditor.com/license |
|
*/ |
|
|
|
if (CKEDITOR) { |
|
CKEDITOR.editorConfig = function( config ) |
|
{ |
|
// Define changes to default configuration here. For example: |
|
// config.language = 'fr'; |
|
// config.uiColor = '#AADC6E'; |
|
|
|
/* Filebrowser routes */ |
|
// The location of an external file browser, that should be launched when "Browse Server" button is pressed. |
|
config.filebrowserBrowseUrl = "/ckeditor/attachment_files"; |
|
|
|
// The location of an external file browser, that should be launched when "Browse Server" button is pressed in the Flash dialog. |
|
config.filebrowserFlashBrowseUrl = "/ckeditor/attachment_files"; |
|
|
|
// The location of a script that handles file uploads in the Flash dialog. |
|
config.filebrowserFlashUploadUrl = "/ckeditor/attachment_files"; |
|
|
|
// The location of an external file browser, that should be launched when "Browse Server" button is pressed in the Link tab of Image dialog. |
|
config.filebrowserImageBrowseLinkUrl = "/ckeditor/pictures"; |
|
|
|
// The location of an external file browser, that should be launched when "Browse Server" button is pressed in the Image dialog. |
|
config.filebrowserImageBrowseUrl = "/ckeditor/pictures"; |
|
|
|
// The location of a script that handles file uploads in the Image dialog. |
|
config.filebrowserImageUploadUrl = "/ckeditor/pictures"; |
|
|
|
// The location of a script that handles file uploads. |
|
config.filebrowserUploadUrl = "/ckeditor/attachment_files"; |
|
|
|
// 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']); |
|
} |
|
} |
|
}); |
|
}; |
|
}
|
|
|