F:\WEBSITES\testbed\zipped\yabb_svn_new\branches\2.5.2\cgi-bin\yabb2\Admin\ViewMembers.pl F:\WEBSITES\testbed\zipped\yabb_svn_new\trunk\cgi-bin\yabb2\Admin\ViewMembers.pm
############################################################################### ###############################################################################
# ViewMembers.pl                                                              # # ViewMembers.pm                                                              #
  # $Date: 01.05.16 $                                                           #
############################################################################### ###############################################################################
# YaBB: Yet another Bulletin Board                                            # # YaBB: Yet another Bulletin Board                                            #
# Open-Source Community Software for Webmasters                               # # Open-Source Community Software for Webmasters                               #
# Version:        YaBB 2.5.2                                                  # # Version:        YaBB 2.6.12                                                 #
# Packaged:       October 21, 2012                                            # # Packaged:       January 5, 2016                                             #
# Distributed by: http://www.yabbforum.com                                    # # Distributed by: http://www.yabbforum.com                                    #
# =========================================================================== # # =========================================================================== #
# Copyright (c) 2000-2012 YaBB (www.yabbforum.com) - All Rights Reserved.     # # Copyright (c) 2000-2016 YaBB (www.yabbforum.com) - All Rights Reserved.     #
# Software by:  The YaBB Development Team                                     # # Software by:  The YaBB Development Team                                     #
#               with assistance from the YaBB community.                      # #               with assistance from the YaBB community.                      #
############################################################################### ###############################################################################
  # use strict;
  our $VERSION = '2.6.12';
   
$viewmembersplver = 'YaBB 2.5.2 $Revision: 1.0 $'; $viewmemberspmver = 'YaBB 2.6.12 $Revision: 1674 $';
if ($action eq 'detailedversion') { return 1; } if ( $action eq 'detailedversion' ) { return 1; }
   
&LoadLanguage('MemberList');  LoadLanguage('MemberList'); 
  is_admin_or_gmod();
&is_admin_or_gmod;  my ( $sortmode, $sortorder, $spages ); 
   
my ($sortmode, $sortorder, $spages);  
   
$MembersPerPage = $TopAmmount; $MembersPerPage = $TopAmmount;
$maxbar         = 100; $maxbar         = 100;
   
sub Ml { sub Ml {
# Decides how to sort memberlist, and gives default sort order  
   if (!$barmaxnumb) { $barmaxnumb = 500; }     # Decides how to sort memberlist, and gives default sort order 
   if ($barmaxdepend == 1) {     if ( !$barmaxnumb ) { $barmaxnumb = 500; } 
       $barmax = 1;     if ( $barmaxdepend == 1 ) { 
       &ManageMemberinfo("load");         $barmax = 1; 
       while (($key, $value) = each(%memberinf)) {         ManageMemberinfo('load'); 
           (undef, undef, undef, $memposts) = split(/\|/, $value);         while ( ( $key, $value ) = each %memberinf ) { 
           if ($memposts > $barmax) { $barmax = $memposts; }             ( undef, undef, undef, $memposts ) = split /\|/xsm, $value; 
       }            if ( $memposts > $barmax ) { $barmax = $memposts; }
       undef %memberinf;         } 
   } else {         undef %memberinf; 
       $barmax = $barmaxnumb;     } 
   }     else { 
         $barmax = $barmaxnumb;
   $FORM{'sortform'} ||= $INFO{'sortform'};     } 
   if (!$INFO{'sort'} && !$FORM{'sortform'}) { $INFO{'sort'} = $defaultml; $FORM{'sortform'} = $defaultml }  
     $FORM{'sortform'} ||= $INFO{'sortform'};
   if ($FORM{'sortform'} eq "username" || $INFO{'sort'} eq "mlletter" || $INFO{'sort'} eq "username") {    if ( !$INFO{'sort'} && !$FORM{'sortform'} ) {
       $page     = "a";         $INFO{'sort'}     = $defaultml; 
       $showpage = "A";         $FORM{'sortform'} = $defaultml; 
       while ($page ne "z") {     } 
           $LetterLinks .= qq(<a href="$adminurl?action=ml;sort=mlletter;letter=$page" class="catbg a"><b>$showpage&nbsp;</b></a> );  
           $page++;     if (   $FORM{'sortform'} eq 'username' 
           $showpage++;         || $INFO{'sort'} eq 'mlletter' 
       }         || $INFO{'sort'} eq 'username' ) 
       $LetterLinks .= qq(<a href="$adminurl?action=ml;sort=mlletter;letter=z" class="catbg a"><b>Z</b></a>  <a href="$adminurl?action=ml;sort=mlletter;letter=other" class="catbg a"><b>$ml_txt{'800'}</b></a> );     { 
   }         $page     = 'a'; 
         $showpage = 'A';
   if ($INFO{'start'} eq '') { $start = 0; }         while ( $page ne 'z' ) { 
   else { $start = $INFO{'start'}; $spages = ";start=$start"; }             $LetterLinks .= 
  qq(<a href="$adminurl?action=ml;sort=mlletter;letter=$page" class="catbg a"><b>$showpage&nbsp;</b></a> );
   if ($INFO{'sort'} ne '') { $sortmode = ";sort=" . $INFO{'sort'}; }             $page++; 
   elsif ($FORM{'sortform'} ne '') { $sortmode = ";sort=" . $FORM{'sortform'}; }             $showpage++; 
   if ($INFO{'reversed'} || $FORM{'reversed'}) { $selReversed = qq~ checked='checked'~; $sortorder = ";reversed=1"; }        }
         $LetterLinks .=
   $actualnum = 0;  qq(<a href="$adminurl?action=ml;sort=mlletter;letter=z" class="catbg a"><b>Z</b></a>  <a href="$adminurl?action=ml;sort=mlletter;letter=other" class="catbg a"><b>$ml_txt{'800'}</b></a> ); 
   $numshown = 0;     } 
   if ($FORM{'sortform'} eq 'posts' || $INFO{'sort'} eq 'posts') { $selPost .= qq~ selected="selected"~; &MLTop; }  
   if ($FORM{'sortform'} eq 'regdate' || $INFO{'sort'} eq 'regdate') { $selReg .= qq~ selected="selected"~; &MLDate; }    if ( $INFO{'start'} eq q{} ) { $start = 0; }
   if ($FORM{'sortform'} eq 'position' || $INFO{'sort'} eq 'position') { $selPos .= qq~ selected="selected"~; &MLPosition; }    else { $start = $INFO{'start'}; $spages = ";start=$start"; }
   if ($FORM{'sortform'} eq 'lastonline' || $INFO{'sort'} eq 'lastonline') { $selLastOn .= qq~ selected="selected"~; &MLLastOnline; }  
   if ($FORM{'sortform'} eq 'lastpost' || $INFO{'sort'} eq 'lastpost') { $selLastPost .= qq~ selected="selected"~; &MLLastPost; }    if ( $INFO{'sort'} ne q{} ) { $sortmode = ';sort=' . $INFO{'sort'}; }
   if ($FORM{'sortform'} eq 'lastim' || $INFO{'sort'} eq 'lastim') { $selLastIm .= qq~ selected="selected"~; &MLLastIm; }     elsif ( $FORM{'sortform'} ne q{} ) { 
   if ($INFO{'sort'} eq '' || $INFO{'sort'} eq 'mlletter' || $INFO{'sort'} eq 'username') { $selUser .= qq~ selected="selected"~; &MLByLetter; }         $sortmode = ';sort=' . $FORM{'sortform'}; 
     }
     if ( $INFO{'reversed'} || $FORM{'reversed'} ) {
         $selReversed = q~ checked="checked"~;
         $sortorder   = ';reversed=1';
     }
   
     $actualnum = 0;
     $numshown  = 0;
     $selPost_a = q~windowbg2~;
     $selReg_a = q~windowbg2~;
     $selPos_a = q~windowbg2~;
     $selLastOn_a = q~windowbg2~;
     $selLastPost_a = q~windowbg2~;
     $selLastIM_a = q~windowbg2~;
     $selUser_a = q~windowbg2~;
     if ( $FORM{'sortform'} eq 'posts' || $INFO{'sort'} eq 'posts' ) {
         $selPost_a = q~windowbg~;
         $selPost .= q~ selected="selected"~;
         MLTop();
     }
     if ( $FORM{'sortform'} eq 'regdate' || $INFO{'sort'} eq 'regdate' ) {
         $selReg .= q~ selected="selected"~;
         $selReg_a = q~windowbg~;
         MLDate();
     }
     if ( $FORM{'sortform'} eq 'position' || $INFO{'sort'} eq 'position' ) {
         $selPos .= q~ selected="selected"~;
         $selPos_a = q~windowbg~;
         MLPosition();
     }
     if ( $FORM{'sortform'} eq 'lastonline' || $INFO{'sort'} eq 'lastonline' ) {
         $selLastOn .= q~ selected="selected"~;
         $selLastOn_a = q~windowbg~;
         MLLastOnline();
     }
     if ( $FORM{'sortform'} eq 'lastpost' || $INFO{'sort'} eq 'lastpost' ) {
         $selLastPost .= q~ selected="selected"~;
         $selLastPost_a = q~windowbg~;
         MLLastPost();
     }
     if ( $FORM{'sortform'} eq 'lastim' || $INFO{'sort'} eq 'lastim' ) {
         $selLastIm .= q~ selected="selected"~;
         $selLastIM_a = q~windowbg~;
         MLLastIm();
     }
     if ( $FORM{'sortform'} eq 'memsearch' || $INFO{'sort'} eq 'memsearch' ) {
         FindMembers();
     }
     if (   $INFO{'sort'} eq q{}
         || $INFO{'sort'} eq 'mlletter' 
         || $INFO{'sort'} eq 'username' )
     {
         $selUser .= q~ selected="selected"~;
         $selUser_a = q~windowbg~;
         MLByLetter();
     }
     return;
} }
   
