11 Commits

Author SHA1 Message Date
Markus Lude
431c743d63 some preparations for 1.2.2: bump version 2023-11-10 16:55:21 +01:00
Markus Lude
512fa3bf50 domain has changed to usemod.org, adjust references
unfortunately usemod.com expired
2023-11-10 16:48:52 +01:00
Markus Lude
b591f92cd9 tell CGI.pm to use HTML instead of XHTML 2017-12-07 19:50:01 +01:00
Markus Lude
14c06ba45d some preparations for 1.2.1: bump version 2017-12-01 08:25:46 +01:00
Markus Lude
f008b5c0fd cleanup generated HTML code on history page
in DoHistory():
remove unneccessary <tr>

in GetHistoryLine():
close <td>
2017-11-18 01:30:09 +01:00
Markus Lude
ba421c2d6a RSS: fall back to LogoUrl for RssLogoUrl 2017-11-18 00:42:01 +01:00
Markus Lude
291d474327 fix EditHash
in DoPost():
actually check the hash
2017-11-16 08:12:10 +01:00
Markus Lude
4a7553ced4 in GetFooterText():
dont call GetMinimumFooter(), no nested Footer functions
use end_html instead
2017-11-15 19:24:19 +01:00
Markus Lude
acf20ddadd * put <hr> class wikilinerc inside of div for class wikirc 2017-11-15 19:19:12 +01:00
Markus Lude
21ebc21f8e closing div for class wikibody was missing at some places
added </div>
2017-11-15 08:40:39 +01:00
Markus Lude
1d521cdc40 use GetIP() at all relevant places 2017-11-05 21:16:56 +01:00
8 changed files with 61 additions and 25 deletions

View File

@@ -19,5 +19,5 @@ Users which contributed patches added to versions after 1.0:
* UngarPeter
If I've forgotten someone, please leave a note on UseMod:MarkusLude or
send mail to usemod@usemod.com.
send mail to usemod@usemod.org.

View File

@@ -1,4 +1,15 @@
Changes for release 1.2.2 (November 10, 2023):
* fix HTML markup, no XHTML
* domain has changed to usemod.org
Changes for bugfix release 1.2.1 (December 01, 2017):
* closing div for class wikibody was missing at some places, added
* put <hr> class wikilinerc inside of div for class wikirc
* fix EditHash
* RSS: fall back to LogoUrl for RssLogoUrl
* cleanup generated HTML code on history page
Changes for release 1.2.0 (November 05, 2017):
* switch DTD to HTML 4.0.1 Transitional
* cleanup generated HTML code
@@ -113,5 +124,5 @@ Changes for bugfix release 1.0.1 (July 9, 2007):
fix contributed by UngarPeter
If I've forgotten something or someone, please leave a note on
UseMod:MarkusLude or send mail to usemod@usemod.com.
UseMod:MarkusLude or send mail to usemod@usemod.org.

View File

@@ -6,7 +6,7 @@ See the UPGRADE file for instructions to upgrade an existing wiki.
New Installations:
The following instructions should work for most UNIX-based systems.
See http://www.usemod.com/cgi-bin/wiki.pl?UseModWiki/InstallWindows for
See https://www.usemod.org/cgi-bin/wiki.pl?UseModWiki/InstallWindows for
instructions if you are installing under Microsoft Windows.
1. Copy the file "wiki.pl" to your cgi-bin directory. You can rename

6
README
View File

@@ -3,14 +3,14 @@ Last updated: August 28, 2009
Release notes:
Visit http://www.usemod.com/cgi-bin/wiki.pl for documentation and official
Visit https://www.usemod.org/cgi-bin/wiki.pl for documentation and official
announcements regarding UseModWiki. The current documentation is minimal,
but the developers and some users will try to answer any questions.
Please send questions or comments to usemod@usemod.com.
Please send questions or comments to usemod@usemod.org.
A mailing list for major UseModWiki announcements (releases and critical
bugs) is available. Send mail to usemod@usemod.com to join the list.
bugs) is available. Send mail to usemod@usemod.org to join the list.
------
Security:

View File

@@ -2,7 +2,7 @@ Upgrade instructions for UseModWiki 1.0
Last updated: September 11, 2003
See the INSTALL file for new installations.
Please email usemod@usemod.com with any questions, comments, or suggestions.
Please email usemod@usemod.org with any questions, comments, or suggestions.
------
Upgrading from 0.90, 0.91, or 0.92:
@@ -32,7 +32,7 @@ you should change $FreeLinks to 0.
------
Upgrading from older versions (before 0.90) is possible, but requires
a conversion utility for the database. Contact usemod@usemod.com for
a conversion utility for the database. Contact usemod@usemod.org for
upgrade instructions.
------

2
config
View File

