Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl -T
- use strict;
- use warnings;
- use Class::Load;
- my %CONFIG = do './config.pl';
- # my $path = $ENV{'PWD'};
- # my $path = cwd();
- # if ($path =~ /^([-\@\w.\/]+)$/) {
- # $path = $1; # $data now untainted
- # } else {
- # die "Bad data in '$path'"; # log this somewhere
- # }
- # print $ENV{'PWD'};
- # use lib $ENV{'PWD'};
- # use lib $ENV{PWD};
- use lib './core';
- use lib './controllers';
- use lib './models';
- use lib './views';
- use Controller;
- use Model;
- use View;
- use Tools;
- use DataBase;
- print "Content-type: text/plain\n\n";
- my $dataBase = DataBase->new(%CONFIG);
- my $connection = $dataBase->connect();
- my $requestUri = $ENV{REQUEST_URI};
- if (!defined $requestUri) {
- $requestUri = '/main_page/example';
- }
- my @requestArray;
- # remove first slash
- $requestUri =~ s/\///;
- # routing
- my %route = (
- controller => "",
- action => ""
- );
- foreach my $dir (split('/', $requestUri)) {
- push @requestArray, $dir;
- }
- if (defined $requestArray[0]) {
- $route{controller} = $requestArray[0];
- }
- if (defined $requestArray[1]) {
- $route{action} = $requestArray[1];
- }
- foreach my $key (keys %route) {
- my $value = $route{$key};
- }
- my $controllerName = "Controller_" . $route{controller};
- if ($controllerName =~ /^([-\@\w.\/]+)$/) {
- $controllerName = $1; # $data now untainted
- } else {
- die "Bad data in '$controllerName'"; # log this somewhere
- }
- unless (-e "./controllers/$controllerName.pm") {
- $controllerName = "Controller_error404";
- $route{controller} = "error404";
- $route{action} = "";
- }
- require "$controllerName.pm";
- my $controller = $controllerName->new(%route);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement