Commit ef2a047f authored by Steven Ayers's avatar Steven Ayers
Browse files

Issue #3304322: Block Configuration Form

parent aaa5ce68
Loading
Loading
Loading
Loading
+1 −68
Original line number Diff line number Diff line
@@ -14,71 +14,6 @@
function visitors_admin_settings() {
  $form = array();

  // Generate the form - settings applying to all patterns first.
  $form['visitors_settings'] = array(
    '#type' => 'fieldset',
    '#weight' => -30,
    '#title' => t('Visitors block'),
    '#collapsible' => TRUE,
    '#collapsed' => FALSE,
    '#description' => t('Visitors block settings'),
  );

  $form['visitors_settings']['visitors_show_total_visitors'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show Total Visitors'),
    '#default_value' => variable_get('visitors_show_total_visitors', 1),
    '#description' => t('Show Total Visitors.'),
  );
  $form['visitors_settings']['visitors_start_count_total_visitors'] = array(
    '#type' => 'textfield',
    '#title' => t('Total visitors start count'),
    '#default_value' => variable_get('visitors_start_count_total_visitors', 0),
    '#description' => t('Start the count of the total visitors at this number. Useful for including the known number of visitors in the past.'),
  );

  $form['visitors_settings']['visitors_show_unique_visitor'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show Unique Visitors'),
    '#default_value' => variable_get('visitors_show_unique_visitor', 1),
    '#description' => t('Show Unique Visitors based on their IP.'),
  );

  $form['visitors_settings']['visitors_registered_user'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show Registered Users'),
    '#default_value' => variable_get('visitors_registered_user', 1),
    '#description' => t('Show Registered Users.'),
  );

  $form['visitors_settings']['visitors_last_registered_user'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show Last Registered User'),
    '#default_value' => variable_get('visitors_last_registered_user', 1),
    '#description' => t('Show Last Registered User.'),
  );

  $form['visitors_settings']['visitors_published_nodes'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show Published Nodes'),
    '#default_value' => variable_get('visitors_published_nodes', 1),
    '#description' => t('Show Published Nodes.'),
  );

  $form['visitors_settings']['visitors_user_ip'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show User IP'),
    '#default_value' => variable_get('visitors_user_ip', 1),
    '#description' => t('Show User IP.'),
  );

  $form['visitors_settings']['visitors_since_date'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show Since Date'),
    '#default_value' => variable_get('visitors_since_date', 1),
    '#description' => t('Show Since Date.'),
  );

  // Statistics settings.
  $form['visitors_statistics'] = array(
    '#type' => 'fieldset',
@@ -140,9 +75,7 @@ function visitors_admin_settings() {
    '#default_value'   => variable_get('visitors_flush_log_timer', 0),
    '#options' => $period,
    '#description' =>
    t('Older visitors log entries (including referrer statistics) will be ' .
        'automatically discarded. (Requires a correctly configured ' .
        '<a href="@cron">cron maintenance task</a>.)',
    t('Older visitors 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'))
    ),
  );
+90 −2
Original line number Diff line number Diff line
@@ -10,8 +10,11 @@
 */
function visitors_block_info() {
  $blocks = array();
  $blocks[0]['info'] = t('Current visitor');
  $blocks[0]['cache'] = DRUPAL_NO_CACHE;

  $blocks['visitors'] = array(
    'info' => t('Current visitor'),
    'cache' => DRUPAL_NO_CACHE,
  );

  return $blocks;
}
@@ -44,6 +47,91 @@ function theme_visitors_block_view() {
  return theme('item_list', array('items' => $list_items, 'type' => 'ul'));
}

/**
 * Implements hook_block_configure().
 */
function visitors_block_configure($delta = '') {

  if ($delta == 'visitors') {
    $form = array();

    $form['visitors_show_total_visitors'] = array(
      '#type' => 'checkbox',
      '#title' => t('Show Total Visitors'),
      '#default_value' => variable_get('visitors_show_total_visitors', 1),
      '#description' => t('Show Total Visitors.'),
    );

    $form['visitors_show_unique_visitor'] = array(
      '#type' => 'checkbox',
      '#title' => t('Show Unique Visitors'),
      '#default_value' => variable_get('visitors_show_unique_visitor', 1),
      '#description' => t('Show Unique Visitors based on their IP.'),
    );

    $form['visitors_registered_user'] = array(
      '#type' => 'checkbox',
      '#title' => t('Show Registered Users'),
      '#default_value' => variable_get('visitors_registered_user', 1),
      '#description' => t('Show Registered Users.'),
    );

    $form['visitors_last_registered_user'] = array(
      '#type' => 'checkbox',
      '#title' => t('Show Last Registered User'),
      '#default_value' => variable_get('visitors_last_registered_user', 1),
      '#description' => t('Show Last Registered User.'),
    );

    $form['visitors_published_nodes'] = array(
      '#type' => 'checkbox',
      '#title' => t('Show Published Nodes'),
      '#default_value' => variable_get('visitors_published_nodes', 1),
      '#description' => t('Show Published Nodes.'),
    );

    $form['visitors_user_ip'] = array(
      '#type' => 'checkbox',
      '#title' => t('Show User IP'),
      '#default_value' => variable_get('visitors_user_ip', 1),
      '#description' => t('Show User IP.'),
    );

    $form['visitors_since_date'] = array(
      '#type' => 'checkbox',
      '#title' => t('Show Since Date'),
      '#default_value' => variable_get('visitors_since_date', 1),
      '#description' => t('Show Since Date.'),
    );

    $form['visitors_start_count_total_visitors'] = array(
      '#type' => 'textfield',
      '#title' => t('Total visitors start count'),
      '#default_value' => variable_get('visitors_start_count_total_visitors', 0),
      '#description' => t('Start the count of the total visitors at this number. Useful for including the known number of visitors in the past.'),
    );

    return $form;
  }
}

/**
 * Implements hook_block_save().
 */
function visitors_block_save($delta = '', $edit = array()) {

  if ($delta == 'visitors') {
    variable_set('visitors_show_total_visitors', $edit['visitors_show_total_visitors']);
    variable_set('visitors_start_count_total_visitors', $edit['visitors_start_count_total_visitors']);
    variable_set('visitors_show_unique_visitor', $edit['visitors_show_unique_visitor']);
    variable_set('visitors_registered_user', $edit['visitors_registered_user']);
    variable_set('visitors_last_registered_user', $edit['visitors_last_registered_user']);
    variable_set('visitors_published_nodes', $edit['visitors_published_nodes']);
    variable_set('visitors_user_ip', $edit['visitors_user_ip']);
    variable_set('visitors_since_date', $edit['visitors_since_date']);
  }
}

/**
 * Display total visitors count to visitors block.
 *