I hope I'm correct in making a new issue, because this is kind of related to http://drupal.org/node/974780.
I'm trying to make a pay for entry chat using ACL/Content Access, and UC Node Access. I keep having the problem with people having access to the chat even though uc node access should be stopping them. After doing a bunch of experiments I realized the the chat room module seems to be ignoring ACL.

I created two test users, then I set up a story node to be controlled by ACL. It works perfectly and I'm including a capture showing the devel node access readout (story-acl.jpg). I did the same thing with a chat node but the node access shows that the permissions are being controlled by the module, not node access (chat-acl.jpg). Maybe this is by design, and I'm missing something?
I did a lot of searching and found an old issue in another module that sound similar at http://drupal.org/node/485538.

CommentFileSizeAuthor
chat-acl.jpg82.34 KBwxman
story-acl.jpg81.12 KBwxman
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

Anonymous’s picture

thanks for the report, i'll look into it.

wxman’s picture

I actually did an experiment. I altered chatroom.module:

/**
 * Implementation of hook_access().
 */
function chatroom_chat_access($op, $node, $account) {
  if (user_access('administer chats', $account)) {
    return TRUE;
  }
  if ($op == 'view') {
    return user_access('access chats', $account) && chatroom_chat_user_has_access($node, $account)? TRUE:NULL;
  }
  if ($op == 'create') {
    return user_access('create chats', $account);
  }
  if ($op == 'update' || $op == 'delete') {
    if (user_access('edit own chats', $account) && ($account->uid == $node->uid)) {
      return TRUE;
    }
  }
  return FALSE;
}

adding the ? TRUE:NULL; to line 152. So far it seems to have fixed it for me.

Anonymous’s picture

Thanks! I'm traveling today, will get to this when I get back from the airport.