From 5964186c5e238e37656272d2011c9d27ab514f91 Mon Sep 17 00:00:00 2001 From: Milan Date: Fri, 5 Oct 2018 00:28:30 +0200 Subject: [PATCH] reduce use of CGI.pm --- lib/calcms/auth.pm | 26 ++++++++++++-------------- lib/calcms/params.pm | 26 +++++++------------------- website/agenda/planung/image.cgi | 15 ++++----------- website/agenda/planung/imageUpload.cgi | 6 +++--- 4 files changed, 26 insertions(+), 47 deletions(-) diff --git a/lib/calcms/auth.pm b/lib/calcms/auth.pm index f62b851..a0ffba5 100644 --- a/lib/calcms/auth.pm +++ b/lib/calcms/auth.pm @@ -27,15 +27,13 @@ sub get_user { my $params = shift; my $cgi = shift; - debug("get_user") if ($debug); + debug("get_user") if $debug; # login or logout on action if ( defined $params->{action} ) { if ( $params->{action} eq 'login' ) { my $user = login( $config, $params->{user}, $params->{password} ); - $cgi = new CGI::Simple() unless defined $cgi; - - $cgi->delete( 'user', 'password', 'uri', 'action' ); + $cgi->delete( 'user', 'password', 'uri', 'action' ) if defined $cgi; return $user; } elsif ( $params->{action} eq 'logout' ) { $cgi = new CGI::Simple() unless defined $cgi; @@ -81,7 +79,7 @@ sub login { my $config = shift; my $user = shift; my $password = shift; - debug("login") if ($debug); + debug("login") if $debug; #print STDERR "login $user $password\n"; my $result = authenticate( $config, $user, $password ); @@ -103,7 +101,7 @@ sub login { sub logout { my $cgi = shift; my $session_id = read_cookie(); - debug("logout") if ($debug); + debug("logout") if $debug; unless ( delete_session($session_id) ) { return show_login_form( 'Cant delete session', 'logged out' ); } @@ -134,14 +132,14 @@ sub create_cookie { } sub read_cookie { - debug("read_cookie") if ($debug); + debug("read_cookie") if $debug; my %cookie = CGI::Cookie->fetch; - debug( "cookies: " . Dumper( \%cookie ) ) if ($debug); + debug( "cookies: " . Dumper( \%cookie ) ) if $debug; my $cookie = $cookie{'sessionID'}; - debug( "cookie: " . $cookie ) if ($debug); + debug( "cookie: " . $cookie ) if $debug; return undef unless defined $cookie; my $session_id = $cookie->value || undef; - debug( "sid: " . $session_id ) if ($debug); + debug( "sid: " . $session_id ) if $debug; return $session_id; } @@ -149,7 +147,7 @@ sub read_cookie { sub delete_cookie { my $cgi = shift; - debug("delete_cookie") if ($debug); + debug("delete_cookie") if $debug; my $cookie = $cgi->cookie( -name => 'sessionID', -value => '', @@ -165,7 +163,7 @@ sub create_session { my $password = shift; my $expiration = shift; - debug("create_session") if ($debug); + debug("create_session") if $debug; my $session = CGI::Session->new( undef, undef, { Directory => $tmp_dir } ); $session->expire($expiration); $session->param( "user", $user ); @@ -197,7 +195,7 @@ sub read_session { sub delete_session { my $session_id = shift; - debug("delete_session") if ($debug); + debug("delete_session") if $debug; return undef unless ( defined $session_id ); my $session = CGI::Session->new( undef, $session_id, { Directory => $tmp_dir } ); $session->delete(); @@ -263,7 +261,7 @@ sub show_login_form { }; } - debug("show_login_form") if ($debug); + debug("show_login_form") if $debug; print qq{Content-type:text/html diff --git a/lib/calcms/params.pm b/lib/calcms/params.pm index 9360ccd..83c75c5 100644 --- a/lib/calcms/params.pm +++ b/lib/calcms/params.pm @@ -17,8 +17,6 @@ sub isJson { } sub get { - - #get the Apache2::RequestRec my $r = shift; my $tmp_dir = '/var/tmp/'; @@ -31,23 +29,13 @@ sub get { $isJson = 0; if ( defined $r ) { - - #print STDERR "Apache2::Request\n"; - #get Apache2::Request my $req = Apache2::Request->new( $r, POST_MAX => $upload_limit, TEMP_DIR => $tmp_dir ); for my $key ( $req->param ) { $params->{ scalar($key) } = scalar( $req->param($key) ); } - #copy params to hash - #my $body=$req->body(); - #if (defined $body){ - # for my $key (keys %$body){ - # $params->{scalar($key)}=scalar($req->param($key)); - # } - #} - $status = $req->parse; #parse + $status = $req->parse; } else { print STDERR "$0: require CGI\n"; require "CGI.pm"; @@ -62,14 +50,14 @@ sub get { $isJson = 1 if ( defined $params->{json} ) && ( $params->{json} eq '1' ); if ( defined $status ) { - $status = '' if ( $status eq 'Success' ); - $status = '' if ( $status eq 'Missing input data' ); - print $cgi->header . $status . "\n" if ( $status ne '' ); + $status = '' if $status eq 'Success' ; + $status = '' if $status eq 'Missing input data' ; + if ($status ne ''){ + $cgi=new CGI::Simple() unless defined $cgi; + print $cgi->header . $status . "\n"; + } ; } - #print STDERR Dumper($params); - #print $cgi->header.Dumper($params).$status; - return ( $cgi, $params, $status ); } diff --git a/website/agenda/planung/image.cgi b/website/agenda/planung/image.cgi index 7187ebb..0f37323 100755 --- a/website/agenda/planung/image.cgi +++ b/website/agenda/planung/image.cgi @@ -322,9 +322,6 @@ sub delete_image { return 0; } - #print $cgi->header(); - #print "Content-type:text/html; charset=UTF-8;\n\n"; - $config->{access}->{write} = 1; my $dbh = db::connect($config); my $image = { @@ -334,15 +331,11 @@ sub delete_image { }; my $result = images::delete( $dbh, $image ); - #print STDERR "delete result=" . Dumper($result); - return; - my $action_result = ''; - my $errors = ''; - $result = images::delete_files( $config, $local_media_dir, $params->{delete_image}, $action_result, $errors ); - - #use Data::Dumper;print STDERR "delete\n".Dumper($params); - print "deleted
$action_result
$errors\n"; + #my $action_result = ''; + #my $errors = ''; + #$result = images::delete_files( $config, $local_media_dir, $params->{delete_image}, $action_result, $errors ); + #print "deleted
$action_result
$errors\n"; } sub check_permission { diff --git a/website/agenda/planung/imageUpload.cgi b/website/agenda/planung/imageUpload.cgi index ca51a8c..28cbac1 100755 --- a/website/agenda/planung/imageUpload.cgi +++ b/website/agenda/planung/imageUpload.cgi @@ -61,8 +61,6 @@ if ( defined $r ) { } else { $upload = $apr->upload('image') if ( defined $params->{image} ); } - - $cgi = new CGI(); } else { #CGI fallback @@ -129,7 +127,7 @@ print STDERR "upload error: $params->{error}\n" if $params->{error} ne ''; my $out = ''; template::process( $config, 'print', $params->{template}, $params ); -print $cgi->cgi_error() if (defined $cgi) && (defined $cgi->cgi_error()); +print $cgi->cgi_error() if ( defined $cgi ) && ( defined $cgi->cgi_error() ); return if $params->{action} eq ''; $params->{action_result} ||= ''; @@ -171,6 +169,7 @@ sub upload_file { my $filename = $result->{filename}; $result = check_filename($filename); + #print STDERR $result . "\n"; return $result if ( $result->{error} ne '' ); @@ -179,6 +178,7 @@ sub upload_file { #read file from handle my $data; my $content = ''; + #print STDERR $file . "\n"; binmode $file;