# HG changeset patch
# User devi
# Date 1151178817 -10800
# Node ID c41cc9a4b5ea9574ce314bfa93a6a766d66a0f2a
# Parent 2c00c61f2d7bec98f2b0342a152449ff145d345b
* Пофиксил ошибку с неправильной кодировкой mywi-хинтов.
* Подготовил к переходу в иерархию /l3/
** Исправил пути для стилей,
** Забацал красивый l3-cgi-lite
l3-cgi-lite пока что не доделан до нужного уровня,
но я его скоро дорисую.
Уже сейчас это намного более качественный скрипт
через уродский l3-cgi
Он, конечно, поработал в свое время,
но лучше его заменить l3-cgi-lite
Из функционала добавилось:
* Кэширование страниц в html
* Навигация по каталогам
* Навигационная строка в журнале сверху
diff -r 2c00c61f2d7b -r c41cc9a4b5ea l3-cgi-lite
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/l3-cgi-lite Sat Jun 24 22:53:37 2006 +0300
@@ -0,0 +1,174 @@
+#!/usr/bin/perl
+
+use strict;
+use CGI qw(:standard);
+use utf8;
+
+BEGIN {
+ chdir("/home/devi/cvs/lilalo");
+ require l3config;
+ l3config::init_config();
+};
+
+sub path_is_correct($);
+sub error($);
+sub remove_extra_slashes_from($);
+sub print_header($);
+sub print_footer;
+sub nav_bar;
+
+my $print="";
+my $path = $ENV{PATH_INFO};
+remove_extra_slashes_from($path);
+
+my $real_path = $l3config::Config{"backend_datadir"} ;
+my $cgi_path = $l3config::Config{"cgi_path"} ;
+my $style_files = $l3config::Config{"frontend_files"} ;
+my $frontend_css = $l3config::Config{"frontend_css"} ;
+my $data_file = "data.xml";
+
+path_is_correct($path)
+ or error ("Путь $path содержит недопустимые символы или комбинации символов.");
+
+$real_path .= $path;
+remove_extra_slashes_from($real_path);
+
+# Чувак, ты хотел бы посмотреть на журнал $path
+# Он должен находиться в каталоге $real_path файловой системы\n";
+
+(-d $real_path)
+ or error("Каталог $real_path не существует. Проверьте, пожалуйста, URL\n");
+
+if (-e $real_path."/$data_file") {
+
+# В каталоге есть файл $data_file
+# Отлично! Сейчас будем показывать журнал
+
+# Если существуют html и xml файлы,
+# html файл новее чем xml,
+# и CGI-скрипту не передано дополнительных параметров,
+# используем html файл, иначе перегенируем его
+
+ unless ( -e "$real_path/$data_file"
+ && -e "$real_path/index.html"
+ && (stat("$real_path/index.html"))[9] > (stat("$real_path/$data_file"))[9] ) {
+
+ my $l3_frontend = "/home/devi/cvs/lilalo/l3-frontend --backend_datafile $real_path/$data_file --output $real_path/index.html";
+ system($l3_frontend) == 0
+ or error("Файл журнала найден, но возникла ошибка при его обработке:
$!");
+ $print .= "(перегенирован)
";
+ }
+
+ {
+ local $/;
+ open(HTML, "<:utf8", "$real_path/index.html");
+ my $html = ;
+
+# Добавим в начало документа навигационную строку
+ my $nav_bar = nav_bar;
+ $html =~ s/(
$nav_bar |
Внимательно правим, потом сохраняем
" ."Строки, начинающиеся символами #l3: можно трогать, только если точно знаешь, что делаешь
" + ."