]> git.p6c8.net - selfforum.git/blobdiff - selfforum-cgi/user/fo_posting.pl
fixed some bugs
[selfforum.git] / selfforum-cgi / user / fo_posting.pl
index 111f045492a1a5f929ba3f3bf52141c8485daedc..180233cf755a2ce3ce6c347d2b009d772e3544f3 100644 (file)
 ################################################################################
 
 use strict;
 ################################################################################
 
 use strict;
-use vars qw($Bin $Shared $Script);
+use vars qw(
+  $Bin
+  $Shared
+  $Script
+  $Config
+);
 
 # locate the script
 #
 BEGIN {
   my $null = $0; $null =~ s/\\/\//g; # for win :-(
 
 # locate the script
 #
 BEGIN {
   my $null = $0; $null =~ s/\\/\//g; # for win :-(
-  ($Bin)    = ($null =~ /^(.*)\/.*$/)? $1 : '.';
-  $Shared   = "$Bin/../shared";
-  ($Script) = ($null =~ /^.*\/(.*)$/)? $1 : $null;
+  $Bin     = ($null =~ /^(.*)\/.*$/)? $1 : '.';
+  $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 lib "$Shared";
@@ -27,10 +39,11 @@ use CGI::Carp qw(fatalsToBrowser);
 
 use Conf;
 use Conf::Admin;
 
 use Conf;
 use Conf::Admin;
+use Posting::Cache;
 
 # load script configuration and admin default conf.
 #
 
 # load script configuration and admin default conf.
 #
-my $conf         = read_script_conf ($Bin, $Shared, $Script);
+my $conf         = read_script_conf ($Config, $Shared, $Script);
 my $adminDefault = read_admin_conf ($conf -> {files} -> {adminDefault});
 
 # Initialize the request
 my $adminDefault = read_admin_conf ($conf -> {files} -> {adminDefault});
 
 # Initialize the request
@@ -396,17 +409,17 @@ sub save {
             if (defined $q -> param ($formdata -> {$may{$_}} -> {name}));
         }
 
             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};
 
         # 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 {
         }
         else {
-          ($stat, $xml, $mid) = write_new_thread ($pars);
+          ($stat, $xml, $mid, $tid) = write_new_thread ($pars);
         }
 
         if ($stat) {
         }
 
         if ($stat) {
@@ -417,6 +430,13 @@ sub save {
           };
         }
         else {
           };
         }
         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};
 
           $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;
 
       #
       (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',
       if (length $val_ww < $formdata -> {$name {$_}} -> {minlength}) {
         $self -> {error} = {
           spec => 'too_short',

patrick-canterino.de