rendered paste body#!/usr/bin/perl -w
use strict;
use CGI qw/:standard *table start_ul/;
use Time::localtime;
use Net::SMTP;
use DBI;
my @months = qw(Января Февраля Марта Апреля Мая Июня Июля Августа Сентября Октября Ноября Декабря);
my @vals=qw(
meh
hmm
zakzak
);
print header(-charset=>'koi8-r'),
start_html(-title=>'Создание профиля пользователя',
-style=>{'src'=>'/kping_tst_zone/reg_frm.css'}
);
if (param())
{
if(!param('lastname') or !param('firstname')
or !param('patronymic') or !param('office')
or !param('division') or !param('fone')
or !param('leader'))
{
print "Обязательные поля должны быть заполнены", br,
a({href=>"javascript:history.back()"},"<< Назад"), br,
}
else
{
my @monthseng = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
my $day=localtime->mday;
my $year=1900+localtime->year;
my $month=$months[localtime->mon];
my $firstname=param('firstname');
my $output= h1({-align=>'center'}, 'ОАО "Амурметалл"') .
hr .
h2({-align=>'center'} , 'Заявка<br />на доступ пользователя к ресурсам<br />корпоративной локальной сети').
p({-align=>'right'} , "\"$day\" $month $year<br />").
'Фамилия: '. em(param('lastname')). br .
'Имя: ' . em(param('firstname')) . br .
'Отчество: ' . em(param('patronymic')). br .
'Должность: ' . em(param('office')) . br .
'Подразделение: ' . em(param('division')) . br .
'Телефон: ' . em(param('fone')) . br .
'Интернет, лимит: ' . em(param('inetlimit')) . br .
'Интернет, назначение: ' . em(param('inetapp')) . br .
'Программы: ' . br;
my @soft_picked = param('software');
for (my $i=0; $i<=$#soft_picked; $i++) {
$output .= $soft_picked[$i] . br;
}
$output.='Руководитель подразделения (ФИО, подпись): ' . br . em(param('leader')) . ' 'x20 . '______________________________' . br .
'Пользователь (подпись): ______________________________' . br .
h3({-align=>'center'} , 'Служебные заметки') .
'Сотрудник: ' . em(param('employee')) . br . br;
print $output;
foreach my $var (sort(keys(%ENV))) {
my $val = $ENV{$var};
$val =~ s|\n|\\n|g;
$val =~ s|"|\\"|g;
$output .= "${var}=\"${val}\"<br>";
}
#print $ENV{'REMOTE_ADDR'};
my $dbh = DBI->connect("DBI:mysql:database=pf;host=localhost", "root", "mysql-password");
if ($dbh eq "") { print "DB connection error<br>"; }
else {
$dbh->do("INSERT INTO pro (firstname) VALUES('$firstname')");
}
my $sth = $dbh->prepare("SELECT * FROM pro");
$sth->execute();
my @datadb=$sth->fetchrow_array;
print $datadb[2];
exit;
my $mail_from = "kingping\@amurmetal.ru";
my $mail_to = "kingping\@amurmetal.ru";
my $smtp = Net::SMTP->new('localhost');
$smtp->mail($mail_from);
$smtp->to($mail_to);
$smtp->data();
$smtp->datasend("Content-Type: text/html; charset=koi8-r;\n");
$smtp->datasend("Subject: New user profile creation\n");
$smtp->datasend("From: $mail_from\n");
$smtp->datasend("To: $mail_to\n");
$smtp->datasend("\n");
$smtp->datasend("$output");
$smtp->dataend();
$smtp->quit;
}
}
else
{
&print_frm;
}
sub print_frm() {
# kingping -- There must be no spaces in the beginning of the next string
# and the others which contain END operator,
# otherwise interpreter won't process the script (damned Perl!)
my $heredoc = <<END;
<h1 align="center" >ОАО "Амурметалл"</h1>
<hr />
<p class="ttl">Заявка на доступ пользователя к ресурсам корпоративной локальной сети</p>
<p class="txt_small">Символом <span class="require">*</span> отмечены обязательные поля.</p>
END
print $heredoc, start_form;
$heredoc = <<END;
<table cellpadding="5" cellspacing="0" border="0" width="100%">
<tr valign="top">
<td width="151" align="left" class="txt">Фамилия: <span class="require">*</span></td>
<td width="243"><input name="lastname" type="text" id="lastname" style="width: 100%;" tabindex="1" value="" size="20" /></td>
<td width="456" class="comm"> </td>
</tr>
<tr valign="top">
<td class="txt" align="left">Имя: <span class="require">*</span></td>
<td><input name="firstname" type="text" id="firstname" style="width: 100%;" tabindex="1" value="" size="20" /></td>
<td class="comm"> </td>
</tr>
<tr valign="top">
<td class="txt" align="left">Отчество: <span class="require">*</span></td>
<td><input name="patronymic" type="text" id="patronymic" style="width: 100%;" tabindex="1" value="" size="20" /></td>
<td class="comm"> </td>
</tr>
<tr valign="top">
<td class="txt" align="left">Должность: <span class="require">*</span></td>
<td><input name="office" type="text" id="office" style="width: 100%;" tabindex="1" value="" size="20" /></td>
<td class="comm"> </td>
</tr>
<tr valign="top">
<td class="txt" align="left">Подразделение: <span class="require">*</span></td>
<td><input name="division" type="text" id="division" style="width: 100%;" tabindex="1" value="" size="20" /></td>
<td class="comm"> </td>
</tr>
<tr valign="top">
<td class="txt" align="left">Телефон: <span class="require">*</span></td>
<td><input name="fone" type="text" id="fone" style="width: 100%;" tabindex="1" value="" size="20" /></td>
<td class="comm"> </td>
</tr>
<tr valign="top">
<td class="txt" align="left">Руководитель подразделения (ФИО): <span class="require">*</span></td>
<td><input name="leader" type="text" id="leader" style="width: 100%;" tabindex="1" value="" size="20" /></td>
<td class="comm"> </td>
</tr>
<tr valign="top">
<td class="txt" align="left">Интернет, лимит:</td>
<td><input name="inetlimit" type="text" id="inetlimit" style="width: 100%;" tabindex="1" value="" size="20" /></td>
<td class="comm">Объем Интернет трафика в месяц</td>
</tr>
<tr valign="top">
<td class="txt" align="left">Интернет, назначение:</td>
<td><input name="inetapp" type="text" id="inetapp" style="width: 100%;" tabindex="1" value="" size="20" /></td>
<td class="comm">Цели использования Интернет трафика</td>
</tr>
<tr valign="top">
<td class="txt" align="left">Сотрудник:</td>
<td><input name="employee" type="text" id="employee" style="width: 100%;" tabindex="1" value="" size="20" /></td>
<td class="comm">Ф. И. О. лица, заполняющего данную форму</td>
</tr>
END
print $heredoc,
'<tr valign="top">',
'<td class="txt" align="left">Программы:</td>',
'<td class="txt" align="left">',
checkbox_group(-name=>'software',
-values=>\@vals,
-linebreak=>'true'), p,
submit('Печать'),
"</td>",
'<td class="comm">Программы, необходимые для работы</td>',
"</table>",end_form;
}
print end_html;