Committer: anazarov
LJSV-1152: Add admin mode to manage/files.bmlU trunk/htdocs/manage/files.bml U trunk/htdocs/manage/files.bml.text.local
Modified: trunk/htdocs/manage/files.bml =================================================================== --- trunk/htdocs/manage/files.bml 2011-10-13 08:14:17 UTC (rev 11088) +++ trunk/htdocs/manage/files.bml 2011-10-13 11:39:47 UTC (rev 11089) @@ -13,8 +13,21 @@ my $remote = LJ::get_remote(); return "<?needlogin?>" unless $remote; + my ($u, $view_user_files); my $authas = $GET{'authas'} || $remote->{'user'}; - my $u = LJ::get_authas_user($authas); + my $can_view_files = LJ::check_priv($remote, 'canview', 'userfiles'); + + # This variable is set when remote user is viewing other users files + $view_user_files = 1 + if $can_view_files and $GET{'user'} and $GET{'user'} ne $authas; + + if ( $view_user_files ) { + $u = LJ::canonical_username($GET{'user'}); + $u = LJ::load_user($u, "force"); + } else { + $u = LJ::get_authas_user($authas); + } + return LJ::bad_input($ML{'error.invalidauth'}) unless $u; @@ -45,6 +58,7 @@ $uri .= "showtype=$showtype&" if $showtype; $uri .= "page=$page&" if $page > 1; $uri .= "sort=$sort&" if $sort; + $uri .= "user=". $u->{'user'}, '&' if $can_view_files; chop $uri; return $uri; @@ -225,8 +239,12 @@ # delete checkbox $ret .= "<tr><td class='tablecontent'>"; - $ret .= LJ::html_check({ 'type' => 'check', 'name' => "del_${picid}", - 'id' => "del_${picid}", 'value' => 1 }) . "</td>"; + if ( $view_user_files ) { + $ret .= ' </td>'; + } else { + $ret .= LJ::html_check({ 'type' => 'check', 'name' => "del_${picid}", + 'id' => "del_${picid}", 'value' => 1 }) . "</td>"; + } # display userpic $ret .= "<td class='tablecontent'><label for='del_${picid}'>"; @@ -254,10 +272,12 @@ } # delete button - $ret .= "<tr><td colspan='4' align='left'>"; - $ret .= LJ::html_submit('action:delete', "Delete Selected") . "</td>"; - $ret .= "<td colspan='4' align='right'>[<a href='$LJ::SITEROOT/editpics.bml#upload'>"; - $ret .= $ML{'.upload.userpics'} . "</a>]"; + unless ( $view_user_files ) { + $ret .= "<tr><td colspan='4' align='left'>"; + $ret .= LJ::html_submit('action:delete', "Delete Selected") . "</td>"; + $ret .= "<td colspan='4' align='right'>[<a href='$LJ::SITEROOT/editpics.bml#upload'>"; + $ret .= $ML{'.upload.userpics'} . "</a>]"; + } return $ret; }, @@ -408,9 +428,13 @@ my $blobid = $bl->{'blobid'}; # delete checkbox - $ret .= "<tr><td class='tablecontent'>"; - $ret .= LJ::html_check({ 'type' => 'check', 'name' => "del_${blobid}", - 'value' => 1, 'selected' => 0, disabled => $LJ::DISABLE_MEDIA_UPLOADS }); + if ( $view_user_files ) { + $ret .= ' '; + } else { + $ret .= "<tr><td class='tablecontent'>"; + $ret .= LJ::html_check({ 'type' => 'check', 'name' => "del_${blobid}", + 'value' => 1, 'selected' => 0, disabled => $LJ::DISABLE_MEDIA_UPLOADS }); + } $ret .= "</td>"; # link to phonepost @@ -450,9 +474,11 @@ } # delete button - $ret .= "<tr><td colspan='6' align='left'>"; - $ret .= LJ::html_submit('action:delete', $ML{'.delete.selected'}, { disabled => $LJ::DISABLE_MEDIA_UPLOADS }); - $ret .= "</td>"; + unless ( $view_user_files ) { + $ret .= "<tr><td colspan='6' align='left'>"; + $ret .= LJ::html_submit('action:delete', $ML{'.delete.selected'}, { disabled => $LJ::DISABLE_MEDIA_UPLOADS }); + $ret .= "</td>"; + } return $ret; } @@ -490,9 +516,13 @@ $ret .= "<td class='tablecontent' valign='top'>"; $ret .= "$pp_display ("; $ret .= $max_size && $max_size > 0 ? sprintf("%.2f%%", ($pp_bytes / $max_size) * 100) : '0.00%'; - $ret .= " $ML{'of.your.total'}) <br />"; + if ( $view_user_files ) { + $ret .= " $ML{'.of.his.total'}) <br />"; + } else { + $ret .= " $ML{'.of.your.total'}) <br />"; + $ret .= BML::ml('.please.visit', {"ahref"=>"<a href='$LJ::FB_SITEROOT'>$LJ::FB_DOMAIN</a>"}); + } - $ret .= BML::ml('.please.visit', {"ahref"=>"<a href='$LJ::FB_SITEROOT'>$LJ::FB_DOMAIN</a>"}); $ret .= '</td></tr>'; return $ret; }, @@ -508,11 +538,25 @@ # authas switcher form $ret .= "<form method='get' action='files.bml'>\n"; $ret .= LJ::html_hidden('showtype' => $showtype) if $showtype; + $ret .= LJ::html_hidden('user' => $GET{'user'}) + if $can_view_files; $ret .= LJ::make_authas_select($remote, { 'authas' => $GET{'authas'} }) . "\n"; $ret .= "</form>\n\n"; + # user select form + if ( $can_view_files ) { + $ret .= "<form method='get' action='files.bml'>\n"; + $ret .= "Show user: " . LJ::html_text({ 'name' => 'user', 'size' => 15, 'maxlength' => 15, 'value' => $GET{'user'} }) . " "; + $ret .= LJ::html_hidden('authas' => $GET{'authas'}) if $authas ne $remote->{'user'}; + $ret .= LJ::html_hidden('showtype' => $showtype) if $showtype; + $ret .= LJ::html_submit($ML{'.show'}) . "</form>"; + $ret .= "</form>\n\n"; + } + # domain type selector $ret .= "<form method='get' action='files.bml'>$ML{'.filetype'} "; + $ret .= LJ::html_hidden('user' => $GET{'user'}) + if $can_view_files; $ret .= LJ::html_hidden('authas' => $authas) if $authas ne $remote->{'user'}; $ret .= LJ::html_select({ 'name' => 'showtype', 'selected' => $showtype }, '' => '---', @@ -530,11 +574,20 @@ if ($max_size) { $ret .= "<?h2 $ML{'.quota.usage'} h2?>"; - $ret .= "<p>" . BML::ml('.currently.use', { - "used_size"=>$size->($used_size), - "used_size_persent"=>sprintf("%.2f%%", ($used_size / $max_size) * 100), - "total_size"=>$size->($max_size) - }) . "</p>"; + if ( $view_user_files ) { + $ret .= "<p>" . BML::ml('.currently.uses', { + user => $u->{'user'}, + used_size =>$size->($used_size), + used_size_persent => sprintf("%.2f%%", ($used_size / $max_size) * 100), + total_size => $size->($max_size) + }) . "</p>"; + } else { + $ret .= "<p>" . BML::ml('.currently.use', { + "used_size"=>$size->($used_size), + "used_size_persent"=>sprintf("%.2f%%", ($used_size / $max_size) * 100), + "total_size"=>$size->($max_size) + }) . "</p>"; + } } return $ret unless defined $btype{$showtype}; @@ -564,7 +617,11 @@ # no blobs? unless (@blobs) { $ret .= "<?h1 $ML{'.no.files'} h1?>"; - $ret .= "<?p $ML{'.do.not.have.files'} p?>"; + if ( $view_user_files ) { + $ret .= BML::ml('.do.not.has.files', { user => $GET{'user'} }); + } else { + $ret .= "<?p $ML{'.do.not.have.files'} p?>"; + } return $ret; } @@ -611,6 +668,8 @@ ### Perform actions ### if (LJ::did_post() && $POST{'action:delete'}) { + # We should not delete other users files + return BML::redirect($self_link->()) if $view_user_files; my $res = $bobj->{'delete'}->(); if ($res) { Modified: trunk/htdocs/manage/files.bml.text.local =================================================================== --- trunk/htdocs/manage/files.bml.text.local 2011-10-13 08:14:17 UTC (rev 11088) +++ trunk/htdocs/manage/files.bml.text.local 2011-10-13 11:39:47 UTC (rev 11089) @@ -2,12 +2,18 @@ .currently.use|staleness=1 .currently.use=You are currently using [[used_size]] ([[used_size_persent]]) of your [[total_size]] quota. +.currently.uses|staleness=1 +.currently.uses=[[user]] is currently using [[used_size]] ([[used_size_persent]]) of his [[total_size]] quota. + .delete.selected|staleness=1 .delete.selected=Delete Selected .do.not.have.files|staleness=1 .do.not.have.files=You do not have any files of the specified type. Please select a different type from the list above and try again. +.do.not.has.files|staleness=1 +.do.not.has.files=[[user]] has not any files of the specified type. Please select a different type from the list above and try again. + .filesize.totals|staleness=1 .filesize.totals=Filesize Totals @@ -29,6 +35,9 @@ .of.your.total|staleness=1 .of.your.total=of your total +.of.his.total|staleness=1 +.of.his.total=of his total + .photo.hosting|staleness=1 .photo.hosting=Photo Hosting