You are here

function _likebtn_settings_form in Like Button 8.2

Same name and namespace in other branches
  1. 7 likebtn.module \_likebtn_settings_form()

Custom function returning settings form.

2 calls to _likebtn_settings_form()
likebtn_field_instance_settings_form in ./likebtn.module
Implements hook_field_instance_settings_form().
likebtn_likebtn_settings in ./likebtn.admin.inc
Menu callback; Displays the administration settings for LikeBtn.

File

./likebtn.module, line 573
Implements the LikeBtn module.

Code

function _likebtn_settings_form($default_values = NULL) {
  global $language;
  $form = array();
  $likebtn_website_locale = $language->language;
  $likebtn_website_locales = unserialize(LIKEBTN_WEBSITE_LOCALES);
  if (!in_array($likebtn_website_locale, $likebtn_website_locales)) {
    $likebtn_website_locale = 'en';
  }
  drupal_add_js('//likebtn.com/' . $likebtn_website_locale . '/js/donate_generator.js', array(
    'type' => 'external',
    'scope' => 'footer',
  ));

  // Run locales sunchronization.

  //$likebtn = new LikeBtn();

  //$likebtn->runSyncLocales();

  //$likebtn->runSyncStyles();

  // Get languages.

  //$likebtn_locales = variable_get('likebtn_locales', array());
  $likebtn_settings_lang_options['auto'] = "auto - " . t("Detect from client browser");

  /*if ($likebtn_locales) {
      // Locales have been loaded using API.
      foreach ($likebtn_locales as $locale_code => $locale_info) {
        $lang_option = $locale_code . ' - ' . $locale_info['name'];
        if ($locale_code != 'en') {
          $lang_option .= ' (' . $locale_info['en_name'] . ')';
        }
        $likebtn_settings_lang_options[$locale_code] = $lang_option;
      }
    }
    else {*/

  // Locales have not been loaded using API yet, load default languages.
  $langs = unserialize(LIKEBTN_LANGS);
  foreach ($langs as $lang_code => $lang_name) {
    $likebtn_settings_lang_options[$lang_code] = $lang_name;
  }

  //}

  // Get styles.
  $likebtn_styles = variable_get('likebtn_styles', array());
  $likebtn_settings_style_options = array();
  if (!$likebtn_styles) {

    // Styles have not been loaded using API yet, load default languages.
    $likebtn_styles = unserialize(LIKEBTN_STYLES);
  }
  foreach ($likebtn_styles as $likebtn_style) {
    $likebtn_settings_style_options[$likebtn_style] = $likebtn_style;
  }

  // For assets.
  $public_url = _likebtn_public_url();
  $form['likebtn_settings_item'] = array(
    '#type' => 'item',
    '#description' => t('You can find detailed settings description on <a href="@link-likebtn">LikeBtn.com</a>. Options marked with tariff plan name (PLUS, PRO, VIP, ULTRA) are available only if your website is upgraded to corresponding plan (<a href="@link-read_more">read more about plans and pricing</a>).', array(
      '@link-likebtn' => 'http://likebtn.com/en/#settings',
      '@link-read_more' => 'http://likebtn.com/en/#plans_pricing',
    )),
  );
  $form['likebtn_extra_display_options'] = array(
    '#type' => 'fieldset',
    '#title' => t('Extra display options'),
    '#collapsible' => TRUE,
    '#collapsed' => TRUE,
  );

  // Settings must be under subelement to be properly flattened for field.
  $form['likebtn_extra_display_options']['likebtn_html_before'] = array(
    '#type' => 'textfield',
    '#title' => t('Insert HTML before'),
    '#description' => t('HTML code to insert before the Like Button'),
    '#default_value' => $default_values ? isset($default_values['likebtn_html_before']) ? $default_values['likebtn_html_before'] : '' : variable_get('likebtn_html_before', ''),
  );
  $form['likebtn_extra_display_options']['likebtn_html_after'] = array(
    '#type' => 'textfield',
    '#title' => t('Insert HTML after'),
    '#description' => t('HTML code to insert after the Like Button'),
    '#default_value' => $default_values ? isset($default_values['likebtn_html_after']) ? $default_values['likebtn_html_after'] : '' : variable_get('likebtn_html_after', ''),
  );
  $form['likebtn_extra_display_options']['likebtn_alignment'] = array(
    '#type' => 'select',
    '#title' => t('Alignment'),
    '#options' => array(
      'left' => t('Left'),
      'center' => t('Center'),
      'right' => t('Right'),
    ),
    '#default_value' => $default_values ? isset($default_values['likebtn_alignment']) ? $default_values['likebtn_alignment'] : 'left' : variable_get('likebtn_alignment', 'left'),
  );
  $form['likebtn_settings_style_language'] = array(
    '#type' => 'fieldset',
    '#title' => t('Style and language'),
    '#weight' => 4,
    '#collapsible' => TRUE,
    '#collapsed' => TRUE,
  );
  $form['likebtn_settings_style_language']['likebtn_settings_style'] = array(
    '#type' => 'select',
    '#title' => t('Style'),
    '#description' => 'style',
    '#options' => $likebtn_settings_style_options,
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_style']) ? $default_values['likebtn_settings_style'] : 'white' : variable_get('likebtn_settings_style', 'white'),
  );
  $form['likebtn_settings_style_language']['likebtn_settings_lang'] = array(
    '#type' => 'select',
    '#title' => t('Language'),
    '#description' => 'lang',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_lang']) ? $default_values['likebtn_settings_lang'] : 'en' : variable_get('likebtn_settings_lang', "en"),
    '#options' => $likebtn_settings_lang_options,
  );
  $form['likebtn_settings_appearance_behaviour'] = array(
    '#type' => 'fieldset',
    '#title' => t('Appearance and behaviour'),
    '#weight' => 5,
    '#collapsible' => TRUE,
    '#collapsed' => TRUE,
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_show_like_label'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show "like"-label'),
    '#description' => 'show_like_label',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_show_like_label']) ? $default_values['likebtn_settings_show_like_label'] : TRUE : variable_get('likebtn_settings_show_like_label', TRUE),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_show_dislike_label'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show "dislike"-label'),
    '#description' => 'show_dislike_label',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_show_dislike_label']) ? $default_values['likebtn_settings_show_dislike_label'] : FALSE : variable_get('likebtn_settings_show_dislike_label', FALSE),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_popup_dislike'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show popup on disliking'),
    '#description' => 'popup_dislike',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_popup_dislike']) ? $default_values['likebtn_settings_popup_dislike'] : FALSE : variable_get('likebtn_settings_popup_dislike', FALSE),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_like_enabled'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show Like Button'),
    '#description' => 'like_enabled',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_like_enabled']) ? $default_values['likebtn_settings_like_enabled'] : TRUE : variable_get('likebtn_settings_like_enabled', TRUE),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_icon_like_show'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show like icon'),
    '#description' => 'icon_like_show',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_icon_like_show']) ? $default_values['likebtn_settings_icon_like_show'] : TRUE : variable_get('likebtn_settings_icon_like_show', TRUE),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_icon_dislike_show'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show dislike icon'),
    '#description' => 'icon_dislike_show',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_icon_dislike_show']) ? $default_values['likebtn_settings_icon_dislike_show'] : TRUE : variable_get('likebtn_settings_icon_dislike_show', TRUE),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_lazy_load'] = array(
    '#type' => 'checkbox',
    '#title' => t('Lazy load - if button is outside viewport it is loaded when user scrolls to it'),
    '#description' => 'lazy_load',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_lazy_load']) ? $default_values['likebtn_settings_lazy_load'] : FALSE : variable_get('likebtn_settings_lazy_load', FALSE),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_dislike_enabled'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show Dislike Button'),
    '#description' => 'dislike_enabled',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_dislike_enabled']) ? $default_values['likebtn_settings_dislike_enabled'] : TRUE : variable_get('likebtn_settings_dislike_enabled', TRUE),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_display_only'] = array(
    '#type' => 'checkbox',
    '#title' => t('Voting is disabled, display results only'),
    '#description' => 'display_only',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_display_only']) ? $default_values['likebtn_settings_display_only'] : FALSE : variable_get('likebtn_settings_display_only', FALSE),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_unlike_allowed'] = array(
    '#type' => 'checkbox',
    '#title' => t('Allow to unlike and undislike'),
    '#description' => 'unlike_allowed',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_unlike_allowed']) ? $default_values['likebtn_settings_unlike_allowed'] : TRUE : variable_get('likebtn_settings_unlike_allowed', TRUE),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_like_dislike_at_the_same_time'] = array(
    '#type' => 'checkbox',
    '#title' => t('Allow to like and dislike at the same time'),
    '#description' => 'like_dislike_at_the_same_time',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_like_dislike_at_the_same_time']) ? $default_values['likebtn_settings_like_dislike_at_the_same_time'] : FALSE : variable_get('likebtn_settings_like_dislike_at_the_same_time', FALSE),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_revote_period'] = array(
    '#type' => 'textfield',
    '#title' => t('The period of time in seconds after which it is allowed to vote again'),
    '#description' => 'revote_period',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_revote_period']) ? $default_values['likebtn_settings_revote_period'] : '' : variable_get('likebtn_settings_revote_period', ''),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_show_copyright'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show copyright link in the share popup') . ' (VIP, ULTRA)',
    '#description' => 'show_copyright',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_show_copyright']) ? $default_values['likebtn_settings_show_copyright'] : TRUE : variable_get('likebtn_settings_show_copyright', TRUE),
    '#states' => array(
      // Enable field.
      'disabled' => array(
        array(
          ':input[name="likebtn_plan"]' => array(
            'value' => LIKEBTN_PLAN_FREE,
          ),
        ),
        array(
          ':input[name="likebtn_plan"]' => array(
            'value' => LIKEBTN_PLAN_PLUS,
          ),
        ),
        array(
          ':input[name="likebtn_plan"]' => array(
            'value' => LIKEBTN_PLAN_PRO,
          ),
        ),
      ),
    ),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_rich_snippet'] = array(
    '#type' => 'checkbox',
    '#title' => t('Enable Google Rich Snippets'),
    '#description' => t('<a href="https://likebtn.com/en/faq#rich_snippets" target="_blank">What are Google Rich Snippets and how do they boost traffic?</a>'),
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_rich_snippet']) ? $default_values['likebtn_settings_rich_snippet'] : FALSE : variable_get('likebtn_settings_rich_snippet', FALSE),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_popup_html'] = array(
    '#type' => 'textfield',
    '#title' => t('Custom HTML to insert into the popup') . ' (PRO, VIP, ULTRA)',
    '#description' => 'popup_html',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_popup_html']) ? $default_values['likebtn_settings_popup_html'] : '' : variable_get('likebtn_settings_popup_html', ''),
    '#states' => array(
      // Enable field.
      'disabled' => array(
        array(
          ':input[name="likebtn_plan"]' => array(
            'value' => LIKEBTN_PLAN_FREE,
          ),
        ),
        array(
          ':input[name="likebtn_plan"]' => array(
            'value' => LIKEBTN_PLAN_PLUS,
          ),
        ),
      ),
    ),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_popup_donate'] = array(
    '#type' => 'textfield',
    '#id' => 'popup_donate_input',
    '#title' => '<img src="' . $public_url . '/assets/img/popup_donate.png" width="16" height="16"/> ' . t('Donate buttons to display in the popup') . ' (VIP, ULTRA)',
    '#maxlength' => 5000,
    '#suffix' => '<button onclick="likebtnDG(\'popup_donate_input\'); return false;" style="position:relative;top:-10px;">' . t('Configure donate buttons') . '</button><br/><br/>',
    '#description' => 'popup_donate',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_popup_donate']) ? $default_values['likebtn_settings_popup_donate'] : '' : variable_get('likebtn_settings_popup_donate', ''),
    '#states' => array(
      // Enable field.
      'disabled' => array(
        array(
          ':input[name="likebtn_plan"]' => array(
            'value' => LIKEBTN_PLAN_FREE,
          ),
        ),
        array(
          ':input[name="likebtn_plan"]' => array(
            'value' => LIKEBTN_PLAN_PLUS,
          ),
        ),
        array(
          ':input[name="likebtn_plan"]' => array(
            'value' => LIKEBTN_PLAN_VIP,
          ),
        ),
      ),
    ),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_popup_content_order'] = array(
    '#type' => 'textfield',
    '#id' => 'popup_content_order_input',
    '#title' => t('Order of the content in the popup'),
    '#description' => 'popup_content_order',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_popup_content_order']) ? $default_values['likebtn_settings_popup_content_order'] : 'popup_share,popup_donate,popup_html' : variable_get('likebtn_settings_popup_content_order', 'popup_share,popup_donate,popup_html'),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_popup_enabled'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show popop after "liking" (VIP, ULTRA)'),
    '#description' => 'popup_enabled',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_popup_enabled']) ? $default_values['likebtn_settings_popup_enabled'] : TRUE : variable_get('likebtn_settings_popup_enabled', TRUE),
    '#states' => array(
      // Disable field.
      'disabled' => array(
        array(
          ':input[name="likebtn_plan"]' => array(
            'value' => LIKEBTN_PLAN_FREE,
          ),
        ),
        array(
          ':input[name="likebtn_plan"]' => array(
            'value' => LIKEBTN_PLAN_PLUS,
          ),
        ),
        array(
          ':input[name="likebtn_plan"]' => array(
            'value' => LIKEBTN_PLAN_PRO,
          ),
        ),
      ),
    ),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_popup_position'] = array(
    '#type' => 'select',
    '#title' => t('Popup position'),
    '#description' => 'popup_position',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_popup_position']) ? $default_values['likebtn_settings_popup_position'] : TRUE : variable_get('likebtn_settings_popup_position', TRUE),
    '#options' => array(
      "top" => t('top'),
      "right" => t('right'),
      "bottom" => t('bottom'),
      "left" => t('left'),
    ),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_popup_style'] = array(
    '#type' => 'select',
    '#title' => t('Popup style'),
    '#description' => 'popup_style',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_popup_style']) ? $default_values['likebtn_settings_popup_style'] : TRUE : variable_get('likebtn_settings_popup_style', TRUE),
    '#options' => array(
      "light" => "light",
      "dark" => "dark",
    ),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_popup_hide_on_outside_click'] = array(
    '#type' => 'checkbox',
    '#title' => t('Hide popup when clicking outside'),
    '#description' => 'popup_hide_on_outside_click',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_popup_hide_on_outside_click']) ? $default_values['likebtn_settings_popup_hide_on_outside_click'] : TRUE : variable_get('likebtn_settings_popup_hide_on_outside_click', TRUE),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_event_handler'] = array(
    '#type' => 'textfield',
    '#title' => t('JavaScript callback function serving as an event handler'),
    '#description' => 'event_handler<br/><br/>' . t('The provided function receives the event object as its single argument. The event object has the following properties: <strong>type</strong> – indicates which event was dispatched ("likebtn.loaded", "likebtn.like", "likebtn.unlike", "likebtn.dislike", "likebtn.undislike"); <strong>settings</strong> – button settings; <strong>wrapper</strong> – button DOM-element'),
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_event_handler']) ? $default_values['likebtn_settings_event_handler'] : NULL : variable_get('likebtn_settings_event_handler', NULL),
  );
  $form['likebtn_settings_appearance_behaviour']['likebtn_settings_info_message'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show information message when the button can not be displayed due to misconfiguration'),
    '#description' => 'info_message',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_info_message']) ? $default_values['likebtn_settings_info_message'] : TRUE : variable_get('likebtn_settings_info_message', TRUE),
  );
  $form['likebtn_settings_counter'] = array(
    '#type' => 'fieldset',
    '#title' => t('Counter'),
    '#weight' => 6,
    '#collapsible' => TRUE,
    '#collapsed' => TRUE,
  );
  $form['likebtn_settings_counter']['likebtn_settings_counter_type'] = array(
    '#type' => 'select',
    '#title' => t('Counter type'),
    '#description' => 'counter_type',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_counter_type']) ? $default_values['likebtn_settings_counter_type'] : "number" : variable_get('likebtn_settings_counter_type', "number"),
    '#options' => array(
      "number" => t('number'),
      "percent" => t('percent'),
      "substract_dislikes" => t('substract_dislikes'),
      "single_number" => t('single_number'),
    ),
  );
  $form['likebtn_settings_counter']['likebtn_settings_counter_clickable'] = array(
    '#type' => 'checkbox',
    '#title' => t('Votes counter is clickable'),
    '#description' => 'counter_clickable',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_counter_clickable']) ? $default_values['likebtn_settings_counter_clickable'] : FALSE : variable_get('likebtn_settings_counter_clickable', FALSE),
  );
  $form['likebtn_settings_counter']['likebtn_settings_counter_show'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show votes counter'),
    '#description' => 'counter_show',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_counter_show']) ? $default_values['likebtn_settings_counter_show'] : TRUE : variable_get('likebtn_settings_counter_show', TRUE),
  );
  $form['likebtn_settings_counter']['likebtn_settings_counter_padding'] = array(
    '#type' => 'textfield',
    '#title' => t('Counter padding'),
    '#description' => 'counter_padding',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_counter_padding']) ? $default_values['likebtn_settings_counter_padding'] : NULL : variable_get('likebtn_settings_counter_padding', NULL),
  );
  $form['likebtn_settings_counter']['likebtn_settings_counter_zero_show'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show zero value in counter'),
    '#description' => 'counter_zero_show',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_counter_zero_show']) ? $default_values['likebtn_settings_counter_zero_show'] : FALSE : variable_get('likebtn_settings_counter_zero_show', FALSE),
  );
  $form['likebtn_settings_sharing'] = array(
    '#type' => 'fieldset',
    '#title' => t('Sharing'),
    '#weight' => 7,
    '#collapsible' => TRUE,
    '#collapsed' => TRUE,
  );
  $form['likebtn_settings_sharing']['likebtn_settings_share_enabled'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show share buttons in the popup.') . ' ' . t('Use popup_enabled option to enable/disable popup.') . ' (PLUS, PRO, VIP, ULTRA)',
    '#description' => 'share_enabled',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_share_enabled']) ? $default_values['likebtn_settings_share_enabled'] : TRUE : variable_get('likebtn_settings_share_enabled', TRUE),
    '#states' => array(
      // Disable field.
      'disabled' => array(
        array(
          ':input[name="likebtn_plan"]' => array(
            'value' => LIKEBTN_PLAN_FREE,
          ),
        ),
      ),
    ),
  );
  $form['likebtn_settings_sharing']['likebtn_settings_addthis_pubid'] = array(
    '#type' => 'textfield',
    '#title' => t('AddThis <a href="@link-profile-id">Profile ID</a>. Allows to collect sharing statistics and view it on AddThis <a href="@link-analytics-page">analytics page</a> (PRO, VIP, ULTRA)', array(
      '@link-profile-id' => 'https://www.addthis.com/settings/publisher',
      '@link-analytics-page' => 'http://www.addthis.com/analytics',
    )),
    '#description' => 'addthis_pubid',
    '#maxlength' => 30,
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_addthis_pubid']) ? $default_values['likebtn_settings_addthis_pubid'] : NULL : variable_get('likebtn_settings_addthis_pubid', NULL),
    '#states' => array(
      // Disable field.
      'disabled' => array(
        array(
          ':input[name="likebtn_plan"]' => array(
            'value' => LIKEBTN_PLAN_FREE,
          ),
        ),
        array(
          ':input[name="likebtn_plan"]' => array(
            'value' => LIKEBTN_PLAN_PLUS,
          ),
        ),
      ),
    ),
  );
  $form['likebtn_settings_sharing']['likebtn_settings_addthis_service_codes'] = array(
    '#type' => 'textfield',
    '#title' => t('AddThis <a href="@link">service codes</a> separated by comma (max 8). Used to specify which buttons are displayed in share popup. Example: google_plusone_share, facebook, twitter (PRO, VIP, ULTRA)', array(
      '@link' => 'http://www.addthis.com/services/list',
    )),
    '#description' => 'addthis_service_codes',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_addthis_service_codes']) ? $default_values['likebtn_settings_addthis_service_codes'] : NULL : variable_get('likebtn_settings_addthis_service_codes', NULL),
    '#states' => array(
      // Disable field.
      'disabled' => array(
        array(
          ':input[name="likebtn_plan"]' => array(
            'value' => LIKEBTN_PLAN_FREE,
          ),
        ),
        array(
          ':input[name="likebtn_plan"]' => array(
            'value' => LIKEBTN_PLAN_PLUS,
          ),
        ),
      ),
    ),
  );
  $form['likebtn_settings_loader'] = array(
    '#type' => 'fieldset',
    '#title' => t('Loader'),
    '#weight' => 8,
    '#collapsible' => TRUE,
    '#collapsed' => TRUE,
  );
  $form['likebtn_settings_loader']['likebtn_settings_loader_show'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show loader while button is loading'),
    '#description' => 'loader_show',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_loader_show']) ? $default_values['likebtn_settings_loader_show'] : FALSE : variable_get('likebtn_settings_loader_show', FALSE),
  );
  $form['likebtn_settings_loader']['likebtn_settings_loader_image'] = array(
    '#type' => 'textfield',
    '#title' => t('Loader image URL (if empty, default image is used)'),
    '#description' => 'loader_image',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_loader_image']) ? $default_values['likebtn_settings_loader_image'] : NULL : variable_get('likebtn_settings_loader_image', NULL),
  );
  $form['likebtn_settings_tooltips'] = array(
    '#type' => 'fieldset',
    '#title' => t('Tooltips'),
    '#weight' => 9,
    '#collapsible' => TRUE,
    '#collapsed' => TRUE,
  );
  $form['likebtn_settings_tooltips']['likebtn_settings_tooltip_enabled'] = array(
    '#type' => 'checkbox',
    '#title' => t('Show tooltips'),
    '#description' => 'tooltip_enabled',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_tooltip_enabled']) ? $default_values['likebtn_settings_tooltip_enabled'] : TRUE : variable_get('likebtn_settings_tooltip_enabled', TRUE),
  );

  /*$form['likebtn_settings_domains'] = array(
      '#type'        => 'fieldset',
      '#title'       => t('Domains'),
      '#weight'      => 10,
      '#collapsible' => TRUE,
      '#collapsed'   => TRUE,
    );
    $form['likebtn_settings_domains']['likebtn_settings_domain_from_parent'] = array(
      '#type'          => 'checkbox',
      '#title'         => t('Use domain of the parent window'),
      '#description'   => 'domain_from_parent',
      '#default_value' => ($default_values ? (isset($default_values['likebtn_settings_domain_from_parent']) ? $default_values['likebtn_settings_domain_from_parent'] : FALSE) : variable_get('likebtn_settings_domain_from_parent', FALSE)),
    );*/
  $form['likebtn_settings_i18n'] = array(
    '#type' => 'fieldset',
    '#title' => t('Labels'),
    '#weight' => 11,
    '#collapsible' => TRUE,
    '#collapsed' => TRUE,
  );
  $form['likebtn_settings_i18n']['likebtn_settings_i18n_like'] = array(
    '#type' => 'textfield',
    '#title' => t('Like Button label'),
    '#description' => 'i18n_like',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_i18n_like']) ? $default_values['likebtn_settings_i18n_like'] : NULL : variable_get('likebtn_settings_i18n_like', NULL),
  );
  $form['likebtn_settings_i18n']['likebtn_settings_i18n_dislike'] = array(
    '#type' => 'textfield',
    '#title' => t('Dislike Button label'),
    '#description' => 'i18n_dislike',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_i18n_dislike']) ? $default_values['likebtn_settings_i18n_dislike'] : NULL : variable_get('likebtn_settings_i18n_dislike', NULL),
  );
  $form['likebtn_settings_i18n']['likebtn_settings_i18n_after_like'] = array(
    '#type' => 'textfield',
    '#title' => t('Like Button label after liking'),
    '#description' => 'i18n_after_like',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_i18n_after_like']) ? $default_values['likebtn_settings_i18n_after_like'] : NULL : variable_get('likebtn_settings_i18n_after_like', NULL),
  );
  $form['likebtn_settings_i18n']['likebtn_settings_i18n_after_dislike'] = array(
    '#type' => 'textfield',
    '#title' => t('Dislike Button label after disliking'),
    '#description' => 'i18n_after_dislike',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_i18n_after_dislike']) ? $default_values['likebtn_settings_i18n_after_dislike'] : NULL : variable_get('likebtn_settings_i18n_after_dislike', NULL),
  );
  $form['likebtn_settings_i18n']['likebtn_settings_i18n_like_tooltip'] = array(
    '#type' => 'textfield',
    '#title' => t('Like Button tooltip'),
    '#description' => 'i18n_like_tooltip',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_i18n_like_tooltip']) ? $default_values['likebtn_settings_i18n_like_tooltip'] : NULL : variable_get('likebtn_settings_i18n_like_tooltip', NULL),
  );
  $form['likebtn_settings_i18n']['likebtn_settings_i18n_dislike_tooltip'] = array(
    '#type' => 'textfield',
    '#title' => t('Dislike Button tooltip'),
    '#description' => 'i18n_dislike_tooltip',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_i18n_dislike_tooltip']) ? $default_values['likebtn_settings_i18n_dislike_tooltip'] : NULL : variable_get('likebtn_settings_i18n_dislike_tooltip', NULL),
  );
  $form['likebtn_settings_i18n']['likebtn_settings_i18n_unlike_tooltip'] = array(
    '#type' => 'textfield',
    '#title' => t('Like Button tooltip after "liking"'),
    '#description' => 'i18n_unlike_tooltip',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_i18n_unlike_tooltip']) ? $default_values['likebtn_settings_i18n_unlike_tooltip'] : NULL : variable_get('likebtn_settings_i18n_unlike_tooltip', NULL),
  );
  $form['likebtn_settings_i18n']['likebtn_settings_i18n_undislike_tooltip'] = array(
    '#type' => 'textfield',
    '#title' => t('Dislike Button tooltip after "liking"'),
    '#description' => 'i18n_undislike_tooltip',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_i18n_undislike_tooltip']) ? $default_values['likebtn_settings_i18n_undislike_tooltip'] : NULL : variable_get('likebtn_settings_i18n_undislike_tooltip', NULL),
  );
  $form['likebtn_settings_i18n']['likebtn_settings_i18n_share_text'] = array(
    '#type' => 'textfield',
    '#title' => t('Text displayed in share popup after "liking"'),
    '#description' => 'i18n_share_text',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_i18n_share_text']) ? $default_values['likebtn_settings_i18n_share_text'] : NULL : variable_get('likebtn_settings_i18n_share_text', NULL),
  );
  $form['likebtn_settings_i18n']['likebtn_settings_i18n_popup_close'] = array(
    '#type' => 'textfield',
    '#title' => t('Popup close button'),
    '#description' => 'i18n_popup_close',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_i18n_popup_close']) ? $default_values['likebtn_settings_i18n_popup_close'] : NULL : variable_get('likebtn_settings_i18n_popup_close', NULL),
  );
  $form['likebtn_settings_i18n']['likebtn_settings_i18n_popup_text'] = array(
    '#type' => 'textfield',
    '#title' => t('Popup text when sharing is disabled'),
    '#description' => 'i18n_popup_text',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_i18n_popup_text']) ? $default_values['likebtn_settings_i18n_popup_text'] : NULL : variable_get('likebtn_settings_i18n_popup_text', NULL),
  );
  $form['likebtn_settings_i18n']['likebtn_settings_i18n_popup_donate'] = array(
    '#type' => 'textfield',
    '#title' => t('Text before donate buttons in the popup'),
    '#description' => 'i18n_popup_donate',
    '#default_value' => $default_values ? isset($default_values['likebtn_settings_i18n_popup_donate']) ? $default_values['likebtn_settings_i18n_popup_donate'] : NULL : variable_get('likebtn_settings_i18n_popup_donate', NULL),
  );
  $form['likebtn_settings_i18n']['likebtn_translate'] = array(
    '#type' => 'item',
    '#description' => t('<a href="https://likebtn.com/en/translate-like-button-widget" target="_blank">Send us translation</a>'),
  );
  $form['likebtn_demo_fieldset'] = array(
    '#type' => 'fieldset',
    '#title' => t('Demo'),
    '#weight' => 12,
    '#collapsible' => FALSE,
    '#collapsed' => FALSE,
  );
  $form['likebtn_demo_fieldset']['likebtn_demo'] = array(
    '#type' => 'markup',
    '#markup' => _likebtn_get_markup('live_demo', 1, $default_values),
  );
  return $form;
}