sub MLByLetter { sub MLByLetter {
   $letter = lc($INFO{'letter'});     $letter = lc $INFO{'letter'}; 
   $i      = 0;    $i      = 0;
   &ManageMemberinfo("load");     ManageMemberinfo('load'); 
   foreach $membername (sort { lc $memberinf{$a} cmp lc $memberinf{$b} } keys %memberinf) {     foreach my $membername ( 
       ($memrealname, $mememail, undef, undef) = split(/\|/, $memberinf{$membername});         sort { lc $memberinf{$a} cmp lc $memberinf{$b} } 
       if ($letter) {         keys %memberinf 
           $SearchName = lc(substr($memrealname, 0, 1));       ) 
           if ($SearchName eq $letter) { $ToShow[$i] = $membername; $i++; }     { 
           elsif ($letter eq "other" && (($SearchName lt "a") || ($SearchName gt "z"))) { $ToShow[$i] = $membername; $i++; }         ( $memrealname, $mememail, undef, undef ) = 
       } else {           split /\|/xsm, $memberinf{$membername}; 
           $ToShow[$i] = $membername;         if ($letter) { 
           $i++;             $SearchName = lc( substr $memrealname, 0, 1 ); 
       }            if ( $SearchName eq $letter ) { $ToShow[$i] = $membername; $i++; }
   }             elsif ( $letter eq 'other' 
   undef %memberinf;                 && ( ( $SearchName lt 'a' ) || ( $SearchName gt 'z' ) ) ) 
             {
   $memcount = @ToShow;                 $ToShow[$i] = $membername; 
   if (!$memcount && $letter) {                 $i++; 
       $pageindex1 = qq~<span class="small" style="float: left; height: 21px; margin: 0px; margin-top: 2px;"><img src="$imagesdir/index_togl.gif" border="0" alt="" style="vertical-align: middle;" /></span>~;             } 
       $pageindex2 = qq~<span class="small" style="float: left; height: 21px; margin: 0px; margin-top: 2px;"><img src="$imagesdir/index_togl.gif" border="0" alt="" style="vertical-align: middle;" /></span>~;         } 
   } else {        else {
       &buildIndex;             $ToShow[$i] = $membername; 
   }             $i++; 
   &buildPages(1);         } 
   $b = $start;     } 
     undef %memberinf;
   if ($memcount) {  
       while ($numshown < $MembersPerPage) {     $memcount = @ToShow; 
           &showRows($ToShow[$b]);     if ( !$memcount && $letter ) { 
           $numshown++;         $pageindex1 = 
           $b++;  qq~<span class="index-togl small">$admin_img{'index_togl'}</span>~; 
       }         $pageindex2 = 
   } else {  qq~<span class="index-togl small">$admin_img{'index_togl'}</span>~; 
       if ($letter) { $yymain .= qq~<tr><td class="windowbg" colspan="7" align="center"><br /><b>$ml_txt{'760'}</b><br /><br /></td></tr>~; }    }
   }     else { 
         buildIndex();
   undef @ToShow;     } 
   &buildPages(0);     buildPages(1); 
   $yytitle = "$ml_txt{'312'} $numshow";     $bb = $start; 
   $action_area = 'viewmembers';  
   &AdminTemplate;     if ($memcount) { 
         while ( $numshown < $MembersPerPage ) {
             showRows( $ToShow[$bb] );
             $numshown++;
             $bb++;
         }
     }
     else {
         if ($letter) {
             $yymain .= qq~<tr>
     <td class="windowbg center" colspan="7">
         <div class="pad-more"><b>$ml_txt{'760'}</b></div>
     </td>
  </tr>~;
         }
     }
   
     undef @ToShow;
     buildPages(0);
     $yytitle     = "$ml_txt{'312'} $numshow";
     $action_area = 'viewmembers';
     AdminTemplate();
     return;
} }
   
sub MLTop { sub MLTop {
   %top_list = ();    %top_list = ();
   
   &ManageMemberinfo("load");     ManageMemberinfo('load'); 
   while (($membername, $value) = each(%memberinf)) {    while ( ( $membername, $value ) = each %memberinf ) {
       ($memrealname, undef, undef, $memposts) = split(/\|/, $value);         ( $memrealname, undef, undef, $memposts ) = split /\|/xsm, $value; 
       $memposts = sprintf("%06d", (999999 - $memposts));         $memposts = sprintf '%06d', ( 999_999 - $memposts ); 
       $top_list{$membername} = qq~$memposts|$memrealname~;        $top_list{$membername} = qq~$memposts|$memrealname~;
   }    }
   undef %memberinf;    undef %memberinf;
   my @toplist = sort { lc $top_list{$a} cmp lc $top_list{$b} } keys %top_list;    my @toplist = sort { lc $top_list{$a} cmp lc $top_list{$b} } keys %top_list;
   
   if ($FORM{'reversed'} || $INFO{'reversed'}) {    if ( $FORM{'reversed'} || $INFO{'reversed'} ) {
       @toplist = reverse @toplist;        @toplist = reverse @toplist;
   }    }
   
   $memcount = @toplist;    $memcount = @toplist;
   &buildIndex;     buildIndex(); 
   &buildPages(1);     buildPages(1); 
   $b = $start;    $bb = $start;
   
   while ($numshown < $MembersPerPage) {    while ( $numshown < $MembersPerPage ) {
       &showRows($toplist[$b]);         showRows( $toplist[$bb] ); 
       $numshown++;        $numshown++;
       $b++;         $bb++; 
   }    }
   
   undef @toplist;    undef @toplist;
   &buildPages(0);     buildPages(0); 
   $yytitle = "$ml_txt{'313'} $ml_txt{'314'} $numshow";    $yytitle     = "$ml_txt{'313'} $ml_txt{'314'} $numshow";
   $action_area = 'viewmembers';    $action_area = 'viewmembers';
   &AdminTemplate;     AdminTemplate(); 
     return;
} }
   
sub MLPosition { sub MLPosition {
   %TopMembers = ();    %TopMembers = ();
   
   &ManageMemberinfo("load");     ManageMemberinfo('load'); 
   while (($membername, $value) = each(%memberinf)) {    while ( ( $membername, $value ) = each %memberinf ) {
       ($memberrealname, undef, $memposition, $memposts) = split(/\|/, $value);         ( $memberrealname, undef, $memposition, $memposts ) = 
       $pstsort    = 99999999 - $memposts;           split /\|/xsm, $value; 
       $sortgroups = "";         $pstsort    = 99_999_999 - $memposts; 
       foreach my $key (keys %Group) {         $sortgroups = q{}; 
           if ($memposition eq $key) {        foreach my $key ( keys %Group ) {
               if    ($key eq "Administrator")    { $sortgroups = "aaa.$pstsort.$memberrealname"; }             if ( $memposition eq $key ) { 
               elsif ($key eq "Global Moderator") { $sortgroups = "bbb.$pstsort.$memberrealname"; }                 if ( $key eq 'Administrator' ) { 
           }                     $sortgroups = "aaa.$pstsort.$memberrealname"; 
       }                }
       if (!$sortgroups) {                elsif ( $key eq 'Global Moderator' ) {
           foreach (sort { $a <=> $b } keys %NoPost) {                     $sortgroups = "bbb.$pstsort.$memberrealname"; 
               if ($memposition eq $_) {                 } 
                   $sortgroups = "ddd.$memposition.$pstsort.$memberrealname";                 elsif ( $key eq 'Mid Moderator' ) { 
               }                     $sortgroups = "bcc.$pstsort.$memberrealname"; 
           }                }
       }            }
       if (!$sortgroups) {         } 
           $sortgroups = "eee.$pstsort.$memposition.$memberrealname";         if ( !$sortgroups ) { 
       }             foreach ( sort { $a <=> $b } keys %NoPost ) { 
       $TopMembers{$membername} = $sortgroups;                 if ( $memposition eq $_ ) { 
   }                     $sortgroups = "ddd.$memposition.$pstsort.$memberrealname"; 
   my @toplist = sort { lc $TopMembers{$a} cmp lc $TopMembers{$b} } keys %TopMembers;                 } 
             }
   if ($FORM{'reversed'} || $INFO{'reversed'}) {         } 
       @toplist = reverse @toplist;         if ( !$sortgroups ) { 
   }             $sortgroups = "eee.$pstsort.$memposition.$memberrealname"; 
         }
   $memcount = @toplist;         $TopMembers{$membername} = $sortgroups; 
   &buildIndex;     } 
   &buildPages(1);     my @toplist = 
   $b = $start;       sort { lc $TopMembers{$a} cmp lc $TopMembers{$b} } keys %TopMembers; 
   
   while ($numshown < $MembersPerPage) {    if ( $FORM{'reversed'} || $INFO{'reversed'} ) {
       &showRows($toplist[$b]);         @toplist = reverse @toplist; 
       $numshown++;     } 
       $b++;  
   }     $memcount = @toplist; 
     buildIndex();
   undef @toplist;     buildPages(1); 
   undef %memberinf;     $bb = $start; 
   &buildPages(0);  
   $yytitle = "$ml_txt{'313'} $ml_txt{'4'} $ml_txt{'87'} $numshow";     while ( $numshown < $MembersPerPage ) { 
   $action_area = 'viewmembers';         showRows( $toplist[$bb] ); 
   &AdminTemplate;         $numshown++; 
         $bb++;
     }
   
     undef @toplist;
     undef %memberinf;
     buildPages(0);
     $yytitle     = "$ml_txt{'313'} $ml_txt{'4'} $ml_txt{'87'} $numshow";
     $action_area = 'viewmembers';
     AdminTemplate();
     return;
} }
   
sub MLDate { sub MLDate {
   fopen(MEMBERLISTREAD, "$memberdir/memberlist.txt");     fopen( MEMBERLISTREAD, "$memberdir/memberlist.txt" ); 
   @tempmemlist = <MEMBERLISTREAD>;    @tempmemlist = <MEMBERLISTREAD>;
   fclose(MEMBERLISTREAD);    fclose(MEMBERLISTREAD);
   if ($FORM{'reversed'} || $INFO{'reversed'}) {    if ( $FORM{'reversed'} || $INFO{'reversed'} ) {
       @tempmemlist = reverse @tempmemlist;        @tempmemlist = reverse @tempmemlist;
   }    }
   
   $memcount = @tempmemlist;    $memcount = @tempmemlist;
   &buildIndex;     buildIndex(); 
   &buildPages(1);     buildPages(1); 
   $b = $start;    $bb = $start;
   
   while ($numshown < $MembersPerPage) {    while ( $numshown < $MembersPerPage ) {
       ($membername, undef) = split(/\t/, $tempmemlist[$b], 2);         ( $membername, undef ) = split /\t/xsm, $tempmemlist[$bb], 2; 
       &showRows($membername);         showRows($membername); 
       $numshown++;        $numshown++;
       $b++;         $bb++; 
   }    }
   
   $yymain .= $TableFooter;    $yymain .= $TableFooter;
   &buildPages(0);     buildPages(0); 
   $yytitle = "$ml_txt{'313'} $ml_txt{'4'} $ml_txt{'233'}";    $yytitle     = "$ml_txt{'313'} $ml_txt{'4'} $ml_txt{'233'}";
   $action_area = 'viewmembers';    $action_area = 'viewmembers';
   &AdminTemplate;     AdminTemplate(); 
     return;
} }
   
