Wiki2Go 1.14.0
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/bin/Wiki2GoServer.rb +11 -0
- data/bin/Wiki2Go_make_site.rb +10 -0
- data/bin/Wiki2Go_make_wiki.rb +10 -0
- data/bin/Wiki2Go_update_site.rb +10 -0
- data/lib/Web2Go/CGIRequest.rb +99 -0
- data/lib/Web2Go/CGIResponse.rb +64 -0
- data/lib/Web2Go/ERB_Interpreter.rb +47 -0
- data/lib/Web2Go/MockCookie.rb +17 -0
- data/lib/Web2Go/MockRequest.rb +131 -0
- data/lib/Web2Go/MockResponse.rb +35 -0
- data/lib/Web2Go/Web2Go.rb +0 -0
- data/lib/Web2Go/WebrickRequest.rb +124 -0
- data/lib/Web2Go/WebrickResponse.rb +50 -0
- data/lib/Wiki2Go.rb +2 -0
- data/lib/Wiki2Go/BlackList.rb +52 -0
- data/lib/Wiki2Go/DotGraphics.rb +69 -0
- data/lib/Wiki2Go/FileStorage.rb +267 -0
- data/lib/Wiki2Go/GreyList.rb +88 -0
- data/lib/Wiki2Go/Install/config/chonqed_blacklist.txt +4743 -0
- data/lib/Wiki2Go/Install/config/passwords +1 -0
- data/lib/Wiki2Go/Install/make_site.rb +515 -0
- data/lib/Wiki2Go/Install/site/error.html +77 -0
- data/lib/Wiki2Go/Install/site/html/admin.css +135 -0
- data/lib/Wiki2Go/Install/site/html/xml.gif +0 -0
- data/lib/Wiki2Go/Install/site/robots.txt +13 -0
- data/lib/Wiki2Go/Install/site/style.css +135 -0
- data/lib/Wiki2Go/Install/templates/admin.htm +48 -0
- data/lib/Wiki2Go/Install/templates/admin_pages/admin.txt +1 -0
- data/lib/Wiki2Go/Install/templates/admin_pages/greylist.txt +72 -0
- data/lib/Wiki2Go/Install/templates/admin_pages/passwords.txt +67 -0
- data/lib/Wiki2Go/Install/templates/admin_pages/regenerate.txt +26 -0
- data/lib/Wiki2Go/Install/templates/admin_pages/removespam.txt +19 -0
- data/lib/Wiki2Go/Install/templates/admin_pages/update.txt +13 -0
- data/lib/Wiki2Go/Install/templates/edit.htm +74 -0
- data/lib/Wiki2Go/Install/templates/pagelist.htm +82 -0
- data/lib/Wiki2Go/Install/templates/rss.xml +11 -0
- data/lib/Wiki2Go/Install/templates/versionlist.htm +84 -0
- data/lib/Wiki2Go/Install/templates/view.htm +72 -0
- data/lib/Wiki2Go/Install/wiki/style.css +135 -0
- data/lib/Wiki2Go/Page.rb +69 -0
- data/lib/Wiki2Go/PrivateWikiConfig.rb +27 -0
- data/lib/Wiki2Go/PublicWikiConfig.rb +52 -0
- data/lib/Wiki2Go/ReadWriteWikiConfig.rb +23 -0
- data/lib/Wiki2Go/Server.rb +94 -0
- data/lib/Wiki2Go/SpamFilter.rb +95 -0
- data/lib/Wiki2Go/UrlFinder.rb +26 -0
- data/lib/Wiki2Go/Web.rb +185 -0
- data/lib/Wiki2Go/WebrickServlet.rb +211 -0
- data/lib/Wiki2Go/WhiteList.rb +29 -0
- data/lib/Wiki2Go/Wiki2Go.rb +274 -0
- data/lib/Wiki2Go/Wiki2GoConfig.rb +144 -0
- data/lib/Wiki2Go/Wiki2GoServlet.rb +197 -0
- data/lib/Wiki2Go/WikiFormatter.rb +597 -0
- data/lib/Wiki2Go/WikiLogFile.rb +43 -0
- data/lib/Wiki2Go/cgi/changes.rb +20 -0
- data/lib/Wiki2Go/cgi/display.rb +20 -0
- data/lib/Wiki2Go/cgi/edit.rb +20 -0
- data/lib/Wiki2Go/cgi/redirect.rb +20 -0
- data/lib/Wiki2Go/cgi/save.rb +20 -0
- data/lib/Wiki2Go/cgi/search.rb +20 -0
- data/lib/Wiki2Go/cgi/secure/admin.rb +20 -0
- data/lib/Wiki2Go/cgi/secure/generate_static.rb +20 -0
- data/lib/Wiki2Go/cgi/secure/removespam.rb +20 -0
- data/lib/Wiki2Go/cgi/upload.rb +20 -0
- data/lib/Wiki2Go/cgi/versions.rb +20 -0
- data/lib/Wiki2Go/cgi/view.rb +20 -0
- metadata +113 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<%
|
|
2
|
+
|
|
3
|
+
passwords = File.join(@config.root_directory,'config','passwords')
|
|
4
|
+
exists = File.exists?(passwords)
|
|
5
|
+
|
|
6
|
+
user = @request.parameter('user','').strip
|
|
7
|
+
user_pwd = @request.parameter('password','').strip
|
|
8
|
+
|
|
9
|
+
if !@request.parameter('add').nil? && !user.empty? && !user_pwd.empty? then
|
|
10
|
+
command = "htpasswd -b #{!exists ? '-c' : '' } #{passwords} #{user} #{user_pwd}"
|
|
11
|
+
output = system(command)
|
|
12
|
+
result = $?
|
|
13
|
+
@config.log("Execute command '#{command}' => #{result}")
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
lines = []
|
|
17
|
+
if File.exists?(passwords) then
|
|
18
|
+
pwdfile = File.open(passwords,'r') do |f|
|
|
19
|
+
lines = f.readlines
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
if exists && !@request.parameter('remove').nil? && !user.empty? then
|
|
24
|
+
regex = Regexp.new("^#{user}:")
|
|
25
|
+
lines = lines.collect { |line|
|
|
26
|
+
if line =~ regex then
|
|
27
|
+
@config.log("Remove line #{line}")
|
|
28
|
+
nil
|
|
29
|
+
else
|
|
30
|
+
line
|
|
31
|
+
end
|
|
32
|
+
}
|
|
33
|
+
lines = lines.compact
|
|
34
|
+
pwdfile = File.open(passwords,'w') do |f|
|
|
35
|
+
f.puts lines
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
%>
|
|
41
|
+
<h3>Manage passwords</h3>
|
|
42
|
+
<table class="topiclist">
|
|
43
|
+
<tr><th>Name</th><th>Password</th><th> </th></tr>
|
|
44
|
+
<%
|
|
45
|
+
odd = false
|
|
46
|
+
lines.each do |line|
|
|
47
|
+
style = (odd ? "odd" : "even")
|
|
48
|
+
odd = !odd
|
|
49
|
+
name,pwd = line.split(':')
|
|
50
|
+
%>
|
|
51
|
+
<tr class="<%= style%>"><td><%= name%></td><td><%= pwd %></td>
|
|
52
|
+
<td>
|
|
53
|
+
<form action="<%= File.join(@web.script_prefix,'admin','passwords')%>" method="GET">
|
|
54
|
+
<input type="submit" name="remove" value="Delete">
|
|
55
|
+
<input type="hidden" name="user" value="<%= name %>">
|
|
56
|
+
</form>
|
|
57
|
+
</td>
|
|
58
|
+
</tr>
|
|
59
|
+
<% end %>
|
|
60
|
+
</table>
|
|
61
|
+
<form action="<%= File.join(@web.script_prefix,'admin','passwords')%>" method="GET">
|
|
62
|
+
<table>
|
|
63
|
+
<tr><td>Name</td><td><input name="user" value="<%= user %>"></td></tr>
|
|
64
|
+
<tr><td>Password</td><td><input name="password" value="<%= user_pwd %>"></td></tr>
|
|
65
|
+
<tr><td colspan=2><input type="submit" name="add" value="Add"></td></tr>
|
|
66
|
+
</table>
|
|
67
|
+
</form>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<%
|
|
2
|
+
require 'Wiki2Go/Wiki2Go'
|
|
3
|
+
|
|
4
|
+
output = ''
|
|
5
|
+
subwiki = @request.params['wiki']
|
|
6
|
+
if !subwiki.nil? && subwiki.size > 0 then
|
|
7
|
+
subwiki = subwiki[0]
|
|
8
|
+
wiki = Wiki2Go::Wiki.new(@config)
|
|
9
|
+
pageweb = Wiki2Go::Web.new(@web.server,@web.port,@web.script_prefix,"regenerate",subwiki,'')
|
|
10
|
+
output = wiki.generate_html(pageweb)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
storage = @config.storage
|
|
14
|
+
if @config.multi_wiki then
|
|
15
|
+
subwikis = storage.wikis
|
|
16
|
+
else
|
|
17
|
+
subwikis = [ '' ]
|
|
18
|
+
end
|
|
19
|
+
%>
|
|
20
|
+
<ul>
|
|
21
|
+
<% subwikis.each do |subwiki| %>
|
|
22
|
+
<li><a href="<%= File.join(@web.script_prefix,'admin','regenerate') %>?wiki=<%= subwiki %>">Generate static HTML for '<%= (subwiki.empty? ? '<whole site>' : subwiki) %>'</a>
|
|
23
|
+
<% end %>
|
|
24
|
+
</ul>
|
|
25
|
+
<hr>
|
|
26
|
+
<%= output %>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<%
|
|
2
|
+
|
|
3
|
+
username = ''
|
|
4
|
+
bad_user = @request.params['bad_user']
|
|
5
|
+
if !bad_user.nil? && bad_user.length > 0 then
|
|
6
|
+
username = bad_user
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
%>
|
|
10
|
+
<h3>Remove spam</h3>
|
|
11
|
+
<% if username.length > 0 then %>
|
|
12
|
+
Remove spam added by <%= username %>
|
|
13
|
+
<% end %>
|
|
14
|
+
<form action="<%= File.join(@web.script_prefix,'admin','removespam')%>" method="GET">
|
|
15
|
+
<table>
|
|
16
|
+
<tr><td>Name</td><td><input name="bad_user" value="<%= username%>"></td></tr>
|
|
17
|
+
<tr><td colspan=2><input type="submit" name="Erase" value="Erase"></td></tr>
|
|
18
|
+
</table>
|
|
19
|
+
</form>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<%
|
|
2
|
+
require 'FileUtils'
|
|
3
|
+
|
|
4
|
+
FileUtils.cd (@config.root_directory) {
|
|
5
|
+
command = "cvs update -d -R"
|
|
6
|
+
output = system(command)
|
|
7
|
+
result = $?
|
|
8
|
+
}
|
|
9
|
+
@config.log("Execute command '#{command}' => #{result}")
|
|
10
|
+
%>
|
|
11
|
+
<h3>CVS Update</h3>
|
|
12
|
+
Result = <%= result %><br>
|
|
13
|
+
Output = <%= output %>
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
2
|
+
<HTML>
|
|
3
|
+
<HEAD>
|
|
4
|
+
<BASE href="<%= current.web.base_url %>">
|
|
5
|
+
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
6
|
+
<META http-equiv="Pragma" content="no-cache">
|
|
7
|
+
<META name="Author" content="Pascal Van Cauwenberghe">
|
|
8
|
+
<META name="Keywords" content="ruby,wiki">
|
|
9
|
+
<LINK rel="stylesheet" href="<%= current.format.resource_url('style.css')%>" type="text/css">
|
|
10
|
+
<LINK rel="alternate" type="application/rss+xml" title="RSS 2.0 feed" href="<%= current.format.resource_url('rss.xml')%>">
|
|
11
|
+
<TITLE>Edit
|
|
12
|
+
<%= current.web.name %>
|
|
13
|
+
-
|
|
14
|
+
<%= current.web.current_page %>
|
|
15
|
+
</TITLE>
|
|
16
|
+
</HEAD>
|
|
17
|
+
<BODY>
|
|
18
|
+
<div id="container">
|
|
19
|
+
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">
|
|
20
|
+
<TR>
|
|
21
|
+
<TD>
|
|
22
|
+
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%" class="Header">
|
|
23
|
+
<TR>
|
|
24
|
+
<TD><H1>Edit
|
|
25
|
+
<%= current.format.search_link(current.web.current_page) %>
|
|
26
|
+
</H1>
|
|
27
|
+
</TD>
|
|
28
|
+
<td align="right"><%= current.format.view_link(current.web.name,"FrontPage","Home") %></td>
|
|
29
|
+
</TR>
|
|
30
|
+
</TABLE>
|
|
31
|
+
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="Body">
|
|
32
|
+
<tr>
|
|
33
|
+
<td width="100%">
|
|
34
|
+
<form action="<%= current.format.save_url %>" method="POST" id="form2" name="form2">
|
|
35
|
+
<p align="left">Edit the page in the text area.
|
|
36
|
+
<br>
|
|
37
|
+
To quit without changing the page,
|
|
38
|
+
<%= current.format.view_link(current.web.name,current.web.current_page,'click here to return to '+ current.web.current_page) %>
|
|
39
|
+
</p>
|
|
40
|
+
<% if current.web.secure then %>
|
|
41
|
+
<p>Page name: <input type="text" name="title" value="<%= current.page.name %>" size="64"></p>
|
|
42
|
+
<% else %>
|
|
43
|
+
<p>Author name: <input type="text" name="author" value="<%= current.web.alias %>" size="64"><input type="checkbox" name="remember_me" value="on" checked>Remember me</p>
|
|
44
|
+
<% end %>
|
|
45
|
+
<p align="center"><textarea name="text" rows="35" cols="96">$TEXT$</textarea><br>
|
|
46
|
+
<input type="submit" value=" Save " name="save"><input type="reset" value=" Undo changes "> </p>
|
|
47
|
+
</form>
|
|
48
|
+
<p align="left"><em>Don't forget to follow the <a href="http://wiki2go.nayima.be/Wiki2Go/TextFormattingRules.html" target="_blank">TextFormatting rules</a></em></p>
|
|
49
|
+
</td>
|
|
50
|
+
</tr>
|
|
51
|
+
</table>
|
|
52
|
+
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%" class="Footer" ID="Table1">
|
|
53
|
+
<TR>
|
|
54
|
+
<TD width="50%"><%= current.format.changes_link('Recent changes')%></TD>
|
|
55
|
+
<TD width="50%">
|
|
56
|
+
<FORM action="<%= current.format.search_url %>" method="post" id="form1" name="form1">
|
|
57
|
+
Search: <INPUT name="text" size="30" ID="Text1">
|
|
58
|
+
</FORM>
|
|
59
|
+
</TD>
|
|
60
|
+
</TR>
|
|
61
|
+
<TR>
|
|
62
|
+
<td><a href="<%= current.format.resource_url('rss.xml')%>"><img src="html/xml.gif" width="36" height="14" border="0" alt="Keep informed"></a>
|
|
63
|
+
</td>
|
|
64
|
+
<TD align="right">
|
|
65
|
+
Contact the site administrator: <%= current.format.encodeMailTo(current.config.site_admin) %>
|
|
66
|
+
</TD>
|
|
67
|
+
</TR>
|
|
68
|
+
</TABLE>
|
|
69
|
+
</TD>
|
|
70
|
+
</TR>
|
|
71
|
+
</TABLE>
|
|
72
|
+
</div>
|
|
73
|
+
</BODY>
|
|
74
|
+
</HTML>
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
2
|
+
<HTML>
|
|
3
|
+
<HEAD>
|
|
4
|
+
<BASE href="<%= current.web.base_url %>">
|
|
5
|
+
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
6
|
+
<META http-equiv="Pragma" content="no-cache">
|
|
7
|
+
<META name="Author" content="Pascal Van Cauwenberghe">
|
|
8
|
+
<META name="Keywords" content="ruby,wiki">
|
|
9
|
+
<LINK rel="stylesheet" href="<%= current.format.resource_url('style.css')%>" type="text/css">
|
|
10
|
+
<LINK rel="alternate" type="application/rss+xml" title="RSS 2.0 feed" href="<%= current.format.resource_url('rss.xml')%>">
|
|
11
|
+
<TITLE><%= current.title %></TITLE>
|
|
12
|
+
</HEAD>
|
|
13
|
+
<BODY>
|
|
14
|
+
<div id="container">
|
|
15
|
+
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">
|
|
16
|
+
<TR>
|
|
17
|
+
<TD>
|
|
18
|
+
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%" class="Header">
|
|
19
|
+
<TR>
|
|
20
|
+
<TD><H1><%= current.title %></H1></TD>
|
|
21
|
+
<td align="right"><%= current.format.view_link(current.web.name,"FrontPage","Home")%></td>
|
|
22
|
+
</TR>
|
|
23
|
+
</TABLE>
|
|
24
|
+
<TABLE border="0" cellpadding="0" cellspacing="8" width="100%" class="Body">
|
|
25
|
+
<TR>
|
|
26
|
+
<TD width="100%">
|
|
27
|
+
<TABLE border="0" width="100%">
|
|
28
|
+
<TR>
|
|
29
|
+
<td>
|
|
30
|
+
<table class="topiclist">
|
|
31
|
+
<%
|
|
32
|
+
odd = false
|
|
33
|
+
lastdate = ""
|
|
34
|
+
current.pages.each do | topic |
|
|
35
|
+
style = (odd ? "odd" : "even")
|
|
36
|
+
odd = !odd
|
|
37
|
+
thisdate = topic.lastmodified.strftime("%d/%m/%Y")
|
|
38
|
+
%>
|
|
39
|
+
<tr class="<%= style %>">
|
|
40
|
+
<td class="date"><%= (thisdate != lastdate ? thisdate : ' ') %></td>
|
|
41
|
+
<td class="topic"><%= current.format.view_link(current.web.name,topic.title,topic.name)%></td>
|
|
42
|
+
<td class="author"><%= topic.alias %><%= topic.author != topic.alias ? ' (' + topic.author + ')' : '' %></td>
|
|
43
|
+
<% if current.web.secure %>
|
|
44
|
+
<td class="topic">
|
|
45
|
+
<a href="<%= current.format.removespam_url(topic.author) %>">SPAM!</a>
|
|
46
|
+
</td>
|
|
47
|
+
<% end %>
|
|
48
|
+
</tr>
|
|
49
|
+
<%
|
|
50
|
+
lastdate = thisdate
|
|
51
|
+
end
|
|
52
|
+
%>
|
|
53
|
+
</table>
|
|
54
|
+
</td>
|
|
55
|
+
</TR>
|
|
56
|
+
</TABLE>
|
|
57
|
+
</TD>
|
|
58
|
+
</TR>
|
|
59
|
+
</TABLE>
|
|
60
|
+
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%" class="Footer">
|
|
61
|
+
<TR>
|
|
62
|
+
<TD width="50%"><%= current.format.changes_link('Recent changes')%></TD>
|
|
63
|
+
<TD width="50%">
|
|
64
|
+
<FORM action="<%= current.format.search_url %>" method="post" id="form1" name="form1">
|
|
65
|
+
Search: <INPUT name="text" size="30" ID="Text1">
|
|
66
|
+
</FORM>
|
|
67
|
+
</TD>
|
|
68
|
+
</TR>
|
|
69
|
+
<TR>
|
|
70
|
+
<td><a href="<%= current.format.resource_url('rss.xml')%>"><img src="html/xml.gif" width="36" height="14" border="0" alt="Keep informed"></a>
|
|
71
|
+
</td>
|
|
72
|
+
<TD align="right">
|
|
73
|
+
Contact the site administrator: <%= current.format.encodeMailTo(current.config.site_admin) %>
|
|
74
|
+
</TD>
|
|
75
|
+
</TR>
|
|
76
|
+
</TABLE>
|
|
77
|
+
</TD>
|
|
78
|
+
</TR>
|
|
79
|
+
</TABLE>
|
|
80
|
+
</div>
|
|
81
|
+
</BODY>
|
|
82
|
+
</HTML>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<rss version="2.0" >
|
|
3
|
+
<channel>
|
|
4
|
+
<title>$WEB$ wiki</title>
|
|
5
|
+
<link>$BASEURL$</link>
|
|
6
|
+
<description>$WEB$ wiki</description>
|
|
7
|
+
<language>en-us</language>
|
|
8
|
+
<pubDate>$DATE$</pubDate>
|
|
9
|
+
<lastBuildDate>$DATE$</lastBuildDate>
|
|
10
|
+
<docs>http://backend.userland.com/rss</docs>
|
|
11
|
+
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
2
|
+
<HTML>
|
|
3
|
+
<HEAD>
|
|
4
|
+
<BASE href="<%= current.web.base_url %>">
|
|
5
|
+
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
6
|
+
<META http-equiv="Pragma" content="no-cache">
|
|
7
|
+
<META name="Author" content="Pascal Van Cauwenberghe">
|
|
8
|
+
<META name="Keywords" content="ruby,wiki">
|
|
9
|
+
<LINK rel="stylesheet" href="<%= current.format.resource_url('style.css')%>" type="text/css">
|
|
10
|
+
<LINK rel="alternate" type="application/rss+xml" title="RSS 2.0 feed" href="<%= current.format.resource_url('rss.xml')%>">
|
|
11
|
+
<TITLE><%= current.title %></TITLE>
|
|
12
|
+
</HEAD>
|
|
13
|
+
<BODY>
|
|
14
|
+
<div id="container">
|
|
15
|
+
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">
|
|
16
|
+
<TR>
|
|
17
|
+
<TD>
|
|
18
|
+
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%" class="Header">
|
|
19
|
+
<TR>
|
|
20
|
+
<TD><H1><%= current.title %></H1></TD>
|
|
21
|
+
<td align="right"><%= current.format.view_link(current.web.name,"FrontPage","Home")%></td>
|
|
22
|
+
</TR>
|
|
23
|
+
</TABLE>
|
|
24
|
+
<TABLE border="0" cellpadding="0" cellspacing="8" width="100%" class="Body">
|
|
25
|
+
<TR>
|
|
26
|
+
<TD width="100%">
|
|
27
|
+
<TABLE border="0" width="100%">
|
|
28
|
+
<TR>
|
|
29
|
+
<td>
|
|
30
|
+
<table class="topiclist">
|
|
31
|
+
<%
|
|
32
|
+
odd = false
|
|
33
|
+
lastdate = ""
|
|
34
|
+
version_id = current.pages.length
|
|
35
|
+
current.pages.each do | topic |
|
|
36
|
+
version_id -= 1
|
|
37
|
+
style = (odd ? "odd" : "even")
|
|
38
|
+
odd = !odd
|
|
39
|
+
thisdate = topic.lastmodified.strftime("%d/%m/%Y")
|
|
40
|
+
%>
|
|
41
|
+
<tr class="<%= style %>">
|
|
42
|
+
<td class="date"><%= (thisdate != lastdate ? thisdate : ' ') %></td>
|
|
43
|
+
<td class="author"><%= topic.author %></td>
|
|
44
|
+
<td><%= current.format.view_version_link(current.web.name,topic.title,"view",{'version' => version_id.to_s})%></td>
|
|
45
|
+
<% if current.web.secure %>
|
|
46
|
+
<td class="topic">
|
|
47
|
+
<a href="<%= current.format.removespam_url(topic.author) %>">SPAM!</a>
|
|
48
|
+
</td>
|
|
49
|
+
<% end %>
|
|
50
|
+
</tr>
|
|
51
|
+
<%
|
|
52
|
+
lastdate = thisdate
|
|
53
|
+
end
|
|
54
|
+
%>
|
|
55
|
+
</table>
|
|
56
|
+
</td>
|
|
57
|
+
</TR>
|
|
58
|
+
</TABLE>
|
|
59
|
+
</TD>
|
|
60
|
+
</TR>
|
|
61
|
+
</TABLE>
|
|
62
|
+
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%" class="Footer" ID="Table1">
|
|
63
|
+
<TR>
|
|
64
|
+
<TD width="50%"><%= current.format.changes_link('Recent changes')%></TD>
|
|
65
|
+
<TD width="50%">
|
|
66
|
+
<FORM action="<%= current.format.search_url %>" method="post" id="form1" name="form1">
|
|
67
|
+
Search: <INPUT name="text" size="30" ID="Text1">
|
|
68
|
+
</FORM>
|
|
69
|
+
</TD>
|
|
70
|
+
</TR>
|
|
71
|
+
<TR>
|
|
72
|
+
<td><a href="<%= current.format.resource_url('rss.xml')%>"><img src="html/xml.gif" width="36" height="14" border="0" alt="Keep informed"></a>
|
|
73
|
+
</td>
|
|
74
|
+
<TD align="right">
|
|
75
|
+
Contact the site administrator: <%= current.format.encodeMailTo(current.config.site_admin) %>
|
|
76
|
+
</TD>
|
|
77
|
+
</TR>
|
|
78
|
+
</TABLE>
|
|
79
|
+
</TD>
|
|
80
|
+
</TR>
|
|
81
|
+
</TABLE>
|
|
82
|
+
</div>
|
|
83
|
+
</BODY>
|
|
84
|
+
</HTML>
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
|
2
|
+
<HTML>
|
|
3
|
+
<HEAD>
|
|
4
|
+
<BASE href="<%= current.web.base_url %>">
|
|
5
|
+
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
6
|
+
<META http-equiv="Pragma" content="no-cache">
|
|
7
|
+
<META name="Author" content="Pascal Van Cauwenberghe">
|
|
8
|
+
<META name="Keywords" content="ruby,wiki">
|
|
9
|
+
<LINK rel="stylesheet" href="<%= current.format.resource_url('style.css')%>" type="text/css">
|
|
10
|
+
<LINK rel="alternate" type="application/rss+xml" title="RSS 2.0 feed" href="<%= current.format.resource_url('rss.xml')%>">
|
|
11
|
+
<TITLE><%= current.web.name %>-<%= current.page.name %></TITLE>
|
|
12
|
+
</HEAD>
|
|
13
|
+
<BODY>
|
|
14
|
+
<div id="container">
|
|
15
|
+
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%">
|
|
16
|
+
<TR>
|
|
17
|
+
<TD>
|
|
18
|
+
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%" class="Header">
|
|
19
|
+
<TR>
|
|
20
|
+
<TD><h1><%= current.format.search_link2(current.web.current_page,current.page.name) %></h1>
|
|
21
|
+
</TD>
|
|
22
|
+
<td align="right"><%= current.format.view_link(current.web.name,"FrontPage","Home")%></td>
|
|
23
|
+
</TR>
|
|
24
|
+
</TABLE>
|
|
25
|
+
<TABLE border="0" cellpadding="8" cellspacing="0" width="100%" class="Body">
|
|
26
|
+
<TR>
|
|
27
|
+
<TD width="100%">
|
|
28
|
+
<%= current.text %>
|
|
29
|
+
</TD>
|
|
30
|
+
</TR>
|
|
31
|
+
</TABLE>
|
|
32
|
+
<TABLE border="0" cellpadding="0" cellspacing="0" width="100%" class="Footer">
|
|
33
|
+
<TR>
|
|
34
|
+
<TD width="50%"><%= current.format.changes_link('Recent changes')%></TD>
|
|
35
|
+
<TD width="50%"><%= current.format.edit_this_link(current.web.name,current.web.current_page,'Edit this page')%></TD>
|
|
36
|
+
</TR>
|
|
37
|
+
<TR>
|
|
38
|
+
<TD width="50%">
|
|
39
|
+
<FORM action="<%= current.format.search_url %>" method="post" id="form1" name="form1">
|
|
40
|
+
Search: <INPUT name="text" size="30" ID="Text1">
|
|
41
|
+
</FORM>
|
|
42
|
+
</TD>
|
|
43
|
+
<TD width="50%">
|
|
44
|
+
<% if current.web.secure %>
|
|
45
|
+
<FORM METHOD="POST" ACTION="<%= current.format.verb_url('upload') %>" ENCTYPE="multipart/form-data">
|
|
46
|
+
File: <INPUT TYPE="FILE" NAME="FILE" ID="File">
|
|
47
|
+
<INPUT TYPE="SUBMIT" VALUE="Send" ID="SendFile" NAME="SendFile">
|
|
48
|
+
</FORM>
|
|
49
|
+
<% end %>
|
|
50
|
+
</TD>
|
|
51
|
+
</TR>
|
|
52
|
+
<TR><TD colspan="2"></TD></TR>
|
|
53
|
+
<TR>
|
|
54
|
+
<td>Changed on
|
|
55
|
+
<%= current.page.lastmodified.strftime("%d/%m/%Y") %>
|
|
56
|
+
by
|
|
57
|
+
<%= current.page.alias%>
|
|
58
|
+
<a href="<%= current.format.resource_url('rss.xml')%>"><img src="html/xml.gif" width="36" height="14" border="0" alt="Keep up to date"></a>
|
|
59
|
+
</td>
|
|
60
|
+
<TD align="right">
|
|
61
|
+
Contact the site administrator: <%= current.format.encodeMailTo(current.config.site_admin) %>
|
|
62
|
+
<a target="_blank" href="http://validator.w3.org/check?uri=<%= current.format.absolute_url %>">
|
|
63
|
+
<img border="0" src="http://www.w3.org/Icons/valid-html401" alt="Verify if layout is correct!" height="31" width="88"></a>
|
|
64
|
+
</TD>
|
|
65
|
+
</TR>
|
|
66
|
+
</TABLE>
|
|
67
|
+
</TD>
|
|
68
|
+
</TR>
|
|
69
|
+
</TABLE>
|
|
70
|
+
</div>
|
|
71
|
+
</BODY>
|
|
72
|
+
</HTML>
|