X-Git-Url: https://git.p6c8.net/selfforum.git/blobdiff_plain/2a78476e5bf2aee7120b59f5ee5e30ad5609fe55..6f724da13eb20d81ea9f988a88d8c38f9046d4c7:/selfforum-cgi/user/fo_posting.pl diff --git a/selfforum-cgi/user/fo_posting.pl b/selfforum-cgi/user/fo_posting.pl index 0bb18de..180233c 100644 --- a/selfforum-cgi/user/fo_posting.pl +++ b/selfforum-cgi/user/fo_posting.pl @@ -11,7 +11,12 @@ ################################################################################ use strict; -use vars qw($Bin $Shared $Script $Config); +use vars qw( + $Bin + $Shared + $Script + $Config +); # locate the script # @@ -21,12 +26,20 @@ BEGIN { $Shared = "$Bin/../shared"; $Config = "$Bin/config"; $Script = ($null =~ /^.*\/(.*)$/)? $1 : $null; + +# my $null = $0; #$null =~ s/\\/\//g; # for win :-( +# $Bin = ($null =~ /^(.*)\/.*$/)? $1 : '.'; +# $Config = "$Bin/../../../cgi-config/devforum"; +# $Shared = "$Bin/../../../cgi-shared"; +# $Script = ($null =~ /^.*\/(.*)$/)? $1 : $null; } + use lib "$Shared"; use CGI::Carp qw(fatalsToBrowser); use Conf; use Conf::Admin; +use Posting::Cache; # load script configuration and admin default conf. # @@ -396,17 +409,17 @@ sub save { if (defined $q -> param ($formdata -> {$may{$_}} -> {name})); } - my ($stat, $xml, $mid); + my ($stat, $xml, $mid, $tid); # we've got a fup if it's a reply # if ($self -> {response} -> {reply}) { $pars -> {parentMessage} = $self -> {fup_mid}; $pars -> {thread} = $self -> {fup_tid}; - ($stat, $xml, $mid) = write_reply_posting ($pars); + ($stat, $xml, $mid, $tid) = write_reply_posting ($pars); } else { - ($stat, $xml, $mid) = write_new_thread ($pars); + ($stat, $xml, $mid, $tid) = write_new_thread ($pars); } if ($stat) { @@ -417,6 +430,13 @@ sub save { }; } else { + my $cache = new Posting::Cache ($self->{conf}->{original}->{files}->{cacheFile}); + $cache -> add_posting ( + { thread => ($tid =~ /(\d+)/)[0], + posting => ($mid =~ /(\d+)/)[0] + } + ); + $self -> {check_success} = 1; my $thx = $self -> {conf} -> {show_posting} -> {thanx}; @@ -797,6 +817,9 @@ sub check_cgi { # (my $val_ww = $val) =~ s/\s+//g; + $val_ww =~ y/a-zA-Z//cd + if (exists ($formdata -> {$name {$_}} -> {type}) and $formdata -> {$name {$_}} -> {type} eq 'name'); + if (length $val_ww < $formdata -> {$name {$_}} -> {minlength}) { $self -> {error} = { spec => 'too_short',