function _forum_access_forum_form_after_build_template in Forum Access 7
1 string reference to '_forum_access_forum_form_after_build_template'
- _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 193 - forum_access.admin.inc
Code
function _forum_access_forum_form_after_build_template($form, &$form_state) {
if (isset($form_state['clicked_button']['#name']) && $form_state['clicked_button']['#name'] == $form['template']['load_button']['#name']) {
// Load a setting from a template:
$template_tid = reset($form_state['input']['forum_access']['template']['taxonomy']);
$form_state['values']['forum_access']['template']['template_tid'] = $template_tid;
$form['template']['#collapsed'] = FALSE;
$form['template']['#attributes']['class'] = array(
'collapsible',
);
$settings = _forum_access_get_settings($template_tid);
foreach (array(
'view',
'create',
'update',
'delete',
) as $grant_type) {
if (empty($form['grants']['checkboxes'][$grant_type])) {
continue;
}
foreach (element_children($form['grants']['checkboxes'][$grant_type]) as $tid) {
$checked = array_search($tid, $settings[$grant_type]) !== FALSE;
$form['grants']['checkboxes'][$grant_type][$tid]['#value'] = $checked ? $tid : 0;
$form['grants']['checkboxes'][$grant_type][$tid]['#checked'] = $checked ? TRUE : FALSE;
}
}
$form['interference']['advanced']['priority']['#value'] = $settings['priority'];
if ($settings['priority'] != 0) {
$form['interference']['advanced']['#collapsed'] = FALSE;
}
}
elseif (is_array(reset($form_state['values']['forum_access']['template']['taxonomy']))) {
$template_tid = current(current($form_state['values']['forum_access']['template']['taxonomy']));
}
if (isset($template_tid)) {
$form['template']['select_by_default']['#value'] = $template_tid && $template_tid == variable_get('forum_access_default_template_tid', 0);
$form['template']['load_for_new']['#value'] = $template_tid && $template_tid == variable_get('forum_access_new_template_tid', 0);
}
return $form;
}