1;

#Процедуры для работы с пунктами меню "HTML-код формы" 
# и "код результатов" в администраторской части
#Этот модуль позволяет вносить HTML-код формы, которая будет выводиться клиенту для 
#совершения подписки/отказа от подписки, а также HTML-код страницы, которая
#будет показывать результаты подписки (Успешно подписался, успешно отписался, уже подписан и т.п.) 
 

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

#Чтение настроек (читаем 4-ю или 5-ю строки, в зависимости от параметра $formtype)
#$formtype=1 - Код формы, $formtype=2 - код страницы с результатами
sub read_settings {
my $formtype=shift;
open CONF, "<$setupfile"; my $line=<CONF>; $line=<CONF>; $line=<CONF>;$htmlcode=<CONF>; 
$htmlcode=<CONF> if ($formtype==2);
close(CONF); chomp($htmlcode); 
$htmlcode=~ s/\x02/\n/g;
if ($formtype==2) {
$htmlcode=~ s/\"/\&quot\;/g;
@msg=split(/\x01/, $htmlcode);
$htmlcode=$msg[10];
}
}

#Запись настроек
#$formtype=1 - Код формы, $formtype=2 - код страницы с результатами
sub save_settings {
 my $formtype=shift;
open CONF, "<$setupfile"; my @allset=<CONF>; close(CONF); 
$in{'htmlcode'}=~ s/<meta([\w, \s, \", \=, \n]+)\>//ig;
$in{'htmlcode'}=~ s/\n/\x02/g;
if ($formtype==2) {
my $tmp=$in{"msg1"};
for ($i=2;$i<11; $i++) {$tmp=$tmp."\x01".$in{"msg$i"};}
$in{'htmlcode'}=$tmp."\x01".$in{'htmlcode'};
}

$allset[$formtype+2]="$in{'htmlcode'}\n";
open CONF, ">$setupfile"; flock CONF, LOCK_EX; 
print CONF @allset; 
close(CONF);
&put_message("Код формы сохранен!");
}

# Вывод на экран настроек
#$formtype=1 - Код формы, $formtype=2 - код страницы с результатами
sub put_settings {
my $formtype=shift;
my $numbtn=401+100*$formtype; #Это параметр для кнопки "Сохранить"
&read_settings($formtype);

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 bgcolor=#FEF0CD align=center><font size="-1" face="Verdana, Arial"><b>
);
if ($formtype==1) {print "HTML-код формы, для вывода на сайте для совершения подписки"}
 else {print "HTML-код странички для вывода результатов подписки"} 
print qq(
</b><br></th></tr>
<tr><td bgcolor=#F9F1D7 align=left><font size="-1" face="Verdana, Arial">
);
if ($formtype==1) {
print qq(
Этот код можно либо перенести через clipboard, либо подключить его через SSI, 
вставив строку \&lt;!--#include virtual="/cgi-bin/pvdmail/pvdform.pl" --\&gt; в код той странички, где надо расположить форму для подписки.
);
} else {
print qq(
Здесь вносятся системные сообщение и код странички, которая будет отображать результаты подписки или отказа от подписки.
);
}
print "\</td></tr>\n";
my $inputstyle=" size=50 style=\"{font: 9pt 'Verdana'; border: outset 1px;  width: 580px;}\"";
if ($formtype==2) {
print qq(
<tr><td bgcolor=#F9F1D7 align=left>
<font size="-1" face="Verdana, Arial">
<font color=blue>1. Результаты подписки. В HTML-код вставляется как &lt;&lt;result>></font><br>
<i>подписка-успех</i>:<br> <input type=text name=msg1 value="$msg[0]" $inputstyle><br>
<i>подписка-неудача</i>:<br> <input type=text name=msg2 value="$msg[1]" $inputstyle><br>
<i>отказ от подписки-успех</i>:<br> <input type=text name=msg3 value="$msg[2]" $inputstyle><br>
<i>отказ от подписки-неудача</i>:<br> <input type=text name=msg4 value="$msg[3]" $inputstyle>
</font></td></tr><tr><td bgcolor=#F9F1D7 align=left>
<font size="-1" face="Verdana, Arial">

<font color=blue>2. Ошибки при подписке. В HTML-код вставляется как &lt;&lt;errstr>></font><br>
<i>подписка-неправильный E-Mail</i>: <input type=text name=msg5 value="$msg[4]" $inputstyle><br>
<i>подписка-такой адрес уже есть</i>: <input type=text name=msg6 value="$msg[5]" $inputstyle><br>   
<i>отказ от подписки-неправильный E-Mail</i>: <input type=text name=msg7 value="$msg[6]" $inputstyle><br>
<i>отказ от подписки-такого адрес в списке нет</i>: <input type=text name=msg8 value="$msg[7]" $inputstyle>   
</font></td></tr><tr><td bgcolor=#F9F1D7 align=left>
<font size="-1" face="Verdana, Arial">
<font color=blue>3. Сообщение о том, что подтверждение выслано на E-Mail. В HTML-код вставляется как &lt;&lt;confirm>></font><br>
<i>подписка-подтверждение выслано</i>:<br> <input type=text name=msg9 value="$msg[8]" $inputstyle><br>
<i>отказ от подписки-подтверждение выслано</i>:<br> <input type=text name=msg10 value="$msg[9]" $inputstyle>

</font>
</td></tr>
);
}

print qq(


<tr><td bgcolor=#FFFFFF align=left>
<textarea rows=16 cols=71 wrap=off name="htmlcode" class=ta>$htmlcode</textarea>
</td></tr>

<tr><td  bgcolor=#F9F1D7 align=right>
<INPUT TYPE="button" VALUE="Сохранить >>" onClick="presubmit($numbtn)" $buttonstyle>
</td>

</table></td></tr></table>
);
}


1;