/** * remove user from user_temp table * @param integer $fromUserId * @param integer $toUserId * @param integer $range * @param string $condition */ function removeOldTempUser($fromUserId, $toUserId, $range, $condition) { wfProfileIn(__METHOD__); if (wfReadOnly()) { echo "Error: Read Only Mode.\n"; } else { // get scope if (empty($fromUserId) || empty($toUserId)) { getScope($fromUserId, $toUserId, $condition); } // remove old temp user $cnt = 0; do { $to = $toUserId - $fromUserId > $range ? $fromUserId + $range : $toUserId; echo "Removing temp user (UserId {$fromUserId} to {$to})...\n"; $users = getTempUsers($fromUserId, $to, $condition); $cnt = $cnt + count($users); foreach ($users as $username) { $tempUser = TempUser::getTempUserFromName($username); $id = $tempUser->getId(); $tempUser->removeFromDatabase(); // remove spoof normalization record from the database $spoof = new SpoofUser($username); $spoof->removeRecord(); echo "Removed temp user (id={$id}) from database.\n"; } $fromUserId = $to; } while ($fromUserId < $toUserId); echo "Total {$cnt} temp users removed from database.\n"; } wfProfileOut(__METHOD__); }