diff --git a/context_prefix/context_prefix.module b/context_prefix/context_prefix.module index 747b6620eb7d130b1b12785f6e5cae021b7a2150..0d7a2f607dd4fd42cbbd32c6f1423e28f57b9a5f 100644 --- a/context_prefix/context_prefix.module +++ b/context_prefix/context_prefix.module @@ -384,12 +384,22 @@ function context_prefix_settings_form() { ); foreach (context_prefix_providers() as $id => $provider) { + // Check to see whether provider has limited the available prefixing methods + if (is_array($provider['methods']) && count($provider['methods'])) { + $provider_options = array(); + foreach ($provider['methods'] as $method) { + $provider_options[$method] = $options[$method]; + } + } + else { + $provider_options = $options; + } $form['context_prefix_method_'. $id] = array( '#provider' => true, '#title' => $provider['name'], '#description' => $provider['description'], '#type' => 'select', - '#options' => $options, + '#options' => $provider_options, '#default_value' => variable_get('context_prefix_method_'. $id, CONTEXT_PREFIX_PATH), ); }