Exemple #1
0
/**
 * 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__);
}