Wiki2Go 1.14.4 → 1.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. data/bin/Wiki2Go_make_repository.rb +10 -0
  2. data/bin/Wiki2Go_make_site.rb +1 -1
  3. data/lib/Web2Go/ERB_Interpreter.rb +6 -1
  4. data/lib/Wiki2Go/FileStorage.rb +28 -12
  5. data/lib/Wiki2Go/Install/make_repository.rb +140 -0
  6. data/lib/Wiki2Go/Install/make_site.rb +98 -16
  7. data/lib/Wiki2Go/Install/site/html/admin.css +197 -101
  8. data/lib/Wiki2Go/Install/site/html/rssLogo.png +0 -0
  9. data/lib/Wiki2Go/Install/site/html/valid-html401.png +0 -0
  10. data/lib/Wiki2Go/Install/templates/admin.htm +51 -47
  11. data/lib/Wiki2Go/Install/templates/admin_pages/update_blacklist.txt +17 -0
  12. data/lib/Wiki2Go/Install/templates/edit.htm +9 -28
  13. data/lib/Wiki2Go/Install/templates/full_footer.htm +35 -0
  14. data/lib/Wiki2Go/Install/templates/header.htm +7 -0
  15. data/lib/Wiki2Go/Install/templates/pagelist.htm +2 -24
  16. data/lib/Wiki2Go/Install/templates/simple_footer.htm +17 -0
  17. data/lib/Wiki2Go/Install/templates/versionlist.htm +2 -24
  18. data/lib/Wiki2Go/Install/templates/view.htm +2 -42
  19. data/lib/Wiki2Go/Install/wiki/style.css +65 -67
  20. data/lib/Wiki2Go/Page.rb +14 -2
  21. data/lib/Wiki2Go/PrivateWikiConfig.rb +34 -19
  22. data/lib/Wiki2Go/PublicWikiConfig.rb +59 -41
  23. data/lib/Wiki2Go/ReadWriteWikiConfig.rb +24 -13
  24. data/lib/Wiki2Go/Server.rb +19 -18
  25. data/lib/Wiki2Go/SpamFilter.rb +31 -18
  26. data/lib/Wiki2Go/Web.rb +31 -17
  27. data/lib/Wiki2Go/Wiki2Go.rb +59 -15
  28. data/lib/Wiki2Go/Wiki2GoConfig.rb +10 -4
  29. data/lib/Wiki2Go/Wiki2GoServlet.rb +18 -4
  30. data/lib/Wiki2Go/WikiFormatter.rb +82 -26
  31. metadata +13 -4
  32. data/lib/Wiki2Go/cgi/display.rb +0 -20
@@ -1,13 +1,10 @@
1
+ <%
2
+ require 'cgi'
3
+ %>
1
4
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
5
  <HTML>
3
6
  <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')%>">
7
+ <!-- include=header.htm -->
11
8
  <TITLE>Edit
12
9
  <%= current.web.name %>
13
10
  -
@@ -38,35 +35,19 @@
38
35
  <%= current.format.view_link(current.web.name,current.web.current_page,'click here to return to '+ current.web.current_page) %>
39
36
  </p>
40
37
  <% if current.web.secure then %>
41
- <p>Page name: <input type="text" name="title" value="<%= current.page.name %>" size="64"></p>
38
+ <p align="left">Page name: <input type="text" name="title" value="<%= CGI::escapeHTML(current.page.name) %>" size="64"></p>
42
39
  <% 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>
40
+ <p align="left">Author name: <input type="text" name="author" value="<%= CGI::escapeHTML(current.web.alias) %>" size="64"><input type="checkbox" name="remember_me" value="on" checked>Remember me</p>
44
41
  <% end %>
45
- <p align="center"><textarea name="text" rows="35" cols="96">$TEXT$</textarea><br>
42
+ <p align="left"><textarea name="text" rows="35" cols="96">$TEXT$</textarea><br>
46
43
  <input type="submit" value=" Save " name="save"><input type="reset" value=" Undo changes "> </p>
47
44
  </form>
48
45
  <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
46
  </td>
50
47
  </tr>
51
48
  </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>
49
+ <!-- include=simple_footer.htm -->
50
+ </TD>
70
51
  </TR>
71
52
  </TABLE>
72
53
  </div>
