1;

#Процедуры для работы с пунктом меню "Настройка" в администраторской части

#Формат файла settings.db
#1-я строка - все настройки, разделенные \x01
#2-я строка - текст письма-подтверждения подписки 
#  (в форматах txt/html, тексты разделены \x01, перевод строки заменен на \x02 
#3-я строка - текст письма, посылаемого после отказа от подписки 
#  (в форматах txt/html, тексты разделены \x01, перевод строки заменен на \x02
#4-я строка - html-код формы для подписки/отписки
#5-я строка - html-код страницы для выдачи клиенту результатов подписки
 



#Чтение настроек (читаем только 1 строку, больше здесь нет надобности)
sub read_settings {
open CONF, "<$setupfile"; my $line=<CONF>; close(CONF); chomp($line); 
($adminname, $adminmail, $MAIL_PROGRAM, $confirmsubs, $confirmunsubs, $abookname, $cntzap, $defcharset, $defmode) = split (/\x01/, $line);
}

#Запись настроек
sub save_settings {
open CONF, "<$setupfile"; my @allset=<CONF>; close(CONF); shift @allset;
$in{'cntzap'}=5 if $in{'cntzap'}<5;  
my $line=join ("\x01", trim($in{'adminname'}), trim($in{'adminmail'}), trim($in{'mailprog'}), $in{'confirmsubs'}, $in{'confirmunsubs'}, trim($in{'abookname'}), trim($in{'cntzap'}), $in{'defcharset'}, $in{'defmode'});
open CONF, ">$setupfile"; flock CONF, LOCK_EX; 
print CONF "$line\n";
print CONF @allset; 
close(CONF);
&put_message("Настройки сохранены!");
}

# Вывод на экран настроек
sub put_settings {
$ch{"on"}='checked'; &read_settings;
print qq(
<table width="600" border="0" cellspacing="0" cellpadding="0" bgcolor=black ><tr><td>
<table width="600" border="0" cellspacing="1" cellpadding="1">
<tr><th colspan=2 bgcolor=#FEF0CD align=left><font size="-1" face="Verdana, Arial"><b>Общие настройки системы</b><br></th></tr>
<tr>
<td  bgcolor=#F9F1D7 align=left><font size="-1" face="Verdana, Arial">1. Имя администратора:</td>
<td bgcolor=#F9F1D7 align=left><input type=text name=adminname value="$adminname" $inputstyle></td>
</tr>
<tr>
<td  bgcolor=#F9F1D7 align=left><font size="-1" face="Verdana, Arial">2. E-Mail администратора:</td>
<td bgcolor=#F9F1D7 align=left><input type=text name=adminmail value="$adminmail" $inputstyle></td>
</tr>
<tr>
<td  bgcolor=#F9F1D7 align=left><font size="-1" face="Verdana, Arial">3. Запуск sendmail:</td>
<td bgcolor=#F9F1D7 align=left><input type=text name=mailprog value="$MAIL_PROGRAM" $inputstyle></td>
</tr>

<tr>
<td  colspan=2 bgcolor=#F9F1D7 align=left><font size="-1" face="Verdana, Arial">4. Отправка клиенту подтверждения на E-Mail о:
<input type=checkbox name=confirmsubs $ch{"$confirmsubs"}>Подписке<input name=confirmunsubs $ch{"$confirmunsubs"} type=checkbox>Отказе от подписки
</td></tr>

<tr><td colspan=2 bgcolor=#FEF0CD align=left><font size="-1" face="Verdana, Arial"><b>Настройки для работы со списком подписчиков</b><br></td></tr>
<tr>
<td  bgcolor=#F9F1D7 align=left><font size="-1" face="Verdana, Arial">5. Имя файла со списком:</td>
<td bgcolor=#F9F1D7 align=left><input type=text name=abookname value="$abookname" $inputstyle></td>
</tr>

<tr>
<td  bgcolor=#F9F1D7 align=left><font size="-1" face="Verdana, Arial">6. Режим по умолчанию:</td>
<td bgcolor=#F9F1D7 align=left>
<select name=defcharset style="{font: 8pt 'Verdana'; border: outset 1px; width: 58;}">
);
print "<option value=win "; print "selected" if ($defcharset eq "win");
print ">Win<option value=koi "; print "selected" if ($defcharset eq "koi");
print ">Koi8<option value=iso "; print "selected" if ($defcharset eq "iso");
print ">Iso</select><select name=defmode style=\"{font: 8pt 'Verdana'; border: outset 1px; width: 57;}\">";
print "<option value=txt "; print "selected" if ($defmode eq "txt");
print ">txt<option value=html "; print "selected" if ($defmode eq "html");
print qq(
>html</select>
</td>
</tr>

<tr>
<td  colspan=2 bgcolor=#F9F1D7 align=left><font size="-1" face="Verdana, Arial">
7. При просмотре списка подписчиков выводить на экран 
<input size=3 type=text name=cntzap value="$cntzap"> записей
</td>
</tr>
<tr><td  colspan=2 bgcolor=#F9F1D7 align=right>
<INPUT TYPE="button" VALUE="Сохранить >>" onClick="presubmit(201)" $buttonstyle>
</td>
</tr>
</table></td></tr></table>
);
}

sub trim {

 @_[0]=~ s/^\s+//; 
 @_[0]=~ s/\s+$//; 
 return @_[0];  
}
1;