lilalo

diff l3-cgi-lite @ 109:3cd466f35ad6

* Добавлено разбиения журнала на блоки
* Оптимизирована генерация всплывающих подсказок
* В заголовке указывается дата
* Переделано взаимодействие с mywi: код mywi интегрирован в lilalo
* Изменён способ вывода таблицы, теперь она лушче показывается в Opera и IE
* Изменён формат diff'а, теперь diff -u
author igor
date Wed Feb 13 02:41:57 2008 +0200 (2008-02-13)
parents 53b890d1ae90
children 2fc1f3f08760
line diff
     1.1 --- a/l3-cgi-lite	Fri Aug 04 17:41:31 2006 +0300
     1.2 +++ b/l3-cgi-lite	Wed Feb 13 02:41:57 2008 +0200
     1.3 @@ -17,14 +17,26 @@
     1.4  sub print_footer;
     1.5  sub nav_bar;
     1.6  
     1.7 +sub count_command_lines($);
     1.8 +
     1.9  my $print="";
    1.10  my $path = $ENV{PATH_INFO};
    1.11  remove_extra_slashes_from($path);
    1.12  
    1.13 +
    1.14 +my $commands_to_show_at_a_go = $l3config::Config{"commands_to_show_at_a_go"};
    1.15 +my $start_from_command = "100";
    1.16 +my $this_page_number=0;
    1.17 +if ($path =~ s/:(.*)//) {
    1.18 +    $this_page_number = $1;
    1.19 +    $start_from_command = $this_page_number*$commands_to_show_at_a_go;
    1.20 +}
    1.21 +
    1.22  my $real_path = $l3config::Config{"backend_datadir"} ;
    1.23  my $cgi_path = $l3config::Config{"cgi_path"} ;
    1.24  my $style_files = $l3config::Config{"frontend_files"} ;
    1.25  my $frontend_css = $l3config::Config{"frontend_css"} ;
    1.26 +
    1.27  my $data_file = "data.xml";
    1.28  
    1.29  path_is_correct($path)
    1.30 @@ -51,12 +63,12 @@
    1.31  
    1.32      unless ( -e "$real_path/$data_file"
    1.33               && -e "$real_path/index.html" 
    1.34 -             && (stat("$real_path/index.html"))[9] > (stat("$real_path/$data_file"))[9] ) {
    1.35 +             && (stat("$real_path/index.html"))[9] > (stat("$real_path/$data_file"))[9] && 0!=0 ) {
    1.36  
    1.37 -        my $l3_frontend = "/home/devi/cvs/lilalo/l3-frontend --backend_datafile $real_path/$data_file --output $real_path/index.html";
    1.38 +        my $l3_frontend = "/home/devi/cvs/lilalo/l3-frontend --backend_datafile $real_path/$data_file --output $real_path/index.html --start_from_command $start_from_command ";
    1.39          system($l3_frontend) == 0
    1.40              or error("Файл журнала найден, но возникла ошибка при его обработке:<br/> $!");
    1.41 -        $print .= "(перегенирован)<br/>";
    1.42 +        #$print .= "(перегенирован)<br/>";
    1.43      }
    1.44  
    1.45      {
    1.46 @@ -169,6 +181,28 @@
    1.47          $current_path .= "/$path_part";
    1.48          $nav_bar .= "/<a href='$current_path'>$path_part</a>";
    1.49      }
    1.50 +    my $pages=int(count_command_lines("$real_path/$data_file")/$commands_to_show_at_a_go)+1;
    1.51 +    my $i=1;
    1.52 +    while ($i<$pages) {
    1.53 +        if ($i==$this_page_number) {
    1.54 +            $nav_bar .= " <b>:$i</b>";
    1.55 +        } 
    1.56 +        else {
    1.57 +            $nav_bar .= " <a href='$current_path:$i'>:$i</a>";
    1.58 +        }
    1.59 +        $i++;
    1.60 +    }
    1.61      return "<table class='nav_bar' cellpadding='0' cellspacing='0' width='100%'><tr><td>$nav_bar</td></tr></table>";
    1.62  }
    1.63  
    1.64 +sub count_command_lines($)
    1.65 +#
    1.66 +# Считает количество строк в файле с данными
    1.67 +# Грязный временный хак
    1.68 +#
    1.69 +{
    1.70 +    my $filename= $_[0];
    1.71 +    return int(`grep '<command>' $filename |wc -l`);
    1.72 +#    return $filename;
    1.73 +}
    1.74 +