#!/usr/bin/perl
use locale;

$ENV{'PATH'} = "/bin:/usr/bin:/usr/local/bin";

require 'unimethod.pl';

$HtmlDir     = "/web/info/news/jarmarka";	# Каталог html файлов
$ConfDir     = $HtmlDir . "/conf";	# Каталог конфиг файлов
$TextDir     = $HtmlDir . "/text";	# Каталог объявлений

$ConfHead    = $ConfDir . "/head.conf";	# Конфиг с рубриками
$HomeURL     = "/news/jarmarka";	# URL
$GetAdvURL   = "freeadv.cgi";		# URL для подачи объявлений

%var         = &getvar();		# Извлечем переменные
$Group       = $var{'Group'};		# Определим номер группы
$GroupFile   = $TextDir . "/j$Group.txt";	# Файл с объявлениями
$PDate       = "00.00.00";		# Предыдущая дата
$Rows        = $var{'Rows'};		# Кол-во столбцов в таблице
$Rows        = 2;			# Кол-во столбцов в таблице
$Percent     = int( 100 / $Rows );	# Ширина столбца в процентах

print "Content-type: text/html\n\n";

if( $Group !~ /^\d+$/ ) {
	&InvalidGroup();
} elsif( ! &CheckGroup( $Group ) ) {
	&InvalidGroup();
} else {
	&ShowGroup();
}
exit;

sub CheckGroup {		# проверяем группу на правильность
	local( $Group ) = @_;	# 1 - правильная, 0 - неправильная
	local( $Type, $Name, $Num );
	
	open( CONF, $ConfHead );
	while( <CONF> ) {
		s/^\s+//;
		next if( /^#/ or /^$/ );

		( $Type, $Name, $Num ) = /^(-+)?"(.*)"\s+(\S+)\s*/;
		$RGroup0 = $Name if( $Type eq '' );
		$RGroup1 = $Name if( $Type eq '-' );
		$RGroup2 = $Name if( $Type eq '--' );
		return 1 if( $Num eq $Group );
	}
	close( CONF );
	
	return 0;
}

sub InvalidGroup {
print <<EOFIG;
<html>
<title>Ярмарка - газета бесплатных объявлений</title>
<body background="jarmarka.gif">
<center>
<font size=+3><i>
ЯРМАРКА<br>
электронная газета бесплатных объявлений
</i></font>

<p><hr><p>
<i><big>
Такой рубрики не существует.<br>
Пожалуйста, сообщите об этом <a href="mailto:info\@mplik.ru">администратору</a> сервера.
</big></i>
</center>
</body>
</html>
EOFIG
}

sub ShowGroup {
$RGroup  = "$RGroup0" if( $RGroup0 );
$RGroup .= " -\&gt; $RGroup1" if( $RGroup1 );
$RGroup .= " -\&gt; $RGroup2" if( $RGroup2 );

print <<EOFHTML1;
<html>
<title>Ярмарка - газета бесплатных объявлений</title>
<body background="jarmarka.gif">
<center>
<font size=+3><i>
ЯРМАРКА<br>
электронная газета бесплатных объявлений
</i></font>

<p><hr><p>
<i><big>
<b>$RGroup</b><br>
[<a href="$GetAdvURL?Group=$Group\&Rows=$Rows">Подать объявление в эту рубрику</a>]<br>
[<a href="$HomeURL">На первую страницу газеты</a>]
</big></i>
</center>
<p><hr><p>

<table width=100% cellpadding=5>
EOFHTML1
print "<tr>";
for( $i=0; $i<$Rows; $i++ ) { print "<td width=$Percent%>\&nbsp;</td>"; }
print "</tr>\n";
print "<tr>\n";

$Row = 0;
open( GROUP, $GroupFile );
#open( GROUP, "sort -u $GroupFile |" );
while( <GROUP> ) {
	($Date,$Name,$BaseEmail,$BasePhone,$BasePost,
	$Email,$Phone,$Post,$Text) = split( />/ );

	if( $Date ne $PDate ) {		# сменилась дата
		$PDate = $Date;
		$Date  =~ s/^(\d\d)\.(\d\d)\.(\d\d)$/$3\.$2\.$1/;
		print "</tr>\n";
		print "<tr><th colspan=$Rows><big>$Date</big></th></tr>\n";
		print "<tr valign=top>\n";
		$Row = 0;
	}
	
	if( $Row == $Rows ) {		# новая строка
		print "</tr>\n";
		print "<tr valign=top>\n";
		$Row = 0;
	}

	$Row++;

	chop( $Text );
	$Text =~ s#^#<b>#;
	$Text =~ s#( |$)#</b> #;

	print "<td>\n";
	print "$Text<br>\n";
	print "<i>\n";
 	print "$Name<br>\n" if( $Name );
 	print "Email: <a href=\"mailto:$Email\">$Email</a><br>\n" if( $Email );
 	print "Телефон: $Phone<br>\n" if( $Phone );
	print "Адрес: $Post\n" if( $Post );
	print "</i>\n";
 	print "</td>\n";
}
close( GROUP );

print <<EOFHTML2;
</tr>
</table>
</body>
</html>
EOFHTML2
}

