init
This commit is contained in:
85
livejournal/htdocs/dev/userlist.bml
Executable file
85
livejournal/htdocs/dev/userlist.bml
Executable file
@@ -0,0 +1,85 @@
|
||||
<?page
|
||||
title=>Users on this server
|
||||
body<=
|
||||
<?_code
|
||||
{
|
||||
use strict;
|
||||
use vars qw(%GET);
|
||||
return "Not a dev server." unless $LJ::IS_DEV_SERVER;
|
||||
|
||||
my $pagesize = 250;
|
||||
|
||||
$GET{'page'} ||= 1;
|
||||
my $page = $GET{'page'} - 1;
|
||||
my $offset = $page * $pagesize;
|
||||
my $ret = "";
|
||||
my $dbr = LJ::get_db_reader();
|
||||
my %ss;
|
||||
my $orderby = $GET{'sort'} eq 'user' ? "user" :
|
||||
$GET{'sort'} eq 'jt' ? "journaltype,user" :
|
||||
$GET{'sort'} eq 'sv' ? "statusvis,user" : "userid";
|
||||
my $pagesizeplus1 = $pagesize + 1;
|
||||
my $h = $dbr->prepare("SELECT userid,user,journaltype,statusvis FROM user ORDER BY $orderby LIMIT $offset,$pagesizeplus1");
|
||||
$h->execute;
|
||||
my @userids;
|
||||
while (my $row = $h->fetchrow_hashref) {
|
||||
$ss{$row->{'userid'}} = $row;
|
||||
push @userids, $row->{'userid'};
|
||||
}
|
||||
my $islastpage = 1;
|
||||
if (scalar(@userids) > $pagesize) {
|
||||
pop @userids;
|
||||
$islastpage = 0;
|
||||
}
|
||||
my $inclause = join (",", @userids);
|
||||
$h = $dbr->prepare("SELECT * FROM reluser WHERE userid IN ($inclause)");
|
||||
$h->execute;
|
||||
while (my $row = $h->fetchrow_hashref) {
|
||||
push @{$ss{$row->{'userid'}}->{'reluser'}}, $row;
|
||||
}
|
||||
|
||||
# sort bar
|
||||
my $pagearg = $GET{'page'} > 1 ? "&page=$GET{'page'}" : "";
|
||||
my $pagearg2 = $GET{'page'} > 1 ? "?page=$GET{'page'}" : "";
|
||||
$ret .= "<?p <strong>Sort by:</strong> [<a href='userlist.bml$pagearg2'> User ID
|
||||
</a>|<a href='userlist.bml?sort=user$pagearg'> Username
|
||||
</a>|<a href='userlist.bml?sort=jt$pagearg'> Journal Type
|
||||
</a>|<a href='userlist.bml?sort=sv$pagearg'> Status Vis
|
||||
</a>] p?>";
|
||||
|
||||
# page bar
|
||||
my $next = $page + 2;
|
||||
$pagearg = $page > 1 ? "&page=$page" : "";
|
||||
$ret .= "<?p [" if $page || !$islastpage;
|
||||
$ret .= "<a href='userlist.bml?sort=$GET{'sort'}$pagearg'> Previous Page </a>" if $page;
|
||||
$ret .= "|" if $page && !$islastpage;
|
||||
$ret .= "<a href='userlist.bml?sort=$GET{'sort'}&page=$next'> Next Page </a>" if !$islastpage;
|
||||
$ret .= "] p?>" if $page || !$islastpage;
|
||||
|
||||
$ret .= "<br /><br /> <table width='100%' border='1'>
|
||||
<tr valign='bottom'><td><b>User ID</b></td><td><b>Username</b></td>
|
||||
<td><b>T/S</b></td><td><b>Reluser Edges</b></td></tr>";
|
||||
|
||||
foreach my $userid (@userids) {
|
||||
my $hr = $ss{$userid};
|
||||
$ret .= "<tr><td><b>$userid</b></td><td>";
|
||||
$ret .= LJ::ljuser($hr->{'user'}, {type=> $hr->{'journaltype'}});
|
||||
$ret .= "</td><td><b>$hr->{'journaltype'}</b>/<b>$hr->{'statusvis'}</b></td><td>";
|
||||
if ($hr->{'reluser'} && scalar(@{$hr->{'reluser'}})) {
|
||||
my $c = 0;
|
||||
foreach my $t (sort { $a->{'type'} cmp $b->{'type'} }
|
||||
@{$hr->{'reluser'}}) {
|
||||
$ret .= "; " if $c;
|
||||
$ret .= "<b>$t->{'type'}</b>/";
|
||||
$ret .= LJ::ljuser($ss{$t->{'targetid'}}->{'user'}, {type=>
|
||||
$ss{$t->{'targetid'}}->{'journaltype'}});
|
||||
$c = 1;
|
||||
}
|
||||
}
|
||||
$ret .= "</td></tr>";
|
||||
}
|
||||
$ret .= "</table>";
|
||||
return $ret;
|
||||
}
|
||||
_code?>
|
||||
page?>
|
||||
Reference in New Issue
Block a user