| ############################################################################### |
| ############################################################################### |
| # 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 </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 </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 = " "; } |
| } |
| 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 = " "; |
| 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 = ' '; } |
| 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 = ' '; |
| $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~ ~; |
| 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 </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~ ~; |
| |
| } |
| |
| 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 </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> ... ~; } |
| $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> ~; } |
| $lastptn = ( $lastpn - 1 ) * $MembersPerPage; |
| for ($counter = $startpage; $counter < $endpage; $counter += $MembersPerPage) { |
| $pageindex1 = |
| $pagetxtindex .= $start == $counter ? qq~<b>$tmpa</b> ~ : qq~<a href="$adminurl?action=ml;sort=$FORM{'sortform'};letter=$letter;start=$counter$sortorder" style="font-weight: normal;">$tmpa</a> ~; |
| 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~... ~; } |
| 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> ... ~; |
| $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> ~; |
| $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> ~ |
| $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> ~; |
| $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~... ~; |
| $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"> </span>~; |
| } |
| $pagedropindex2 .= qq~<span id="ViewIndex2" class="droppageindex" style="height: 14px; visibility: hidden"> </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"> </span>~; |
| pagedropindex += '</tr></table>'; |
| $pagedropindex2 .= |
| document.getElementById("ViewIndex1").innerHTML=pagedropindex; |
| q~<span id="ViewIndex2" class="droppageindex" style="height: 14px; visibility: hidden"> </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; |
| |
| |