#!/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;