@@ -0,0 +1,35 @@
1
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="100%" class="Footer">
2
+ <TR>
3
+ <TD width="50%"><%= current.format.changes_link('Recent changes')%></TD>
4
+ <TD width="50%"><%= current.format.edit_this_link(current.web.name,current.web.current_page,'Edit this page')%></TD>
5
+ </TR>
6
+ <TR>
7
+ <TD width="50%">
8
+ <FORM action="<%= current.format.search_url %>" method="post" id="form1" name="form1">
9
+ Search: <INPUT name="text" size="30" ID="Text1">
10
+ </FORM>
11
+ </TD>
12
+ <TD width="50%">
13
+ <% if current.web.secure %>
14
+ <FORM METHOD="POST" ACTION="<%= current.format.verb_url('upload') %>" ENCTYPE="multipart/form-data">
15
+ File: <INPUT TYPE="FILE" NAME="FILE" ID="File">
16
+ <INPUT TYPE="SUBMIT" VALUE="Send" ID="SendFile" NAME="SendFile">
17
+ </FORM>
18
+ <% end %>
19
+ </TD>
20
+ </TR>
21
+ <TR>
22
+ <TD colspan="2"></TD>
23
+ </TR>
24
+ <TR>
25
+ <td>Changed on <%= current.page.lastmodified.strftime("%d/%m/%Y") %> by <%= current.page.alias%>
26
+ <a href="<%= current.format.resource_url('rss.xml')%>"><img src="html/rssLogo.png" width="36" height="14" border="0" alt="Keep up to date"></a>
27
+ </td>
28
+ <TD align="right">
29
+ Contact the site administrator: <%= current.format.encodeMailTo(current.config.site_admin) %>
30
+ <a target="_blank" href="http://validator.w3.org/check?uri=<%= current.format.absolute_url %>">
31
+ <img border="0" src="html/valid-html401.png" alt="Verify if layout is correct!" height="31" width="88"></a>
32
+ </TD>
33
+ </TR>
34
+ </TABLE>
35
+
@@ -0,0 +1,7 @@
1
+ <BASE href="<%= current.web.base_url %>">
2
+ <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
3
+ <META http-equiv="Pragma" content="no-cache">
4
+ <META name="Author" content="Pascal Van Cauwenberghe">
5
+ <META name="Keywords" content="ruby,wiki">
6
+ <LINK rel="stylesheet" href="<%= current.format.resource_url('style.css')%>" type="text/css">
7
+ <LINK rel="alternate" type="application/rss+xml" title="RSS 2.0 feed" href="<%= current.format.resource_url('rss.xml')%>">
@@ -1,13 +1,7 @@
1
1
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
2
  <HTML>
3
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')%>">
4
+ <!-- include=header.htm -->
11
5
  <TITLE><%= current.title %></TITLE>
12
6
  </HEAD>
13
7
  <BODY>
@@ -57,23 +51,7 @@
57
51
  </TD>
58
52
  </TR>
59
53
  </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>
54
+ <!-- include=simple_footer.htm -->
77
55
  </TD>
78
56
  </TR>
79
57
  </TABLE>
@@ -0,0 +1,17 @@
1
+ <TABLE border="0" cellpadding="0" cellspacing="0" width="100%" class="Footer" ID="Table1">
2
+ <TR>
3
+ <TD width="50%"><%= current.format.changes_link('Recent changes')%></TD>
4
+ <TD width="50%">
5
+ <FORM action="<%= current.format.search_url %>" method="post" id="form1" name="form1">
6
+ Search: <INPUT name="text" size="30" ID="Text1">
7
+ </FORM>
8
+ </TD>
9
+ </TR>
10
+ <TR>
11
+ <td><a href="<%= current.format.resource_url('rss.xml')%>"><img src="html/rssLogo.png" width="36" height="14" border="0" alt="Keep informed"></a></td>
12
+ <TD align="right">
13
+ Contact the site administrator: <%= current.format.encodeMailTo(current.config.site_admin) %>
14
+ </TD>
15
+ </TR>
16
+ </TABLE>
17
+
@@ -1,13 +1,7 @@
1
1
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
2
  <HTML>
3
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')%>">
4
+ <!-- include=header.htm -->
11
5
  <TITLE><%= current.title %></TITLE>
12
6
  </HEAD>
13
7
  <BODY>
@@ -59,23 +53,7 @@
59
53
  </TD>
60
54
  </TR>
61
55
  </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>
56
+ <!-- include=simple_footer.htm -->
79
57
  </TD>
80
58
  </TR>
81
59
  </TABLE>
@@ -1,13 +1,7 @@
1
1
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
2
  <HTML>
3
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')%>">
4
+ <!-- include=header.htm -->
11
5
  <TITLE><%= current.web.name %>-<%= current.page.name %></TITLE>
12
6
  </HEAD>
13
7
  <BODY>
@@ -29,41 +23,7 @@
29
23
  </TD>
30
24
  </TR>
31
25
  </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>
26
+ <!-- include=full_footer.htm -->
67
27
  </TD>
68
28
  </TR>
69
29
  </TABLE>
@@ -1,133 +1,131 @@
1
1
  body
2
2
  {
3
- margin-top: 10px;
4
- margin-left: 2em ;
5
- margin-right: 2em ;
6
- font-size: 11pt;
7
- color: black;
8
- font-family: verdana, helvetica, arial, sans-serif, sans;
9
- background-color: #f1f1f1;
10
- text-align: justify;
3
+ margin-top: 10px;
4
+ margin-left: 2em ;
5
+ margin-right: 2em ;
6
+ font-size: 11pt;
7
+ color: black;
8
+ font-family: verdana, helvetica, arial, sans-serif, sans;
9
+ background-color: #f1f1f1;
10
+ text-align: justify;
11
11
  }
12
12
 
13
13
  ul
