remove CGI where possible

use mod_perl request with fallback to CGI::Simple where possible.
This commit is contained in:
Milan
2018-09-23 15:47:03 +02:00
parent 56881b92d0
commit 7ff41cecd2
42 changed files with 242 additions and 276 deletions

View File

@@ -3,7 +3,7 @@ package auth;
use warnings "all"; use warnings "all";
use strict; use strict;
use CGI; use CGI::Simple();
use CGI::Session qw(-ip-match); use CGI::Session qw(-ip-match);
use CGI::Cookie(); use CGI::Cookie();
@@ -21,22 +21,24 @@ my $debug = 0;
sub debug; sub debug;
#TODO: remove CGI
sub get_user { sub get_user {
my $cgi = shift;
my $config = shift; my $config = shift;
my $params = shift;
my %parms = $cgi->Vars(); my $cgi = shift;
my $parms = \%parms;
debug("get_user") if ($debug); debug("get_user") if ($debug);
# login or logout on action # login or logout on action
if ( defined $parms->{action} ) { if ( defined $params->{action} ) {
if ( $parms->{action} eq 'login' ) { if ( $params->{action} eq 'login' ) {
my $user = login( $cgi, $config, $parms->{user}, $parms->{password} ); 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' );
return $user; return $user;
} elsif ( $parms->{action} eq 'logout' ) { } elsif ( $params->{action} eq 'logout' ) {
$cgi = new CGI::Simple() unless defined $cgi;
logout($cgi); logout($cgi);
$cgi->delete( 'user', 'password', 'uri', 'action' ); $cgi->delete( 'user', 'password', 'uri', 'action' );
return undef; return undef;
@@ -44,20 +46,20 @@ sub get_user {
} }
# read session id from cookie # read session id from cookie
my $session_id = read_cookie($cgi); my $session_id = read_cookie();
# login if no cookie found # login if no cookie found
return show_login_form( $parms->{user}, 'Please login' ) unless defined $session_id; return show_login_form( $params->{user}, 'Please login' ) unless defined $session_id;
# read session # read session
my $session = read_session($session_id); my $session = read_session($session_id);
# login if user not found # login if user not found
return show_login_form( $parms->{user}, 'unknown User' ) unless defined $session; return show_login_form( $params->{user}, 'unknown User' ) unless defined $session;
$parms->{user} = $session->{user}; $params->{user} = $session->{user};
$parms->{expires} = $session->{expires}; $params->{expires} = $session->{expires};
debug( $parms->{expires} ); debug( $params->{expires} );
return $session->{user}, $session->{expires}; return $session->{user}, $session->{expires};
} }
@@ -76,7 +78,6 @@ sub crypt_password {
} }
sub login { sub login {
my $cgi = shift;
my $config = shift; my $config = shift;
my $user = shift; my $user = shift;
my $password = shift; my $password = shift;
@@ -94,13 +95,14 @@ sub login {
$timeout = '+' . $timeout . 'm'; $timeout = '+' . $timeout . 'm';
my $session_id = create_session( $user, $password, $timeout ); my $session_id = create_session( $user, $password, $timeout );
return $user if ( create_cookie( $cgi, $session_id, $timeout ) ); return $user if create_cookie( $session_id, $timeout );
return undef; return undef;
} }
#TODO: remove cgi
sub logout { sub logout {
my $cgi = shift; my $cgi = shift;
my $session_id = read_cookie($cgi); my $session_id = read_cookie();
debug("logout") if ($debug); debug("logout") if ($debug);
unless ( delete_session($session_id) ) { unless ( delete_session($session_id) ) {
return show_login_form( 'Cant delete session', 'logged out' ); return show_login_form( 'Cant delete session', 'logged out' );
@@ -116,44 +118,34 @@ sub logout {
#read and write data from browser, http://perldoc.perl.org/CGI/Cookie.html #read and write data from browser, http://perldoc.perl.org/CGI/Cookie.html
sub create_cookie { sub create_cookie {
my $cgi = shift;
my $session_id = shift; my $session_id = shift;
my $timeout = shift; my $timeout = shift;
#debug("create_cookie")if ($debug);
my $cookie = CGI::Cookie->new( my $cookie = CGI::Cookie->new(
-name => 'sessionID', -name => 'sessionID',
-value => $session_id, -value => $session_id,
-expires => $timeout, -expires => $timeout,
-secure => 1
# -domain => '.capricorn.com',
# -path => '/agenda/admin/',
-secure => 1
); );
print "Set-Cookie: ", $cookie->as_string, "\n"; print "Set-Cookie: ", $cookie->as_string, "\n";
print STDERR "#Set-Cookie: ", $cookie->as_string, "\n"; print STDERR "#Set-Cookie: ", $cookie->as_string, "\n";
# print $cgi->header( -cookie => $cookie );
return 1; return 1;
} }
sub read_cookie { sub read_cookie {
my $cgi = shift;
debug("read_cookie") if ($debug); debug("read_cookie") if ($debug);
my %cookie = CGI::Cookie->fetch; my %cookie = CGI::Cookie->fetch;
debug( "cookies: " . Dumper( \%cookie ) ) if ($debug); debug( "cookies: " . Dumper( \%cookie ) ) if ($debug);
my $cookie = $cookie{'sessionID'}; my $cookie = $cookie{'sessionID'};
debug( "cookie: " . $cookie ) if ($debug); debug( "cookie: " . $cookie ) if ($debug);
return undef unless defined $cookie ; return undef unless defined $cookie;
my $session_id = $cookie->value || undef; my $session_id = $cookie->value || undef;
debug( "sid: " . $session_id ) if ($debug); debug( "sid: " . $session_id ) if ($debug);
return $session_id; return $session_id;
#return $cgi->cookie('sessionID') || undef;
} }
#TODO: remove CGI
sub delete_cookie { sub delete_cookie {
my $cgi = shift; my $cgi = shift;
@@ -179,7 +171,6 @@ sub create_session {
$session->param( "user", $user ); $session->param( "user", $user );
$session->param( "pid", $$ ); $session->param( "pid", $$ );
# $session->param("password", $password);
return $session->id(); return $session->id();
} }

View File

@@ -7,6 +7,7 @@ use Text::WikiCreole();
use HTML::Parse(); use HTML::Parse();
use HTML::FormatText(); use HTML::FormatText();
use Encode(); use Encode();
use HTML::Entities();
use log(); use log();
@@ -498,5 +499,10 @@ sub encode_xml_element_text {
return $text; return $text;
} }
sub escapeHtml{
my $s=shift;
return HTML::Entities::encode_entities($s,q{&<>"'});
}
#do not delete last line! #do not delete last line!
1; 1;

View File

@@ -4,79 +4,77 @@ use warnings "all";
use strict; use strict;
use Data::Dumper; use Data::Dumper;
use CGI();
use Apache2::Request(); use Apache2::Request();
use base 'Exporter'; use base 'Exporter';
our @EXPORT_OK = qw(get isJson); our @EXPORT_OK = qw(get isJson);
sub debug; sub debug;
my $isJson = 0; my $isJson = 0;
sub isJson { sub isJson {
return $isJson; return $isJson;
} }
sub get { sub get {
#get the Apache2::RequestRec #get the Apache2::RequestRec
my $r = shift; my $r = shift;
my $tmp_dir = '/var/tmp/'; my $tmp_dir = '/var/tmp/';
my $upload_limit = 1000 * 1024; my $upload_limit = 1000 * 1024;
my $cgi = undef; my $cgi = undef;
my $status = undef; my $status = undef;
my $params = {}; my $params = {};
$isJson = 0; $isJson = 0;
if ( defined $r ) { if ( defined $r ) {
#print STDERR "Apache2::Request\n"; #print STDERR "Apache2::Request\n";
#get Apache2::Request #get Apache2::Request
my $req = Apache2::Request->new( $r, POST_MAX => $upload_limit, TEMP_DIR => $tmp_dir ); my $req = Apache2::Request->new( $r, POST_MAX => $upload_limit, TEMP_DIR => $tmp_dir );
for my $key ( $req->param ) { for my $key ( $req->param ) {
$params->{ scalar($key) } = scalar( $req->param($key) ); $params->{ scalar($key) } = scalar( $req->param($key) );
} }
#copy params to hash #copy params to hash
#my $body=$req->body(); #my $body=$req->body();
#if (defined $body){ #if (defined $body){
# for my $key (keys %$body){ # for my $key (keys %$body){
# $params->{scalar($key)}=scalar($req->param($key)); # $params->{scalar($key)}=scalar($req->param($key));
# } # }
#} #}
$status = $req->parse; #parse $status = $req->parse; #parse
} else { } else {
print STDERR "$0: require CGI\n";
require "CGI.pm";
$CGI::POST_MAX = $upload_limit;
$CGI::TMPDIRECTORY = $tmp_dir;
$cgi = new CGI();
$status = $cgi->cgi_error() || $status;
my %params = $cgi->Vars();
$params = \%params;
}
#print STDERR "CGI\n"; $isJson = 1 if ( defined $params->{json} ) && ( $params->{json} eq '1' );
$CGI::POST_MAX = $upload_limit;
$CGI::TMPDIRECTORY = $tmp_dir;
$cgi = new CGI();
$status = $cgi->cgi_error() || $status;
my %params = $cgi->Vars();
$params = \%params;
}
$cgi = new CGI() unless ( defined $cgi );
$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 '' );
}
if ( defined $status ) { #print STDERR Dumper($params);
$status = '' if ( $status eq 'Success' ); #print $cgi->header.Dumper($params).$status;
$status = '' if ( $status eq 'Missing input data' );
print $cgi->header . $status . "\n" if ( $status ne '' );
}
#print STDERR Dumper($params); return ( $cgi, $params, $status );
#print $cgi->header.Dumper($params).$status;
return ( $cgi, $params, $status );
} }
sub debug { sub debug {
my $message = shift; my $message = shift;
} }
#do not delete last line! #do not delete last line!

View File

@@ -2,7 +2,6 @@ package uac;
use warnings "all"; use warnings "all";
use strict; use strict;
use CGI();
use CGI::Session qw(-ip-match); use CGI::Session qw(-ip-match);
use CGI::Cookie(); use CGI::Cookie();
use Data::Dumper; use Data::Dumper;

View File

@@ -5,9 +5,6 @@ use diagnostics;
use strict; use strict;
use Data::Dumper; use Data::Dumper;
use CGI qw(header param Vars escapeHTML uploadInfo cgi_error);
$CGI::POST_MAX=1024 * 100;
use params(); use params();
use config(); use config();
use db(); use db();
@@ -242,7 +239,7 @@ sub escape_text{
$s=~s/<[a-z\!\?\[\/][^\>]+?\>//gi; $s=~s/<[a-z\!\?\[\/][^\>]+?\>//gi;
$s=~s/<[a-z\!\?\[\/]\>//gi; $s=~s/<[a-z\!\?\[\/]\>//gi;
$s=CGI::escapeHTML($s); $s = markup::escapeHTML($s);
$s=~s/[\n\r]+/\<br \/\>/g; $s=~s/[\n\r]+/\<br \/\>/g;
$s=~s/\<br \/\>/\<br \/\>\n/g; $s=~s/\<br \/\>/\<br \/\>\n/g;
$s=~s/\<br \/\>\s*$//g; $s=~s/\<br \/\>\s*$//g;

View File

@@ -3,167 +3,174 @@
use warnings "all"; use warnings "all";
use strict; use strict;
use CGI qw(header param Vars); #use CGI qw(header param Vars);
use config();
use params();
use db(); use db();
use events(); use events();
use time(); use time();
use aggregator(); use aggregator();
use markup(); use markup();
use log(); use log();
use config();
if ( $0 =~ /aggregate.*?\.cgi$/ ) { if ( $0 =~ /aggregate.*?\.cgi$/ ) {
binmode STDOUT, ":encoding(UTF-8)"; binmode STDOUT, ":encoding(UTF-8)";
#(my $cgi, my $params, my $error)=params::get($r); my $params = {};
my $cgi = new CGI(); my $r = shift;
my %params = $cgi->Vars(); #print STDERR ref($r)."\n";
my $params = \%params; if ( ref($r) eq '' ) {
for my $arg (@ARGV) {
my ( $key, $value ) = split( /\=/, $arg, 2 );
$params->{$key} = $value;
}
} else {
( my $cgi, $params, my $error ) = params::get($r);
}
my $config = config::getFromScriptLocation(); my $config = config::getFromScriptLocation();
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my $mem_debug = $config->{system}->{debug_memory}; my $mem_debug = $config->{system}->{debug_memory};
my $base_dir = $config->{locations}->{base_dir}; my $base_dir = $config->{locations}->{base_dir};
#my $cgi=new CGI(); my $output_header = '';
my $output_header = ''; if ( exists $ENV{REQUEST_URI} && $ENV{REQUEST_URI} ne '' ) {
if ( exists $ENV{REQUEST_URI} && $ENV{REQUEST_URI} ne '' ) { $output_header .= "Content-type:text/html; charset=UTF-8;\n\n";
$output_header .= "Content-type:text/html; charset=UTF-8;\n\n"; }
}
$params->{exclude_locations} = 1; $params->{exclude_locations} = 1;
$params->{exclude_projects} = 1; $params->{exclude_projects} = 1;
$params->{exclude_event_images} = 1; $params->{exclude_event_images} = 1;
# $output_header.='<!DOCTYPE html>'."\n"; # $output_header.='<!DOCTYPE html>'."\n";
my $request = { my $request = {
url => $ENV{QUERY_STRING}, url => $ENV{QUERY_STRING},
params => { params => {
original => $params, original => $params,
checked => aggregator::check_params( $config, $params ), checked => aggregator::check_params( $config, $params ),
}, },
}; };
$params = $request->{params}->{checked}; $params = $request->{params}->{checked};
my $mem = 0; my $mem = 0;
#get result from cache #get result from cache
my $cache = aggregator::get_cache( $config, $request ); my $cache = aggregator::get_cache( $config, $request );
if ( ( defined $cache->{content} ) && ( $cache->{content} ne '' ) ) { if ( ( defined $cache->{content} ) && ( $cache->{content} ne '' ) ) {
my $content = $cache->{content}; my $content = $cache->{content};
print $output_header; print $output_header;
print $content; print $content;
return; return;
} }
my $content = load_file( $base_dir . './index.html' ); my $content = load_file( $base_dir . './index.html' );
$content = $$content || ''; $content = $$content || '';
#replace HTML escaped calcms_title span by unescaped one #replace HTML escaped calcms_title span by unescaped one
$content =~ s/\&lt\;span id\=&quot\;calcms_title&quot\;\&gt\;[^\&]*\&lt\;\/span\&gt\;/\<span id=\"calcms_title\" \>\<\/span\>/g; $content =~ s/\&lt\;span id\=&quot\;calcms_title&quot\;\&gt\;[^\&]*\&lt\;\/span\&gt\;/\<span id=\"calcms_title\" \>\<\/span\>/g;
# print $content; # print $content;
my $list = aggregator::get_list( $config, $request ); my $list = aggregator::get_list( $config, $request );
my $menu = { content => '' }; my $menu = { content => '' };
$list->{day} = '' unless defined $list->{day}; $list->{day} = '' unless defined $list->{day};
$list->{day} = $params->{date} if ( defined $params->{date} ) && ( $params->{date} ne '' ); $list->{day} = $params->{date} if ( defined $params->{date} ) && ( $params->{date} ne '' );
$list->{day} = $params->{from_date} if ( defined $params->{from_date} ) && ( $params->{from_date} ne '' ); $list->{day} = $params->{from_date} if ( defined $params->{from_date} ) && ( $params->{from_date} ne '' );
$list->{day} = 'today' if $list->{day} eq ''; $list->{day} = 'today' if $list->{day} eq '';
$menu = aggregator::get_menu( $config, $request, $list->{day}, $list->{results} ); $menu = aggregator::get_menu( $config, $request, $list->{day}, $list->{results} );
my $calendar = aggregator::get_calendar( $config, $request, $list->{day} ); my $calendar = aggregator::get_calendar( $config, $request, $list->{day} );
my $newest_comments = aggregator::get_newest_comments( $config, $request ); my $newest_comments = aggregator::get_newest_comments( $config, $request );
#my $newest_comments={}; #my $newest_comments={};
#db::disconnect($request) if (defined $request && defined $request->{connection}); #db::disconnect($request) if (defined $request && defined $request->{connection});
#print STDERR "$list->{project_title}\n"; #print STDERR "$list->{project_title}\n";
#build results list #build results list
my $output = {}; my $output = {};
$output->{calcms_menu} = \$menu->{content}; $output->{calcms_menu} = \$menu->{content};
$output->{calcms_list} = \$list->{content}; $output->{calcms_list} = \$list->{content};
$output->{calcms_calendar} = \$calendar->{content}; $output->{calcms_calendar} = \$calendar->{content};
$output->{calcms_newest_comments} = \$newest_comments->{content}; $output->{calcms_newest_comments} = \$newest_comments->{content};
# $output->{calcms_categories} = load_file($base_dir.'/cache/categories.html'); # $output->{calcms_categories} = load_file($base_dir.'/cache/categories.html');
# $output->{calcms_series_names} = load_file($base_dir.'/cache/series_names.html'); # $output->{calcms_series_names} = load_file($base_dir.'/cache/series_names.html');
# $output->{calcms_programs} = load_file($base_dir.'/cache/programs.html'); # $output->{calcms_programs} = load_file($base_dir.'/cache/programs.html');
my $url = $list->{url}; my $url = $list->{url};
my $js = qq{ my $js = qq{
set('preloaded','1'); set('preloaded','1');
set('last_list_url','$url'); set('last_list_url','$url');
}; };
$content =~ s/\/\/\s*(calcms_)?preload/$js/; $content =~ s/\/\/\s*(calcms_)?preload/$js/;
#insert results into page #insert results into page
for my $key ( keys %$output ) { for my $key ( keys %$output ) {
my $val = ${ $output->{$key} }; my $val = ${ $output->{$key} };
my $start = index( $val, "<body>" ); my $start = index( $val, "<body>" );
if ( $start != -1 ) { if ( $start != -1 ) {
$val = substr( $val, $start + length('<body>') ); $val = substr( $val, $start + length('<body>') );
} }
my $end = index( $val, "</body>" ); my $end = index( $val, "</body>" );
if ( $end != -1 ) { if ( $end != -1 ) {
$val = substr( $val, 0, $end ); $val = substr( $val, 0, $end );
} }
$content =~ s/(<(div|span)\s+id="$key".*?>).*?(<\/(div|span)>)/$1$val$3/g; $content =~ s/(<(div|span)\s+id="$key".*?>).*?(<\/(div|span)>)/$1$val$3/g;
} }
#replace whole element span with id="calcms_title" by value #replace whole element span with id="calcms_title" by value
$list->{project_title} = '' unless ( defined $list->{project_title} ); $list->{project_title} = '' unless ( defined $list->{project_title} );
$content =~ s/(<(div|span)\s+id="calcms_title".*?>).*?(<\/(div|span)>)/$list->{project_title}/g; $content =~ s/(<(div|span)\s+id="calcms_title".*?>).*?(<\/(div|span)>)/$list->{project_title}/g;
my $values = []; my $values = [];
for my $value ( $list->{'program'}, $list->{'series_name'}, $list->{'title'}, $list->{'location'}, $list->{'project_title'} ) { for my $value ( $list->{'program'}, $list->{'series_name'}, $list->{'title'}, $list->{'location'}, $list->{'project_title'} ) {
next unless defined $value; next unless defined $value;
next if $value eq ''; next if $value eq '';
push @$values, $value; push @$values, $value;
} }
my $title = join( ' - ', @$values ); my $title = join( ' - ', @$values );
$content =~ s/(<title>)(.*?)(<\/title>)/$1$title$3/; $content =~ s/(<title>)(.*?)(<\/title>)/$1$title$3/;
$js = ''; $js = '';
if ( ( defined $list->{event_id} ) && ( $list->{event_id} ne '' ) ) { if ( ( defined $list->{event_id} ) && ( $list->{event_id} ne '' ) ) {
$js .= qq{showCommentsByEventIdOrEventStart('$list->{event_id}','$list->{start_datetime}')}; $js .= qq{showCommentsByEventIdOrEventStart('$list->{event_id}','$list->{start_datetime}')};
} }
$content =~ s/startCalcms\(\)\;/$js/gi; $content =~ s/startCalcms\(\)\;/$js/gi;
#replace link to uncompressed or compressed drupal (first link in <head>) #replace link to uncompressed or compressed drupal (first link in <head>)
my @parts = split( /<\/head>/, $content ); my @parts = split( /<\/head>/, $content );
$parts[0] =~ s|/misc/jquery.js|/agenda_files/js/jquery.js|; $parts[0] =~ s|/misc/jquery.js|/agenda_files/js/jquery.js|;
$parts[0] =~ s|/sites/default/files/js/[a-z0-9\_]+\.js|/agenda_files/js/jquery.js|; $parts[0] =~ s|/sites/default/files/js/[a-z0-9\_]+\.js|/agenda_files/js/jquery.js|;
$content = join( '</head>', @parts ); $content = join( '</head>', @parts );
print $output_header; print $output_header;
print $content; print $content;
if ( $config->{cache}->{use_cache} eq '1' ) { if ( $config->{cache}->{use_cache} eq '1' ) {
$cache->{content} = $content; $cache->{content} = $content;
cache::save($cache); cache::save($cache);
} }
# $config=undef; # $config=undef;
$content = undef; $content = undef;
$cache = undef; $cache = undef;
} }
sub load_file { sub load_file {
my $filename = shift; my $filename = shift;
my $content = "cannot load '$filename'"; my $content = "cannot load '$filename'";
open my $FILE, '<:utf8', $filename or return \$content; open my $FILE, '<:utf8', $filename or return \$content;
$content = join( "", (<$FILE>) ); $content = join( "", (<$FILE>) );
close $FILE; close $FILE;
return \$content; return \$content;
} }

View File

@@ -1,3 +1,2 @@
Order deny,allow Require all denied
deny from all

View File

@@ -1,21 +1,19 @@
<IfModule mod_rewrite.c> <IfModule mod_rewrite.c>
RewriteBase /programm RewriteBase /programm
RewriteEngine on RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -f
RewriteRule (.*) $1 [L] RewriteRule (.*) $1 [L]
RewriteCond %{REQUEST_FILENAME} -d RewriteCond %{REQUEST_FILENAME} -d
RewriteRule (.*) $1 [L] RewriteRule (.*) $1 [L]
#controller RewriteRule ^kalender/(\d{4}-\d{2}-\d{2})_(\d{4}-\d{2}-\d{2})\.html[\?]?(.*)$ /agenda/aggregate.cgi?from_date=$1&till_date=$2&$3 [L]
RewriteRule ^kalender/(\d{4}-\d{2}-\d{2})_(\d{4}-\d{2}-\d{2})\.html[\?]?(.*)$ /agenda/aggregate.cgi?from_date=$1&till_date=$2&$3 [L] RewriteRule ^kalender/(\d{4}-\d{2}-\d{2})\.html[\?]?(.*)$ /agenda/aggregate.cgi?date=$1&$2 [L]
RewriteRule ^kalender/(\d{4}-\d{2}-\d{2})\.html[\?]?(.*)$ /agenda/aggregate.cgi?date=$1&$2 [L] RewriteRule ^sendungen/(\d{4}-\d{2}-\d{2})\.html[\?]?(.*)$ /agenda/aggregate.cgi?date=$1&$2 [L]
RewriteRule ^sendungen/(\d{4}-\d{2}-\d{2})\.html[\?]?(.*)$ /agenda/aggregate.cgi?date=$1&$2 [L] # RewriteRule ^sendung/(\d+)\.html/[^&]*(&.*)?$ /agenda/aggregate.cgi?event_id=$1&$2 [L]
# RewriteRule ^sendung/(\d+)\.html/[^&]*(&.*)?$ /agenda/aggregate.cgi?event_id=$1&$2 [L] RewriteRule ^sendung/(\d+)\.html[\?]?(.*)$ /agenda/aggregate.cgi?event_id=$1&$2 [L]
RewriteRule ^sendung/(\d+)\.html[\?]?(.*)$ /agenda/aggregate.cgi?event_id=$1&$2 [L] RewriteRule ^sendung/serie_plus/(\d+)\.html[\?]?(.*)$ /agenda/aggregate.cgi?next_series=$1&$2 [L]
RewriteRule ^sendung/serie_plus/(\d+)\.html[\?]?(.*)$ /agenda/aggregate.cgi?next_series=$1&$2 [L] RewriteRule ^sendung/serie_minus/(\d+)\.html[\?]?(.*)$ /agenda/aggregate.cgi?previous_series=$1&$2 [L]
RewriteRule ^sendung/serie_minus/(\d+)\.html[\?]?(.*)$ /agenda/aggregate.cgi?previous_series=$1&$2 [L]
#controller end
</IfModule> </IfModule>
Options -Indexes +FollowSymLinks +MultiViews +ExecCGI Options -Indexes +FollowSymLinks +MultiViews +ExecCGI
@@ -30,9 +28,8 @@ Options -Indexes +FollowSymLinks +MultiViews +ExecCGI
</IfModule> </IfModule>
<IfModule !mod_perl.c> <IfModule !mod_perl.c>
AddHandler cgi-script .cgi .pl AddHandler cgi-script .cgi .pl
</IfModule> </IfModule>
#Order allow,deny
#allow from all
Require all granted Require all granted

View File

@@ -4,10 +4,6 @@
use warnings "all"; use warnings "all";
use strict; use strict;
use CGI qw(header param Vars);
$CGI::POST_MAX = 1000;
$CGI::DISABLE_UPLOADS = 1;
use Data::Dumper; use Data::Dumper;
use params(); use params();
use config(); use config();

View File

@@ -3,9 +3,6 @@
use strict; use strict;
use warnings; use warnings;
use Data::Dumper; use Data::Dumper;
use CGI qw(header param Vars);
$CGI::POST_MAX = 1000;
$CGI::DISABLE_UPLOADS = 1;
use params(); use params();
use db(); use db();

View File

@@ -2,9 +2,6 @@
use warnings "all"; use warnings "all";
use strict; use strict;
use CGI qw(header param Vars);
$CGI::POST_MAX = 1000;
$CGI::DISABLE_UPLOADS = 1;
use Data::Dumper; use Data::Dumper;

View File

@@ -1,3 +1 @@
Order deny,allow Require all denied
deny from all
Require all granted

View File

@@ -6,11 +6,6 @@ no warnings 'redefine';
use Data::Dumper; use Data::Dumper;
use DBI;
use CGI qw(header param Vars);
$CGI::POST_MAX = 1000;
$CGI::DISABLE_UPLOADS = 1;
use params(); use params();
use config(); use config();
use log(); use log();

View File

@@ -30,7 +30,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( !defined $user ) || ( $user eq '' ); return if ( !defined $user ) || ( $user eq '' );
#print STDERR $params->{project_id}."\n"; #print STDERR $params->{project_id}."\n";

View File

@@ -31,7 +31,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( ( !defined $user ) || ( $user eq '' ) ); return if ( ( !defined $user ) || ( $user eq '' ) );
#print STDERR $params->{project_id}."\n"; #print STDERR $params->{project_id}."\n";

View File

@@ -45,7 +45,7 @@ my $fh = undef;
$CGI::Simple::POST_MAX = $uploadLimit; $CGI::Simple::POST_MAX = $uploadLimit;
$CGI::Simple::DISABLE_UPLOADS = 0; $CGI::Simple::DISABLE_UPLOADS = 0;
$cgi = $cgi = CGI::Simple->new; $cgi = CGI::Simple->new;
my $filename = $cgi->param('upload'); my $filename = $cgi->param('upload');
$fh = $cgi->upload($filename); $fh = $cgi->upload($filename);
$error = $cgi->cgi_error() || ''; $error = $cgi->cgi_error() || '';
@@ -55,7 +55,7 @@ my $params = \%params;
binmode $fh if defined $fh; binmode $fh if defined $fh;
#print "Content-type:text/html; charset=UTF-8;\n\n"; #print "Content-type:text/html; charset=UTF-8;\n\n";
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
exit if ( !defined $user ) || ( $user eq '' ); exit if ( !defined $user ) || ( $user eq '' );
my $user_presets = uac::get_user_presets( my $user_presets = uac::get_user_presets(

View File

@@ -36,7 +36,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( !defined $user ) || ( $user eq '' ); return if ( !defined $user ) || ( $user eq '' );
my $user_presets = uac::get_user_presets( my $user_presets = uac::get_user_presets(

View File

@@ -31,7 +31,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( !defined $user ) || ( $user eq '' ); return if ( !defined $user ) || ( $user eq '' );
my $user_presets = uac::get_user_presets( my $user_presets = uac::get_user_presets(

View File

@@ -25,7 +25,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( ( !defined $user ) || ( $user eq '' ) ); return if ( ( !defined $user ) || ( $user eq '' ) );
#print STDERR $params->{project_id}."\n"; #print STDERR $params->{project_id}."\n";

View File

@@ -39,7 +39,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( ( !defined $user ) || ( $user eq '' ) ); return if ( ( !defined $user ) || ( $user eq '' ) );
my $user_presets = uac::get_user_presets( my $user_presets = uac::get_user_presets(

View File

@@ -30,7 +30,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( ( !defined $user ) || ( $user eq '' ) ); return if ( ( !defined $user ) || ( $user eq '' ) );
my $user_presets = uac::get_user_presets( $config, { user => $user, studio_id => $params->{studio_id} } ); my $user_presets = uac::get_user_presets( $config, { user => $user, studio_id => $params->{studio_id} } );

View File

@@ -24,7 +24,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( ( !defined $user ) || ( $user eq '' ) ); return if ( ( !defined $user ) || ( $user eq '' ) );
my $user_presets = uac::get_user_presets( my $user_presets = uac::get_user_presets(

View File

@@ -8,7 +8,6 @@ use Data::Dumper;
use File::stat(); use File::stat();
use Time::localtime(); use Time::localtime();
use CGI::Simple();
use URI::Escape(); use URI::Escape();
use time(); use time();
@@ -31,11 +30,10 @@ binmode STDOUT, ":utf8";
my $r = shift; my $r = shift;
( my $cgi, my $params, my $error ) = params::get($r); ( my $cgi, my $params, my $error ) = params::get($r);
$CGI::POST_MAX = 1024 * 10;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( ( !defined $user ) || ( $user eq '' ) ); return if ( ( !defined $user ) || ( $user eq '' ) );
my $user_presets = uac::get_user_presets( my $user_presets = uac::get_user_presets(

View File

@@ -74,7 +74,7 @@ if ( defined $r ) {
$params = \%params; $params = \%params;
} }
print "Content-type:text/html; charset=UTF-8;\n\n"; print "Content-type:text/html; charset=UTF-8;\n\n";
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( ( !defined $user ) || ( $user eq '' ) ); return if ( ( !defined $user ) || ( $user eq '' ) );
my $user_presets = uac::get_user_presets( my $user_presets = uac::get_user_presets(

View File

@@ -20,7 +20,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( $user eq '' ); return if ( $user eq '' );
my $request = { my $request = {

View File

@@ -28,7 +28,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( ( !defined $user ) || ( $user eq '' ) ); return if ( ( !defined $user ) || ( $user eq '' ) );
my $user_presets = uac::get_user_presets( my $user_presets = uac::get_user_presets(

View File

@@ -33,7 +33,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( ( !defined $user ) || ( $user eq '' ) ); return if ( ( !defined $user ) || ( $user eq '' ) );
print "Content-type:text/html; charset=UTF-8;\n\n"; print "Content-type:text/html; charset=UTF-8;\n\n";

View File

@@ -21,7 +21,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( $user eq '' ); return if ( $user eq '' );
my $permissions = roles::get_user_permissions($config); my $permissions = roles::get_user_permissions($config);

View File

@@ -22,7 +22,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( ( !defined $user ) || ( $user eq '' ) ); return if ( ( !defined $user ) || ( $user eq '' ) );
our $actions = { our $actions = {

View File

@@ -21,7 +21,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( ( !defined $user ) || ( $user eq '' ) ); return if ( ( !defined $user ) || ( $user eq '' ) );
my $user_presets = uac::get_user_presets( my $user_presets = uac::get_user_presets(

View File

@@ -20,7 +20,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( ( !defined $user ) || ( $user eq '' ) ); return if ( ( !defined $user ) || ( $user eq '' ) );
my $user_presets = uac::get_user_presets( my $user_presets = uac::get_user_presets(

View File

@@ -33,7 +33,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( ( !defined $user ) || ( $user eq '' ) ); return if ( ( !defined $user ) || ( $user eq '' ) );
#print STDERR $params->{project_id}."\n"; #print STDERR $params->{project_id}."\n";

View File

@@ -6,7 +6,6 @@ use warnings;
use strict; use strict;
use Data::Dumper; use Data::Dumper;
use CGI::Simple ();
use ModPerl::Util (); use ModPerl::Util ();
use config; use config;
@@ -25,7 +24,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( ( !defined $user ) || ( $user eq '' ) ); return if ( ( !defined $user ) || ( $user eq '' ) );
#print STDERR $params->{project_id}."\n"; #print STDERR $params->{project_id}."\n";

View File

@@ -22,7 +22,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( ( !defined $user ) || ( $user eq '' ) ); return if ( ( !defined $user ) || ( $user eq '' ) );
my $user_presets = uac::get_user_presets( my $user_presets = uac::get_user_presets(

View File

@@ -29,7 +29,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( ( !defined $user ) || ( $user eq '' ) ); return if ( ( !defined $user ) || ( $user eq '' ) );
my $user_presets = uac::get_user_presets( my $user_presets = uac::get_user_presets(

View File

@@ -21,7 +21,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( $user eq '' ); return if ( $user eq '' );
my $permissions = roles::get_user_permissions($config); my $permissions = roles::get_user_permissions($config);

View File

@@ -20,7 +20,7 @@ my $r = shift;
( my $cgi, my $params, my $error ) = params::get($r); ( my $cgi, my $params, my $error ) = params::get($r);
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( ( !defined $user ) || ( $user eq '' ) ); return if ( ( !defined $user ) || ( $user eq '' ) );
my $user_presets = uac::get_user_presets( my $user_presets = uac::get_user_presets(

View File

@@ -22,7 +22,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( ( !defined $user ) || ( $user eq '' ) ); return if ( ( !defined $user ) || ( $user eq '' ) );
my $user_presets = uac::get_user_presets( my $user_presets = uac::get_user_presets(

View File

@@ -19,7 +19,7 @@ my $r = shift;
( my $cgi, my $params, my $error ) = params::get($r); ( my $cgi, my $params, my $error ) = params::get($r);
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( ( !defined $user ) || ( $user eq '' ) ); return if ( ( !defined $user ) || ( $user eq '' ) );
my $user_presets = uac::get_user_presets( my $user_presets = uac::get_user_presets(
$config, $config,

View File

@@ -28,7 +28,7 @@ my $r = shift;
my $config = config::get('../config/config.cgi'); my $config = config::get('../config/config.cgi');
my $debug = $config->{system}->{debug}; my $debug = $config->{system}->{debug};
my ( $user, $expires ) = auth::get_user( $cgi, $config ); my ( $user, $expires ) = auth::get_user( $config, $params, $cgi );
return if ( ( !defined $user ) || ( $user eq '' ) ); return if ( ( !defined $user ) || ( $user eq '' ) );
#print STDERR $params->{project_id}."\n"; #print STDERR $params->{project_id}."\n";

View File

@@ -7,10 +7,6 @@ use warnings "all";
use strict; use strict;
use Data::Dumper; use Data::Dumper;
use CGI qw(header param Vars);
$CGI::POST_MAX = 1000;
$CGI::DISABLE_UPLOADS = 1;
use params(); use params();
use db(); use db();
use markup(); use markup();

View File

@@ -3,10 +3,6 @@
use warnings "all"; use warnings "all";
use strict; use strict;
use CGI qw(header param Vars);
$CGI::POST_MAX = 1000;
$CGI::DISABLE_UPLOADS = 1;
use Data::Dumper; use Data::Dumper;
use JSON(); use JSON();