1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Add new method to handle user for XenForo_Deferred_User

Discussion in 'XenForo Suggestions' started by Milano, Apr 25, 2016.

  1. Milano

    Milano Well-Known Member

    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();
    }
     

Share This Page