line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Apache::Scriptor::Simple;
|
2
|
|
|
|
|
|
|
$VERSION="1.21";
|
3
|
1
|
|
|
1
|
|
7920
|
use Apache::Scriptor;
|
|
0
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
4
|
|
|
|
|
|
|
|
5
|
|
|
|
|
|
|
# Директория обработчиков по умолчанию
|
6
|
|
|
|
|
|
|
my $DefHandDir="handlers";
|
7
|
|
|
|
|
|
|
|
8
|
|
|
|
|
|
|
#############################################################################
|
9
|
|
|
|
|
|
|
# Первым делом проверяем, не запускается ли случаем этот скрипт
|
10
|
|
|
|
|
|
|
# нелегальным образом и, если это так, перебрасываем в корень.
|
11
|
|
|
|
|
|
|
# Запуск не как CGI?
|
12
|
|
|
|
|
|
|
if(!$ENV{DOCUMENT_ROOT} || !$ENV{SCRIPT_NAME} || !$ENV{SERVER_NAME}) {
|
13
|
|
|
|
|
|
|
print "This script has to be used only as Apache handler!\n\n";
|
14
|
|
|
|
|
|
|
exit;
|
15
|
|
|
|
|
|
|
}
|
16
|
|
|
|
|
|
|
# Запуск "напрямую"?
|
17
|
|
|
|
|
|
|
if(!$ENV{REDIRECT_URL}) {
|
18
|
|
|
|
|
|
|
print "Location: http://$ENV{SERVER_NAME}/\n\n";
|
19
|
|
|
|
|
|
|
exit;
|
20
|
|
|
|
|
|
|
}
|
21
|
|
|
|
|
|
|
#############################################################################
|
22
|
|
|
|
|
|
|
|
23
|
|
|
|
|
|
|
sub import
|
24
|
|
|
|
|
|
|
{ my ($pkg,$HandDir);
|
25
|
|
|
|
|
|
|
# По умолчанию?
|
26
|
|
|
|
|
|
|
if(!defined $HandDir) {
|
27
|
|
|
|
|
|
|
use FindBin qw($Bin);
|
28
|
|
|
|
|
|
|
($Bin) = $Bin=~/(.*)/;
|
29
|
|
|
|
|
|
|
$HandDir = "$Bin/$DefHandDir";
|
30
|
|
|
|
|
|
|
}
|
31
|
|
|
|
|
|
|
require Apache::Scriptor;
|
32
|
|
|
|
|
|
|
my $Scr=Apache::Scriptor->new();
|
33
|
|
|
|
|
|
|
# Устанавливаем директорию с обработчиками.
|
34
|
|
|
|
|
|
|
$Scr->set_handlers_dir($HandDir);
|
35
|
|
|
|
|
|
|
# Поехали.
|
36
|
|
|
|
|
|
|
my ($uri) = $ENV{REQUEST_URI}=~/(.*)/;
|
37
|
|
|
|
|
|
|
my ($path) = $ENV{PATH_TRANSLATED}=~/(.*)/;
|
38
|
|
|
|
|
|
|
$Scr->run_uri($uri, $path);
|
39
|
|
|
|
|
|
|
}
|
40
|
|
|
|
|
|
|
|
41
|
|
|
|
|
|
|
return 1;
|
42
|
|
|
|
|
|
|
__END__
|