#!/usr/bin/perl use DBI(); use CGI qw(:standard); use CGI::Cookie; $mpp = "15"; $euser = param("edit"); $page = param("page"); $show = param("show"); $nlogin = param("login"); $nuser = param("user"); $ndom = param("dom"); $npass = param("pass"); $nquota = param("quota"); $nmaildir = param("maildir"); $nexp = param("exp"); $nav = param("av"); $nas = param("as"); $ncom = param("comment"); $edt = param("edt"); $delete = param("delete"); $fnn=0; $authl = param("authl"); $authp = param("authp"); system "./auth.cgi manage.cgi $authl $authp"; $retcode = $? / 256; if ($retcode ne "1") {exit;} $dshow = $show; if ($page eq "") {$page = "0";} $page = $page * $mpp; my $cooke = cookie('mail.miranet'); if ($cooke eq "") {print ""; exit;} if ($cooke eq "0") {print "

Forbidden


Недостаточно прав"; exit;} #print "Content-type: text/html\n\n"; print " "; system("./ustat $rip |grep 1 > $rip"); open(patt,"<./patt_n1.html")||die "Pattern file 1 not found"; while() { print; } close(patt); $database="mail"; $hostname="127.0.0.1"; $port="3306"; $dbuser="root"; $dbpasswd="zopa25703"; $dsn = "DBI:mysql:database=$database;host=$hostname;port=$port"; $dbh = DBI->connect_cached($dsn, $dbuser, $dbpasswd) || die; if ($euser eq "") { if ($nuser ne "") { $login = sprintf("%s@%s", $nlogin, $ndom); $nquota = $nquota * 1024 * 1024; if ($delete eq "") { $dbh->do("UPDATE users SET `email`='$login',`login`='$nuser',`passwd`='$npass',`quota`='${nquota}S',`maildir`='$nmaildir',`expired`='$nexp',`antivirus`='$nav',`antispam`='$nas',`comment`='$ncom' WHERE `email`='$edt'"); } if ($delete eq "on") { $dbh->do("DELETE FROM users WHERE `email`='$edt'"); } } if ($cooke eq "0") {$alev = "Нулевой";} if ($cooke eq "1") {$alev = "Полный";} if ($cooke ne "0" and $cooke ne "1" and $cooke ne "") {$alev = "Ограниченный ($cooke)";} print "
  Уровень доступа:   $alev   [Выход]
"; if ($cooke ne "1") {$dshow = $cooke; $show = $cooke;} if ($cooke eq "1") { print ""; } print ""; if ($cooke eq "1") {print "";} print ""; if ($cooke ne "1") { $sth = $dbh->prepare("SELECT COUNT(*) FROM transport WHERE domain=\"$cooke\""); $sth->execute(); my ($cnt) = $sth->fetchrow_array(); $dcount = $cnt; if ($dcount == "0") { print "
Показать:
\" />"; print "
Просмотр Почтовый ящик Имя пользователяПарольОбъём (МБ) Каталог Состояние Антивирус Антиспам Коментарий

Ошибка: Домен $cooke не обслуживается

"; $dbh->disconnect(); system("./ustat $rip |grep 1 > $rip"); open(patt,"<./patt_n2.html")||die "Pattern file 2 not found"; while() { print; } close(patt); exit(0); } } if ($show eq "") { $sth = $dbh->prepare("SELECT COUNT(*) FROM users"); $sth->execute(); my ($cnt) = $sth->fetchrow_array(); $count = $cnt; # print ("$cnt"); $sth = $dbh->prepare("SELECT * FROM users ORDER BY email LIMIT $page,$mpp"); $sth->execute(); } else { $show = sprintf ("@%s", $show); $sth = $dbh->prepare("SELECT COUNT(*) FROM users WHERE email LIKE '%$show'"); $sth->execute(); my ($cnt) = $sth->fetchrow_array(); $count = $cnt; $sth = $dbh->prepare("SELECT * FROM users WHERE email LIKE '%$show' ORDER BY email LIMIT $page,$mpp"); $sth->execute(); } while (my ($login, $user, $pass, $quota, $maildir, $exp, $av, $as, $comment) = $sth->fetchrow_array()) { $quota = sprintf("%.3f",(($quota/1024)/1024)); $exp1 = $exp; if ($exp eq "0") {$exp = "Активен"; $fc="#ffffff"; $fc1="#00ddff";} else {$exp = "Блокирован"; $fc="#ff7777"; $fc1="#eeaacc";} if ($av eq "1") {$av = "Да";} else {$av = "Нет";} if ($as eq "1") {$as = "Да";} else {$as = "Нет";} # Просмотр $fn=sprintf("form%03d",$fnn); $fnn++; @chars = ( "a" .. "f", 0 .. 9 ); $token = join("", @chars[ map{ rand @chars }(1 .. 32) ]); print " "; if ($exp1 eq "0") { print " Просмотр" } print " $login $user"; if ($cooke eq "1") {print "********";} print "$quota $maildir $exp $av $as $comment "; } print "Всего $count "; $pagecnt = int($count / $mpp); $pcn = ($count / $mpp); if ($pagecnt ne $pcn) {$pagecnt++;} $i="1"; print "Страници: "; while ($i ne $pagecnt+1) { $pgn = $i-1; print ""; if ($i eq ($page/$mpp)+1) { print ("[ $i ]"); } else { print ("[ $i ]"); } print "  "; $i++; } print ""; print "
"; if ($cooke eq "1") {print "| Настройка доменов | Пользователи ";} print "| Регистрация нового ящика |"; $sth->finish(); } if ($euser ne "" and $nuser eq "") { $sth = $dbh->prepare("SELECT * FROM users WHERE email=\"$euser\""); $sth->execute(); ($login, $user, $pass, $quota, $maildir, $exp, $av, $as, $comment) = $sth->fetchrow_array(); $sth->finish(); ($l1, $l2) = split("@", $login); print "
Редактирование $login
Почтовый ящик \@
Имя пользователя
Пароль
Объём  МБ (не более 1024)
Домашний каталог
Состояние
Антивирус
Антиспам
Коментарий



Удалить
"; print "
| Учётные записи |"; if ($cooke eq "1") {print " Настройка доменов |";} print ""; } $dbh->disconnect(); system("./ustat $rip |grep 1 > $rip"); open(patt,"<./patt_n2.html")||die "Pattern file 2 not found"; while() { print; } close(patt);