14
14
  {
15
- margin-left:0.5em;
16
- padding-top : 0.5em ;
17
- padding-left : 0em ;
18
- padding-right : 0em ;
19
- padding-bottom : 0.5em ;
20
- margin-right:1em
15
+ margin-left:0.5em;
16
+ padding-top : 0.5em ;
17
+ padding-left : 0em ;
18
+ padding-right : 0em ;
19
+ padding-bottom : 0.5em ;
20
+ margin-right:1em
21
21
  }
22
22
 
23
23
  li
24
24
  {
25
- margin-left:0.5em;
26
- margin-right:1em ;
27
- padding : 0em 0em 0em 0em ;
25
+ margin-left:0.5em;
26
+ margin-right:1em ;
27
+ padding : 0em 0em 0em 0em ;
28
28
  }
29
29
 
30
30
  h1
31
31
  {
32
- font-weight: bold;
33
- font-size: 28pt;
34
- color: black;
35
- margin : 0em ;
32
+ font-weight: bold;
33
+ font-size: 28pt;
34
+ color: black;
35
+ margin : 0em ;
36
36
  }
37
37
 
38
38
  h2,h3,h4,h5,h6
39
39
  {
40
- color:black
40
+ color:black
41
41
  }
42
42
 
43
43
  h2,h3.frontpage {
44
- text-align: center ;
44
+ text-align: center ;
45
45
  }
46
46
 
47
47
  table.Header
48
48
  {
49
- padding-right: 0.1em;
50
- padding-left: 0.5em;
51
- padding-bottom: 0.1em;
52
- padding-top: 0em;
53
- color: black;
54
- background-color: white;
55
- text-align: left;
56
- border-bottom: 1px solid #ccc;
49
+ padding-right: 0.1em;
50
+ padding-left: 0.5em;
51
+ padding-bottom: 0.1em;
52
+ padding-top: 0em;
53
+ color: black;
54
+ background-color: white;
55
+ text-align: left;
56
+ border-bottom: 1px solid #ccc;
57
57
  }
58
58
 
59
59
  table.Footer
60
60
  {
61
61
 
62
- clear: both;
63
- margin: 100px 0 0 0;
64
- padding: 6px;
65
- color: #000;
66
- background: #fff;
67
- border-top: 1px solid #ccc;
62
+ clear: both;
63
+ margin: 100px 0 0 0;
64
+ padding: 6px;
65
+ color: #000;
66
+ background: #fff;
67
+ border-top: 1px solid #ccc;
68
68
  }
69
69
 
70
70
  hr {
71
- color: #ccc;
71
+ color: #ccc;
72
72
  }
73
73
 
74
74
  table.Body
75
75
  {
76
- text-align: left;
76
+ text-align: left;
77
77
  }
78
78
 
79
79
  td[class=search] {
80
- text-align: right;
80
+ text-align: right;
81
81
  }
82
82
 
83
83
  a:link
84
84
  {
85
- color: #a50a11;
86
- font-weight: bolder ;
87
- text-decoration: none;
85
+ color: #a50a11;
86
+ font-weight: bolder ;
87
+ text-decoration: none;
88
88
  }
89
89
 
90
90
  a:visited {
91
- color: #a50a11;
92
- text-decoration: none;
93
- font-weight: normal ;
91
+ color: #a50a11;
92
+ text-decoration: none;
93
+ font-weight: normal ;
94
94
  }
95
95
 
96
96
  a:hover {
97
- text-decoration: underline;
97
+ text-decoration: underline;
98
98
  }
99
99
 
100
100
  #container {
101
- width: 800px;
102
- margin: 0;
103
- margin-left: auto;
104
- margin-right: auto;
105
- margin-bottom: 40px;
106
- margin-top: 5px;
107
- padding-left: 15px;
108
- padding-right: 15px;
109
- padding-top: 5px;
110
- padding-bottom: 5px;
111
- background: #fff;
112
- border-left: 1px solid #ccc;
113
- border-right: 1px solid #ccc;
114
- border-top: 1px solid #ccc;
115
- border-bottom: 1px solid #ccc;
116
- }
117
-
101
+ margin-left: 2em;
102
+ margin-right: 2em;
103
+ margin-bottom: 40px;
104
+ margin-top: 5px;
105
+ padding-left: 15px;
106
+ padding-right: 15px;
107
+ padding-top: 5px;
108
+ padding-bottom: 5px;
109
+ background: #fff;
110
+ border-left: 1px solid #ccc;
111
+ border-right: 1px solid #ccc;
112
+ border-top: 1px solid #ccc;
113
+ border-bottom: 1px solid #ccc;
114
+ }
115
+
118
116
  table.topiclist
119
117
  {
120
- width: 100%;
118
+ width: 100%;
121
119
  }
122
120
 
123
121
  table.topiclist tr.date
124
122
  {
125
- font-weight: bold;
123
+ font-weight: bold;
126
124
  }
127
125
 
128
126
  table.topiclist tr.odd
129
127
  {
130
- background-color: #ffffcc;
128
+ background-color: #ffffcc;
131
129
  }
132
130
 
133
131
  table.topiclist tr.even