You are here

function facebook_comments_box_config in Facebook Comments Box 6

Same name and namespace in other branches
  1. 7 facebook_comments_box.module \facebook_comments_box_config()

Main configuration screen.

1 string reference to 'facebook_comments_box_config'
facebook_comments_box_menu in ./facebook_comments_box.module
Implements hook_menu().

File

./facebook_comments_box.module, line 94
Add Facebook Comments to selected content types on your site.

Code

function facebook_comments_box_config() {

  // Global settings for the whole module.
  $form['facebook_comments_box_global'] = array(
    '#type' => 'fieldset',
    '#title' => t('Global Settings'),
    '#collapsible' => TRUE,
  );
  $form['facebook_comments_box_global']['facebook_comments_box_admin_id'] = array(
    '#type' => 'textfield',
    '#title' => t('Facebook Admin ID'),
    '#default_value' => variable_get('facebook_comments_box_admin_id', NULL),
    '#description' => t('Your Facebook Admin Username, ID or App ID. More than one admin can be separated by commas.'),
    '#required' => TRUE,
  );

  // Default settings for each block gets that you can configure and change by
  // block // (the first version of this gets one global setting for all node
  // types).
  $form['facebook_comments_box_default_block'] = array(
    '#type' => 'fieldset',
    '#title' => t('Default Block Settings'),
    '#collapsible' => TRUE,
  );
  $form['facebook_comments_box_default_block']['facebook_comments_box_default_comments'] = array(
    '#type' => 'select',
    '#title' => t('Default Number of Comments'),
    '#default_value' => variable_get('facebook_comments_box_default_comments', 10),
    '#options' => array(
      10 => 10,
      20 => 20,
      30 => 30,
      50 => 50,
      100 => 100,
    ),
    '#description' => t('The number of comments to show by default on the page displaying them.'),
    '#required' => TRUE,
  );
  $form['facebook_comments_box_default_block']['facebook_comments_box_default_width'] = array(
    '#type' => 'textfield',
    '#title' => t('Default Width of Comments (in pixels)'),
    '#default_value' => variable_get('facebook_comments_box_default_width', 400),
    '#size' => 4,
    '#maxlength' => 4,
    '#description' => t('The width of the comments with a minimum of 400px.'),
    '#required' => TRUE,
  );
  $form['facebook_comments_box_default_block']['facebook_comments_box_default_theme'] = array(
    '#type' => 'select',
    '#title' => t('Default Theme'),
    '#default_value' => variable_get('facebook_comments_box_default_theme', 'light'),
    '#options' => array(
      'light' => t('Light'),
      'dark' => t('Dark'),
    ),
    '#description' => t('The default theme to use for comments.'),
    '#required' => TRUE,
  );

  // Store the node type keys as values for easier comparison.
  $fcb_all_node_types_keys = array_keys(node_get_types());
  $fcb_all_node_types = array();
  foreach ($fcb_all_node_types_keys as $node_type) {
    $fcb_all_node_types[$node_type] = $node_type;
  }
  $form['facebook_comments_box_default_block']['facebook_comments_box_default_node_types'] = array(
    '#type' => 'select',
    '#title' => t('Default Node Types'),
    '#default_value' => variable_get('facebook_comments_box_default_node_types', NULL),
    '#options' => $fcb_all_node_types,
    '#multiple' => TRUE,
    '#description' => t('The node types to attach comments to. This will make comments available for each of the selected node types.'),
    '#required' => TRUE,
  );
  return system_settings_form($form);
}