You are here

function _forum_access_forum_form_disable_checkboxes in Forum Access 6

1 string reference to '_forum_access_forum_form_disable_checkboxes'
_forum_access_forum_form in ./forum_access.admin.inc
Rewrite the forum administration page with our new access rules.

File

./forum_access.admin.inc, line 421
forum_access.admin.inc

Code

function _forum_access_forum_form_disable_checkboxes($element) {
  global $user;
  $tr = 't';
  $moderator_rid = forum_access_query_moderator_rid();
  $permissions = _forum_access_get_role_permissions();
  $element_children = element_children($element);
  foreach ($element_children as $rid) {
    if ($rid == $moderator_rid) {
      $element[$rid]['#prefix'] = '<span title="' . t("This is the (temporary) @Forum_Moderator role; it has the '@administer_nodes' and '@administer_comments' permissions and is only used temporarily by @Forum_Access &mdash; do NOT give this role to any user!", array(
        '@Forum_Moderator' => t('Forum Moderator'),
        '@administer_nodes' => $tr('administer nodes'),
        '@administer_comments' => $tr('administer comments'),
        '@Forum_Access' => 'Forum Access',
      )) . '" class="forum-access-temporary-moderator">';
      $element[$rid]['#suffix'] = "</span>";
      $element[$rid]['#default_value'] = TRUE;
      $element[$rid]['#disabled'] = TRUE;
    }
    elseif ($element['#parents'][1] == 'create') {

      // Do nothing (Post is always mutable).
    }
    elseif ($element['#parents'][1] == 'view' && isset($permissions[$rid]['administer forums'])) {
      $element[$rid]['#title'] = '<em>' . $element[$rid]['#title'] . '</em>';
      $element[$rid]['#prefix'] = '<span title="' . t("This role has the '@administer_forums' permission, and granting '@View' enables the role holders to change the settings on this page, including @Access_control!", array(
        '@administer_forums' => $tr('administer forums'),
        '@View' => t('View'),
        '@Access_control' => t('Access control'),
      )) . '">';
      if (isset($permissions[$rid]['administer nodes'])) {
        $element[$rid]['#prefix'] = str_replace('">', ' ' . t("Because the role also has the '@administer_nodes' permission, it has full access to all nodes either way.", array(
          '@administer_nodes' => $tr('administer nodes'),
        )) . '">', $element[$rid]['#prefix']);
      }
      $element[$rid]['#suffix'] = "</span>";
    }
    elseif (isset($permissions[$rid]['administer nodes'])) {
      $element[$rid]['#disabled'] = TRUE;
      $element[$rid]['#default_value'] = TRUE;
      $element[$rid]['#prefix'] = '<span title="' . ($rid != $moderator_rid ? t("This role has the '@administer_nodes' permission and thus full access to all nodes.", array(
        '@administer_nodes' => $tr('administer nodes'),
      )) : t("This is the @Forum_Moderator role; it has the '@administer_nodes' and '@administer_comments' permissions and thus full access to all nodes and comments.", array(
        '@Forum_Moderator' => t('Forum Moderator'),
        '@administer_nodes' => $tr('administer nodes'),
        '@administer_comments' => $tr('administer comments'),
      ))) . '">';
      $element[$rid]['#suffix'] = "</span>";
    }
  }
  return $element;
}