public function appendMemberRolePermissionFieldsets($context) { $fieldset = new XMLElement('fieldset'); $fieldset->setAttribute('class', 'settings type-file'); $fieldset->appendChild(new XMLElement('legend', 'Forum Permissions')); $aTableHead = array(array('Action', 'col'), array('Allowed', 'col')); $permissions = $context['permissions']['forum']; $group = new XMLElement('div', NULL, array('class' => 'group')); /** FIRST TABLE **/ $aTableBody = extension_Members::buildRolePermissionTableBody(array(array('Start New Discussion', 'forum', 'start_discussion', isset($permissions['start_discussion'])), array('Edit Discussions', 'forum', 'edit_discussion', isset($permissions['edit_discussion'])), array('Edit Own Discussions*', 'forum', 'edit_own_discussion', isset($permissions['edit_own_discussion'])), array('Remove Discussions', 'forum', 'remove_discussion', isset($permissions['remove_discussion'])), array('Remove Own Discussions*', 'forum', 'remove_own_discussion', isset($permissions['remove_own_discussion'])))); $table = Widget::Table(Widget::TableHead($aTableHead), NULL, Widget::TableBody($aTableBody), 'role-permissions narrow'); $group->appendChild($table); /** SECOND TABLE **/ $aTableBody = extension_Members::buildRolePermissionTableBody(array(array('Add Comment', 'forum', 'add_comment', isset($permissions['add_comment'])), array('Edit Comment', 'forum', 'edit_comment', isset($permissions['edit_comment'])), array('Edit Own Comment*', 'forum', 'edit_own_comment', isset($permissions['edit_own_comment'])), array('Remove Comment', 'forum', 'remove_comment', isset($permissions['remove_comment'])), array('Remove Own Comment*', 'forum', 'remove_own_comment', isset($permissions['remove_own_comment'])))); $table = Widget::Table(Widget::TableHead($aTableHead), NULL, Widget::TableBody($aTableBody), 'role-permissions narrow'); $group->appendChild($table); /** THIRD TABLE **/ $aTableBody = extension_Members::buildRolePermissionTableBody(array(array('Pin/Unpin Discussion', 'forum', 'pin_discussion', isset($permissions['pin_discussion'])), array('Open/Close Discussion', 'forum', 'close_discussion', isset($permissions['close_discussion'])))); $table = Widget::Table(Widget::TableHead($aTableHead), NULL, Widget::TableBody($aTableBody), 'role-permissions narrow'); $group->appendChild($table); $fieldset->appendChild($group); $fieldset->appendChild(new XMLElement('p', '* <em>Does not apply if global edit/remove is allowed</em>', array('class' => 'help'))); $context['form']->appendChild($fieldset); }