Committer: ailyin
LJSUP-11976 (refactor methods working with infohistory into classes of its own)U trunk/cgi-bin/LJ/Console/Command/Redirect.pm U trunk/cgi-bin/LJ/Sponsored/User.pm
Modified: trunk/cgi-bin/LJ/Console/Command/Redirect.pm =================================================================== --- trunk/cgi-bin/LJ/Console/Command/Redirect.pm 2012-04-27 11:04:44 UTC (rev 11844) +++ trunk/cgi-bin/LJ/Console/Command/Redirect.pm 2012-04-27 11:16:42 UTC (rev 11845) @@ -62,9 +62,9 @@ # update user, undelete (checked to see if already expunged earlier) LJ::update_user($fromu, { raw => "journaltype='R', statusvis='R', statusvisdate=NOW()" }); - LJ::infohistory_add($fromu, 'journaltype', $org_journaltype); - LJ::infohistory_add($fromu, 'statusvis', $org_statusvis); - LJ::infohistory_add($fromu, 'renamedto', $org_renamedto); + LJ::User::InfoHistory->add( $fromu, 'journaltype', $org_journaltype ); + LJ::User::InfoHistory->add( $fromu, 'statusvis', $org_statusvis ); + LJ::User::InfoHistory->add( $fromu, 'renamedto', $org_renamedto ); LJ::statushistory_add($fromu, $remote, 'user_redirect_add', "Redirecting to '$arg'"); return $self->print("Redirection added from '$from' to '$arg'"); @@ -83,9 +83,9 @@ # update user, set deleted LJ::update_user($fromu, { raw => "journaltype='$arg', statusvis='V', statusvisdate=NOW()" }); - LJ::infohistory_add($fromu, 'journaltype', $org_journaltype); - LJ::infohistory_add($fromu, 'statusvis', $org_statusvis); - LJ::infohistory_add($fromu, 'renamedto', $org_renamedto); + LJ::User::InfoHistory->add( $fromu, 'journaltype', $org_journaltype ); + LJ::User::InfoHistory->add( $fromu, 'statusvis', $org_statusvis ); + LJ::User::InfoHistory->add( $fromu, 'renamedto', $org_renamedto ); LJ::statushistory_add($fromu, $remote, 'user_redirect_removed'); return $self->print("Redirection from '$from' removed."); Modified: trunk/cgi-bin/LJ/Sponsored/User.pm =================================================================== --- trunk/cgi-bin/LJ/Sponsored/User.pm 2012-04-27 11:04:44 UTC (rev 11844) +++ trunk/cgi-bin/LJ/Sponsored/User.pm 2012-04-27 11:16:42 UTC (rev 11845) @@ -154,12 +154,18 @@ local $dbr->{RaiseError} = 1; my $check_all_current_emails = $dbr->prepare("SELECT count(*) FROM email WHERE email = ? AND userid != ?"); + + # TODO: change parts of it working with infohistory to using + # LJ::User::InfoHistory; this is not that important because + # LJ::Sponsored::* is not used at the time of writing, + # but still, database joins are suboptimal my $check_sponsored_validated = $dbr->prepare("SELECT count(*) FROM sup_sponsored_users s, user u, email e " . "WHERE s.sponsorid = ? AND s.userid = u.userid AND s.userid = e.userid " . "AND u.status = 'A' AND e.email = ?"); my $find_last_validated = $dbr->prepare("SELECT h.userid, MAX(h.timechange) FROM sup_sponsored_users s, user u, infohistory h " . "WHERE s.sponsorid = ? AND s.userid = u.userid AND s.userid = h.userid " . "AND u.status != 'A' AND h.what = 'email' AND h.other = 'A' GROUP BY h.userid"); + my $check_last_validated = $dbr->prepare("SELECT count(*) FROM infohistory WHERE userid = ? AND timechange = ? AND oldvalue = ?"); # Check, if $new_email is used by current set of sponsored users