You are here

function _forum_access_get_settings in Forum Access 7

Same name and namespace in other branches
  1. 6 forum_access.admin.inc \_forum_access_get_settings()

Helper function to retrieve the settings for a forum.

2 calls to _forum_access_get_settings()
_forum_access_forum_form in ./forum_access.admin.inc
Rewrite the forum administration page with our new access rules.
_forum_access_forum_form_after_build_template in ./forum_access.admin.inc

File

./forum_access.admin.inc, line 744
forum_access.admin.inc

Code

function _forum_access_get_settings($tid = NULL) {
  $return = array(
    'view' => array(),
    'create' => array(),
    'update' => array(),
    'delete' => array(),
    'priority' => 0,
  );
  if (!isset($tid)) {

    // Default to all users can read; all logged in users can post.
    $return['view'] = array(
      DRUPAL_ANONYMOUS_RID,
      DRUPAL_AUTHENTICATED_RID,
    );
    $return['create'] = array(
      DRUPAL_AUTHENTICATED_RID,
    );
  }
  else {
    $result = db_query("SELECT * FROM {forum_access} where tid = :tid", array(
      ':tid' => $tid,
    ));
    foreach ($result as $access) {
      if ($access->grant_view) {
        $return['view'][] = $access->rid;
      }
      if ($access->grant_update) {
        $return['update'][] = $access->rid;
      }
      if ($access->grant_delete) {
        $return['delete'][] = $access->rid;
      }
      if ($access->grant_create) {
        $return['create'][] = $access->rid;
      }
      if ($access->rid == DRUPAL_AUTHENTICATED_RID) {

        // this is our reference
        $return['priority'] = $access->priority;
      }
    }
  }
  return $return;
}