User login

AND/OR logic error in Userreference Access function

OK, the problem is definitely in this function. I'll get back to it in a little bit, but it may make enough sense for you to correct where an OR isn't doing what I think it should. I'm dyslexic and I swear that's why I can't do a damn thing with ANDs and ORs.

<pre>
function userreference_access_node_grants($account, $op) {
  $grants = array();
  switch ($op) {
    case 'view':
      if (variable_get('userreference_access_na_view', TRUE) || user_access('view all userreference access content')) {
        $grants['userreference_access'] = array(1);
      }
      else {
        $grants['userreference_access_nodes'] = userreference_access_nids($account, TRUE);
      }
      break;
    case 'update':  // aka edit
      if (user_access('edit all userreference access content')) {
        $grants['userreference_access'] = array(1);
      }
      else {
        $grants['userreference_access_nodes'] = userreference_access_nids($account, TRUE);
      }
      break;
    case 'delete':
      if (user_access('delete all userreference access content')) {
        $grants['userreference_access'] = array(1);
      }
      elseif (variable_get('userreference_access_na_dlet', FALSE)) {
        $grants['userreference_access_nodes'] = userreference_access_nids($account);       
      }
      break;
  }
  return $grants;
}
</pre>

Resolution

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.
  • You can use Markdown syntax to format and style the text. Also see Markdown Extra for tables, footnotes, and more.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <blockquote> <small> <h2> <h3> <h4> <h5> <h6> <sub> <sup> <p> <br> <strike> <table> <tr> <td> <thead> <th> <tbody> <tt> <output>
  • Lines and paragraphs break automatically.

More information about formatting options

By submitting this form, you accept the Mollom privacy policy.