lilalo

changeset 141:c48bd05dca85

Восстановлена поддержка сеансов и начальная поддержка правок


Теперь можно посмотреть на команды одного
сеанса; для этого нужно воспользоваться ссылкой,
на строке в начале открытия терминала.

Появилась начальная поддержка правок.
Кнопка [ править ] на странице
открывает окно, где можно редактировать
текстовое представление журнала.
Правда, оно пока что не сохраняется.
author igor@chub.in
date Mon Jul 21 16:44:11 2008 +0300 (2008-07-21)
parents da99089532ca
children e939c147dcdd
files l3-cgi-lite l3-frontend
line diff
     1.1 --- a/l3-cgi-lite	Mon Jul 21 12:29:05 2008 +0300
     1.2 +++ b/l3-cgi-lite	Mon Jul 21 16:44:11 2008 +0300
     1.3 @@ -37,6 +37,15 @@
     1.4  my $style_files = $l3config::Config{"frontend_files"} ;
     1.5  my $frontend_css = $l3config::Config{"frontend_css"} ;
     1.6  
     1.7 +my $filter=$ENV{QUERY_STRING};
     1.8 +if ($filter !~ /filter=/) {
     1.9 +#    $filter="";
    1.10 +}
    1.11 +else {
    1.12 +    $filter =~ s@.*filter=@@;
    1.13 +    $filter =~ s@\&.*@@;
    1.14 +}
    1.15 +
    1.16  my $data_file = "data.xml";
    1.17  
    1.18  path_is_correct($path)
    1.19 @@ -65,10 +74,12 @@
    1.20               && -e "$real_path/index.html" 
    1.21               && (stat("$real_path/index.html"))[9] > (stat("$real_path/$data_file"))[9] && 0!=0 ) {
    1.22  
    1.23 -        my $l3_frontend = "l3-frontend --backend_datafile $real_path/$data_file --output $real_path/index.html --start_from_command $start_from_command ";
    1.24 +        my $l3_frontend = "l3-frontend --backend_datafile $real_path/$data_file".
    1.25 +                                     " --output $real_path/index.html".
    1.26 +                                     " --start_from_command $start_from_command ".
    1.27 +                                     " --filter '$filter'";
    1.28          system($l3_frontend) == 0
    1.29              or error("Файл журнала найден, но возникла ошибка при его обработке:<br/> $!");
    1.30 -        #$print .= "(перегенирован)<br/>";
    1.31      }
    1.32  
    1.33      {
    1.34 @@ -192,7 +203,8 @@
    1.35          }
    1.36          $i++;
    1.37      }
    1.38 -    return "<table class='nav_bar' cellpadding='0' cellspacing='0' width='100%'><tr><td>$nav_bar</td></tr></table>";
    1.39 +    $filter = "($filter)" if $filter;
    1.40 +    return "<table class='nav_bar' cellpadding='0' cellspacing='0' width='100%'><tr><td>$nav_bar $filter</td></tr></table>";
    1.41  }
    1.42  
    1.43  sub count_command_lines($)
     2.1 --- a/l3-frontend	Mon Jul 21 12:29:05 2008 +0300
     2.2 +++ b/l3-frontend	Mon Jul 21 16:44:11 2008 +0300
     2.3 @@ -103,12 +103,12 @@
     2.4  {
     2.5      if ($Config{filter}) {
     2.6          # Инициализация фильтра
     2.7 -        for (split /&/,$Config{filter}) {
     2.8 -            my ($var, $val) = split /=/;
     2.9 +        for (split /;;/,$Config{filter}) {
    2.10 +            my ($var, $val) = split /::/;
    2.11              $filter{$var} = $val || "";
    2.12          }
    2.13      }
    2.14 -    $filter_url = join ("&", map("$_=$filter{$_}", keys %filter));
    2.15 +    $filter_url = join (";;", map("$_::$filter{$_}", keys %filter));
    2.16  }
    2.17  
    2.18  # extract_from_cline
    2.19 @@ -754,7 +754,7 @@
    2.20          if ( $last_session ne $cl->{"local_session_id"}) {
    2.21              my $tty;
    2.22              if (defined $Sessions{$cl->{"local_session_id"}}->{"tty"}) {
    2.23 -                $this_day_result .= "<div class='ttychange'><a href='?local_session_id=".$cl->{"local_session_id"}."'>"
    2.24 +                $this_day_result .= "<div class='ttychange'><a href='?filter=local_session_id::".$cl->{"local_session_id"}."'>"
    2.25                                  . $Sessions{$cl->{"local_session_id"}}->{"tty"}
    2.26                                  ."</a></div>";
    2.27              }
    2.28 @@ -996,7 +996,7 @@
    2.29      if ($Config{filter}) {
    2.30          # Инициализация фильтра
    2.31          for (split /&/,$Config{filter}) {
    2.32 -            my ($var, $val) = split /=/;
    2.33 +            my ($var, $val) = split /::/;
    2.34              $filter{$var} = $val || "";
    2.35          }
    2.36      }
    2.37 @@ -1380,7 +1380,7 @@
    2.38  
    2.39  
    2.40      <div class='edit_link'>
    2.41 -    [ <a href='?action=edit&$filter_url'>править</a> ]
    2.42 +    [ <a href='?filter=action::edit;;$filter_url'>править</a> ]
    2.43      </div>
    2.44      <h1 onmouseover="myHint.show('1')" onmouseout="myHint.hide()" class='lined_header'>Журнал лабораторных работ</h1>
    2.45  HEADER