@@ -1,5 +1,5 @@
# == Configuration =====================================================
# Original version from UseModWiki 1.2.0
# Original version from UseModWiki 1.2.2
$CookieName = "Wiki"; # Name for this wiki (for multi-wiki sites)
$SiteName = "Wiki"; # Name of site (used for titles)

View File

@@ -5,6 +5,6 @@ Google http://www.google.com/search?q=
GoogleGroups http://groups.google.com/groups?q=
IMDB http://us.imdb.com/Title?
JargonFile http://sunir.org/apps/meta.pl?wiki=JargonFile&redirect=
UseMod http://www.usemod.com/cgi-bin/wiki.pl?
UseMod https://www.usemod.org/cgi-bin/wiki.pl?
Wiki http://c2.com/cgi/wiki?
WikiPedia http://www.wikipedia.org/wiki/

55
wiki.pl
View File

@@ -1,5 +1,5 @@
#!/usr/bin/perl -wT
# UseModWiki version 1.2.0 (November 05, 2017)
# UseModWiki version 1.2.2 (November 10, 2023)
# Copyright (C) 2000-2003 Clifford A. Adams <caadams@usemod.com>
# Copyright (C) 2002-2003 Sunir Shah <sunir@sunir.org>
# with some changes from Markus Lude <markus.lude@gmx.de>
@@ -591,8 +591,8 @@ sub BrowsePage {
$fullHtml .= "</div>\n";
if (($id eq $RCName) || (T($RCName) eq $id) || (T($id) eq $RCName)) {
print $fullHtml;
print qq(<hr class="wikilinerc">\n);
print '<div class="wikirc">';
print qq(<hr class="wikilinerc">\n);
&DoRc(1);
print "</div>\n";
print &GetFooterText($id, $goodRevision);
@@ -919,6 +919,15 @@ sub GetRcRss {
RSS
($headList, $items) = &GetRc(0, @_);
$rssHeader .= $headList;
if (! $RssLogoUrl) {
$RssLogoUrl = $FullUrl;
if ($LogoUrl =~ /^\//) {
$RssLogoUrl =~ s/^(http:\/\/[^\/]*)(\/.*)$/$1/;
$RssLogoUrl .= $LogoUrl;
} else {
$RssLogoUrl = $LogoUrl;
}
}
return <<RSS ;
$rssHeader
</rdf:Seq>
@@ -1020,7 +1029,7 @@ sub DoHistory {
<input type="hidden" name="action" value="browse">
<input type="hidden" name="diff" value="1">
<input type="hidden" name="id" value="$id">
<table border="0" width="100%"><tr>
<table border="0" width="100%">
EOF
}
$html = &GetHistoryLine($id, $Page{'text_default'}, $canEdit, $row++);
@@ -1102,7 +1111,7 @@ sub GetHistoryLine {
$summary = &QuoteHtml($summary); # Thanks Sunir! :-)
$html .= "<b>[$summary]</b> ";
}
$html .= $UseDiff ? "</tr>\n" : "<br>\n";
$html .= $UseDiff ? "</td></tr>\n" : "<br>\n";
return $html;
}
@@ -1372,8 +1381,10 @@ sub GetHtmlHeader {
my ($title, $id) = @_;
my ($dtd, $html, $bodyExtra, $stylesheet);
$dtd = '-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd';
$html = qq(<!DOCTYPE html PUBLIC "$dtd">\n);
$CGI::XHTML = 0;
$dtd = $q->default_dtd( '-//W3C//DTD HTML 4.01 Transitional//EN',
'http://www.w3.org/TR/html4/loose.dtd' );
$html = qq(<!DOCTYPE html PUBLIC "$dtd->[0]" "$dtd->[1]">\n);
$title = $q->escapeHTML($title);
$html .= "<html><head><title>$title</title>\n";
if ($MetaKeywords) {
@@ -1483,7 +1494,7 @@ sub GetFooterText {
$result .= T($FooterNote);
}
$result .= "</div>\n";
$result .= &GetMinimumFooter();
$result .= $q->end_html;
return $result;
}
@@ -1615,6 +1626,7 @@ sub GetRedirectPage {
}
$html .= "\n<p>";
$html .= Ts('Follow the %s link to continue.', $nameLink);
$html .= "</div>\n"; # end wikibody
$html .= &GetMinimumFooter();
}
return $html;
@@ -2435,7 +2447,7 @@ sub OpenNewSection {
$Section{'revision'} = 0; # Number of edited times
$Section{'tscreate'} = $Now; # Set once at creation
$Section{'ts'} = $Now; # Updated every edit
$Section{'ip'} = $ENV{REMOTE_ADDR};
$Section{'ip'} = GetIP();
$Section{'host'} = ''; # Updated only for real edits (can be slow)
$Section{'id'} = $UserID;
$Section{'username'} = &GetParam("username", "");
@@ -2540,7 +2552,7 @@ sub SaveSection {
$Section{'revision'} += 1; # Number of edited times
$Section{'ts'} = $Now; # Updated every edit
$Section{'ip'} = $ENV{REMOTE_ADDR};
$Section{'ip'} = GetIP();
$Section{'id'} = $UserID;
$Section{'username'} = &GetParam("username", "");
$Section{'data'} = $data;
@@ -2820,7 +2832,7 @@ sub UserIsBanned {
($status, $data) = &ReadFile("$DataDir/banlist");
return 0 if (!$status); # No file exists, so no ban
$data =~ s/\r//g;
$ip = $ENV{'REMOTE_ADDR'};
$ip = GetIP();
$host = &GetRemoteHost(0);
foreach (split(/\n/, $data)) {
next if ((/^\s*$/) || (/^#/)); # Skip empty, spaces, or comments
@@ -3169,7 +3181,7 @@ sub GetHiddenValue {
}
sub GetIP {
return $ENV{REMOTE_ADDR};
return $ENV{REMOTE_ADDR} || '127.0.0.1';
}
sub GetRemoteHost {
@@ -3612,6 +3624,7 @@ sub DoEditPrefs {
print '<br>', $q->submit(-name=>'Save', -value=>T('Save')), "\n";
print $q->end_form;
print "</div>\n";
print "</div>\n"; # end wikibody
if (!&GetParam('embed', $EmbedWiki)) {
print '<div class="wikifooter">';
print qq(<hr class="wikilinefooter">\n);
@@ -3819,7 +3832,7 @@ sub DoNewLogin {
# The cookie will be transmitted in the next header
%UserData = %UserCookie;
$UserData{'createtime'} = $Now;
$UserData{'createip'} = $ENV{REMOTE_ADDR};
$UserData{'createip'} = GetIP();
&SaveUserData();
}
@@ -3835,6 +3848,7 @@ sub DoEnterLogin {
-size=>15, -maxlength=>50);
print '<br>', $q->submit(-name=>'Login', -value=>T('Login')), "\n";
print $q->end_form;
print "</div>\n"; # end wikibody
if (!&GetParam('embed', $EmbedWiki)) {
print '<div class="wikifooter">';
print qq(<hr class="wikilinefooter">\n);
@@ -3869,6 +3883,7 @@ sub DoLogin {
} else {
print Ts('Login for user ID %s failed.', $unsafe_uid);
}
print "</div>\n"; # end wikibody
if (!&GetParam('embed', $EmbedWiki)) {
print '<div class="wikifooter">';
print qq(<hr class="wikilinefooter">\n);
@@ -4112,7 +4127,7 @@ sub DoPost {
my $oldconflict = &GetParam("oldconflict", "");
my $isEdit = 0;
my $editTime = $Now;
my $authorAddr = $ENV{REMOTE_ADDR};
my $authorAddr = GetIP();
if ($FreeLinks) {
$unsafe_id = &FreeToNormal($unsafe_id);
@@ -4190,6 +4205,14 @@ sub DoPost {
&DoEdit($id, 0, $pgtime, $string, 1);
return;
}
if ($UseEditHash) {
my $p_hash = &GetParam("hash", "");
if (!&CheckHash("edit", $p_hash, $id, $pgtime)) {
&ReleaseLock();
&DoEdit($id, 0, $pgtime, $string, 1);
return;
}
}
$user = &GetParam("username", "");
# If the person doing editing chooses, send out email notification
if ($EmailNotify) {
@@ -4440,7 +4463,7 @@ sub WriteDiff {
# no one edits the page by the time the keep expiry time
# elapses, then no one has vetoed the last action, and the
# action is accepted.
# See http://www.usemod.com/cgi-bin/mb.pl?PageDeletion
# See http://meatballwiki.org/wiki/PageDeletion
sub ProcessVetos {
my ($expirets);
@@ -4669,6 +4692,7 @@ sub DoEditBanned {
print &GetTextArea('banlist', $banList, 12, 50);
print "<br>", $q->submit(-name=>'Save'), "\n";
print $q->end_form;
print "</div>\n"; # end wikibody
if (!&GetParam('embed', $EmbedWiki)) {
print '<div class="wikifooter">';
print qq(<hr class="wikilinefooter">\n);
@@ -4725,6 +4749,7 @@ sub DoEditLinks {
-label=>"Substitute text for rename");
print "<br>", $q->submit(-name=>'Edit'), "\n";
print $q->end_form;
print "</div>\n"; # end wikibody
if (!&GetParam('embed', $EmbedWiki)) {
print '<div class="wikifooter">';
print qq(<hr class="wikilinefooter">\n);
@@ -5097,7 +5122,7 @@ sub RenamePage {
sub DoShowVersion {
print &GetHeader('', T('Displaying Wiki Version'), '');
print "<p>UseModWiki version 1.2.0</p>\n";
print "<p>UseModWiki version 1.2.2</p>\n";
print &GetCommonFooter();
}