site_logic 1.6.9 → 1.6.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +1 -1
- data/VERSION +1 -1
- data/app/models/ckeditor/asset.rb +1 -3
- data/app/views/admin/nav_items/_index.html.erb +1 -1
- data/app/views/layouts/application.html.erb +0 -6
- data/config/environments/development.rb +0 -1
- data/config/initializers/formats.rb +1 -1
- data/config/initializers/metric_fu.rb +1 -1
- data/config/initializers/secret_token.rb +1 -7
- data/config/initializers/session_store.rb +1 -8
- data/lib/site_logic.rb +3 -6
- data/public/javascripts/controls.js +62 -965
- data/public/javascripts/dragdrop.js +65 -973
- data/public/javascripts/effects.js +38 -1123
- data/public/javascripts/prototype.js +541 -6001
- data/public/javascripts/rails.js +22 -175
- data/site_logic.gemspec +5 -11
- metadata +8 -16
- data/config/initializers/ckeditor.rb +0 -54
- data/misc/images/src/black_bar.psd +0 -0
- data/misc/images/src/branding.psd +0 -0
- data/misc/images/src/legend_bg.psd +0 -0
- data/misc/images/src/menu_icons.psd +0 -0
- data/public/javascripts/application.js +0 -2
data/public/javascripts/rails.js
CHANGED
@@ -1,175 +1,22 @@
|
|
1
|
-
(function() {
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
return name == 'INPUT' || name == 'SELECT' || name == 'TEXTAREA'
|
24
|
-
}
|
25
|
-
else return false
|
26
|
-
}
|
27
|
-
|
28
|
-
var submitBubbles = isEventSupported('submit'),
|
29
|
-
changeBubbles = isEventSupported('change')
|
30
|
-
|
31
|
-
if (!submitBubbles || !changeBubbles) {
|
32
|
-
// augment the Event.Handler class to observe custom events when needed
|
33
|
-
Event.Handler.prototype.initialize = Event.Handler.prototype.initialize.wrap(
|
34
|
-
function(init, element, eventName, selector, callback) {
|
35
|
-
init(element, eventName, selector, callback)
|
36
|
-
// is the handler being attached to an element that doesn't support this event?
|
37
|
-
if ( (!submitBubbles && this.eventName == 'submit' && !isForm(this.element)) ||
|
38
|
-
(!changeBubbles && this.eventName == 'change' && !isInput(this.element)) ) {
|
39
|
-
// "submit" => "emulated:submit"
|
40
|
-
this.eventName = 'emulated:' + this.eventName
|
41
|
-
}
|
42
|
-
}
|
43
|
-
)
|
44
|
-
}
|
45
|
-
|
46
|
-
if (!submitBubbles) {
|
47
|
-
// discover forms on the page by observing focus events which always bubble
|
48
|
-
document.on('focusin', 'form', function(focusEvent, form) {
|
49
|
-
// special handler for the real "submit" event (one-time operation)
|
50
|
-
if (!form.retrieve('emulated:submit')) {
|
51
|
-
form.on('submit', function(submitEvent) {
|
52
|
-
var emulated = form.fire('emulated:submit', submitEvent, true)
|
53
|
-
// if custom event received preventDefault, cancel the real one too
|
54
|
-
if (emulated.returnValue === false) submitEvent.preventDefault()
|
55
|
-
})
|
56
|
-
form.store('emulated:submit', true)
|
57
|
-
}
|
58
|
-
})
|
59
|
-
}
|
60
|
-
|
61
|
-
if (!changeBubbles) {
|
62
|
-
// discover form inputs on the page
|
63
|
-
document.on('focusin', 'input, select, texarea', function(focusEvent, input) {
|
64
|
-
// special handler for real "change" events
|
65
|
-
if (!input.retrieve('emulated:change')) {
|
66
|
-
input.on('change', function(changeEvent) {
|
67
|
-
input.fire('emulated:change', changeEvent, true)
|
68
|
-
})
|
69
|
-
input.store('emulated:change', true)
|
70
|
-
}
|
71
|
-
})
|
72
|
-
}
|
73
|
-
|
74
|
-
function handleRemote(element) {
|
75
|
-
var method, url, params;
|
76
|
-
|
77
|
-
var event = element.fire("ajax:before");
|
78
|
-
if (event.stopped) return false;
|
79
|
-
|
80
|
-
if (element.tagName.toLowerCase() === 'form') {
|
81
|
-
method = element.readAttribute('method') || 'post';
|
82
|
-
url = element.readAttribute('action');
|
83
|
-
params = element.serialize();
|
84
|
-
} else {
|
85
|
-
method = element.readAttribute('data-method') || 'get';
|
86
|
-
url = element.readAttribute('href');
|
87
|
-
params = {};
|
88
|
-
}
|
89
|
-
|
90
|
-
new Ajax.Request(url, {
|
91
|
-
method: method,
|
92
|
-
parameters: params,
|
93
|
-
evalScripts: true,
|
94
|
-
|
95
|
-
onComplete: function(request) { element.fire("ajax:complete", request); },
|
96
|
-
onSuccess: function(request) { element.fire("ajax:success", request); },
|
97
|
-
onFailure: function(request) { element.fire("ajax:failure", request); }
|
98
|
-
});
|
99
|
-
|
100
|
-
element.fire("ajax:after");
|
101
|
-
}
|
102
|
-
|
103
|
-
function handleMethod(element) {
|
104
|
-
var method = element.readAttribute('data-method'),
|
105
|
-
url = element.readAttribute('href'),
|
106
|
-
csrf_param = $$('meta[name=csrf-param]')[0],
|
107
|
-
csrf_token = $$('meta[name=csrf-token]')[0];
|
108
|
-
|
109
|
-
var form = new Element('form', { method: "POST", action: url, style: "display: none;" });
|
110
|
-
element.parentNode.insert(form);
|
111
|
-
|
112
|
-
if (method !== 'post') {
|
113
|
-
var field = new Element('input', { type: 'hidden', name: '_method', value: method });
|
114
|
-
form.insert(field);
|
115
|
-
}
|
116
|
-
|
117
|
-
if (csrf_param) {
|
118
|
-
var param = csrf_param.readAttribute('content'),
|
119
|
-
token = csrf_token.readAttribute('content'),
|
120
|
-
field = new Element('input', { type: 'hidden', name: param, value: token });
|
121
|
-
form.insert(field);
|
122
|
-
}
|
123
|
-
|
124
|
-
form.submit();
|
125
|
-
}
|
126
|
-
|
127
|
-
|
128
|
-
document.on("click", "*[data-confirm]", function(event, element) {
|
129
|
-
var message = element.readAttribute('data-confirm');
|
130
|
-
if (!confirm(message)) event.stop();
|
131
|
-
});
|
132
|
-
|
133
|
-
document.on("click", "a[data-remote]", function(event, element) {
|
134
|
-
if (event.stopped) return;
|
135
|
-
handleRemote(element);
|
136
|
-
event.stop();
|
137
|
-
});
|
138
|
-
|
139
|
-
document.on("click", "a[data-method]", function(event, element) {
|
140
|
-
if (event.stopped) return;
|
141
|
-
handleMethod(element);
|
142
|
-
event.stop();
|
143
|
-
});
|
144
|
-
|
145
|
-
document.on("submit", function(event) {
|
146
|
-
var element = event.findElement(),
|
147
|
-
message = element.readAttribute('data-confirm');
|
148
|
-
if (message && !confirm(message)) {
|
149
|
-
event.stop();
|
150
|
-
return false;
|
151
|
-
}
|
152
|
-
|
153
|
-
var inputs = element.select("input[type=submit][data-disable-with]");
|
154
|
-
inputs.each(function(input) {
|
155
|
-
input.disabled = true;
|
156
|
-
input.writeAttribute('data-original-value', input.value);
|
157
|
-
input.value = input.readAttribute('data-disable-with');
|
158
|
-
});
|
159
|
-
|
160
|
-
var element = event.findElement("form[data-remote]");
|
161
|
-
if (element) {
|
162
|
-
handleRemote(element);
|
163
|
-
event.stop();
|
164
|
-
}
|
165
|
-
});
|
166
|
-
|
167
|
-
document.on("ajax:after", "form", function(event, element) {
|
168
|
-
var inputs = element.select("input[type=submit][disabled=true][data-disable-with]");
|
169
|
-
inputs.each(function(input) {
|
170
|
-
input.value = input.readAttribute('data-original-value');
|
171
|
-
input.removeAttribute('data-original-value');
|
172
|
-
input.disabled = false;
|
173
|
-
});
|
174
|
-
});
|
175
|
-
})();
|
1
|
+
(function(){function isEventSupported(eventName){var el=document.createElement('div');eventName='on'+eventName;var isSupported=(eventName in el);if(!isSupported){el.setAttribute(eventName,'return;');isSupported=typeof el[eventName]=='function';}
|
2
|
+
el=null;return isSupported;}
|
3
|
+
function isForm(element){return Object.isElement(element)&&element.nodeName.toUpperCase()=='FORM'}
|
4
|
+
function isInput(element){if(Object.isElement(element)){var name=element.nodeName.toUpperCase()
|
5
|
+
return name=='INPUT'||name=='SELECT'||name=='TEXTAREA'}
|
6
|
+
else return false}
|
7
|
+
var submitBubbles=isEventSupported('submit'),changeBubbles=isEventSupported('change')
|
8
|
+
if(!submitBubbles||!changeBubbles){Event.Handler.prototype.initialize=Event.Handler.prototype.initialize.wrap(function(init,element,eventName,selector,callback){init(element,eventName,selector,callback)
|
9
|
+
if((!submitBubbles&&this.eventName=='submit'&&!isForm(this.element))||(!changeBubbles&&this.eventName=='change'&&!isInput(this.element))){this.eventName='emulated:'+this.eventName}})}
|
10
|
+
if(!submitBubbles){document.on('focusin','form',function(focusEvent,form){if(!form.retrieve('emulated:submit')){form.on('submit',function(submitEvent){var emulated=form.fire('emulated:submit',submitEvent,true)
|
11
|
+
if(emulated.returnValue===false)submitEvent.preventDefault()})
|
12
|
+
form.store('emulated:submit',true)}})}
|
13
|
+
if(!changeBubbles){document.on('focusin','input, select, texarea',function(focusEvent,input){if(!input.retrieve('emulated:change')){input.on('change',function(changeEvent){input.fire('emulated:change',changeEvent,true)})
|
14
|
+
input.store('emulated:change',true)}})}
|
15
|
+
function handleRemote(element){var method,url,params;var event=element.fire("ajax:before");if(event.stopped)return false;if(element.tagName.toLowerCase()==='form'){method=element.readAttribute('method')||'post';url=element.readAttribute('action');params=element.serialize();}else{method=element.readAttribute('data-method')||'get';url=element.readAttribute('href');params={};}
|
16
|
+
new Ajax.Request(url,{method:method,parameters:params,evalScripts:true,onComplete:function(request){element.fire("ajax:complete",request);},onSuccess:function(request){element.fire("ajax:success",request);},onFailure:function(request){element.fire("ajax:failure",request);}});element.fire("ajax:after");}
|
17
|
+
function handleMethod(element){var method=element.readAttribute('data-method'),url=element.readAttribute('href'),csrf_param=$$('meta[name=csrf-param]')[0],csrf_token=$$('meta[name=csrf-token]')[0];var form=new Element('form',{method:"POST",action:url,style:"display: none;"});element.parentNode.insert(form);if(method!=='post'){var field=new Element('input',{type:'hidden',name:'_method',value:method});form.insert(field);}
|
18
|
+
if(csrf_param){var param=csrf_param.readAttribute('content'),token=csrf_token.readAttribute('content'),field=new Element('input',{type:'hidden',name:param,value:token});form.insert(field);}
|
19
|
+
form.submit();}
|
20
|
+
document.on("click","*[data-confirm]",function(event,element){var message=element.readAttribute('data-confirm');if(!confirm(message))event.stop();});document.on("click","a[data-remote]",function(event,element){if(event.stopped)return;handleRemote(element);event.stop();});document.on("click","a[data-method]",function(event,element){if(event.stopped)return;handleMethod(element);event.stop();});document.on("submit",function(event){var element=event.findElement(),message=element.readAttribute('data-confirm');if(message&&!confirm(message)){event.stop();return false;}
|
21
|
+
var inputs=element.select("input[type=submit][data-disable-with]");inputs.each(function(input){input.disabled=true;input.writeAttribute('data-original-value',input.value);input.value=input.readAttribute('data-disable-with');});var element=event.findElement("form[data-remote]");if(element){handleRemote(element);event.stop();}});document.on("ajax:after","form",function(event,element){var inputs=element.select("input[type=submit][disabled=true][data-disable-with]");inputs.each(function(input){input.value=input.readAttribute('data-original-value');input.removeAttribute('data-original-value');input.disabled=false;});});Ajax.Responders.register({onCreate:function(request){var csrf_meta_tag=$$('meta[name=csrf-token]')[0];if(csrf_meta_tag){var header='X-CSRF-Token',token=csrf_meta_tag.readAttribute('content');if(!request.options.requestHeaders){request.options.requestHeaders={};}
|
22
|
+
request.options.requestHeaders[header]=token;}}});})();
|
data/site_logic.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{site_logic}
|
8
|
-
s.version = "1.6.
|
8
|
+
s.version = "1.6.10"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Bantik"]
|
12
|
-
s.date = %q{2011-08-
|
12
|
+
s.date = %q{2011-08-31}
|
13
13
|
s.description = %q{An engine for search-engine-optimized content management.}
|
14
14
|
s.email = %q{corey@seologic.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -76,7 +76,6 @@ Gem::Specification.new do |s|
|
|
76
76
|
"config/environments/development.rb",
|
77
77
|
"config/environments/production.rb",
|
78
78
|
"config/environments/test.rb",
|
79
|
-
"config/initializers/ckeditor.rb",
|
80
79
|
"config/initializers/formats.rb",
|
81
80
|
"config/initializers/metric_fu.rb",
|
82
81
|
"config/initializers/secret_token.rb",
|
@@ -100,10 +99,6 @@ Gem::Specification.new do |s|
|
|
100
99
|
"lib/site_logic/railtie.rb",
|
101
100
|
"lib/tasks/cucumber.rake",
|
102
101
|
"lib/tasks/rcov.rake",
|
103
|
-
"misc/images/src/black_bar.psd",
|
104
|
-
"misc/images/src/branding.psd",
|
105
|
-
"misc/images/src/legend_bg.psd",
|
106
|
-
"misc/images/src/menu_icons.psd",
|
107
102
|
"public/404.html",
|
108
103
|
"public/422.html",
|
109
104
|
"public/500.html",
|
@@ -157,7 +152,6 @@ Gem::Specification.new do |s|
|
|
157
152
|
"public/images/layout/th_bg.png",
|
158
153
|
"public/images/layout/th_bg_selected.png",
|
159
154
|
"public/index.html",
|
160
|
-
"public/javascripts/application.js",
|
161
155
|
"public/javascripts/ckeditor/.htaccess",
|
162
156
|
"public/javascripts/ckeditor/CHANGES.html",
|
163
157
|
"public/javascripts/ckeditor/INSTALL.html",
|
@@ -833,7 +827,7 @@ Gem::Specification.new do |s|
|
|
833
827
|
|
834
828
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
835
829
|
s.add_runtime_dependency(%q<bson_ext>, [">= 0"])
|
836
|
-
s.add_runtime_dependency(%q<carrierwave>, ["
|
830
|
+
s.add_runtime_dependency(%q<carrierwave-mongoid>, [">= 0"])
|
837
831
|
s.add_runtime_dependency(%q<ckeditor>, [">= 0"])
|
838
832
|
s.add_runtime_dependency(%q<mongoid>, [">= 2.0.0.beta.17"])
|
839
833
|
s.add_runtime_dependency(%q<mongoid-tree>, [">= 0"])
|
@@ -845,7 +839,7 @@ Gem::Specification.new do |s|
|
|
845
839
|
s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
|
846
840
|
else
|
847
841
|
s.add_dependency(%q<bson_ext>, [">= 0"])
|
848
|
-
s.add_dependency(%q<carrierwave>, ["
|
842
|
+
s.add_dependency(%q<carrierwave-mongoid>, [">= 0"])
|
849
843
|
s.add_dependency(%q<ckeditor>, [">= 0"])
|
850
844
|
s.add_dependency(%q<mongoid>, [">= 2.0.0.beta.17"])
|
851
845
|
s.add_dependency(%q<mongoid-tree>, [">= 0"])
|
@@ -858,7 +852,7 @@ Gem::Specification.new do |s|
|
|
858
852
|
end
|
859
853
|
else
|
860
854
|
s.add_dependency(%q<bson_ext>, [">= 0"])
|
861
|
-
s.add_dependency(%q<carrierwave>, ["
|
855
|
+
s.add_dependency(%q<carrierwave-mongoid>, [">= 0"])
|
862
856
|
s.add_dependency(%q<ckeditor>, [">= 0"])
|
863
857
|
s.add_dependency(%q<mongoid>, [">= 2.0.0.beta.17"])
|
864
858
|
s.add_dependency(%q<mongoid-tree>, [">= 0"])
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: site_logic
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 6
|
9
|
-
-
|
10
|
-
version: 1.6.
|
9
|
+
- 10
|
10
|
+
version: 1.6.10
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Bantik
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-08-
|
18
|
+
date: 2011-08-31 00:00:00 -05:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -33,19 +33,17 @@ dependencies:
|
|
33
33
|
type: :runtime
|
34
34
|
version_requirements: *id001
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
|
-
name: carrierwave
|
36
|
+
name: carrierwave-mongoid
|
37
37
|
prerelease: false
|
38
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
|
-
- -
|
41
|
+
- - ">="
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
hash:
|
43
|
+
hash: 3
|
44
44
|
segments:
|
45
45
|
- 0
|
46
|
-
|
47
|
-
- 7
|
48
|
-
version: 0.5.7
|
46
|
+
version: "0"
|
49
47
|
type: :runtime
|
50
48
|
version_requirements: *id002
|
51
49
|
- !ruby/object:Gem::Dependency
|
@@ -255,7 +253,6 @@ files:
|
|
255
253
|
- config/environments/development.rb
|
256
254
|
- config/environments/production.rb
|
257
255
|
- config/environments/test.rb
|
258
|
-
- config/initializers/ckeditor.rb
|
259
256
|
- config/initializers/formats.rb
|
260
257
|
- config/initializers/metric_fu.rb
|
261
258
|
- config/initializers/secret_token.rb
|
@@ -279,10 +276,6 @@ files:
|
|
279
276
|
- lib/site_logic/railtie.rb
|
280
277
|
- lib/tasks/cucumber.rake
|
281
278
|
- lib/tasks/rcov.rake
|
282
|
-
- misc/images/src/black_bar.psd
|
283
|
-
- misc/images/src/branding.psd
|
284
|
-
- misc/images/src/legend_bg.psd
|
285
|
-
- misc/images/src/menu_icons.psd
|
286
279
|
- public/404.html
|
287
280
|
- public/422.html
|
288
281
|
- public/500.html
|
@@ -336,7 +329,6 @@ files:
|
|
336
329
|
- public/images/layout/th_bg.png
|
337
330
|
- public/images/layout/th_bg_selected.png
|
338
331
|
- public/index.html
|
339
|
-
- public/javascripts/application.js
|
340
332
|
- public/javascripts/ckeditor/.htaccess
|
341
333
|
- public/javascripts/ckeditor/CHANGES.html
|
342
334
|
- public/javascripts/ckeditor/INSTALL.html
|
@@ -1,54 +0,0 @@
|
|
1
|
-
# Use this hook to configure ckeditor
|
2
|
-
if Object.const_defined?("Ckeditor")
|
3
|
-
Ckeditor.setup do |config|
|
4
|
-
# The file_post_name allows you to set the value name used to post the file.
|
5
|
-
# This is not related to the file name. The default value is 'data'.
|
6
|
-
# For maximum compatibility it is recommended that the default value is used.
|
7
|
-
#config.swf_file_post_name = "data"
|
8
|
-
|
9
|
-
# A text description that is displayed to the user in the File Browser dialog.
|
10
|
-
#config.swf_file_types_description = "Files"
|
11
|
-
|
12
|
-
# The file_types setting accepts a semi-colon separated list of file extensions
|
13
|
-
# that are allowed to be selected by the user. Use '*.*' to allow all file types.
|
14
|
-
#config.swf_file_types = "*.doc;*.wpd;*.pdf;*.swf;*.xls"
|
15
|
-
|
16
|
-
# The file_size_limit setting defines the maximum allowed size of a file to be uploaded.
|
17
|
-
# This setting accepts a value and unit. Valid units are B, KB, MB and GB.
|
18
|
-
# If the unit is omitted default is KB. A value of 0 (zero) is interpreted as unlimited.
|
19
|
-
# Note: This setting only applies to the user's browser. It does not affect any settings or limits on the web server.
|
20
|
-
#config.swf_file_size_limit = "10 MB"
|
21
|
-
|
22
|
-
# Defines the number of files allowed to be uploaded by SWFUpload.
|
23
|
-
# This setting also sets the upper bound of the file_queue_limit setting.
|
24
|
-
# Once the user has uploaded or queued the maximum number of files she will
|
25
|
-
# no longer be able to queue additional files. The value of 0 (zero) is interpreted as unlimited.
|
26
|
-
# Only successful uploads (uploads the trigger the uploadSuccess event) are counted toward the upload limit.
|
27
|
-
# The setStats function can be used to modify the number of successful uploads.
|
28
|
-
# Note: This value is not tracked across pages and is reset when a page is refreshed.
|
29
|
-
# File quotas should be managed by the web server.
|
30
|
-
#config.swf_file_upload_limit = 5
|
31
|
-
|
32
|
-
# The same as for downloads files, only to upload images
|
33
|
-
#config.swf_image_file_types_description = "Images"
|
34
|
-
#config.swf_image_file_types = "*.jpg;*.jpeg;*.png;*.gif"
|
35
|
-
#config.swf_image_file_size_limit = "5 MB"
|
36
|
-
#config.swf_image_file_upload_limit = 10
|
37
|
-
|
38
|
-
# Path for view all uploaded files
|
39
|
-
#config.file_manager_uri = "/ckeditor/files"
|
40
|
-
|
41
|
-
# Path for upload files process
|
42
|
-
#config.file_manager_upload_uri = "/ckeditor/create/file"
|
43
|
-
|
44
|
-
# Path for view all uploaded images
|
45
|
-
#config.file_manager_image_uri = "/ckeditor/images"
|
46
|
-
|
47
|
-
# Path for upload images process
|
48
|
-
#config.file_manager_image_upload_uri = "/ckeditor/create/image"
|
49
|
-
|
50
|
-
# Model's names witch processing in ckeditor_controller
|
51
|
-
#config.file_manager_image_model = "Ckeditor::Picture"
|
52
|
-
#config.file_manager_file_model = "Ckeditor::AttachmentFile"
|
53
|
-
end
|
54
|
-
end
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|