#!/usr/bin/perl -w
##########################################
#
# Автор: Алексей Чепурных
#
# Лицензия:
# Можно копировать и изменять этот текст, как вам заблагорассудится
# но за последствия я не несу ответственности и ни за что не ручаюсь.
# Это все.
#
use strict;
use DB_File;
use Fcntl ':flock';
use CGI;
use lib "/users/httpd/hq/lib/perl-lib";
use SimpleLib;
use SimpleLibA;
#use Lib_2;
#use LibSecond;
use CGIError;
use vars qw( @FIELD_NAMES );
$CGI::HEADERS_ONCE = 1;
$| = 1;
my ( $dbfile_index, $my_script_name, $_ADMIN_,
$q, $libnames_config_file, %lib_names_hash,
$path_to_dbfiles, $columns_in_link_table,
$dbfile_allow, $dbfile, $lib_name,
);
$my_script_name = "/hq$ENV{SCRIPT_NAME}";
$path_to_dbfiles = '/users/httpd/hq/lib/lib_bases/';
$_ADMIN_ = "ach\@sao.ru";
$columns_in_link_table = 3;
$q = CGI->new();
$libnames_config_file = '/users/httpd/hq/lib/lib_bases/lib.conf';
%lib_names_hash = get_hash_from_config($q, $libnames_config_file);
foreach my $key (keys %lib_names_hash) {
my_header($q);
$dbfile_allow = "$lib_names_hash{$key}[2]";
if ($dbfile_allow == 0) {
delete $lib_names_hash{$key};
}
}
if ($q->param('n')) {
$dbfile_index = $q->param('n');
$dbfile = "$path_to_dbfiles" . "$lib_names_hash{$dbfile_index}[0]";
$lib_name = "$lib_names_hash{$dbfile_index}[1]";
die "Файл $dbfile имеет неверные права доступа (Обратитесь к администратору): $!"
if (-x $dbfile );
die "Файл $dbfile не существует: $!"
unless (-e $dbfile );
die "Файл $dbfile не открывается для чтения: $!"
unless (-r $dbfile );
# die "Файл $dbfile не открывается для записи: $!"
# unless (-w $dbfile );
}
else {
my_header($q);
blue_table( $q, "Выберите имя БД" );
RotateLinks($my_script_name, $columns_in_link_table, %lib_names_hash);
back_forward ($my_script_name);
blue_table( $q, 'Вопросы и пожелания отправляйте:
Alexey Chepurnykh');
print $q->end_html;
exit;
}
if ($q->param( 'search_form')) {
my_header($q);
blue_table( $q, "Библиотека САО РАН.  БД "$lib_name"." );
my_SearchForm( $q );
}
elsif ( $q->param( 'search' ) ) {
my_header($q);
blue_table( $q, "Результат поиска в БД "$lib_name":" );
my_SearchResults( $q, 'search', $my_script_name, $dbfile );
my_SearchForm( $q );
}
elsif ( $q->param( 'frl' ) ) {
my_header($q);
blue_table( $q, "Результат поиска в БД "$lib_name":" );
my_SearchResults_pages( $q, $my_script_name, $dbfile );
my_SearchForm( $q );
}
else {
my_header($q);
blue_table( $q, "Библиотека САО РАН.  БД $lib_name." );
my_SearchForm( $q );
my_message ('2-поле заполнять не обязательно');
my_message ('При заполнении поля "Что Искать" можно
использовать регулярные выражения.
Например, для того, чтобы найти все "Петров"
в начале стоки, надо писать "^Петров"');
}
RotateLinks($my_script_name, $columns_in_link_table, %lib_names_hash);
back_forward($my_script_name);
blue_table( $q, 'Вопросы и пожелания отправляйте:
Alexey Chepurnykh');
print $q->end_html;