From: ndparker <>
Date: Sun, 18 Mar 2001 23:23:35 +0000 (+0000)
Subject: fixed several bugs in all committed files, but anyway there's a lot to do further...
X-Git-Url: https://git.p6c8.net/selfforum.git/commitdiff_plain/145128187279c4d4b52b8fc9b19f3f3a4d8f95b8?hp=937bd7f4ffda22265e1d6f5c4d9380ad971abb17
fixed several bugs in all committed files, but anyway there's a lot to do further...
---
diff --git a/selfforum-cgi/shared/Conf/Admin.pm b/selfforum-cgi/shared/Conf/Admin.pm
index 0a50ee8..0c3a469 100644
--- a/selfforum-cgi/shared/Conf/Admin.pm
+++ b/selfforum-cgi/shared/Conf/Admin.pm
@@ -60,8 +60,8 @@ sub read_admin_conf ($) {
countMessages => $thread_view -> getAttribute ('countMessages'),
sortThreads => $thread_view -> getAttribute ('sortThreads'),
sortMessages => $thread_view -> getAttribute ('sortMessages'),
- showThread => (($how_name eq 'showAll')?undef:
- (($how_name eq 'showNone')?1:
+ showThread => (($how_name eq 'ShowAll')?undef:
+ (($how_name eq 'ShowNone')?1:
($show_how -> getFirstChild -> getData))),
showPreview => $message_view -> getAttribute ('previewON'),
showNA => $flags -> getAttribute ('showNA'),
@@ -83,9 +83,9 @@ sub read_admin_conf ($) {
voting => $messaging -> getAttribute ('callAdminVoting'),
archiving => $messaging -> getAttribute ('callAdminArchiving'),
byUser => $messaging -> getAttribute ('callUserAnswer'),
- callByName => [map {$_ -> getFirstChild -> getData} $call_by_user -> getElementsByTagName ('Name', 0)],
- callByMail => [map {$_ -> getFirstChild -> getData} $call_by_user -> getElementsByTagName ('Email', 0)],
- callByIP => [map {$_ -> getFirstChild -> getData} $call_by_user -> getElementsByTagName ('IpAddress', 0)]};
+ callByName => [$call_by_user?map {$_ -> getFirstChild -> getData} $call_by_user -> getElementsByTagName ('Name', 0):()],
+ callByMail => [$call_by_user?map {$_ -> getFirstChild -> getData} $call_by_user -> getElementsByTagName ('Email', 0):()],
+ callByIP => [$call_by_user?map {$_ -> getFirstChild -> getData} $call_by_user -> getElementsByTagName ('IpAddress', 0):()]};
# Instant
my $instant = $forum -> getElementsByTagName ('InstantJob', 0) -> item (0);
diff --git a/selfforum-cgi/shared/Encode/Posting.pm b/selfforum-cgi/shared/Encode/Posting.pm
index 0140dfb..76463bc 100644
--- a/selfforum-cgi/shared/Encode/Posting.pm
+++ b/selfforum-cgi/shared/Encode/Posting.pm
@@ -48,7 +48,7 @@ sub encoded_body ($;$) {
# normaler Link
$posting =~ s{\[link:\s*
- ((?:ftp:// # hier beginnt $1
+ ((?:ftp:// # hier beginnt $1
| https?://
| about:
| view-source:
@@ -59,14 +59,14 @@ sub encoded_body ($;$) {
| telnet://
| wais://
| prospero://
- | \.\.?/ # relativ auf dem server
- | / # absolut auf dem server
- | (?:[a-zA-Z.\d]+)?\?? # im forum
- ) [^\s<'()\[\]]+ # auf jeden Fall kein \s und kein ] etc.
- ) # hier ist $1 zuende
- \s*(?:\]|(\s|\(|\)|
)) # der Begrenzer (\s, ] oder Zeilenende)
+ | \.\.?/ # relativ auf dem server
+ | / # absolut auf dem server
+ | (?:[a-zA-Z.\d]+)?\?? # im forum
+ ) [^\s<'()\[\]]+ # auf jeden Fall kein \s und kein ] etc.
+ ) # hier ist $1 zuende
+ \s*(?:\]|(\s|&(?!amp;)|\(|\)|
)) # der Begrenzer (\s, ] oder Zeilenende)
}
- {$1$2}gix; # und der Link
+ {$1$2}gix; # und der Link
# javascript-links extra
my $klammer1='\((?:[^)])*\)';
@@ -75,27 +75,27 @@ sub encoded_body ($;$) {
my $klammer4="\\((?:$klammer3|(?:[^)])*)\\)";
$posting =~ s{\[link:\s*
- (javascript: # hier beginnt $1
+ (javascript: # hier beginnt $1
(?:
- $klammer4 # Klammern bis Verschachtelungstiefe 4 (sollte reichen?)
- | '[^\'\\]*(?:\\.[^\'\\]*)*' # mit ' quotierter String, J.F. sei gedankt
- # im String sind Escapes zugelassen (also auch \')
- # damit werden (korrekt gesetzte) Javascript-Links moeglich
- | [^\s<()'\]]+)+ # auf jeden Fall kein \s und kein ] (ausser im String)
- ) # hier ist $1 zuende
- \s*(?:\s|\]|(\(|\)|
)) # der Begrenzer (\s, ] oder Zeilenende)
+ $klammer4 # Klammern bis Verschachtelungstiefe 4 (sollte reichen?)
+ | '[^\'\\]*(?:\\.[^\'\\]*)*' # mit ' quotierter String, J.F. sei gedankt
+ # im String sind Escapes zugelassen (also auch \')
+ # damit werden (korrekt gesetzte) Javascript-Links moeglich
+ | [^\s<()'\]]+)+ # auf jeden Fall kein \s und kein ] (ausser im String)
+ ) # hier ist $1 zuende
+ \s*(?:\s|\]|(\(|\)|&(?!amp;)|
)) # der Begrenzer (\s, ] oder Zeilenende)
}
- {$1$2}gix; # und der Link
+ {$1$2}gix; # und der Link
# images
$posting =~ s{\[image:\s*
((?:https?://
- | \.\.?/ # relativ auf dem server
- | / # absolut auf dem server
- | (?:[a-zA-Z.\d]+)?\?? # im forum
- ) [^\s<'()\[\]]+ # auf jeden Fall kein \s und kein ] etc.
- ) # hier ist $1 zuende
- \s*(?:\]|(\s|\(|\)|
)) # der Begrenzer (\s, ] oder Zeilenende)
+ | \.\.?/ # relativ auf dem server
+ | / # absolut auf dem server
+ | (?:[a-zA-Z.\d]+)?\?? # im forum
+ ) [^\s<'()\[\]]+ # auf jeden Fall kein \s und kein ] etc.
+ ) # hier ist $1 zuende
+ \s*(?:\]|(\s|\(|\)|&(?!amp;)|
)) # der Begrenzer (\s, ] oder Zeilenende)
}
{$2}gix; # und das Bild
@@ -112,13 +112,13 @@ sub encoded_body ($;$) {
| telnet://
| wais://
| prospero://
- | \.\.?/ # relativ auf dem server
- | / # absolut auf dem server
- | [a-zA-Z\d]+(?:\.html?|/) # im forum (koennen eh nur threads oder verweise
- # auf tiefere verzeichnisse sein)
- )[^\s<'()\]]+ # auf jeden Fall kein \s und kein ] etc. (s.o.)
- ) # hier ist $1 zuende
- \s*(?:\]|(\s|\(|\)|
)) # der Begrenzer (\s, ] oder Zeilenende)
+ | \.\.?/ # relativ auf dem server
+ | / # absolut auf dem server
+ | [a-zA-Z\d]+(?:\.html?|/) # im forum (koennen eh nur threads oder verweise
+ # auf tiefere verzeichnisse sein)
+ )[^\s<'()\]]+ # auf jeden Fall kein \s und kein ] etc. (s.o.)
+ ) # hier ist $1 zuende
+ \s*(?:\]|(\s|\(|\)|&(?!amp;)|
)) # der Begrenzer (\s, ] oder Zeilenende)
}
{$2}gix;
diff --git a/selfforum-cgi/shared/Template/Forum.pm b/selfforum-cgi/shared/Template/Forum.pm
index ab853ae..6b29a22 100644
--- a/selfforum-cgi/shared/Template/Forum.pm
+++ b/selfforum-cgi/shared/Template/Forum.pm
@@ -47,6 +47,7 @@ sub print_forum_as_HTML ($$$) {
unless ($stat = lock_file ($mainfile)) {
if ($stat == 0) {
violent_unlock_file ($mainfile);
+ print "aha!"
# ueberlastet
}
diff --git a/selfforum-cgi/user/config/fo_admin_default.xml b/selfforum-cgi/user/config/fo_admin_default.xml
index bbdfa57..cf38cad 100644
--- a/selfforum-cgi/user/config/fo_admin_default.xml
+++ b/selfforum-cgi/user/config/fo_admin_default.xml
@@ -21,12 +21,12 @@
-
+
diff --git a/selfforum-cgi/user/fo_posting.pl b/selfforum-cgi/user/fo_posting.pl
index 89e0e24..91a21a1 100644
--- a/selfforum-cgi/user/fo_posting.pl
+++ b/selfforum-cgi/user/fo_posting.pl
@@ -327,12 +327,16 @@ sub print_error ($;$) {
################################
sub fetch_subject () {
- unless (exists ($dparam{$formdata -> {posterCategory} -> {name}}) and
- exists ($dparam{$formdata -> {posterSubject} -> {name}})) {
+ my %must = map {$_ => 1} @{$formmust -> {exists $dparam{$formdata -> {followUp} -> {name}}?'reply':'new'}};
+
+ if ( ($must{posterCategory} and not exists ($dparam{$formdata -> {posterCategory} -> {name}})) or
+ ($must{posterSubject} and not exists ($dparam{$formdata -> {posterSubject} -> {name}})))
+ {
my $filename = message_path.'t'.$ftid.'.xml';
- if (lock_file ($filename)) {
+ if (-f $filename and lock_file ($filename))
+ {
my $xml = new XML::DOM::Parser -> parsefile ($filename);
violent_unlock_file($filename) unless unlock_file ($filename);
@@ -340,7 +344,9 @@ sub fetch_subject () {
my $header = get_message_header ($mnode);
$dparam{$formdata -> {posterCategory} -> {name}} = $header -> {category};
- $dparam{$formdata -> {posterSubject} -> {name}} = $header -> {subject};}}
+ $dparam{$formdata -> {posterSubject} -> {name}} = $header -> {subject};
+ }
+ }
}
################################