Class: Wiki2Go::Servlet

Inherits:
Object
  • Object
show all
Defined in:
lib/Wiki2Go/Wiki2GoServlet.rb

Constant Summary collapse

'Wiki2Go_user'

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ Servlet

Returns a new instance of Servlet.



13
14
15
# File 'lib/Wiki2Go/Wiki2GoServlet.rb', line 13

def initialize(config)
  @config = config
end

Instance Method Details

#execute(request, response) ⇒ Object



17
18
19
20
21
# File 'lib/Wiki2Go/Wiki2GoServlet.rb', line 17

def execute(request,response)
  result = false
  result = execute_command(request,response)
  result
end

#perform_admin(req, res, wikiweb) ⇒ Object



112
113
114
115
116
117
118
119
# File 'lib/Wiki2Go/Wiki2GoServlet.rb', line 112

def perform_admin(req,res,wikiweb)
  wiki = Wiki2Go::Wiki.new(@config)
  result = wiki.admin(req)

  res.content_type = "text/html"
  res.body = result
  true
end

#perform_changes(req, res, wikiweb) ⇒ Object



67
68
69
70
71
72
73
# File 'lib/Wiki2Go/Wiki2GoServlet.rb', line 67

def perform_changes(req,res,wikiweb)
  wiki = Wiki2Go::Wiki.new(@config)

  res.content_type = "text/html"
  res.body = wiki.changes(wikiweb)
  true
end

#perform_edit(req, res, wikiweb) ⇒ Object



93
94
95
96
97
98
99
# File 'lib/Wiki2Go/Wiki2GoServlet.rb', line 93

def perform_edit(req,res,wikiweb)
  wiki = Wiki2Go::Wiki.new(@config)

  res.content_type = "text/html"
  res.body = wiki.edit(wikiweb)
  true
end

#perform_generate_static(req, res, wikiweb) ⇒ Object



136
137
138
139
140
141
142
# File 'lib/Wiki2Go/Wiki2GoServlet.rb', line 136

def perform_generate_static(req,res,wikiweb)
  wiki = Wiki2Go::Wiki.new(@config)

  res.content_type = "text/html"
  res.body = wiki.generate_html(wikiweb)
  true
end

#perform_log_rss(req, res, wikiweb) ⇒ Object



165
166
167
168
169
170
171
172
# File 'lib/Wiki2Go/Wiki2GoServlet.rb', line 165

def perform_log_rss(req,res,wikiweb)
  wiki = Wiki2Go::Wiki.new(@config)

  errorlog = IO::readlines(@config.logfile)
  res.content_type = "text/xml"
  res.body = wiki.generate_rss_from_log(wikiweb,errorlog)
  true
end

#perform_perform(req, res, wikiweb) ⇒ Object



35
36
37
38
39
40
41
# File 'lib/Wiki2Go/Wiki2GoServlet.rb', line 35

def perform_perform(req,res,wikiweb)
  wiki = Wiki2Go::Wiki.new(@config)

  res.content_type = 'text/html'
  res.body = wiki.perform(wikiweb,req)
  true
end

#perform_redirect(req, res, wikiweb) ⇒ Object



101
102
103
104
105
106
107
108
109
110
# File 'lib/Wiki2Go/Wiki2GoServlet.rb', line 101

def perform_redirect(req,res,wikiweb)
  redirect_to = req.parameter('url')

  wiki = Wiki2Go::Wiki.new(@config)

  res.redirect_to = redirect_to
  res.content_type = "text/html"
  res.body = "Redirect to #{redirect_to}"
  true
end

#perform_removespam(req, res, wikiweb) ⇒ Object



121
122
123
124
125
126
127
128
129
130
131
132
133
134
# File 'lib/Wiki2Go/Wiki2GoServlet.rb', line 121

def perform_removespam(req,res,wikiweb)

  user = req.parameter('user') 

  wiki = Wiki2Go::Wiki.new(@config)

  if !user.nil? && !user.empty? then
    wiki.blacklist(user)
  end

  res.content_type = "text/html"
  res.body = wiki.remove_spam(wikiweb)
  true
end

#perform_save(req, res, wikiweb) ⇒ Object



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/Wiki2Go/Wiki2GoServlet.rb', line 43

def perform_save(req,res,wikiweb)

  content = req.parameter('text','')
  name    = req.parameter('title',wikiweb.current_page)
  author = req.parameter('author') 
  remember_me = req.parameter('remember_me')

  if !author.nil? && author.length > 0 then # !wikiweb.secure && 
    wikiweb.alias = author
    timeout = Time.now + 7 * 24 * 3600
    res.add_cookie(USER_COOKIE,author,nil,'/',timeout) unless remember_me.nil?
  end

  wiki = Wiki2Go::Wiki.new(@config)

  wikiweb.title = name

  redirect_to = wiki.save(wikiweb,content) 
  res.redirect_to = redirect_to
  res.content_type = "text/html"
  res.body = "Redirect to #{redirect_to}"
  true
end

#perform_search(req, res, wikiweb) ⇒ Object



75
76
77
78
79
80
81
82
83
# File 'lib/Wiki2Go/Wiki2GoServlet.rb', line 75

def perform_search(req,res,wikiweb)
  topic = req.parameter('text')

  wiki = Wiki2Go::Wiki.new(@config)

  res.content_type = "text/html"
  res.body = wiki.search(wikiweb,topic)
  true
end

#perform_upload(req, res, wikiweb) ⇒ Object



144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
# File 'lib/Wiki2Go/Wiki2GoServlet.rb', line 144

def perform_upload(req,res,wikiweb)

  uploaded_file = req.uploaded_file('FILE')
  wiki = Wiki2Go::Wiki.new(@config)

  filename = uploaded_file.filename
  if filename =~ /\\/ then
    filename = filename.split('\\').pop
  end

  if filename =~ /\// then
    filename = filename.split('/').pop
  end

  redirect_to = wiki.upload(wikiweb,filename,uploaded_file.content) 
  res.redirect_to = redirect_to
  res.content_type = "text/html"
  res.body = "Redirect to #{redirect_to}"
  true
end

#perform_versions(req, res, wikiweb) ⇒ Object



85
86
87
88
89
90
91
# File 'lib/Wiki2Go/Wiki2GoServlet.rb', line 85

def perform_versions(req,res,wikiweb)
  wiki = Wiki2Go::Wiki.new(@config)

  res.content_type = "text/html"
  res.body = wiki.versions(wikiweb)
  true
end

#perform_view(req, res, wikiweb) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/Wiki2Go/Wiki2GoServlet.rb', line 23

def perform_view(req,res,wikiweb)
  wiki = Wiki2Go::Wiki.new(@config)

  res.content_type = 'text/html'
  if @config.allow_dynamic_pages && wikiweb.current_page =~ /\.rbl$/i then
    res.body = wiki.perform(wikiweb,req)
  else
    res.body = wiki.view(wikiweb)
  end
  true
end