sub showRows { sub showRows {
   my ($user) = $_[0];     my ($user) = @_; 
   if ($user ne "") {    if ( $user ne q{} ) {
       &LoadUser($user);         LoadUser($user); 
       $date2 = $date;        $date2 = $date;
   
       my $userlastonline = ${$uid.$user}{'lastonline'};         my $userlastonline = ${ $uid . $user }{'lastonline'}; 
       my $userlastpost   = ${$uid.$user}{'lastpost'};         my $userlastpost   = ${ $uid . $user }{'lastpost'}; 
       my $userlastim     = ${$uid.$user}{'lastim'};         my $userlastim     = ${ $uid . $user }{'lastim'}; 
   
       $date1 = &stringtotime(${$uid.$user}{'regdate'});         $date1 = stringtotime( ${ $uid . $user }{'regdate'} ); 
       &calcdifference;         calcdifference(); 
       $days_reg = $result;        $days_reg = $result;
   
       my ($tmpa,$tmpb,$tmpc);         my ( $tmpa, $tmpb, $tmpc ); 
       if ($userlastonline eq "") { $userlastonline = "-"; }         if ( $userlastonline eq q{} ) { $userlastonline = q{-}; 
       else { $date1 = $userlastonline; &calcdifference; $userlastonline = $result; $tmpa = $userlastonline; }              $date1 = stringtotime( ${ $uid . $user }{'regdate'} ); 
       if ($userlastpost eq "") { $userlastpost = "-"; }             calcdifference(); 
       else { $date1 = $userlastpost; &calcdifference; $userlastpost = $result; $tmpb = $userlastpost; }             $tmpa = $result; 
       if ($userlastim eq "") { $userlastim = "-"; }            }
       else { $date1 = $userlastim; &calcdifference; $userlastim = $result; $tmpc = $userlastim; }         else { 
       $userlastonline = &NumberFormat($userlastonline);             $date1 = $userlastonline; 
       $userlastpost = &NumberFormat($userlastpost);             calcdifference(); 
       $userlastim = &NumberFormat($userlastim);             $userlastonline = $result; 
       $userpostcount = &NumberFormat(${$uid.$user}{'postcount'});             $tmpa           = $userlastonline; 
         }
       if ($user ne "admin") {         if ( $userlastpost eq q{} ) { $userlastpost = q{-}; 
           $CheckingAll .= qq~"$days_reg|${$uid.$user}{'postcount'}|$tmpa|$tmpb|$tmpc|$user", ~;              $date1 = stringtotime( ${ $uid . $user }{'regdate'} ); 
       }             calcdifference(); 
             $tmpb = $result;
       $barchart = ${$uid.$user}{'postcount'};             } 
       $bartemp  = (${$uid.$user}{'postcount'} * $maxbar);         else { 
       $barwidth = ($bartemp / $barmax);             $date1 = $userlastpost; 
       $barwidth = ($barwidth + 0.5);             calcdifference(); 
       $barwidth = int($barwidth);             $userlastpost = $result; 
       if ($barwidth > $maxbar) { $barwidth = $maxbar }              $tmpb         = $userlastpost; 
       if ($barchart < 1) { $Bar = "&nbsp;"; }        }
       else { $Bar = qq~<img src="$imagesdir/bar.gif" width="$barwidth" height="10" alt="" border="0" />~; }         if ( $userlastim eq q{} ) { $userlastim = q{-}; 
             $date1 = stringtotime( ${ $uid . $user }{'regdate'} );
       $dr_regdate = &timeformat(${$uid.$user}{'regtime'});             calcdifference(); 
       $dr_regdate =~ s~(.*)(, 1?[0-9]):[0-9][0-9].*~$1~;             $tmpc = $result; 
             }
       my $memberinfo = "&nbsp;";         else { 
       if (${$uid.$user}{'realname'} eq "") { ${$uid.$user}{'realname'} = $user; }             $date1 = $userlastim; 
       if (${$uid.$user}{'position'} eq "" && $showallgroups) {             calcdifference(); 
           foreach $postamount (sort { $b <=> $a } keys %Post) {             $userlastim = $result; 
               if (${$uid.$user}{'postcount'} > $postamount) {             $tmpc       = $userlastim; 
                   ($memberinfo, $stars, $starpic, $color, $noshow, $viewperms, $topicperms, $replyperms, $pollperms, $attachperms) = split(/\|/, $Post{$postamount});         } 
                   last;         $userlastonline = NumberFormat($userlastonline); 
               }         $userlastpost   = NumberFormat($userlastpost); 
           }         $userlastim     = NumberFormat($userlastim); 
       } elsif (${$uid.$user}{'position'} ne "") {         $userpostcount  = NumberFormat( ${ $uid . $user }{'postcount'} ); 
           $tempgroups = 0;  
           foreach (keys %Group) {        if ( $user ne 'admin' ) {
               if (${$uid.$user}{'position'} eq $_) {             $CheckingAll .= 
                   ($memberinfo, $stars, $starpic, $color, $noshow, $viewperms, $topicperms, $replyperms, $pollperms, $attachperms) = split(/\|/, $Group{$_});  qq~"$days_reg|${$uid.$user}{'postcount'}|$tmpa|$tmpb|$tmpc|$user", ~; 
                   $tempgroups = 1;         } 
                   last;  
               }         $barchart = ${ $uid . $user }{'postcount'}; 
           }         $bartemp  = ( ${ $uid . $user }{'postcount'} * $maxbar ); 
           if (!$tempgroups) {         $barwidth = ( $bartemp / $barmax ); 
               foreach (sort { $a <=> $b } keys %NoPost) {         $barwidth = ( $barwidth + 0.5 ); 
                   if (${$uid.$user}{'position'} eq $_) {         $barwidth = int $barwidth; 
                       ($memberinfo, $stars, $starpic, $color, $noshow, $viewperms, $topicperms, $replyperms, $pollperms, $attachperms) = split(/\|/, $NoPost{$_});         if ( $barwidth > $maxbar ) { $barwidth = $maxbar } 
                       $tempgroups = 1;         if ( $barchart < 1 )       { $Bar      = '&nbsp;'; } 
                       last;         else { 
                   }             $Bar = 
               }  qq~<img src="$imagesdir/bar.gif" width="$barwidth" height="10" alt="" />~; 
           }        }
           if (!$tempgroups) {  
               $memberinfo = ${$uid.$user}{'position'};         $dr_regdate = timeformat( ${ $uid . $user }{'regtime'} ); 
           }         $dr_regdate =~ s/(.*)(, 1?[0-9]):[0-9][0-9].*/$1/sm; 
       }  
         my $memberinfo = '&nbsp;';
       $yymain .= qq~         if ( ${ $uid . $user }{'realname'} eq q{} ) { 
   <tr>             ${ $uid . $user }{'realname'} = $user; 
       <td class="windowbg" width="19%">$link{$user}</td>~;         } 
         if ( ${ $uid . $user }{'position'} eq q{} && $showallgroups ) {
       if ($user eq "admin") {             foreach my $postamount ( reverse sort { $a <=> $b } keys %Post ) { 
           $addel = qq~&nbsp;~;                 if ( ${ $uid . $user }{'postcount'} > $postamount ) { 
       } else {                     ( 
           $addel = qq~<input type="checkbox" name="member$numshown" value="$user" class="windowbg" style="border: 0; vertical-align: middle;" />~;                         $memberinfo, $stars,     $starpic,    $color, 
           $actualnum++;                         $noshow,     $viewperms, $topicperms, $replyperms, 
       }                         $pollperms,  $attachperms 
                     ) = split /\|/xsm, $Post{$postamount};
       $yymain .= qq~                     last; 
       <td class="windowbg" width="19%">$memberinfo</td>                 } 
       <td class="windowbg2" width="5%" align="center">$userpostcount</td>             } 
       <td class="windowbg" width="14%">$Bar</td>         } 
       <td class="windowbg" width="19%" >$dr_regdate &nbsp;</td>         elsif ( ${ $uid . $user }{'position'} ne q{} ) { 
       <td class="windowbg2" width="7%" align="center">$userlastonline</td>             $tempgroups = 0; 
       <td class="windowbg2" width="6%" align="center">$userlastpost</td>             foreach ( keys %Group ) { 
       <td class="windowbg2" width="6%" align="center">$userlastim</td>                 if ( ${ $uid . $user }{'position'} eq $_ ) { 
       <td class="windowbg" width="5%" align="center">$addel</td>                     ( 
   </tr>~;                         $memberinfo, $stars,     $starpic,    $color, 
   }                         $noshow,     $viewperms, $topicperms, $replyperms, 
                         $pollperms,  $attachperms
                     ) = split /\|/xsm, $Group{$_};
                     $tempgroups = 1;
                     last;
                 }
             }
             if ( !$tempgroups ) {
                 foreach ( sort { $a <=> $b } keys %NoPost ) {
                     if ( ${ $uid . $user }{'position'} eq $_ ) {
                         (
                             $memberinfo, $stars,      $starpic,
                             $color,      $noshow,     $viewperms,
                             $topicperms, $replyperms, $pollperms,
                             $attachperms
                         ) = split /\|/xsm, $NoPost{$_};
                         $tempgroups = 1;
                         last;
                     }
                 }
             }
             if ( !$tempgroups ) {
                 $memberinfo = ${ $uid . $user }{'position'};
             }
         }
   
         $yymain .= qq~<tr>
         <td class="windowbg">$link{$user}</td>~;
   
         if ( $user eq 'admin' || ( $iamgmod && ( ${ $uid . $user }{'position'} eq 'Administrator' || $gmod_access{'deletemultimembers'} ne 'on') ) ) {
             $addel = q~&nbsp;~;
         }
         else {
             $addel =
  qq~<input type="checkbox" name="member$numshown" value="$user" class="windowbg" style="border: 0; vertical-align: middle;" />~;
             $actualnum++;
         }
   
         $yymain .= qq~
         <td class="windowbg">$memberinfo</td>
         <td class="windowbg2 center">$userpostcount</td>
         <td class="windowbg">$Bar</td>
         <td class="windowbg">$dr_regdate &nbsp;</td>
         <td class="windowbg2 center">$userlastonline</td>
         <td class="windowbg2 center">$userlastpost</td>
         <td class="windowbg2 center">$userlastim</td>
         <td class="windowbg center">$addel</td>
     </tr>~;
     }
     return;
} }
   
