Committer: sbelyaev
LJSUP-10037: fixed problem with error after postU trunk/cgi-bin/LJ/DelayedEntry.pm U trunk/cgi-bin/LJ/User.pm
Modified: trunk/cgi-bin/LJ/DelayedEntry.pm =================================================================== --- trunk/cgi-bin/LJ/DelayedEntry.pm 2011-10-06 07:16:03 UTC (rev 20237) +++ trunk/cgi-bin/LJ/DelayedEntry.pm 2011-10-06 10:16:46 UTC (rev 20238) @@ -687,10 +687,6 @@ $sql_poster = 'AND posterid = ' . $user->userid . " "; } - #my $secwhere = __delayed_entry_can_see() __delayed_entry_secwhere( $journal, - # $journal->userid, - # $userid ); - my $tz = $user->prop("timezone"); my $daterequest; if ($tz) { @@ -795,10 +791,6 @@ $u ); } - #my $secwhere = __delayed_entry_secwhere( $journal, - # $journal->userid, - # $userid ); - return $dbcr->selectrow_array(" SELECT count(delayedid) " . "FROM delayedlog2 ". "WHERE journalid=$journalid "); @@ -850,11 +842,13 @@ my $remote = LJ::get_remote(); return undef unless $remote; - return undef unless __delayed_entry_can_see( $journal, - $remote ); - + my $sql_poster = ''; + if (! __delayed_entry_can_see( $journal, $remote ) ) { + $sql_poster = 'AND posterid = ' . $remote->userid . " "; + } + my $sth = $dbcr->prepare("SELECT year, month, day, COUNT(*) " . - "FROM delayedlog2 WHERE journalid=? $secwhere GROUP BY 1, 2, 3"); + "FROM delayedlog2 WHERE journalid=? $sql_poster $secwhere GROUP BY 1, 2, 3"); $sth->execute($journal->userid); while (my ($y, $m, $d, $c) = $sth->fetchrow_array) { push @$list, [ int($y), int($m), int($d), int($c) ]; @@ -1264,14 +1258,13 @@ "VALUES ($journalid, $jitemid, $posterid, $qeventtime, FROM_UNIXTIME($now), $qsecurity, $qallowmask, ". "0, $req->{'year'}, $req->{'mon'}, $req->{'day'}, $LJ::EndOfTime-". "UNIX_TIMESTAMP($qeventtime), $rlogtime, $anum)"); - return { error_message => $dberr, delete_entry => 0, } if $dberr; # post become 'sticky post' - if ( $req->{type} && $req->{type} eq 'sticky' ) { + if ( $req->{sticky} ) { $journal->set_sticky($jitemid); } @@ -1296,7 +1289,6 @@ $release->(); my $ditemid = $jitemid * 256 + $anum; - ### finish embedding stuff now that we have the itemid { ### this should NOT return an error, and we're mildly fucked by now Modified: trunk/cgi-bin/LJ/User.pm =================================================================== --- trunk/cgi-bin/LJ/User.pm 2011-10-06 07:16:03 UTC (rev 20237) +++ trunk/cgi-bin/LJ/User.pm 2011-10-06 10:16:46 UTC (rev 20238) @@ -7871,14 +7871,7 @@ LJ::MemCache::set($memkey, [time, @days]); # not cached part - $sth = LJ::DelayedEntry->get_daycount_query($u, $secwhere); - if ($sth) { - while (my ($y, $m, $d, $c) = $sth->fetchrow_array) { - # we force each number from string scalars (from DBI) to int scalars, - # so they store smaller in memcache - push @days, [ int($y), int($m), int($d), int($c) ]; - } - } + LJ::DelayedEntry->get_daycount_query($u, \@days, $secwhere); $release_lock->(); return \@days; }