You are here

function statistics_settings_form in Drupal 7

Form constructor for the statistics administration form.

See also

system_settings_form()

Related topics

1 string reference to 'statistics_settings_form'
statistics_menu in modules/statistics/statistics.module
Implements hook_menu().

File

modules/statistics/statistics.admin.inc, line 276
Admin page callbacks for the Statistics module.

Code

function statistics_settings_form() {

  // Access log settings.
  $form['access'] = array(
    '#type' => 'fieldset',
    '#title' => t('Access log settings'),
  );
  $form['access']['statistics_enable_access_log'] = array(
    '#type' => 'checkbox',
    '#title' => t('Enable access log'),
    '#default_value' => variable_get('statistics_enable_access_log', 0),
    '#description' => t('Log each page access. Required for referrer statistics.'),
  );
  $form['access']['statistics_flush_accesslog_timer'] = array(
    '#type' => 'select',
    '#title' => t('Discard access logs older than'),
    '#default_value' => variable_get('statistics_flush_accesslog_timer', 259200),
    '#options' => array(
      0 => t('Never'),
    ) + drupal_map_assoc(array(
      3600,
      10800,
      21600,
      32400,
      43200,
      86400,
      172800,
      259200,
      604800,
      1209600,
      2419200,
      4838400,
      9676800,
    ), 'format_interval'),
    '#description' => t('Older access log entries (including referrer statistics) will be automatically discarded. (Requires a correctly configured <a href="@cron">cron maintenance task</a>.)', array(
      '@cron' => url('admin/reports/status'),
    )),
  );

  // Content counter settings.
  $form['content'] = array(
    '#type' => 'fieldset',
    '#title' => t('Content viewing counter settings'),
  );
  $form['content']['statistics_count_content_views'] = array(
    '#type' => 'checkbox',
    '#title' => t('Count content views'),
    '#default_value' => variable_get('statistics_count_content_views', 0),
    '#description' => t('Increment a counter each time content is viewed.'),
  );
  $form['content']['statistics_count_content_views_ajax'] = array(
    '#type' => 'checkbox',
    '#title' => t('Use Ajax to increment the counter'),
    '#default_value' => variable_get('statistics_count_content_views_ajax', 0),
    '#description' => t('Perform the count asynchronously after page load rather than during page generation.'),
    '#states' => array(
      'disabled' => array(
        ':input[name="statistics_count_content_views"]' => array(
          'checked' => FALSE,
        ),
      ),
    ),
  );
  return system_settings_form($form);
}