sub buildIndex { sub buildIndex {
   unless ($memcount == 0) {    if ( $memcount != 0 ) {
   
       ($dummy, $dummy, $usermemberpage) = split(/\|/, ${$uid.$username}{'pageindex'});         ( undef, undef, $usermemberpage ) = 
           split /\|/xsm, ${ $uid . $username }{'pageindex'};
   
       # Build the page links list.        # Build the page links list.
       my ($pagetxtindex, $pagetextindex, $pagedropindex1, $pagedropindex2, $all, $allselected);         my ( $pagetxtindex, $pagedropindex1, $pagedropindex2, $all, 
       $indexdisplaynum = 3;             $allselected ); 
       $dropdisplaynum  = 10;         $indexdisplaynum = 3; 
       if ($FORM{'sortform'} eq "") { $FORM{'sortform'} = $INFO{'sort'}; }         $dropdisplaynum  = 10; 
       $postdisplaynum = 3;         if ( $FORM{'sortform'} eq q{} ) { $FORM{'sortform'} = $INFO{'sort'}; } 
       $startpage      = 0;         $postdisplaynum = 3; 
       $max            = $memcount;         $startpage      = 0; 
       if ($INFO{'start'} eq "all") { $MembersPerPage = $max; $all = 1; $allselected = qq~ selected="selected"~; $start = 0 }         $max            = $memcount; 
       else { $start = $INFO{'start'} || 0; }         if ( $INFO{'start'} eq 'all' ) { 
       $start    = $start > $memcount - 1 ? $memcount - 1 : $start;             $MembersPerPage = $max; 
       $start    = (int($start / $MembersPerPage)) * $MembersPerPage;             $all            = 1; 
       $tmpa     = 1;             $allselected    = q~ selected="selected"~; 
       $pagenumb = int(($memcount - 1) / $MembersPerPage) + 1;             $start          = 0; 
         }
       if ($start >= (($postdisplaynum - 1) * $MembersPerPage)) {         else { $start = $INFO{'start'} || 0; } 
           $startpage = $start - (($postdisplaynum - 1) * $MembersPerPage);         $start    = $start > $memcount - 1 ? $memcount - 1 : $start; 
           $tmpa = int($startpage / $MembersPerPage) + 1;         $start    = ( int( $start / $MembersPerPage ) ) * $MembersPerPage; 
       }         $tmpa     = 1; 
       if ($memcount >= $start + ($postdisplaynum * $MembersPerPage)) { $endpage = $start + ($postdisplaynum * $MembersPerPage); }         $pagenumb = int( ( $memcount - 1 ) / $MembersPerPage ) + 1; 
       else { $endpage = $memcount }  
       $lastpn     = int(($memcount - 1) / $MembersPerPage) + 1;         if ( $start >= ( ( $postdisplaynum - 1 ) * $MembersPerPage ) ) { 
       $lastptn    = ($lastpn - 1) * $MembersPerPage;             $startpage = $start - ( ( $postdisplaynum - 1 ) * $MembersPerPage ); 
       $pageindex1 = qq~<span class="small" style="float: left; height: 21px; margin: 0px; margin-top: 2px;"><img src="$imagesdir/index_togl.gif" border="0" alt="" style="vertical-align: middle;" /> $ml_txt{'139'}: $pagenumb</span>~;             $tmpa = int( $startpage / $MembersPerPage ) + 1; 
       $pageindex2 = qq~<span class="small" style="float: left; height: 21px; margin: 0px; margin-top: 2px;"><img src="$imagesdir/index_togl.gif" border="0" alt="" style="vertical-align: middle;" /> $ml_txt{'139'}: $pagenumb</span>~;         } 
       if ($pagenumb > 1 || $all) {        if ( $memcount >= $start + ( $postdisplaynum * $MembersPerPage ) ) {
             $endpage = $start + ( $postdisplaynum * $MembersPerPage );
           if ($usermemberpage == 1) {         } 
               $pagetxtindexst = qq~<span class="small" style="float: left; height: 21px; margin: 0px; margin-top: 2px;"><a href="$scripturl?action=memberpagedrop;from=admin;sort=$INFO{'sort'};letter=$INFO{'letter'};start=$INFO{'start'}$sortorder"><img src="$imagesdir/index_togl.gif" border="0" alt="$ml_txt{'19'}" title="$ml_txt{'19'}" style="vertical-align: middle;" /></a> $ml_txt{'139'}: ~;         else { $endpage = $memcount } 
               if ($startpage > 0) { $pagetxtindex = qq~<a href="$adminurl?action=ml;sort=$FORM{'sortform'};letter=$letter$sortorder" style="font-weight: normal;">1</a>&nbsp;...&nbsp;~; }         $lastpn = int( ( $memcount - 1 ) / $MembersPerPage ) + 1; 
               if ($startpage == $MembersPerPage) { $pagetxtindex = qq~<a href="$adminurl?action=ml;sort=$FORM{'sortform'};letter=$letter$sortorder" style="font-weight: normal;">1</a>&nbsp;~; }         $lastptn = ( $lastpn - 1 ) * $MembersPerPage; 
               for ($counter = $startpage; $counter < $endpage; $counter += $MembersPerPage) {         $pageindex1 = 
                   $pagetxtindex .= $start == $counter ? qq~<b>$tmpa</b>&nbsp;~ : qq~<a href="$adminurl?action=ml;sort=$FORM{'sortform'};letter=$letter;start=$counter$sortorder" style="font-weight: normal;">$tmpa</a>&nbsp;~;  qq~<span class="index-togl small">$admin_img{'index_togl'} $ml_txt{'139'}: $pagenumb</span>~; 
                   $tmpa++;         $pageindex2 = 
               }  qq~<span class="index-togl small">$admin_img{'index_togl'} $ml_txt{'139'}: $pagenumb</span>~; 
               if ($endpage < $memcount - $MembersPerPage) { $pageindexadd = qq~...&nbsp;~; }         if ( $pagenumb > 1 || $all ) { 
               if ($endpage != $memcount) { $pageindexadd .= qq~<a href="$adminurl?action=ml;sort=$FORM{'sortform'};letter=$letter;start=$lastptn$sortorder" style="font-weight: normal;">$lastpn</a>~; }  
               $pagetxtindex .= qq~$pageindexadd~;             if ( $usermemberpage == 1 ) { 
               $pageindex1 = qq~$pagetxtindexst$pagetxtindex</span>~;                 $pagetxtindexst = 
               $pageindex2 = qq~$pagetxtindexst$pagetxtindex</span>~;  qq~<span class="index-togl small"><a href="$scripturl?action=memberpagedrop;from=admin;sort=$INFO{'sort'};letter=$INFO{'letter'};start=$INFO{'start'}$sortorder"><img src="$imagesdir/index_togl.png" alt="$ml_txt{'19'}" title="$ml_txt{'19'}" /></a> $ml_txt{'139'}: ~; 
           } else {                if ( $startpage > 0 ) {
               $pagedropindex1 = qq~<span style="float: left; width: 350px; margin: 0px; margin-top: 2px; border: 0px;">~;                     $pagetxtindex = 
               $pagedropindex1 .= qq~<span style="float: left; height: 21px; margin: 0; margin-right: 4px;"><a href="$scripturl?action=memberpagetext;from=admin;sort=$INFO{'sort'};letter=$INFO{'letter'};start=$INFO{'start'}$sortorder"><img src="$imagesdir/index_togl.gif" border="0" alt="$ml_txt{'19'}" title="$ml_txt{'19'}" /></a></span>~;  qq~<a href="$adminurl?action=ml;sort=$FORM{'sortform'};letter=$letter$sortorder" class="norm">1</a>&nbsp;...&nbsp;~; 
               $pagedropindex2 = $pagedropindex1;                 } 
               $tstart         = $start;                 if ( $startpage == $MembersPerPage ) { 
               if (substr($INFO{'start'}, 0, 3) eq "all") { ($tstart, $start) = split(/\-/, $INFO{'start'}); }                     $pagetxtindex = 
               $d_indexpages = $pagenumb / $dropdisplaynum;  qq~<a href="$adminurl?action=ml;sort=$FORM{'sortform'};letter=$letter$sortorder" class="norm">1</a>&nbsp;~; 
               $i_indexpages = int($pagenumb / $dropdisplaynum);                 } 
               if ($d_indexpages > $i_indexpages) { $indexpages = int($pagenumb / $dropdisplaynum) + 1; }                 foreach my $counter ( $startpage .. ( $endpage - 1 ) ) { 
               else { $indexpages = int($pagenumb / $dropdisplaynum) }                     if ( $counter % $MembersPerPage == 0 ) { 
               $selectedindex = int(($start / $MembersPerPage) / $dropdisplaynum);                         $pagetxtindex .= 
                           $start == $counter
               if ($pagenumb > $dropdisplaynum) {                           ? qq~<b>[$tmpa]</b>&nbsp;~ 
                   $pagedropindex1 .= qq~<span style="float: left; height: 21px; margin: 0;"><select size="1" name="decselector1" id="decselector1" style="font-size: 9px; border: 2px inset;" onchange="if(this.options[this.selectedIndex].value) SelDec(this.options[this.selectedIndex].value, 'xx')">\n~;                           : qq~<a href="$adminurl?action=ml;sort=$FORM{'sortform'};letter=$letter;start=$counter$sortorder" class="norm">$tmpa</a>&nbsp;~; 
                   $pagedropindex2 .= qq~<span style="float: left; height: 21px; margin: 0;"><select size="1" name="decselector2" id="decselector2" style="font-size: 9px; border: 2px inset;" onchange="if(this.options[this.selectedIndex].value) SelDec(this.options[this.selectedIndex].value, 'xx')">\n~;                         $tmpa++; 
               }                    }
               for ($i = 0; $i < $indexpages; $i++) {                 } 
                   $indexpage  = ($i * $dropdisplaynum) * $MembersPerPage;                 if ( $endpage < $memcount - $MembersPerPage ) { 
                   $indexstart = ($i * $dropdisplaynum) + 1;                     $pageindexadd = q~...&nbsp;~; 
                   $indexend   = $indexstart + ($dropdisplaynum - 1);                 } 
                   if ($indexend > $pagenumb)    { $indexend   = $pagenumb; }                 if ( $endpage != $memcount ) { 
                   if ($indexstart == $indexend) { $indxoption = qq~$indexstart~; }                     $pageindexadd .= 
                   else { $indxoption = qq~$indexstart-$indexend~; }  qq~<a href="$adminurl?action=ml;sort=$FORM{'sortform'};letter=$letter;start=$lastptn$sortorder" class="norm">$lastpn</a>~; 
                   $selected = "";                 } 
                   if ($i == $selectedindex) {                 $pagetxtindex .= qq~$pageindexadd~; 
                       $selected    = qq~ selected="selected"~;                 $pageindex1 = qq~$pagetxtindexst$pagetxtindex</span>~; 
                       $pagejsindex = qq~$indexstart|$indexend|$MembersPerPage|$indexpage~;                 $pageindex2 = qq~$pagetxtindexst$pagetxtindex</span>~; 
                   }            }
                   if ($pagenumb > $dropdisplaynum) {            else {
                       $pagedropindex1 .= qq~<option value="$indexstart|$indexend|$MembersPerPage|$indexpage"$selected>$indxoption</option>\n~;                 $pagedropindex1 = 
                       $pagedropindex2 .= qq~<option value="$indexstart|$indexend|$MembersPerPage|$indexpage"$selected>$indxoption</option>\n~;  q~<span style="float: left; width: 350px; margin: 2px 0 0 0; border: 0;">~; 
                   }                 $pagedropindex1 .= 
               }  qq~<span style="float: left; height: 21px; margin: 0 4px 0 0;"><a href="$scripturl?action=memberpagetext;from=admin;sort=$INFO{'sort'};letter=$INFO{'letter'};start=$INFO{'start'}$sortorder"><img src="$imagesdir/index_togl.png" alt="$ml_txt{'19'}" title="$ml_txt{'19'}" /></a></span>~; 
               if ($pagenumb > $dropdisplaynum) {                 $pagedropindex2 = $pagedropindex1; 
                   $pagedropindex1 .= qq~</select>\n</span>~;                 $tstart         = $start; 
                   $pagedropindex2 .= qq~</select>\n</span>~;                 if ( substr( $INFO{'start'}, 0, 3 ) eq 'all' ) { 
               }                     ( $tstart, $start ) = split /\-/xsm, $INFO{'start'}; 
               $pagedropindex1 .= qq~<span id="ViewIndex1" class="droppageindex" style="height: 14px; visibility: hidden">&nbsp;</span>~;                 } 
               $pagedropindex2 .= qq~<span id="ViewIndex2" class="droppageindex" style="height: 14px; visibility: hidden">&nbsp;</span>~;                 $d_indexpages = $pagenumb / $dropdisplaynum; 
               $tmpMembersPerPage = $MembersPerPage;                 $i_indexpages = int( $pagenumb / $dropdisplaynum ); 
               if (substr($INFO{'start'}, 0, 3) eq "all") { $MembersPerPage = $MembersPerPage * $dropdisplaynum; }                 if ( $d_indexpages > $i_indexpages ) { 
               $prevpage          = $start - $tmpMembersPerPage;                     $indexpages = int( $pagenumb / $dropdisplaynum ) + 1; 
               $nextpage          = $start + $MembersPerPage;                 } 
               $pagedropindexpvbl = qq~<img src="$imagesdir/index_left0.gif" height="14" width="13" border="0" alt="" style="margin: 0px; display: inline; vertical-align: middle;" />~;                 else { $indexpages = int( $pagenumb / $dropdisplaynum ) } 
               $pagedropindexnxbl = qq~<img src="$imagesdir/index_right0.gif" height="14" width="13" border="0" alt="" style="margin: 0px; display: inline; vertical-align: middle;" />~;                 $selectedindex = 
               if ($start < $MembersPerPage) { $pagedropindexpv .= qq~<img src="$imagesdir/index_left0.gif" height="14" width="13" border="0" alt="" style="display: inline; vertical-align: middle;" />~; }                   int( ( $start / $MembersPerPage ) / $dropdisplaynum ); 
               else { $pagedropindexpv .= qq~<img src="$imagesdir/index_left.gif" border="0" height="14" width="13" alt="$pidtxt{'02'}" title="$pidtxt{'02'}" style="display: inline; vertical-align: middle; cursor: pointer;" onclick="location.href=\\'$adminurl?action=ml;sort=$FORM{'sortform'};letter=$letter;start=$prevpage$sortorder\\'" ondblclick="location.href=\\'$adminurl?action=ml;sort=$FORM{'sortform'};letter=$letter;start=0$sortorder\\'" />~; }  
               if ($nextpage > $lastptn) { $pagedropindexnx .= qq~<img src="$imagesdir/index_right0.gif" border="0" height="14" width="13" alt="" style="display: inline; vertical-align: middle;" />~; }                 if ( $pagenumb > $dropdisplaynum ) { 
               else { $pagedropindexnx .= qq~<img src="$imagesdir/index_right.gif" height="14" width="13" border="0" alt="$pidtxt{'03'}" title="$pidtxt{'03'}" style="display: inline; vertical-align: middle; cursor: pointer;" onclick="location.href=\\'$adminurl?action=ml;sort=$FORM{'sortform'};letter=$letter;start=$nextpage$sortorder\\'" ondblclick="location.href=\\'$adminurl?action=ml;sort=$FORM{'sortform'};letter=$letter;start=$lastptn$sortorder\\'" />~; }                     $pagedropindex1 .= 
               $pageindex1 = qq~$pagedropindex1</span>~;  qq~<span style="float: left; height: 21px; margin: 0;"><select size="1" name="decselector1" id="decselector1" onchange="if(this.options[this.selectedIndex].value) SelDec(this.options[this.selectedIndex].value, 'xx')">\n~; 
               $pageindex2 = qq~$pagedropindex2</span>~;                     $pagedropindex2 .= 
  qq~<span style="float: left; height: 21px; margin: 0;"><select size="1" name="decselector2" id="decselector2" onchange="if(this.options[this.selectedIndex].value) SelDec(this.options[this.selectedIndex].value, 'xx')">\n~;
               $pageindexjs = qq~                 } 
<script language="JavaScript1.2" type="text/javascript">                 for my $i ( 0 .. ( $indexpages - 1 ) ) { 
<!--                     $indexpage  = ( $i * $dropdisplaynum ) * $MembersPerPage; 
   function SelDec(decparam, visel) {                     $indexstart = ( $i * $dropdisplaynum ) + 1; 
       splitparam = decparam.split("|");                     $indexend   = $indexstart + ( $dropdisplaynum - 1 ); 
       var vistart = parseInt(splitparam[0]);                     if ( $indexend > $pagenumb ) { $indexend = $pagenumb; } 
       var viend = parseInt(splitparam[1]);                     if ( $indexstart == $indexend ) { 
       var maxpag = parseInt(splitparam[2]);                         $indxoption = qq~$indexstart~; 
       var pagstart = parseInt(splitparam[3]);                     } 
       var allpagstart = parseInt(splitparam[3]);                     else { $indxoption = qq~$indexstart-$indexend~; } 
       if(visel == 'xx' && decparam == '$pagejsindex') visel = '$tstart';                     $selected = q{}; 
       var pagedropindex = '<table border="0" cellpadding="0" cellspacing="0"><tr>';                     if ( $i == $selectedindex ) { 
       for(i=vistart; i<=viend; i++) {                         $selected = q~ selected="selected"~; 
           if(visel == pagstart) pagedropindex += '<td class="titlebg" height="14" style="height: 14px; padding-left: 1px; padding-right: 1px; font-size: 9px; font-weight: bold;">' + i + '</td>';                         $pagejsindex = 
           else pagedropindex += '<td height="14" class="droppages"><a href="$adminurl?action=ml;sort=$FORM{'sortform'};letter=$letter;start=' + pagstart + '$sortorder">' + i + '</a></td>';                           qq~$indexstart|$indexend|$MembersPerPage|$indexpage~; 
           pagstart += maxpag;                     } 
       }                     if ( $pagenumb > $dropdisplaynum ) { 
       ~;                         $pagedropindex1 .= 
       if ($showpageall) {  qq~<option value="$indexstart|$indexend|$MembersPerPage|$indexpage"$selected>$indxoption</option>\n~; 
           $pageindexjs .= qq~                         $pagedropindex2 .= 
           if (vistart != viend) {  qq~<option value="$indexstart|$indexend|$MembersPerPage|$indexpage"$selected>$indxoption</option>\n~; 
               if(visel == 'all') pagedropindex += '<td class="titlebg" height="14" style="height: 14px; padding-left: 1px; padding-right: 1px; font-size: 9px; font-weight: normal;"><b>$pidtxt{"01"}</b></td>';                     } 
               else pagedropindex += '<td height="14" class="droppages"><a href="$adminurl?action=ml;sort=$FORM{'sortform'};letter=$letter;start=all-' + allpagstart + '$sortorder">$pidtxt{"01"}</a></td>';                 } 
           }                 if ( $pagenumb > $dropdisplaynum ) { 
           ~;                     $pagedropindex1 .= qq~</select>\n</span>~; 
       }                     $pagedropindex2 .= qq~</select>\n</span>~; 
       $pageindexjs .= qq~                 } 
       if(visel != 'xx') pagedropindex += '<td height="14" class="small" style="height: 14px; padding-left: 4px;">$pagedropindexpv$pagedropindexnx</td>';                 $pagedropindex1 .= 
       else pagedropindex += '<td height="14" class="small" style="height: 14px; padding-left: 4px;">$pagedropindexpvbl$pagedropindexnxbl</td>';  q~<span id="ViewIndex1" class="droppageindex" style="height: 14px; visibility: hidden">&nbsp;</span>~; 
       pagedropindex += '</tr></table>';                 $pagedropindex2 .= 
       document.getElementById("ViewIndex1").innerHTML=pagedropindex;  q~<span id="ViewIndex2" class="droppageindex" style="height: 14px; visibility: hidden">&nbsp;</span>~; 
       document.getElementById("ViewIndex1").style.visibility = "visible";                 $tmpMembersPerPage = $MembersPerPage; 
       document.getElementById("ViewIndex2").innerHTML=pagedropindex;                 if ( substr( $INFO{'start'}, 0, 3 ) eq 'all' ) { 
       document.getElementById("ViewIndex2").style.visibility = "visible";                     $MembersPerPage = $MembersPerPage * $dropdisplaynum; 
       ~;                 } 
               if ($pagenumb > $dropdisplaynum) {                 $prevpage = $start - $tmpMembersPerPage; 
                   $pageindexjs .= qq~                 $nextpage = $start + $MembersPerPage; 
       document.getElementById("decselector1").value = decparam;                 $pagedropindexpvbl = 
       document.getElementById("decselector2").value = decparam;  qq~<img src="$imagesdir/index_left0.png" height="14" width="13" alt="" style="vertical-align: top; margin-top:-1px" />~; 
       ~;                 $pagedropindexnxbl = 
               }  qq~<img src="$imagesdir/index_right0.png" height="14" width="13" alt="" style="vertical-align: top; margin-top:-1px;" />~; 
               $pageindexjs .= qq~                 if ( $start < $MembersPerPage ) { 
   }                     $pagedropindexpv .= 
   document.onload = SelDec('$pagejsindex', '$tstart');  qq~<img src="$imagesdir/index_left0.png" height="14" width="13" alt="" style="vertical-align: top; margin-top:-1px" />~; 
   //-->                 } 
                 else {
                     $pagedropindexpv .=
  qq~<img src="$imagesdir/index_left.png" height="14" width="13" alt="$pidtxt{'02'}" title="$pidtxt{'02'}" style="vertical-align: top; cursor: pointer; margin-top:-1px;" onclick="location.href=\\'$adminurl?action=ml;sort=$FORM{'sortform'};letter=$letter;start=$prevpage$sortorder\\'" ondblclick="location.href=\\'$adminurl?action=ml;sort=$FORM{'sortform'};letter=$letter;start=0$sortorder\\'" />~;
                 }
                 if ( $nextpage > $lastptn ) {
                     $pagedropindexnx .=
  qq~<img src="$imagesdir/index_right0.png" height="14" width="13" alt="" style="vertical-align: top; margin-top:-1px;" />~;
                 }
                 else {
                     $pagedropindexnx .=
  qq~<img src="$imagesdir/index_right.png" height="14" width="13" alt="$pidtxt{'03'}" title="$pidtxt{'03'}" style="display: inline; vertical-align: top; margin-top:-1px; cursor: pointer;" onclick="location.href=\\'$adminurl?action=ml;sort=$FORM{'sortform'};letter=$letter;start=$nextpage$sortorder\\'" ondblclick="location.href=\\'$adminurl?action=ml;sort=$FORM{'sortform'};letter=$letter;start=$lastptn$sortorder\\'" />~;
                 }
                 $pageindex1 = qq~$pagedropindex1</span>~;
                 $pageindex2 = qq~$pagedropindex2</span>~;
   
                 $pageindexjs = qq~
  <script type="text/javascript">
     function SelDec(decparam, visel) {
         splitparam = decparam.split("|");
         var vistart = parseInt(splitparam[0]);
         var viend = parseInt(splitparam[1]);
         var maxpag = parseInt(splitparam[2]);
         var pagstart = parseInt(splitparam[3]);
         var allpagstart = parseInt(splitparam[3]);
         if(visel == 'xx' && decparam == '$pagejsindex') visel = '$tstart';
         var pagedropindex = '<table><tr>';
         for(i=vistart; i<=viend; i++) {
             if(visel == pagstart) pagedropindex += '<td class="titlebg" style="height: 14px; padding:0 1px; font-size: 9px; font-weight: bold">' + i + '</td>';
             else pagedropindex += '<td class="droppages" style="line-height:14px; padding:0 1px"><a href="$adminurl?action=ml;sort=$FORM{'sortform'};letter=$letter;start=' + pagstart + '$sortorder">' + i + '</a></td>';
             pagstart += maxpag;
         }
         ~;
                 if ($showpageall) {
                     $pageindexjs .= qq~
             if (vistart != viend) {
                 if(visel == 'all') pagedropindex += '<td class="titlebg" style="line-height: 14px; padding:0 1px; font-size: 9px; font-weight: normal;"><b>$pidtxt{"01"}</b></td>';
                 else pagedropindex += '<td class="droppages" style="line-height:14px; padding:0 1px"><a href="$adminurl?action=ml;sort=$FORM{'sortform'};letter=$letter;start=all-' + allpagstart + '$sortorder">$pidtxt{"01"}</a></td>';
             }
             ~;
                 }
                 $pageindexjs .= qq~
         if(visel != 'xx') pagedropindex += '<td class="small" style="line-height: 14px; padding:0 0 0 4px;">$pagedropindexpv$pagedropindexnx</td>';
         else pagedropindex += '<td class="small" style="line-height: 14px; padding:0 0 0 4px;">$pagedropindexpvbl$pagedropindexnxbl</td>';
         pagedropindex += '</tr></table>';
         document.getElementById("ViewIndex1").innerHTML=pagedropindex;
         document.getElementById("ViewIndex1").style.visibility = "visible";
         document.getElementById("ViewIndex2").innerHTML=pagedropindex;
         document.getElementById("ViewIndex2").style.visibility = "visible";
         ~;
                 if ( $pagenumb > $dropdisplaynum ) {
                     $pageindexjs .= q~
         document.getElementById("decselector1").value = decparam;
         document.getElementById("decselector2").value = decparam;
         ~;
                 }
                 $pageindexjs .= qq~
     }
     document.onload = SelDec('$pagejsindex', '$tstart');
</script> </script>
~; ~;
           }            }
       }        }
   }    }
   
   sub buildPages {     return; 
       $SortJump .= qq(  
           <form action="$adminurl?action=ml" method="post" style="display: inline;">  
           <select name="sortform" onchange="submit()">  
           <option value="username"$selcUser>$ml_txt{'35'}</option>  
           <option value="position"$selcPos>$ml_txt{'87'}</option>  
           <option value="posts"$selcPost>$ml_txt{'21'}</option>  
           <option value="regdate"$selcReg>$ml_txt{'233'}</option>  
           </select>  
           </form>  
       );  
   
       $TableHeader .= qq~  
       <table border="0" width="100%" cellspacing="1" cellpadding="3" class="bordercolor">  
         <tr>  
           <td width="100%" valign="middle" class="titlebg">  
           <span style="float: left;"><img src="$imagesdir/register.gif" alt="" border="0" style="vertical-align: middle;" /><b> $admintxt{'17'}</b></span>  
           </td>  
         </tr>  
         <tr>  
           <td width="100%" valign="middle" class="titlebg">  
           <form action="$adminurl?action=ml" method="post" name="selsort" style="display: inline">  
           <span style="float: right;">  
           <label for="sortform"><b>$ml_txt{'1'}</b></label>  
           <select name="sortform" id="sortform" style="font-size: 9pt;" onchange="submit()">  
           <option value="username"$selUser>$ml_txt{'35'}</option>  
           <option value="position"$selPos>$ml_txt{'87'}</option>  
           <option value="posts"$selPost>$ml_txt{'21'}</option>  
           <option value="regdate"$selReg>$ml_txt{'233'}</option>  
           <option value="lastonline"$selLastOn>$amv_txt{'9'}</option>  
           <option value="lastpost"$selLastPost>$amv_txt{'10'}</option>  
           <option value="lastim"$selLastIm>$amv_txt{'11'}</option>  
           </select>  
           <label for="reversed"><b>$admintxt{'37'}</b></label>  
           <input type="checkbox" onclick="submit()" name="reversed" id="reversed" class="titlebg" style="border: 0;"$selReversed />  
           </span>  
           </form>  
           </td>  
         </tr>  
       </table>  
       <script language="JavaScript1.2" src="$yyhtml_root/ubbc.js" type="text/javascript"></script>  
       <script language="JavaScript1.2" type="text/javascript">  
       <!--  
       if (document.selsort.sortform.options[document.selsort.sortform.selectedIndex].value == 'username') {  
       document.selsort.reversed.disabled = true;  
       }  
       //-->  
       </script>  
   
       <form name="adv_memberview" action="$adminurl?action=deletemultimembers$sortmode$sortorder$spages" method="post" style="display: inline" onsubmit="return submitproc()">  
       <input type="hidden" name="button" value="0" />  
       <table border="0" width="100%" cellspacing="1" cellpadding="3" class="bordercolor">  
       <tr>  
           <td class="catbg" width="19%" align="center"><a href="$adminurl?action=ml;sortform=username"><b>$ml_txt{'35'}</b></a></td>  
           <td class="catbg" width="19%" align="center"><a href="$adminurl?action=ml;sortform=position"><b>$ml_txt{'87'}</b></a></td>  
           <td class="catbg" width="19%" align="center" colspan="2"><a href="$adminurl?action=ml;sortform=posts"><b>$ml_txt{'21'}</b></a></td>  
           <td class="catbg" width="19%" align="center"><a href="$adminurl?action=ml;sortform=regdate"><b>$ml_txt{'234'}</b></a></td>  
           <td class="catbg" width="19%" align="center" colspan="3"><b>$amv_txt{'4'}</b><br /><span class="small" style="float: left; text-align: center; width: 34%;"><a href="$adminurl?action=ml;sortform=lastonline">$amv_txt{'5'}</a></span><span class="small" style="float: left; text-align: center; width: 33%;"><a href="$adminurl?action=ml;sortform=lastpost">$amv_txt{'6'}</a></span><span class="small" style="float: left; text-align: center; width: 33%;"><a href="$adminurl?action=ml;sortform=lastim">$amv_txt{'7'}</a></span></td>  
           <td class="catbg" width="5%" align="center"><b>$admintxt{'38'}</b></td>  
       </tr>  
       ~;  
   
       if ($LetterLinks ne "") {  
           $TableHeader .= qq(<tr>  
               <td class="catbg" colspan="9"><span class="small">$LetterLinks</span></td>  
           </tr>  
           );  
       }  
   
   
       $sel_box = qq~  
           <br />  
           <table border="0" width="100%" cellpadding="3" cellspacing="1" class="bordercolor">  
               <tr>  
                   <td class="titlebg" colspan="2" align="right">  
                   <label for="check_all"><b>$amv_txt{'38'}</b></label>  
                   <select name="field2" id="field2" onchange="document.adv_memberview.check_all.checked=true;checkAll(1);">  
                       <option value="0">$amv_txt{'35'}</option>  
                       <option value="1">$amv_txt{'36'}</option>  
                       <option value="2" selected="selected">$amv_txt{'37'}</option>  
                   </select>  
                   <input type="text" size="5" name="number" value="30" maxlength="5" onkeyup="document.adv_memberview.check_all.checked=true;checkAll(1);" />  
                   <select name="field1" onchange="document.adv_memberview.check_all.checked=true;checkAll(1);">  
                       <option value="0">$amv_txt{'30'}</option>  
                       <option value="1">$amv_txt{'31'}</option>  
                       <option value="2" selected="selected">$amv_txt{'32'}</option>  
                       <option value="3">$amv_txt{'33'}</option>  
                       <option value="4">$amv_txt{'34'}</option>  
                   </select>  
                   <br />  
                   <label for="del_mail">$amv_txt{'45'}:</label> <input type="checkbox" name="del_mail" id="del_mail" value="1" class="titlebg" style="border: 0;" />  
                   </td>  
                   <td class="titlebg" align="center" width="5%">  
                       <input type="checkbox" name="check_all" id="check_all" value="1" class="titlebg" style="border: 0;" onclick="javascript:if(this.checked)checkAll(1);else checkAll(0);" />  
                   </td>  
               </tr>  
               <tr>  
                 <td class="windowbg" colspan="3" align="center">  
                       <input type="submit" value="$amv_txt{'15'}" onclick="javascript:window.document.adv_memberview.button.value = '2'; return confirm('$amv_txt{'20'}')" class="button" />  
                 </td>  
               </tr>  
           </table>  
         </form>  
       <script language="JavaScript1.2" type="text/javascript">  
       <!--  
       mem_data = new Array ( "", $CheckingAll"" );  
       function checkAll(ticked) {  
           if(navigator.appName == "Microsoft Internet Explorer") {var alt_pressed = self.event.altKey; var ctrl_pressed = self.event.ctrlKey;}  
           else {var alt_pressed = false; var ctrl_pressed = false;}  
   
           var limit = document.adv_memberview.number.value;  
           var field1 = document.adv_memberview.field1.value;  
           var field2 = document.adv_memberview.field2.value;  
           for (var i = 1; i <= $actualnum; i++) {  
               if (!ticked) {  
                   document.adv_memberview.elements[i].checked = false;  
               } else {  
                   var value1 = eval(mem_data[i].split("|")[field1]);  
                   if (value1 != undefined) {  
                       var check = 0;  
                       if (field2 == 0 && value1 <  limit) { check = 1; }  
                       if (field2 == 1 && value1 == limit) { check = 1; }  
                       if (field2 == 2 && value1 >  limit) { check = 1; }  
                       if (ctrl_pressed == true) { check = 0; }  
                       if (alt_pressed  == true) { check = 1; }  
                       if (check == 1) document.adv_memberview.elements[i].checked = true;  
                       else            document.adv_memberview.elements[i].checked = false;  
                   }  
               }  
           }  
       }  
       //-->  
       </script>  
   ~;  
   
       $numbegin = ($start + 1);  
       $numend   = ($start + $MembersPerPage);  
       if ($numend > $memcount) { $numend  = $memcount; }  
       if ($memcount == 0)      { $numshow = ""; }  
       else { $numshow = qq~($numbegin - $numend $ml_txt{'309'} $memcount)~; }  
       if ($_[0]) {  
           $yymain .= qq~  
   <div style="padding: 0px; width: 99%; margin-left: 0px; margin-right: auto;">  
       <table border="0" width="100%" cellspacing="1" cellpadding="3" class="bordercolor">  
       <tr>  
       <td class="catbg" colspan="9" width="100%" align="left" valign="middle">  
       <div style="float: left; width: 50%; text-align: left;">$pageindex1</div>  
       </td>  
       </tr>  
       </table>  
       $TableHeader~;  
       } else {  
           $yymain .= qq~  
       <tr>  
       <td class="catbg" colspan="9" width="100%" align="left" valign="middle">  
       <div style="float: left; width: 50%; text-align: left;">$pageindex2</div>  
       $pageindexjs  
       </td>  
       </tr>  
       </table>  
       $sel_box  
   </div>~;  
       }  
   }  
} }
   
  sub buildPages {
     my ($inp) = @_;
   
     $FindForm .= qq~
         <script type="text/javascript">
             function txtInFields(thefield, defaulttxt) {
             if (thefield.value == defaulttxt) thefield.value = "";
             else { if (thefield.value === "") thefield.value = defaulttxt; }
             }
         </script>
             <form action="$adminurl?action=ml;sort=memsearch" method="post" id="form1" name="form1" enctype="application/x-www-form-urlencoded" style="display: inline;">
             <input type="text" name="member" id="member" value="$ml_txt{'801'}" style="font-size: 11px; width: 180px;" onfocus="txtInFields(this, '$ml_txt{'801'}');" onblur="txtInFields(this, '$ml_txt{'801'}')" />
             <input name="submit" type="submit" class="button" style="font-size: 10px;" value="$ml_txt{'2'}" />
             </form>
         ~;
   
     $TableHeader .= qq~
         <table class="bordercolor borderstyle border-space pad-cell">
             <tr>
                 <td class="titlebg right" style="font-size: 11px; text-shadow: none;">
                     $FindForm
                     <form action="$adminurl?action=ml" method="post" name="selsort" style="display: inline">
                         <label for="sortform"><b>$ml_txt{'1'}</b></label>
                         <select name="sortform" id="sortform" style="font-size: 9pt;" onchange="submit()">
                         <option value="username"$selUser>$ml_txt{'35'}</option>
                         <option value="position"$selPos>$ml_txt{'87'}</option>
                         <option value="posts"$selPost>$ml_txt{'21'}</option>
                         <option value="regdate"$selReg>$ml_txt{'233'}</option>
                         <option value="lastonline"$selLastOn>$amv_txt{'9'}</option>
                         <option value="lastpost"$selLastPost>$amv_txt{'10'}</option>
                         <option value="lastim"$selLastIm>$amv_txt{'11'}</option>
                     </select>
                     <label for="reversed"><b>$admintxt{'37'}</b></label>
                     <input type="checkbox" onclick="submit()" name="reversed" id="reversed" class="titlebg" style="border: 0;"$selReversed />
                     <input type="submit" style="display:none" />
                     </form>
                 </td>
             </tr>
         </table>
         </div>
         <script src="$yyhtml_root/ubbc.js" type="text/javascript"></script>
         <script type="text/javascript">
             if (document.selsort.sortform.options[document.selsort.sortform.selectedIndex].value == 'username') {
                 document.selsort.reversed.disabled = true;
             }
         </script>
         <form name="adv_memberview" action="$adminurl?action=deletemultimembers$sortmode$sortorder$spages" method="post" style="display: inline" onsubmit="return submitproc()">
         <input type="hidden" name="button" value="0" />
         <div class="rightboxdiv">
         <table class="bordercolor borderstyle border-space pad-cell">
             <colgroup>
                 <col span="2" style="width:19%" />
                 <col style="width:5%" />
                 <col style="width:14%" />
                 <col style="width:19%" />
                 <col style="width:7%" />
                 <col span="2" style="width:6%" />
             </colgroup>
             <tr>
                 <td class="$selUser_a center"><a href="$adminurl?action=ml;sortform=username"><b>$ml_txt{'35'}</b></a></td>
                 <td class="$selPos_a center"><a href="$adminurl?action=ml;sortform=position"><b>$ml_txt{'87'}</b></a></td>
                 <td class="$selPost_a center" colspan="2"><a href="$adminurl?action=ml;sortform=posts"><b>$ml_txt{'21'}</b></a></td>
                 <td class="$selReg_a center"><a href="$adminurl?action=ml;sortform=regdate"><b>$ml_txt{'234'}</b></a></td>
                 <td class="windowbg2 center" colspan="3"><b>$amv_txt{'4'}</b>
                     <br /><span class="small $selLastOn_a" style="float: left; text-align: center; width: 34%;"><a href="$adminurl?action=ml;sortform=lastonline">$amv_txt{'5'}</a></span>
                     <span class="small $selLastPost_a" style="float: left; text-align: center; width: 33%;"><a href="$adminurl?action=ml;sortform=lastpost">$amv_txt{'6'}</a></span>
                     <span class="small $selLastIM_a" style="float: left; text-align: center; width: 33%;"><a href="$adminurl?action=ml;sortform=lastim">$amv_txt{'7'}</a></span></td>
                 <td class="windowbg2 center"><b>$admintxt{'38'}</b></td>
             </tr>
         ~;
   
     if ( $LetterLinks ne q{} ) {
         $TableHeader .= qq(<tr>
                 <td class="catbg" colspan="9"><span class="small">$LetterLinks</span></td>
             </tr>);
     }
   
     $selbox = q{};
     if ( $iamadmin || ($iamgmod && $gmod_access{'deletemultimembers'} eq 'on' ) ) {
         $sel_box = qq~
             <table class="bordercolor borderstyle border-space pad-cell" style="margin-bottom: .5em;">
                 <colgroup>
                     <col style="width: 95%" />
                     <col style="width: 5%" />
                 </colgroup>
                 <tr>
                     <td class="titlebg right" style="font-size: 11px; text-shadow: none;">
                     <label for="check_all"><b>$amv_txt{'38'}</b></label>
                     <select name="field2" id="field2" onchange="document.adv_memberview.check_all.checked=true;checkAll(1);">
                         <option value="0">$amv_txt{'35'}</option>
                         <option value="1">$amv_txt{'36'}</option>
                         <option value="2" selected="selected">$amv_txt{'37'}</option>
                     </select>
                     <input type="text" size="5" name="number" value="30" maxlength="5" onkeyup="document.adv_memberview.check_all.checked=true;checkAll(1);" />
                     <select name="field1" onchange="document.adv_memberview.check_all.checked=true;checkAll(1);">
                         <option value="0">$amv_txt{'30'}</option>
                         <option value="1">$amv_txt{'31'}</option>
                         <option value="2" selected="selected">$amv_txt{'32'}</option>
                         <option value="3">$amv_txt{'33'}</option>
                         <option value="4">$amv_txt{'34'}</option>
                     </select>
                     </td>
                     <td class="titlebg center">
                         <input type="checkbox" name="check_all" id="check_all" value="1" class="titlebg" style="border: 0;" onclick="javascript:if(this.checked)checkAll(1);else checkAll(0);" />
                     </td>
                 </tr>
             </table>
         <script type="text/javascript">
         mem_data = new Array ( "", $CheckingAll"" );
         function checkAll(ticked) {
             if(navigator.appName == "Microsoft Internet Explorer") {var alt_pressed = self.event.altKey; var ctrl_pressed = self.event.ctrlKey;}
             else {alt_pressed = false; ctrl_pressed = false;}
   
             var limit = document.adv_memberview.number.value;
             var field1 = document.adv_memberview.field1.value;
             var field2 = document.adv_memberview.field2.value;
             for (var i = 1; i <= $actualnum; i++) {
                 if (!ticked) {
                     document.adv_memberview.elements[i].checked = false;
                 } else {
                     var value1 = eval(mem_data[i].split("|")[field1]);
                     if (value1 != undefined) {
                         var check = 0;
                         if (field2 === 0 && value1 <  limit) { check = 1; }
                         if (field2 == 1 && value1 == limit) { check = 1; }
                         if (field2 == 2 && value1 >  limit) { check = 1; }
                         if (ctrl_pressed === true) { check = 0; }
                         if (alt_pressed  === true) { check = 1; }
                         if (check == 1) document.adv_memberview.elements[i].checked = true;
                         else            document.adv_memberview.elements[i].checked = false;
                     }
                 }
             }
         }
         </script>~;
     }
   
     $numbegin = ( $start + 1 );
     $numend   = ( $start + $MembersPerPage );
     if ( $numend > $memcount ) { $numend  = $memcount; }
     if ( $memcount == 0 )      { $numshow = q{}; }
     else { $numshow = qq~($numbegin - $numend $ml_txt{'309'} $memcount)~; }
     if ($inp) {
         $yymain .= qq~
     <div class="rightboxdiv">
     <table class="bordercolor border-space pad-cell">
         <tr>
             <td class="titlebg">
                 <span style="float: left;">$admin_img{'register'} <b>$admintxt{'17'}</b></span>
             </td>
         </tr><tr>
             <td class="catbg">
                 <div style="float: left; width: 50%; text-align: left;">$pageindex1</div>
             </td>
         </tr>
     </table>
     $TableHeader~;
     }
     else {
         $gmodsubmit = q{};
         if ( $iamadmin || ($iamgmod && $gmod_access{'deletemultimembers'} eq 'on' ) ) {
             $gmodsubmit = qq~    <div class="bordercolor rightboxdiv">
         <table class="border-space pad-cell">
         <tr>
             <th class="titlebg">$admin_img{'prefimg'} $admin_txt{'delete'}</th>
         </tr><tr>
             <td class="catbg center">
                 <div class="small"><label for="del_mail">$amv_txt{'45'}:</label> <input type="checkbox" name="del_mail" id="del_mail" value="1" /></div>
                 <input type="submit" value="$amv_txt{'15'}" onclick="javascript:window.document.adv_memberview.button.value = '2'; return confirm('$amv_txt{'20'}')" class="button" />
             </td>
          </tr>
     </table>
     </div>~;
         }
   
         $yymain .= qq~<tr>
         <td class="catbg" colspan="9">
             <div style="float: left; width: 50%; text-align: left;">$pageindex2</div>
             $pageindexjs
             </td>
         </tr>
        </table>
        $sel_box
     </div>
  $gmodsubmit;
     </form>~;
     }
     return;
  }
   
sub MLLastPost { sub MLLastPost {
   %TopMembers = ();    %TopMembers = ();
   
   &ManageMemberinfo("load");     ManageMemberinfo('load'); 
   while (($membername, $value) = each(%memberinf)) {    while ( ( $membername, $value ) = each %memberinf ) {
       &LoadUser($membername);         LoadUser($membername); 
       $TopMembers{$membername} = ${$uid.$membername}{'lastpost'};         $TopMembers{$membername} = ${ $uid . $membername }{'lastpost'}; 
       undef %{ $uid . $membername };        undef %{ $uid . $membername };
   }    }
   undef %memberinf;    undef %memberinf;
   
   my @toplist = sort { $TopMembers{$b} <=> $TopMembers{$a} } keys %TopMembers;     my @toplist = 
   undef %TopMembers;      reverse sort { $TopMembers{$a} <=> $TopMembers{$b} } keys %TopMembers;
     undef %TopMembers;
   if ($FORM{'reversed'} || $INFO{'reversed'}) {  
       @toplist = reverse @toplist;     if ( $FORM{'reversed'} || $INFO{'reversed'} ) { 
   }         @toplist = reverse @toplist; 
     }
   $memcount = @toplist;  
   &buildIndex;     $memcount = @toplist; 
   &buildPages(1);     buildIndex(); 
   $b = $start;     buildPages(1); 
     $bb = $start;
   while (($numshown < $MembersPerPage)) {  
       &showRows($toplist[$b]);     while ( ( $numshown < $MembersPerPage ) ) { 
       $numshown++;         showRows( $toplist[$bb] ); 
       $b++;         $numshown++; 
   }         $bb++; 
     }
   undef @toplist;  
   &buildPages(0);     undef @toplist; 
     buildPages(0);
   $yymain .= $TableFooter;  
   $yytitle = "$ml_txt{'313'} $TopAmmount $ml_txt{'314'}";     $yymain .= $TableFooter; 
   $action_area = 'viewmembers';     $yytitle     = "$ml_txt{'313'} $TopAmmount $ml_txt{'314'}"; 
   &AdminTemplate;     $action_area = 'viewmembers'; 
     AdminTemplate();
     return;
} }
   
sub MLLastIm { sub MLLastIm {
   %TopMembers = ();    %TopMembers = ();
   
   &ManageMemberinfo("load");     ManageMemberinfo('load'); 
   while (($membername, $value) = each(%memberinf)) {    while ( ( $membername, $value ) = each %memberinf ) {
       &LoadUser($membername);         LoadUser($membername); 
       $TopMembers{$membername} = ${$uid.$membername}{'lastim'};         $TopMembers{$membername} = ${ $uid . $membername }{'lastim'}; 
       undef %{ $uid . $membername };        undef %{ $uid . $membername };
   }    }
   undef %memberinf;    undef %memberinf;
   
   my @toplist = sort { $TopMembers{$b} <=> $TopMembers{$a} } keys %TopMembers;     my @toplist = 
   undef %TopMembers;      reverse sort { $TopMembers{$a} <=> $TopMembers{$b} } keys %TopMembers;
     undef %TopMembers;
   if ($FORM{'reversed'} || $INFO{'reversed'}) {  
       @toplist = reverse @toplist;     if ( $FORM{'reversed'} || $INFO{'reversed'} ) { 
   }         @toplist = reverse @toplist; 
     }
   $memcount = @toplist;  
   &buildIndex;     $memcount = @toplist; 
   &buildPages(1);     buildIndex(); 
   $b = $start;     buildPages(1); 
     $bb = $start;
   while (($numshown < $MembersPerPage)) {  
       &showRows($toplist[$b]);     while ( ( $numshown < $MembersPerPage ) ) { 
       $numshown++;         showRows( $toplist[$bb] ); 
       $b++;         $numshown++; 
   }         $bb++; 
     }
   undef @toplist;  
   &buildPages(0);     undef @toplist; 
     buildPages(0);
   $yymain .= $TableFooter;  
   $yytitle = "$ml_txt{'313'} $TopAmmount $ml_txt{'314'}";     $yymain .= $TableFooter; 
   $action_area = 'viewmembers';     $yytitle     = "$ml_txt{'313'} $TopAmmount $ml_txt{'314'}"; 
   &AdminTemplate;     $action_area = 'viewmembers'; 
     AdminTemplate();
     return;
} }
   
sub MLLastOnline { sub MLLastOnline {
   %TopMembers = ();    %TopMembers = ();
   
     ManageMemberinfo('load');
     while ( ( $membername, $value ) = each %memberinf ) {
         LoadUser($membername);
         $TopMembers{$membername} = ${ $uid . $membername }{'lastonline'};
         undef %{ $uid . $membername };
     }
     undef %memberinf;
   
     my @toplist =
       reverse sort { $TopMembers{$a} <=> $TopMembers{$b} } keys %TopMembers;
     undef %TopMembers;
   
     if ( $FORM{'reversed'} || $INFO{'reversed'} ) {
         @toplist = reverse @toplist;
     }
   
     $memcount = @toplist;
     buildIndex();
     buildPages(1);
     $bb = $start;
   
     while ( $numshown < $MembersPerPage ) {
         showRows( $toplist[$bb] );
         $numshown++;
         $bb++;
     }
   
     undef @toplist;
     buildPages(0);
   
     $yymain .= $TableFooter;
     $yytitle     = "$ml_txt{'313'} $TopAmmount $ml_txt{'314'}";
     $action_area = 'viewmembers';
     AdminTemplate();
     return;
  }
   
   &ManageMemberinfo("load");  sub FindMembers { 
   while (($membername, $value) = each(%memberinf)) {     $SearchStr = $FORM{'member'} || $INFO{'member'}; 
       &LoadUser($membername);     $LookFor = qq~^$SearchStr\$~; 
       $TopMembers{$membername} = ${$uid.$membername}{'lastonline'};     $LookFor =~ s/\*+/.*?/gsm; 
       undef %{ $uid . $membername };  
   }     ManageMemberinfo('load'); 
   undef %memberinf;     my %memberfind = (); 
     while ( ( $membername, $value ) = each %memberinf ) {
   my @toplist = sort { $TopMembers{$b} <=> $TopMembers{$a} } keys %TopMembers;         ( $memrealname, $mememail, undef ) = split /\|/xsm, $value, 3; 
   undef %TopMembers;         if ( $memrealname =~ /$LookFor/ism ) { 
             $memberfind{$membername} = $memrealname;
   if ($FORM{'reversed'} || $INFO{'reversed'}) {         } 
       @toplist = reverse @toplist;         elsif ( $mememail =~ /$LookFor/ism ) { 
   }             if ( $iamadmin || $iamgmod ) 
             {
   $memcount = @toplist;                 $memberfind{$membername} = $memrealname; 
   &buildIndex;             } 
   &buildPages(1);         } 
   $b = $start;     } 
     @findmemlist =
   while (($numshown < $MembersPerPage)) {       sort { lc $memberfind{$a} cmp lc $memberfind{$b} } keys %memberfind; 
       &showRows($toplist[$b]);     undef %memberfind; 
       $numshown++;     $memcount = @findmemlist; 
       $b++;     buildIndex(); 
   }     buildPages(1); 
     if ( $memcount > 0 ) {
   undef @toplist;         my $i = $start; 
   &buildPages(0);         $numshown = 0; 
         while ( $numshown < $MembersPerPage ) {
   $yymain .= $TableFooter;             chomp $findmemlist[$i]; 
   $yytitle = "$ml_txt{'313'} $TopAmmount $ml_txt{'314'}";             showRows( $findmemlist[$i] ); 
   $action_area = 'viewmembers';             $numshown++; 
   &AdminTemplate;             $i++; 
         }
     $isgood = 1;
     }
     else {
         $yymain .= qq~
             <tr>
                   <td class="windowbg2" colspan="9"><br />$ml_txt{'802'} <i>$FORM{'member'}</i><br /><br /></td>
             </tr>~;
         $isgood = 0;
     }
     undef @findmemlist;
     undef %memberinf;
     buildPages(0);
     $yytitle = "$ml_txt{'313'} $ml_txt{'4'} $ml_txt{'87'} $numshow";
     AdminTemplate();
     return $isgood;
} }
   
1; 1;