We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 20215
    • 144 Posts
    I found the following problem in revo 2.2.0-pl2

    I created a user group named "Members"
    through a plug-in OnUserSave control if the new user is a member of that user group
    <?php
    if ($user->isMember('Members')) {
    	print("Yes");
    }else{
    	print("No");
    }
    


    Trying to create a new user associated with the user group "Members" in error log always returns the following message:
    [2012-01-20 07:47:27] (ERROR @ /catalogo/connectors/security/user.php) [OnUserSave]No
      ----------------------------------
      canale irc Italiano #modx server: tophost.azzurra.org
      • 3749
      • 24,544 Posts
      I've had similar problems. I think it's because the user or the group membership is not in the cache yet.

      Here are a couple of things to try, but they may not work:

      Clearing the cache:

      $cm = $modx->getCacheManager();
      $cm->refresh();
      



      Getting the user object:
      $u = $modx->getObject('modUser', $id);
      if ($u->isMember('Members')) {
      }




      ---------------------------------------------------------------------------------------------------------------
      PLEASE, PLEASE specify the version of MODX you are using . . . PLEASE!
      MODx info for everyone: http://bobsguides.com/MODx.html


        Did I help you? Buy me a beer
        Get my Book: MODX:The Official Guide
        MODX info for everyone: http://bobsguides.com/modx.html
        My MODX Extras
        Bob's Guides is now hosted at A2 MODX Hosting
        • 20215
        • 144 Posts
        Hi BobRay
        thanks for reply, but don't work

        with
        $u = $modx->getObject('modUser', $id);
        if ($u->isMember('Members')) {
        

        When i save the user don't redirect to the user list and don't save membership..

        if ($user->isMember('Members')) {

        work correctly on version 2.1.3-pl
          ----------------------------------
          canale irc Italiano #modx server: tophost.azzurra.org
          • 3749
          • 24,544 Posts
          Are either the user, the user group, or the connection between them newly created when the code runs?



          ---------------------------------------------------------------------------------------------------------------
          PLEASE, PLEASE specify the version of MODX you are using . . . PLEASE!
          MODx info for everyone: http://bobsguides.com/MODx.html
            Did I help you? Buy me a beer
            Get my Book: MODX:The Official Guide
            MODX info for everyone: http://bobsguides.com/modx.html
            My MODX Extras
            Bob's Guides is now hosted at A2 MODX Hosting
            • 20215
            • 144 Posts
            The code runs when I save the new user assigned to the user group "Members". OnUserSave
            I have already created the user group "Members"
              ----------------------------------
              canale irc Italiano #modx server: tophost.azzurra.org
              • 20215
              • 144 Posts
              <?php
              $modx->setDebug(E_ALL & ~E_NOTICE); // sets error_reporting to everything except NOTICE remarks
              $modx->setLogLevel(modX::LOG_LEVEL_DEBUG);
              
              $modx->log(modX::LOG_LEVEL_DEBUG, print_r($user->getUserGroupNames(),true));
              


              ErrorLog:
              [2012-01-24 12:08:59] (DEBUG @ /modx2.2/connectors/security/user.php) Array
              (
              )

                ----------------------------------
                canale irc Italiano #modx server: tophost.azzurra.org
                • 3749
                • 24,544 Posts
                I think getObject() is failing because the user is new.

                  Did I help you? Buy me a beer
                  Get my Book: MODX:The Official Guide
                  MODX info for everyone: http://bobsguides.com/modx.html
                  My MODX Extras
                  Bob's Guides is now hosted at A2 MODX Hosting
                  • 20215
                  • 144 Posts
                  Hi Bob
                  in previous version, revo 2.1.3 work fine!
                  So, is this a bug?
                    ----------------------------------
                    canale irc Italiano #modx server: tophost.azzurra.org
                    • 3749
                    • 24,544 Posts
                    I think it is.
                      Did I help you? Buy me a beer
                      Get my Book: MODX:The Official Guide
                      MODX info for everyone: http://bobsguides.com/modx.html
                      My MODX Extras
                      Bob's Guides is now hosted at A2 MODX Hosting
                      • 20215
                      • 144 Posts
                      This may sound strange

                      $user->get('id'); // ok get id
                      $user->get('username'); //ok get username
                      so, has already been instantiated...

                      $user->getUserGroupNames() //fail
                      consequently also
                      $user->isMeber('Members'); //fail
                        ----------------------------------
                        canale irc Italiano #modx server: tophost.azzurra.org