body<= " unless $remote; my $err = sub { return ""; }; return $err->($ML{'.disabled'}) if $LJ::DISABLED{tags}; LJ::need_res("stc/tags.css", "js/tags.js"); my ($ret, $msg); return $err->($ML{'.invalid.link'}) unless LJ::did_post() || ($GET{journal} && $GET{itemid}); my $journal = $GET{journal} || $POST{journal}; my $u = LJ::load_user($journal); return $err->($ML{'.invalid.journal'}) unless $u; return $err->($ML{'.readonly.journal'}) if $u->is_readonly; return $err->($ML{'.invalid.journal'}) unless $u->{statusvis} eq 'V'; my $ditemid = ($GET{itemid} || $POST{itemid})+0; my $anum = $ditemid % 256; my $jitemid = $ditemid >> 8; return $err->($ML{'.invalid.entry'}) unless $jitemid; my $logrow = LJ::get_log2_row($u, $jitemid); return $err->($ML{'.invalid.entry'}) unless $logrow; return $err->($ML{'.invalid.entry'}) unless $logrow->{anum} == $anum; return $err->($ML{'.invalid.notauthorized'}) unless LJ::can_view($remote, $logrow); # poster must be visible too if ($logrow->{posterid} != $u->{userid}) { my $pu = LJ::load_userid($logrow->{posterid}); unless ($remote->can_manage($u) && !$pu->is_suspended) { return $err->($ML{'.readonly.poster'}) if $pu->is_readonly; return $err->($ML{'.invalid.journal'}) if $pu->{statusvis} ne 'V'; } } if (LJ::did_post()) { return $err->($ML{'.invalid.link'}) unless LJ::check_form_auth(); my $tagerr = ""; my $rv = LJ::Tags::update_logtags($u, $jitemid, { set_string => $POST{edittags}, remote => $remote, err_ref => \$tagerr, }); return $err->($tagerr) unless $rv; BML::redirect( LJ::journal_base($u) . "/$ditemid.html" ); #$msg = "
| $ML{'.subject'} | $subj |
| $ML{'.entry'} | $evt |
|   | |
| $ML{'.current'} | "; $ret .= '|
| $ML{'.users'} | ";
if ( scalar keys %$usertags ) {
$ret .= "";
} else {
$ret .= "none"
}
$ret .= " "; $ret .= "$ML{'.permissions.add.yes'} " if LJ::Tags::can_add_tags($u, $remote); $ret .= "$ML{'.permissions.control.yes'} " if LJ::Tags::can_control_tags($u, $remote); $ret .= BML::ml('.view', { aopts => 'href="' . LJ::journal_base($u) . "/$ditemid.html" . '"' }); $ret .= " |