- modified resize image library.
end\r
end\r
\r
-\r
# = Objectクラス\r
#\r
# 基本クラスのオーバーライドを行います\r
# 開発用ログを出力するか?\r
LOG_RELEASE_MODE = false\r
\r
+# ファイルマネージャ用設定\r
+# サムネイル画像の最大幅(縦・横共通)を指定\r
+THUMBS_SIZE = 150\r
+# 必要がある場合はrubygems, rmagickのLOADPATHを指定\r
+$LOAD_PATH.push("/home/lunardial/local/lib")\r
+$LOAD_PATH.push("/home/lunardial/local/lib/ruby/gem/gems/rmagick-2.13.1/lib")\r
+\r
# バージョン情報を示す文字列です\r
APPVERSION = "- FeedGenerator for Ruby version 4.0.0.0 -<br>Copyright(c) 2009 Kureha.H (<a href=\"http://lunardial.sakura.ne.jp/\" target=\"_blank\">http://lunardial.sakura.ne.jp/</a>) & Yui Naruse (<a href=\"http://airemix.com/\" target=\"_blank\">http://airemix.com/</a>)"\r
# タイトル領域に表示される文字列です\r
end\r
end\r
\r
-# = Pluginクラス\r
+# = PluginManagerクラス\r
#\r
# プラグインの処理を行うクラスです\r
-class FeedGenPluginManager\r
- def self.exec(mode, filepath)\r
+class PluginManager\r
+ def self.exec(mode, module_name, filepath)\r
feed = Feed.readxml(XMLPATH + filepath)\r
entries = Entry.readxml(XMLPATH + filepath)\r
feed.freeze\r
entries.freeze\r
Dir.foreach(PLUGINDIR) do |fn|\r
- next unless File.extname(fn) == '.rb'\r
- require File.join(PLUGINDIR, fn)\r
- plugin_name = "FeedGenPlugins::"\r
- plugin_name << File.basename(fn).gsub(/\.rb\Z/, "")\r
- plugin_ins = plugin_name.split(/::/).inject(Object) { |c,name| c.const_get(name) }\r
- plugin_ins.new.exec(mode, feed, entries)\r
+ begin \r
+ next unless File.extname(fn) == '.rb'\r
+ require File.join(PLUGINDIR, fn)\r
+ plugin_name = "#{module_name}::"\r
+ plugin_name << File.basename(fn).gsub(/\.rb\Z/, "")\r
+ plugin_ins = plugin_name.split(/::/).inject(Object) { |c,name| c.const_get(name) }\r
+ plugin_ins.new.exec(mode, feed, entries)\r
+ rescue\r
+ end\r
end\r
end\r
end\r
params["mode"] = "error"\r
else\r
# 成功時はプラグイン処理を実施する\r
- FeedGenPluginManager.exec("newentry", File.basename(session["filepath"]))\r
+ PluginManager.exec("newentry", "FeedGenPlugins", File.basename(session["filepath"]))\r
session["info"] = "記事の新規作成が成功しました。"\r
end\r
# 画面を戻った際の処理\r
params["mode"] = "error"\r
else\r
# 成功時はプラグイン処理を実施する\r
- FeedGenPluginManager.exec("editentry", File.basename(session["filepath"]))\r
+ PluginManager.exec("editentry", "FeedGenPlugins", File.basename(session["filepath"]))\r
session["info"] = "記事の編集が完了しました。"\r
\r
# 一覧を更新後の内容で更新する。\r
params["mode"] = "error"\r
else\r
# 成功時はプラグイン処理を実施する\r
- FeedGenPluginManager.exec("delentry", File.basename(session["filepath"]))\r
+ PluginManager.exec("delentry", "FeedGenPlugins", File.basename(session["filepath"]))\r
session["info"] = "記事の削除に成功しました。"\r
\r
# 内容を更新する\r
\r
end\r
\r
+# = PluginManagerクラス\r
+#\r
+# プラグインの処理を行うクラスです\r
+class PluginManager\r
+ def self.exec(mode, module_name, filename, filepath)\r
+ Dir.foreach(PLUGINDIR) do |fn|\r
+ begin \r
+ next unless File.extname(fn) == '.rb'\r
+ require File.join(PLUGINDIR, fn)\r
+ plugin_name = "#{module_name}::"\r
+ plugin_name << File.basename(fn).gsub(/\.rb\Z/, "")\r
+ plugin_ins = plugin_name.split(/::/).inject(Object) { |c,name| c.const_get(name) }\r
+ plugin_ins.new.exec(mode, filename, filepath)\r
+ rescue\r
+ end\r
+ end\r
+ end\r
+end\r
+\r
# = Controllerクラス\r
#\r
# コントローラ部分に相当する処理を受け持つクラスです\r
end\r
\r
filer.upload(cgi["updata"], upload_filename)\r
- # 独自改造 開始\r
+ \r
+ # サムネイル作成開始\r
if params["thumbs"] == "true" and File.extname(upload_filename) =~ /\.(jpg|JPG|png|PNG)\Z/\r
begin\r
- require('./resize.rb')\r
+ require('./plugins/ResizeManager.rb')\r
if filer.relpath_list.size == 0\r
- ResizeManager.create_thumbs(IMGPATH + upload_filename)\r
+ ResizeManager::ResizeManager.create_thumbs(IMGPATH + upload_filename)\r
else\r
- ResizeManager.create_thumbs(IMGPATH + filer.relpath_list.join("/") + "/" + upload_filename)\r
+ ResizeManager::ResizeManager.create_thumbs(IMGPATH + filer.relpath_list.join("/") + "/" + upload_filename)\r
end\r
rescue LoadError\r
# With no action\r
end\r
end\r
# 独自改造 終了\r
+ \r
rescue FileExistedException\r
session["error"] = "既に同名のファイルが存在します!"\r
rescue WebSecurityException\r
session["error"] = "ファイル名に使用できない文字列が含まれています!"\r
end\r
+ \r
+ \r
else\r
session["error"] = "ファイルの容量が大きすぎます!"\r
end\r
\r
# ファイル一覧を更新\r
- Controller.update_session(session, filer);\r
-\r
+ Controller.update_session(session, filer)\r
+ \r
session["info"] = "正常にファイル(#{upload_filename})のアップロードが完了しました。" if session["error"] == ""\r
\r
# 移動時\r
+++ /dev/null
-#!/usr/local/bin/ruby
-# -*- coding: utf-8 -*-
-
-THUMBS_SIZE = 150
-
-class ResizeManager
- def self.create_thumbs(fname)
- $LOAD_PATH.push("/home/lunardial/local/lib")
- $LOAD_PATH.push("/home/lunardial/local/lib/ruby/gem/gems/rmagick-2.13.1/lib")
-
- require 'rubygems'
- require 'RMagick'
-
- img = Magick::Image.read(fname).first
-
- img.resize_to_fit!(THUMBS_SIZE, THUMBS_SIZE)
- thumbs_name = fname.gsub(/#{File.extname(fname)}\Z/, "") + "_thumbs" + File.extname(fname)
- img.write(thumbs_name)
- end
-end