diff options
-rw-r--r-- | modules/filter.module | 13 | ||||
-rw-r--r-- | modules/filter/filter.module | 13 |
2 files changed, 8 insertions, 18 deletions
diff --git a/modules/filter.module b/modules/filter.module index 5c6931eed..1cf09d48c 100644 --- a/modules/filter.module +++ b/modules/filter.module @@ -195,13 +195,7 @@ function filter_admin_overview() { foreach ($roles as $rid => $name) { $checked = strstr($format->roles, ",$rid,"); - - if ($default && !$checked && !$error) { - form_set_error("roles][$id][$rid", t('The default input format must be accessible to every role.')); - $error = true; - } - - $row[] = form_checkbox('', "roles][$id][$rid", 1, $checked); + $row[] = form_checkbox('', "roles][$id][$rid", 1, $default || $checked, NULL, $default ? array('disabled' => 'disabled') : NULL); } $row[] = l('configure', 'admin/filters/'. $id); @@ -485,7 +479,8 @@ function filter_formats() { $where[] = "roles LIKE '%%,%d,%%'"; $query[] = $rid; } - $query[0] .= ' WHERE '. implode(' OR ', $where); + $query[0] .= ' WHERE '. implode(' OR ', $where) . ' OR format = %d'; + $query[] = variable_get('filter_default_format', 1); } $result = call_user_func_array('db_query', $query); @@ -656,7 +651,7 @@ function filter_form($name, $value = FILTER_FORMAT_DEFAULT) { * Returns true if the user is allowed to access this format. */ function filter_access($format) { - if (user_access('administer filters')) { + if (user_access('administer filters') || ($format == variable_get('filter_default_format', 1))) { return true; } else { diff --git a/modules/filter/filter.module b/modules/filter/filter.module index 5c6931eed..1cf09d48c 100644 --- a/modules/filter/filter.module +++ b/modules/filter/filter.module @@ -195,13 +195,7 @@ function filter_admin_overview() { foreach ($roles as $rid => $name) { $checked = strstr($format->roles, ",$rid,"); - - if ($default && !$checked && !$error) { - form_set_error("roles][$id][$rid", t('The default input format must be accessible to every role.')); - $error = true; - } - - $row[] = form_checkbox('', "roles][$id][$rid", 1, $checked); + $row[] = form_checkbox('', "roles][$id][$rid", 1, $default || $checked, NULL, $default ? array('disabled' => 'disabled') : NULL); } $row[] = l('configure', 'admin/filters/'. $id); @@ -485,7 +479,8 @@ function filter_formats() { $where[] = "roles LIKE '%%,%d,%%'"; $query[] = $rid; } - $query[0] .= ' WHERE '. implode(' OR ', $where); + $query[0] .= ' WHERE '. implode(' OR ', $where) . ' OR format = %d'; + $query[] = variable_get('filter_default_format', 1); } $result = call_user_func_array('db_query', $query); @@ -656,7 +651,7 @@ function filter_form($name, $value = FILTER_FORMAT_DEFAULT) { * Returns true if the user is allowed to access this format. */ function filter_access($format) { - if (user_access('administer filters')) { + if (user_access('administer filters') || ($format == variable_get('filter_default_format', 1))) { return true; } else { |