RQ
Dev administrator | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору файл: setmembers.cgi Код:| 'updatecount' => \&docount, | После этого добавит Код:| 'finduser' => \&FindUser, | ------------------------------------------------ Код: sub memberoptions { #............................................................. #Здесь } # end routne | Вместо словa "Здесь" вставить этот код Код: ######поиск хак print qq~ <form action="$thisprog" method="post"> <input type="hidden" name="action" value="finduser"> <tr><td colspan=2 align= center><font face=verdana color=#333333 size=3><b>Поиск</b> </td></tr> <tr><td><font face=verdana color=#333333 size=2>Имя:</td><td><input type="text" name="qname"></td></tr> <tr><td><font face=verdana color=#333333 size=2>Параметры :</td><td> <font face=verdana color=#333333 size=2> <input type="checkbox" name="case" value="yes">Учитывать регистр<br> <input type="radio" name="searchtype" value="all" checked>Искать только по этому имени <br> <input type="radio" name="searchtype" value="any">Имя пользователя может содержать эти символы<br> <input type="checkbox" name="qinfo" value="yes">Показывать краткую информацию </td></tr> <tr><td colspan=2 align= center><input type="submit" name="submit" value="Начать поиск" class="submit"> </td></tr> ~; ############## | ------------------------ И в конце файла (после exit;) добавить Код: sub FindUser { opendir(MEMBERSDIR, "members/"); my @AllUsers = grep(s/\.cgi$//, readdir(MEMBERSDIR)); close(MEMBERSDIR); my $sfound = 0; foreach my $member (@AllUsers){ $member =~ s/_/ /; my $tmpNamein = ($in{case} ne "yes") ? ToUpper("$in{'qname'}"): $in{'qname'}; my $tmpName2 = ($in{case} ne "yes") ? ToUpper("$member") : $member; if ($in{'searchtype'} eq "any"){ if ($tmpName2 =~ /$tmpNamein/){ $sfound++; push(@founded, $member); } } else {if ($tmpNamein eq "$tmpName2"){ $sfound++; push(@founded, $member); } } } print qq~<tr><td colspan=2 align=center><font face=verdana color=#333333 size=3>Результат поиска: найдено пользователей: $sfound</td></tr>~; foreach my $fuser (@founded){ if ($in{qinfo} eq "yes"){ &getmember("$fuser"); $joineddate = longdate($joineddate); print qq~<tr><td colspan=2 align=center><font face=verdana color=#333333 size=3> <b>Профиль для: "$fuser" </b> [<a href="$thisprog?action=edit&member=$fuser">Редактировать</a> • <a href="$thisprog?action=deletemember&member=$fuser">Удалить</a>]</td></tr> <tr><td><font face=verdana color=#333333 size=2><b>Дата регистраций: </b></td><td><font face=verdana color=#333333 size=2>$joineddate</td></tr> <tr><td><font face=verdana color=#333333 size=2><b>Статус:</b></td><td><font face=verdana color=#333333 size=2> $membertitle</td></tr> <tr><td><font face=verdana color=#333333 size=2><b>Кол-во ответов:</b></td><td> <font face=verdana color=#333333 size=2>$numberofposts</td></tr> <tr><td colspan=2><hr></td></tr>~; } else {print qq~<tr><td><font face=verdana color=#333333 size=2><b>$fuser<b> <td><font face=verdana color=#333333 size=2>[ <a href="$thisprog?action=edit&member=$fuser">Редактировать</a> • <a href="$thisprog?action=deletemember&member=$fuser">Удалить</a>]~;} } } ###################################################################################### sub ToUpper { my ($inparam) = @_; $inparam =~ s/a-z/A-Z/g; $inparam =~ tr/абвгдеёжзийклмнопрстуфхцчшщъыьэю\377/АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ/; return $inparam; } |
|