Advertisement
Guest User

Untitled

a guest
Jul 18th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.63 KB | None | 0 0
  1. #!/usr/bin/perl -T
  2.  
  3. use strict;
  4. use warnings;
  5.  
  6. use Class::Load;
  7.  
  8. my %CONFIG = do './config.pl';
  9.  
  10. # my $path = $ENV{'PWD'};
  11. # my $path = cwd();
  12. # if ($path =~ /^([-\@\w.\/]+)$/) {
  13. #   $path = $1;             # $data now untainted
  14. # } else {
  15. #   die "Bad data in '$path'";  # log this somewhere
  16. # }
  17.  
  18. # print $ENV{'PWD'};
  19. # use lib $ENV{'PWD'};
  20. # use lib $ENV{PWD};
  21.  
  22. use lib './core';
  23. use lib './controllers';
  24. use lib './models';
  25. use lib './views';
  26.  
  27. use Controller;
  28. use Model;
  29. use View;
  30. use Tools;
  31. use DataBase;
  32.  
  33. print "Content-type: text/plain\n\n";
  34.  
  35. my $dataBase = DataBase->new(%CONFIG);
  36.  
  37. my $connection = $dataBase->connect();
  38.  
  39. my $requestUri = $ENV{REQUEST_URI};
  40.  
  41. if (!defined $requestUri) {
  42.     $requestUri = '/main_page/example';
  43. }
  44.  
  45. my @requestArray;
  46.  
  47. # remove first slash
  48. $requestUri =~ s/\///;
  49.  
  50. # routing
  51. my %route = (
  52.     controller => "",
  53.     action => ""
  54. );
  55.  
  56. foreach my $dir (split('/', $requestUri)) {
  57.     push @requestArray, $dir;
  58. }
  59.  
  60. if (defined $requestArray[0]) {
  61.     $route{controller} = $requestArray[0];
  62. }
  63.  
  64. if (defined $requestArray[1]) {
  65.     $route{action} = $requestArray[1];
  66. }
  67.  
  68. foreach my $key (keys %route) {
  69.     my $value = $route{$key};
  70. }
  71.  
  72. my $controllerName = "Controller_" . $route{controller};
  73.  
  74. if ($controllerName =~ /^([-\@\w.\/]+)$/) {
  75.     $controllerName = $1;           # $data now untainted
  76. } else {
  77.     die "Bad data in '$controllerName'";    # log this somewhere
  78. }
  79.  
  80. unless (-e "./controllers/$controllerName.pm") {
  81.     $controllerName = "Controller_error404";
  82.     $route{controller} = "error404";
  83.     $route{action} = "";
  84.  
  85. }
  86.  
  87. require "$controllerName.pm";
  88.  
  89. my $controller = $controllerName->new(%route);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement