You are here

function uc_product_feature_settings_form in Ubercart 6.2

Same name and namespace in other branches
  1. 5 uc_product/uc_product.module \uc_product_feature_settings_form()

Displays the settings form for all product features.

See also

_uc_product_features_summarize()

1 string reference to 'uc_product_feature_settings_form'
uc_product_menu in uc_product/uc_product.module
Implements hook_menu().

File

uc_product/uc_product.admin.inc, line 339
Product administration menu items.

Code

function uc_product_feature_settings_form() {
  $titles = array();
  $features = module_invoke_all('product_feature');
  foreach ($features as $feature) {
    $titles[] = $feature['title'];
  }
  if (empty($titles)) {
    $titles[] = '<em>' . t('No product features found.') . '</em>';
  }
  $form['features_list'] = array(
    '#value' => '<div><b>' . t('The following product features are enabled') . ':</b><br />' . implode(', ', $titles) . '</div><br />',
    '#summary callback' => '_uc_product_features_summarize',
    '#summary arguments' => array(
      $titles,
    ),
  );
  foreach ($features as $feature) {
    if (isset($feature['settings']) && function_exists($feature['settings'])) {
      $form[$feature['id']] = array(
        '#type' => 'fieldset',
        '#title' => t('!feature settings', array(
          '!feature' => $feature['title'],
        )),
        '#collapsible' => TRUE,
        '#collapsed' => TRUE,
        '#summary callback' => 'summarize_null',
      );
      $form[$feature['id']] = array_merge($form[$feature['id']], $feature['settings']());
    }
  }
  return system_settings_form($form);
}