body<= qr/./); my $head = \$_[1]->{'head'}; my $bodyopts = \$_[1]->{'bodyopts'}; my $remote = LJ::get_remote(); return "" unless $remote; my $mode = $GET{'mode'} || $POST{'mode'} || "init"; if ($GET{'itemid'} || $POST{'itemid'}) { $mode = "edit"; } LJ::need_res( { priority => $LJ::OLD_RES_PRIORITY }, 'stc/entry.css' ); LJ::need_res( 'js/6alib/inputcomplete.js' ); # are they asking to be authed as someone else? my $authas = $GET{'authas'} || $remote->{'user'}; my $u = LJ::get_authas_user($authas); return LJ::bad_input( $ML{'error.invalidauth'} ) unless $u; return LJ::bad_input( $ML{'error.person'} ) unless $u->is_individual; # are we modify a community post? my $usejournal = $GET{'usejournal'} || $POST{'usejournal'} || $GET{'journal'}; undef $usejournal if $usejournal eq $u->{'user'}; # ignore if it's the user # extra get arguments my $getextra = ''; $getextra .= "authas=$authas&" if $authas ne $u->{'user'}; $getextra .= "usejournal=$usejournal&" if $usejournal; chop $getextra; $getextra = "?$getextra" if $getextra; my $entry_chooser = sub { my $ret; my $ref = shift; my %opts = @_; my %res = %$ref; $ret .= "
";
my %props = ();
for (my $i=1; $i<=$res{'prop_count'}; $i++) {
$props{$res{"prop_${i}_itemid"}}->{$res{"prop_${i}_name"}} = $res{"prop_${i}_value"};
}
my $ev_count = $res{'events_count'};
for (my $i=1; $i<=$ev_count; $i++) {
my $itemid = $res{"events_${i}_itemid"};
my $ditemid = $itemid * 256 + $res{"events_${i}_anum"};
$ret .= "
| ";
$ret .= "
| ";
my $message;
if ($deleted) {
$result .= ($journalu->is_community) ?
"" :
"";
$result .= "" if $POST{'action:deletespam'};
$result .= $xpost_result;
my $deleted_extras = LJ::Hooks::run_hook('entry_deleted_page_extras');
$result .= $deleted_extras if defined $deleted_extras;
} else {
$message = LJ::auto_linkify( LJ::html_newlines( LJ::ehtml( $res{message} ) ) );
$result .= ($journalu->is_community) ?
"" :
"";
$result .= " $message " if $message;
$result .= $xpost_result;
if ($POST{'action:save'} && $entry_obj->is_suspended) {
$result .= "";
}
}
if (!$deleted) {
my $security_ml;
my $filternames = '';
my $c_or_p = $journalu->is_community ? 'c' : 'p';
if ($req{"security"} eq "private") {
$security_ml = "post.security.private.$c_or_p";
} elsif ($req{"security"} eq "usemask") {
if ($req{"allowmask"} == 0) { # custom security with no group -- essentially private
$security_ml = "post.security.private.$c_or_p";
} elsif ($req{"allowmask"} > 1) { # custom group
$filternames = $journalu->security_group_display( $req{allowmask} );
$security_ml = "post.security.custom";
} else { # access list only
$security_ml = "post.security.access.$c_or_p";
}
} else {
$security_ml = "post.security.public";
}
$result .= " $filternames } ) . " p?>";
my $subject = $req{subject};
if ( length $subject > 0 ) {
# use the HTML cleaner on the entry subject,
# then display it without escaping
LJ::CleanHTML::clean_subject( \$subject );
} else {
# display (no subject) if subject is empty
$subject = $ML{'.extradata.subj.no_subject'};
}
$result .= "";
}
$result .= "$ML{'.success.fromhere'} ";
$result .= "
| ";
$result .= "
"; $auth .= ""; $auth .= $usejournal ? LJ::ljuser($res{'events_1_poster'}) . " in community " . LJ::ljuser($usejournal) : LJ::ljuser($remote); $auth .= LJ::html_hidden("usejournal", $usejournal); $auth .= "
"; my $username = $usejournal ? $usejournal : $remote->user; $auth .= ""; my ($year, $mon, $mday, $hour, $min) = split(/\D/, $res{"events_1_eventtime"}); my $datetime; my $date = LJ::html_datetime_decode({ 'name' => "date_ymd", }, \%POST); if ($date ne "0000-00-00 00:00:00") { my ($date, $time) = split( m/ /, $date); $datetime = "$date $POST{'hour'}:$POST{'min'}"; } else { $datetime = "$year-$mon-$mday $hour:$min"; } my $subject = $POST{'subject'} || $res{'events_1_subject'}; my $event = $POST{'event'} || $res{'events_1_event'}; my $curmask = $res{'events_1_allowmask'}; my $cursec = $res{'events_1_security'} || $POST{'security'}; if ($cursec eq 'usemask') { $cursec = $curmask == 1 ? "friends" : "custom"; } # start edit form my $ret; my $js; $ret .= "| "; $ret .= ""; $ret .= " | "; $ret .= "
| "; # user switcher $ret .= "\n\n"; # header $ret .= " "href='$LJ::SITEROOT/editprivacy'" } ) if $remote->can_use_mass_privacy; $ret .= " p?>\n"; # edit form $ret .= "\n"; my %res; my %req = ( mode => 'getevents', ver => $LJ::PROTOCOL_VER, user => $u->user, usejournal => $usejournal, truncate => 300, noprops => 1, selecttype => 'lastn', howmany => 5, ); # do getevents request LJ::do_request(\%req, \%res, { noauth => 1, u => $u }); if ($res{success} eq "OK" && $res{events_count} > 0) { $ret .= $entry_chooser->(\%res); } $ret .= " |