1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
# Copyritght (c) 2002 TANIGUCHI Takaki
# This program is distributed under the GNU GPL 2 or later.
require 'aswiki/plugin'
require 'aswiki/attachdb'
require 'cgi/session'
require 'bdb'
module AsWiki
class AttachPlugin < Plugin
Name = 'attach'
def onpost(session, file)
pname = session['pname']
adb = AsWiki::AttachDB.new
adb.savefile(pname, file[0])
end
def onview(line, b, e, av=[])
session = CGI::Session.new(CGI::new, {'tmpdir' => $DIR_SESSION,
'new_session'=>true})
session['pname'] = @name
session['plugin'] = self.class
adb = AsWiki::AttachDB.new
@data ={:_session_id => session.session_id,
:item => adb.listfile(@name)
}
# @view = load_template.expand_tree(data)
load_parts
return self
end
attr_reader :data
end
class AttachIncludePlugin < Plugin
Name = 'attachinclude'
# #attachinclude num
def onview(line, b, e, av=[])
num = av[1]
adb = AsWiki::AttachDB.new
ret = adb.querybynum(num)
@data = {
:url => cgiurl([['c','download'],['num',num]]),
:mime => ret[:type].gsub(/\r|\n/,''),
:name => ret[:filename],
}
load_parts('attach')
return self
end
end
end
|