body<= qr/./); my $head = \$_[1]->{'head'}; my $bodyopts = \$_[1]->{'bodyopts'}; LJ::set_active_crumb('editentries'); my $remote = LJ::get_remote(); return "" unless $remote; if ($remote->underage) { return BML::redirect("$LJ::SITEROOT/agecheck/?s=1"); } my $mode = $GET{'mode'} || $POST{'mode'} || "init"; if ($GET{'itemid'} || $POST{'itemid'}) { $mode = "edit"; } my $ret; my $getextra = "?authas=$GET{'authas'}" if $GET{'authas'}; LJ::need_res('stc/entry.css', 'js/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("You could not be authenticated as the specified user.") unless $u; return LJ::bad_input("You must be authenticated as a person.") unless $u->{'journaltype'} eq 'P'; # 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; my $show_ad = $opts{show_ad} ? 1 : 0; $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 .= "
| ";
my $ad = LJ::get_ads({ location => 'bml.editjournal', ljadwrapper => 1 });
if ($ad && $show_ad) {
$ret .= "$ad | "; } $ret .= "
| ";
if ($deleted) {
$result .= "";
$result .= "" if $POST{'action:deletespam'};
my $deleted_extras = LJ::run_hook('entry_deleted_page_extras');
$result .= $deleted_extras if defined $deleted_extras;
} else {
$result .= "";
# open a request about the unsuspension if one doesn't already exist
if ($POST{'action:saveunsuspend'} && !$entry_obj->prop("unsuspend_supportid") && $LJ::UNSUSPENSION_REQUEST_SPCATID) {
my %req;
$req{reqtype} = "user";
$req{requserid} = $remote->id;
$req{uniq} = LJ::UniqCookie->current_uniq;
$req{spcatid} = $LJ::UNSUSPENSION_REQUEST_SPCATID;
$req{ignore_dup_check} = 1; # can't have dup checking in case a particular entry gets re-suspended after unsuspension
$req{subject} = "Unsuspension Request from " . $remote->user;
$req{body} = "The suspended entry at " . $entry_obj->url . " has been edited and the poster requests unsuspension.";
my @errors;
my $spid = LJ::Support::file_request(\@errors, \%req);
if ($spid) {
$entry_obj->set_prop( unsuspend_supportid => $spid );
my $url = "$LJ::SITEROOT/support/see_request.bml?id=$spid";
$result .= " "$url" }) . " p?>";
}
} elsif ($POST{'action:save'} && $entry_obj->is_suspended && !$entry_obj->prop("unsuspend_supportid")) {
$result .= " "href='$LJ::SITEROOT/abuse/report.bml'" }) . " p?>";
}
}
$result .= " $ML{'.success.fromhere'} ";
$result .= "
| ";
my $ad = LJ::get_ads({ location => 'bml.editjournal', ljadwrapper => 1 });
if ($ad) {
$result .= "$ad | "; } $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( / /, $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 .= " | "; my $ad = LJ::get_ads({ location => 'bml.editjournal', ljadwrapper => 1 }); if ($ad) { $ret .= "$ad | "; } $ret .= "
| "; # user switcher $ret .= "\n\n"; # header $ret .= " "href='$LJ::SITEROOT/editprivacy.bml'"}) . " p?>\n"; # edit form $ret .= " |