lilalo
diff l3-cgi-lite @ 109:3cd466f35ad6
* Добавлено разбиения журнала на блоки
* Оптимизирована генерация всплывающих подсказок
* В заголовке указывается дата
* Переделано взаимодействие с mywi: код mywi интегрирован в lilalo
* Изменён способ вывода таблицы, теперь она лушче показывается в Opera и IE
* Изменён формат diff'а, теперь diff -u
* Оптимизирована генерация всплывающих подсказок
* В заголовке указывается дата
* Переделано взаимодействие с 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 +