iq_fckeditor 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: c17edd0e9789c472b17295c59d4c8153c91b9d0e2eb739d49ba72d4aeefb64c7
4
+ data.tar.gz: 181b60fd0991cb9f2859301d7880229259fade6c1d94d1f5c4b6896a27d0b34d
5
+ SHA512:
6
+ metadata.gz: 594e3a2730b198aeb039bd792d447e1b6732a49c3d0b8999ffc5459b0e513925c9e6133106d2fb9b45adc3f9046e83547e394b9f4840e4c4f40681e67e4f4dd9
7
+ data.tar.gz: ed0a6d6b5b7d6fc22cfee6514c97efd17de382d6211fa10894f3f144f0ede44e07ccdac38c91ec933f85d44a6da2dcf4ead1c7b3e6ee3f8c468640ce6805ac1d
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) [year] [fullname]
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # IqFckeditor
2
+
3
+ Simple Rails integration for old FCK-editor
data/Rakefile ADDED
@@ -0,0 +1,23 @@
1
+ require 'rake'
2
+ require 'rake/testtask'
3
+ require 'rake/rdoctask'
4
+
5
+ desc 'Default: run unit tests.'
6
+ task :default => :test
7
+
8
+ desc 'Test the iq_fckeditor plugin.'
9
+ Rake::TestTask.new(:test) do |t|
10
+ t.libs << 'lib'
11
+ t.libs << 'test'
12
+ t.pattern = 'test/**/*_test.rb'
13
+ t.verbose = true
14
+ end
15
+
16
+ desc 'Generate documentation for the iq_fckeditor plugin.'
17
+ Rake::RDocTask.new(:rdoc) do |rdoc|
18
+ rdoc.rdoc_dir = 'rdoc'
19
+ rdoc.title = 'IqFckeditor'
20
+ rdoc.options << '--line-numbers' << '--inline-source'
21
+ rdoc.rdoc_files.include('README')
22
+ rdoc.rdoc_files.include('lib/**/*.rb')
23
+ end
@@ -0,0 +1,24 @@
1
+ # -*- encoding : utf-8 -*-
2
+ require((File.dirname(__FILE__) + "/../../lib/iq_fckeditor"))
3
+
4
+ class SimpleFckUploadController < ActionController::Base
5
+
6
+ include(IqFckeditor::Controller)
7
+
8
+ # # You can modify where the uploads should go to and from which url they are
9
+ # # accessible from the web. Paste, uncomment and modify some of the following
10
+ # # lines in your environment.rb or whereever you want them to place.
11
+ #
12
+ # SimpleFckUploadController.fckeditor_command_action_url = fubar_url()
13
+ #
14
+ # # Use this plugin as File-Uploader only
15
+ # SimpleFckUploadController.fckeditor_uploads_base_path = "#{RAILS_ROOT}/public/uploads"
16
+ # SimpleFckUploadController.fckeditor_uploads_base_url = "http://www.example.com/uploads" # or just "/uploads"
17
+ #
18
+ # # If you want to use This controller as FileProvider leave
19
+ # fckeditor_uploads_base_url as it is and only set the following if you don't
20
+ # use map.resource for this controller (then it will determine the url
21
+ # automatically).
22
+ # SimpleFckUploadController.fckeditor_file_action_url = foo_bar_path()
23
+
24
+ end
@@ -0,0 +1,34 @@
1
+ # -*- encoding : utf-8 -*-
2
+ module ApplicationHelper
3
+
4
+ # Renders a text-field for the given object and method plus a FCK integration
5
+ # for this field. The parameter ''fckeditor_custom_config_url'' should contain
6
+ # the url of a (static) fckcustom_config.js or the url to a
7
+ # ''fckeditor_custom_config'' action, given by
8
+ # ''acts_as_fckeditor_file_provider'' to use file handling over the controller.
9
+ # Valid ''fck_options'' are:
10
+ # width, hight: the dimensions for the fck control
11
+ # toolbarset: name of a toolbar set used. You can specify custom toolbar
12
+ # sets in the custom_config.js.erb file under 'app/views' in this plugin.
13
+ # base_path: a custom BasePath the fck editor should use
14
+ def fckeditor( object_name, method_name, fckeditor_custom_config_url, fck_options = { }, options = { })
15
+ # Try to get the value to be shown
16
+ obj = instance_variable_get("@#{object_name}")
17
+ value = (obj && obj.send(method_name.to_sym)) || ""
18
+ id = (obj && "#{object_name}_#{obj.id}_#{method_name}_editor") || "#{object_name}_0_#{method_name}_editor"
19
+
20
+ fck_options[:toolbarset] ||= fck_options[:toolbarSet] #Accept both styles
21
+
22
+ render :partial => 'iq_fckeditor/fckeditor', :locals => {
23
+ :v => "oFck#{id}", :object_name => object_name, :method_name => method_name,
24
+ :custom_config_url => fckeditor_custom_config_url,
25
+ :width => (fck_options[:width] && "'#{fck_options[:width] }'") || 'null',
26
+ :height => (fck_options[:height] && "'#{fck_options[:height] }'") || 'null',
27
+ :toolbarset => (fck_options[:toolbarset] && "'#{fck_options[:toolbarset] }'") || "'Default'",
28
+ :value => value,
29
+ :id => id,
30
+ :base_path => (fck_options[:base_path] && "'#{fck_options[:base_path] }'") || 'null'
31
+ }
32
+ end
33
+
34
+ end
@@ -0,0 +1,7 @@
1
+ <textarea id='<%= id %>' name='<%= "#{object_name}[#{method_name}]"%>'><%= h value %></textarea>
2
+ <%= javascript_tag do %>
3
+ var <%= v %> = new FCKeditor('<%= id %>', <%= width %>, <%= height %>, <%= toolbarset %>, '<%= escape_javascript(value) %>', <%= base_path %>);
4
+ <%= v %>.BasePath = "<%= ActionController::Base::relative_url_root %>/javascripts/fckeditor/";
5
+ <%= v %>.Config["CustomConfigurationsPath"] = '<%= custom_config_url %>';
6
+ <%= v %>.ReplaceTextarea();
7
+ <% end %>
@@ -0,0 +1,64 @@
1
+ FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Connector=<%= @command_url %>';
2
+ FCKConfig.ImageBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Image&Connector=<%= @command_url %>';
3
+ FCKConfig.FlashBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=Flash&Connector=<%= @command_url %>';
4
+ FCKConfig.LinkUploadURL = '<%= @command_url %>';
5
+ FCKConfig.ImageUploadURL = '<%= @command_url %>';
6
+ FCKConfig.FlashUploadURL = '<%= @command_url %>';
7
+
8
+ // ONLY CHANGE BELOW HERE
9
+ FCKConfig.Plugins.Add( 'flvPlayer', 'de' );
10
+ FCKConfig.Plugins.Add( 'hopcomImageGallery' , 'en' ) ;
11
+
12
+ FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/silver/';
13
+
14
+ FCKConfig.ToolbarSets["Simple"] = [
15
+ ['Source','-','-','Templates'],
16
+ ['Cut','Copy','Paste','PasteWord','-','Print','SpellCheck'],
17
+ ['Undo','Redo','-','Find','Replace','-','SelectAll'],
18
+ '/',
19
+ ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
20
+ ['OrderedList','UnorderedList','-','Outdent','Indent'],
21
+ ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
22
+ ['Link','Unlink'],
23
+ '/',
24
+ ['Image','Flash','flvPlayer','Table','Rule','Smiley'],
25
+ ['FontName','FontSize'],
26
+ ['TextColor','BGColor'],
27
+ ['-','About']
28
+ ] ;
29
+ FCKConfig.ToolbarSets["Hopcom"] = [
30
+ ['Source','-','Save','NewPage','-','Templates'],
31
+ ['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],
32
+ ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat','FitWindow','ShowBlocks'],
33
+ '/',
34
+ ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
35
+ ['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote'],
36
+ ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
37
+ ['Link','Unlink','Anchor'],
38
+ ['Image','Flash','flvPlayer','Table','Rule','Smiley','SpecialChar'],
39
+ ['-','FontName','FontSize'],
40
+ ['TextColor','BGColor'] // No comma for the last row.
41
+ ] ;
42
+
43
+ FCKConfig.ToolbarSets["Mcontent"] = [
44
+ ['Source','Save','Cut','Copy','Paste','Undo','Redo'],
45
+ ['Bold','Italic','Underline','-','Subscript','Superscript'],
46
+ ['OrderedList','UnorderedList','-','Outdent','Indent','Blockquote','SpecialChar','Smiley'],
47
+ '/',
48
+ ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull','-','Link','Unlink','Anchor','-','Image','Flash','flvPlayer','Table','-','FontName','FontSize','TextColor','BGColor'] // No comma for the last row.
49
+ ] ;
50
+
51
+ FCKConfig.ToolbarSets["Sidebar"] = [
52
+ ['Save','Bold','Italic','Underline','SpecialChar'],
53
+ ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull','OrderedList','UnorderedList'],
54
+ ['Link','Unlink','Anchor','TextColor','BGColor'],
55
+ ['Image','Flash','flvPlayer','FontSize'],
56
+ ['FontName']
57
+ // No comma for the last row.
58
+ ] ;
59
+
60
+ FCKConfig.ToolbarSets["DraftBlogPost"] = [
61
+ ['Source','OrderedList','UnorderedList','-','Link','Unlink','-','Image','Flash','flvPlayer','hopcomImageGallery','-','Smiley','-','Cut','Copy','Paste','PasteText','PasteWord'],
62
+ ['Bold','Italic','-','JustifyLeft','JustifyCenter','JustifyRight','JustifyFull','TextColor']
63
+ ] ;
64
+
@@ -0,0 +1,21 @@
1
+ xml.instruct!
2
+ #=> <?xml version="1.0" encoding="utf-8" ?>
3
+ xml.Connector("command" => params[:Command], "resourceType" => 'File') do
4
+ xml.CurrentFolder("url" => @url_to_dir, "path" => params[:CurrentFolder])
5
+ if @folders
6
+ xml.Folders do
7
+ @folders.each do |folder|
8
+ xml.Folder("name" => folder)
9
+ end
10
+ end
11
+ end
12
+ if @files
13
+ xml.Files do
14
+ @files.keys.sort.each do |f|
15
+ xml.File("name" => f, "size" => @files[f])
16
+ end
17
+ end
18
+ end
19
+ xml.NewFolder(:name => @new_folder) if @new_folder
20
+ xml.Error("number" => @error_number) if @error_number
21
+ end
@@ -0,0 +1,8 @@
1
+ <%= javascript_tag do %>
2
+ if (window.parent.frames['frmUpload']) {
3
+ window.parent.frames['frmUpload'].OnUploadCompleted(<%= @error_number %>, '<%= @file_name %>');
4
+ }
5
+ else {
6
+ window.parent.OnUploadCompleted(<%= @error_number %>, '<%= @file_url %>', '<%= @file_name %>');
7
+ }
8
+ <% end %>
@@ -0,0 +1 @@
1
+ IqFckeditor.default_uploads_base_path = Rails.root.join("/data/:resource_path")
@@ -0,0 +1,23 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "iq_fckeditor/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "iq_fckeditor"
7
+ s.version = IqFckeditor::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Till Schulte-Coerne"]
10
+ s.email = ["till.schulte-coerne@innoq.com"]
11
+ s.homepage = "http://github.com/tilsc/iq_fckeditor"
12
+ s.summary = "IqFckeditor"
13
+ s.description = s.summary
14
+ s.extra_rdoc_files = ['README.md', 'LICENSE']
15
+
16
+ s.add_development_dependency "bundler"
17
+ s.add_dependency "actionpack"
18
+
19
+ s.files = %w(LICENSE README.md Rakefile iq_fckeditor.gemspec) + Dir.glob("{app,config,lib,tasks,test}/**/*")
20
+ s.test_files = Dir.glob("{test}/**/*")
21
+ s.executables = Dir.glob("{bin}/**/*")
22
+ s.require_paths = ["lib"]
23
+ end
@@ -0,0 +1,5 @@
1
+ module IqFckeditor
2
+ class Engine < ::Rails::Engine
3
+ # Your code goes here...
4
+ end
5
+ end
@@ -0,0 +1,3 @@
1
+ module IqFckeditor
2
+ VERSION = "0.0.4"
3
+ end
@@ -0,0 +1,243 @@
1
+ require 'iq_fckeditor/version'
2
+ require 'iq_fckeditor/engine'
3
+
4
+ # -*- encoding : utf-8 -*-
5
+ module IqFckeditor
6
+
7
+ cattr_accessor :default_uploads_base_path
8
+
9
+ # Include as InstanceMethods into the acts_as_fckeditor_file_provider
10
+ module Controller
11
+
12
+ extend ActiveSupport::Concern
13
+
14
+ #accepted MIME types for upload
15
+ MIME_TYPES = [
16
+ "text/comma-separated-values",
17
+ "text/csv",
18
+ "application/vnd.ms-excel",
19
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
20
+ "image/jpeg",
21
+ "image/pjpeg",
22
+ "image/gif",
23
+ "image/png",
24
+ "application/pdf",
25
+ "application/zip",
26
+ "application/x-shockwave-flash",
27
+ "application/octet-stream" #TODO: Muss weg!
28
+ ]
29
+
30
+ included do
31
+ # Some Configurtion Parameters
32
+ cattr_accessor :fckeditor_file_action_url
33
+
34
+ cattr_accessor :fckeditor_command_action_url
35
+
36
+
37
+ cattr_accessor :fckeditor_uploads_base_path
38
+ # This will default to IqFckeditor.default_uploads_base_path
39
+
40
+ cattr_accessor :fckeditor_uploads_base_url
41
+ self.fckeditor_uploads_base_url = ":fckeditor_file_action_url?file="
42
+
43
+ #TODO: geht das besser?
44
+ self.protect_from_forgery :except => [:fckeditor_command]
45
+ end
46
+
47
+ # Generates a config providing urls for the plugin. This is the hook to
48
+ # provide different fck configs for different resources
49
+ def fckeditor_custom_config
50
+ respond_to do |format|
51
+ @command_url = self.fckeditor_command_action_url || url_for_action("fckeditor_command")
52
+ format.js do
53
+ render :template => 'iq_fckeditor/custom_config', :layout => false
54
+ end
55
+ end
56
+ end
57
+
58
+ # Accessor to the uploaded files. E.g. an image will have the path:
59
+ # <controller resource path>/fckeditor_file?file=<path and filename>
60
+ def fckeditor_file
61
+ if (params[:file])
62
+ dir, url_to_dir = fckeditor_base_dir_and_url
63
+ path = append_path dir, params[:file]
64
+ if FileTest.file?(path)
65
+ if (params[:thumb] =~ /^[1-9][0-9][0-9]?$/) # 10 - 999
66
+ ext = File.extname(path)
67
+ thumb_path = File.join(File.dirname(path), '.thumbs', File.basename(path, ext)) + ".#{params[:thumb]}#{ext}"
68
+ if !(FileTest.file?(thumb_path))
69
+ FileUtils.mkdir(File.dirname(thumb_path)) unless File.directory?(File.dirname(thumb_path))
70
+ tmp = Paperclip::Thumbnail.new(File.new(path), :geometry => "#{params[:thumb]}x#{params[:thumb]}>").make
71
+ FileUtils.mv(tmp.path, thumb_path)
72
+ tmp.unlink
73
+ end
74
+ path = thumb_path
75
+ end
76
+ if stale?(:last_modified => File.mtime(path).utc)
77
+ if stale?(:etag => Digest::MD5.hexdigest(File.read(path))) #Only calc checksum if :last_modified 'failes'
78
+ send_file(path, :type => Mime::Type.lookup_by_extension(File.extname(path)), :disposition => 'inline') #Finally send the file
79
+ end
80
+ end
81
+ else
82
+ head 404
83
+ end
84
+ else
85
+ head 404
86
+ end
87
+ end
88
+
89
+ # This is a resource based variant of fckeditor_command?Command=GetFoldersAndFiles
90
+ def fckeditor_directory
91
+ respond_to do |format|
92
+ format.xml do
93
+ fckeditor_get_folders_and_files(true)
94
+ end
95
+ end
96
+ end
97
+
98
+ # Executes some server side commands the js client side calls:
99
+ # GetFoldersAndFiles, GetFolders (2.times{GET})
100
+ # CreateFolder (GET)
101
+ # FileUpload (POST)
102
+ # These operations are addessed by parameters:
103
+ # fckeditor_command?Command=<command>
104
+ # I found no way to configure this in the FCK javascriptside. Also the GETs
105
+ # on modifications realy suck. If you find a way to modify this: please tell
106
+ # me how you did it.
107
+ def fckeditor_command
108
+ case params[:Command]
109
+ when 'GetFoldersAndFiles', 'GetFolders'
110
+ respond_to do |format|
111
+ format.xml do
112
+ fckeditor_get_folders_and_files(params[:Command] == 'GetFoldersAndFiles')
113
+ end
114
+ end
115
+ when 'CreateFolder'
116
+ respond_to do |format|
117
+ format.xml do
118
+ fckeditor_create_folder
119
+ end
120
+ end
121
+ when 'FileUpload'
122
+ respond_to do |format|
123
+ format.html do
124
+ fckeditor_upload
125
+ end
126
+ end
127
+ else
128
+ if (params[:NewFile])
129
+ fckeditor_upload
130
+ else
131
+ head 404
132
+ end
133
+ end
134
+ end
135
+
136
+ protected
137
+
138
+ def url_for_action(action = nil)
139
+ path = ((ActionController::Base::relative_url_root || "") + request.path).split('/')
140
+ path.pop
141
+ path << action.to_s if action
142
+ path.join('/')
143
+ end
144
+
145
+ # This method returns the real base directory of this request and the path
146
+ # for the url used by the clients later. This two strings are prefixed to
147
+ # the path given by the fck javascriptside:
148
+ # <path on the server filesystem>: <base dir> + <fck path>
149
+ # <url>: http://<servername>/<base url> + <fck path>
150
+ def fckeditor_base_dir_and_url
151
+ resource_path = url_for_action(nil)
152
+ dir = (self.class.fckeditor_uploads_base_path || IqFckeditor.default_uploads_base_path).gsub(/:resource_path/, resource_path)
153
+ FileUtils.mkdir_p(dir)
154
+ url = self.class.fckeditor_uploads_base_url.gsub(/:resource_path/, resource_path).gsub(/:fckeditor_file_action_url/, self.class.fckeditor_file_action_url || url_for_action("fckeditor_file"))
155
+ return [dir, url]
156
+ end
157
+
158
+ # Appends a path to a given base directory and verifies that the result is
159
+ # in the base path (think about ''../bla'').
160
+ def append_path base_dir, path
161
+ res = File.expand_path(File.join(base_dir, path)).to_s
162
+ if res.index(File.expand_path(base_dir).to_s) == 0 # ok
163
+ res
164
+ else
165
+ File.expand_path(base_dir + path)
166
+ end
167
+ end
168
+
169
+ # This renders a XML file for the FCK client providing the folders (and
170
+ # files) in the directory given by 'CurrentFolder'.
171
+ def fckeditor_get_folders_and_files(include_files = true)
172
+ @folders = []
173
+ @files = {}
174
+ dir, @url_to_dir = fckeditor_base_dir_and_url
175
+ @current_folder = params[:CurrentFolder] || '/'
176
+ @url_to_dir += @current_folder # Complete URL path to this directory
177
+ dir = append_path(dir, @current_folder) + "/" #Complete 'local' path to this directory
178
+ Dir.entries(dir).each do |entry|
179
+ next if entry =~ /^\./
180
+ path = dir + entry
181
+ if FileTest.directory?(path)
182
+ @folders.push entry
183
+ elsif (include_files and FileTest.file?(path))
184
+ @files[entry] = (File.size(path) / 1024)
185
+ end
186
+ end
187
+ render :template => 'iq_fckeditor/file_listing.xml', :layout => false
188
+ end
189
+
190
+ # Creates a folder given by 'NewFolderName' under 'CurrentFolder' and
191
+ # returns a XML to the FCK client.
192
+ def fckeditor_create_folder
193
+ begin
194
+ dir, @url_to_dir = fckeditor_base_dir_and_url
195
+ dir = append_path(dir, params[:CurrentFolder]) + "/"
196
+ @current_folder = params[:CurrentFolder] + params[:NewFolderName]
197
+ new_path = dir + params[:NewFolderName]
198
+ if !(File.stat(dir).writable?)
199
+ @error_number = 103
200
+ #elsif params[:CurrentFolder] !~ /[\w\d\s]+/
201
+ # @errorNumber = 102
202
+ elsif FileTest.exists?(new_path)
203
+ @error_number = 101
204
+ else
205
+ Dir.mkdir(new_path, 0775)
206
+ @new_folder = params[:NewFolderName]
207
+ @error_number = 0
208
+ end
209
+ rescue => e
210
+ logger.error(e)
211
+ @error_number = 110 if @error_number.nil?
212
+ end
213
+ render :template => 'iq_fckeditor/file_listing.xml', :layout => false
214
+ end
215
+
216
+ # Moves an uploaded file to it's final destination on the server and returns
217
+ # a javascript encapsulated into HTML to fck client.
218
+ def fckeditor_upload
219
+ begin
220
+ ftype = params[:NewFile].content_type.strip
221
+ if ! MIME_TYPES.include?(ftype)
222
+ @error_number = 202
223
+ raise "#{ftype} is invalid MIME type"
224
+ else
225
+ dir, url_to_dir = fckeditor_base_dir_and_url
226
+ dir = append_path(dir, (params[:CurrentFolder] ? params[:CurrentFolder] : "/")) + "/"
227
+ @file_name = params[:NewFile].original_filename
228
+ full_file_name = dir + @file_name
229
+ @file_url = url_to_dir + (params[:CurrentFolder] ? params[:CurrentFolder] : "/") + @file_name
230
+ File.open(full_file_name,"wb",0664) do |fp|
231
+ FileUtils.copy_stream(params[:NewFile], fp)
232
+ end
233
+ @error_number = 0
234
+ end
235
+ rescue => e
236
+ logger.error(e)
237
+ @error_number = 110 if @error_number.nil?
238
+ end
239
+ render :template => 'iq_fckeditor/file_uploaded.html', :layout => false
240
+ end
241
+
242
+ end
243
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :iq_fckeditor do
3
+ # # Task goes here
4
+ # end
@@ -0,0 +1,9 @@
1
+ # -*- encoding : utf-8 -*-
2
+ require 'test_helper'
3
+
4
+ class IqFckeditorTest < ActiveSupport::TestCase
5
+ # Replace this with your real tests.
6
+ test "the truth" do
7
+ assert true
8
+ end
9
+ end
@@ -0,0 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
2
+ require 'rubygems'
3
+ require 'active_support'
4
+ require 'active_support/test_case'
metadata ADDED
@@ -0,0 +1,91 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: iq_fckeditor
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.4
5
+ platform: ruby
6
+ authors:
7
+ - Till Schulte-Coerne
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-07-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: actionpack
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ description: IqFckeditor
42
+ email:
43
+ - till.schulte-coerne@innoq.com
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files:
47
+ - README.md
48
+ - LICENSE
49
+ files:
50
+ - LICENSE
51
+ - README.md
52
+ - Rakefile
53
+ - app/controllers/simple_fck_upload_controller.rb
54
+ - app/helpers/application_helper.rb
55
+ - app/views/iq_fckeditor/_fckeditor.html.erb
56
+ - app/views/iq_fckeditor/custom_config.js.erb
57
+ - app/views/iq_fckeditor/file_listing.xml.builder
58
+ - app/views/iq_fckeditor/file_uploaded.html.erb
59
+ - config/initializers/default_path.rb
60
+ - iq_fckeditor.gemspec
61
+ - lib/iq_fckeditor.rb
62
+ - lib/iq_fckeditor/engine.rb
63
+ - lib/iq_fckeditor/version.rb
64
+ - tasks/iq_fckeditor_tasks.rake
65
+ - test/iq_fckeditor_test.rb
66
+ - test/test_helper.rb
67
+ homepage: http://github.com/tilsc/iq_fckeditor
68
+ licenses: []
69
+ metadata: {}
70
+ post_install_message:
71
+ rdoc_options: []
72
+ require_paths:
73
+ - lib
74
+ required_ruby_version: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: '0'
79
+ required_rubygems_version: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ requirements: []
85
+ rubygems_version: 3.2.3
86
+ signing_key:
87
+ specification_version: 4
88
+ summary: IqFckeditor
89
+ test_files:
90
+ - test/test_helper.rb
91
+ - test/iq_fckeditor_test.rb