Lack of interest Add new method to handle user for XenForo_Deferred_User

Milano

Well-known member
#1
Currently I want to extend XenForo_Deferred_User and add my own rebuild feature, but doing so, I have to duplicate the code from the execute method to fetch the users, meaning that the code will be run twice. Maybe separates these lines of code to a new method could be better just like preparePost, prepareThread, prepareUser, etc inside models.

PHP:
$userDw = XenForo_DataWriter::create('XenForo_DataWriter_User', XenForo_DataWriter::ERROR_SILENT);
if ($userDw->setExistingData($userId))
{
    XenForo_Db::beginTransaction();

    $userDw->set('alerts_unread', $userModel->getUnreadAlertsCount($userId));
    $userDw->set('conversations_unread', $conversationModel->countUnreadConversationsForUser($userId));
    $userDw->save();
    $userDw->rebuildUserGroupRelations();
    $userDw->rebuildPermissionCombinationId();
    $userDw->rebuildDisplayStyleGroupId();
    $userDw->rebuildCustomFields();
    $userDw->rebuildIgnoreCache();

    XenForo_Db::commit();
}
 
Top