';
$button_options = array(
'a2a_svg_32' => sprintf($button_img, 'a2a_32_32.png', 32, 32, ' class="addtoany-round-icon"'),
'share_save_171_16.png|171|16' => sprintf($button_img, 'share_save_171_16.png', 171, 16, ''),
'share_save_256_24.png|256|24' => sprintf($button_img, 'share_save_256_24.png', 256, 24, ''),
'custom' => 'Custom button',
'text' => 'Text only',
'none' => 'None',
);
$form['#attached']['js'] = array(
drupal_get_path('module', 'addtoany') . '/addtoany.admin.js',
);
$form['addtoany_button_settings'] = array(
'#type' => 'fieldset',
'#title' => t('Buttons'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
);
$form['addtoany_button_settings']['addtoany_buttons_size'] = array(
'#type' => 'textfield',
'#title' => t('Icon size'),
'#field_suffix' => ' ' . t('pixels'),
'#default_value' => variable_get('addtoany_buttons_size', '32'),
'#size' => 10,
'#maxlength' => 3,
'#element_validate' => array('element_validate_integer_positive'),
'#description' => t('AddToAny\'s large SVG icons are mobile ready, pixel perfect on high DPI or retina displays, and revert to PNG in older browsers.'),
'#required' => TRUE
);
$form['addtoany_button_settings']['addtoany_service_button_settings'] = array(
'#type' => 'fieldset',
'#title' => t('Service Buttons'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
$form['addtoany_button_settings']['addtoany_service_button_settings']['addtoany_additional_html'] = array(
'#type' => 'textarea',
'#title' => t('Service Buttons HTML code'),
'#default_value' => variable_get('addtoany_additional_html', ''),
'#description' => t('You can add HTML code to display customized standalone service buttons next to each universal sharing button. For example:
<a class="a2a_button_facebook"></a>
<a class="a2a_button_mastodon"></a>
<a class="a2a_button_pinterest"></a>
'),
);
$form['addtoany_button_settings']['addtoany_service_button_settings']['addtoany_additional_html_placement'] = array(
'#type' => 'radios',
'#title' => t('Service Buttons placement'),
'#default_value' => variable_get('addtoany_additional_html_placement', 'before'),
'#options' => array(
'before' => t('Before the universal sharing button'),
'after' => t('After the universal sharing button'),
),
);
$form['addtoany_button_settings']['universal_button'] = array(
'#type' => 'fieldset',
'#title' => t('Universal Button'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
/* #states workaround in addtoany.admin.js */
);
$form['addtoany_button_settings']['universal_button']['addtoany_image'] = array(
'#type' => 'radios',
'#title' => t('Button'),
'#default_value' => variable_get('addtoany_image', 'share_save_171_16.png|171|16'),
'#attributes' => array('class' => array('addtoany-universal-button-option')),
'#options' => $button_options,
);
$form['addtoany_button_settings']['universal_button']['addtoany_custom_image'] = array(
'#type' => 'textfield',
'#title' => t('Custom button URL'),
'#default_value' => variable_get('addtoany_custom_image', ''),
'#description' => t('URL to the button image of your choosing. Example: http://example.com/share.png'),
'#states' => array(
// Show only if custom button is selected
'visible' => array(
':input[name="addtoany_image"]' => array('value' => 'custom'),
),
),
);
$form['addtoany_button_settings']['universal_button']['addtoany_image_attributes'] = array(
'#type' => 'textfield',
'#title' => t('Button image HTML attributes'),
'#default_value' => variable_get('addtoany_image_attributes', 'alt="Share"'),
'#description' => t('Extra HTML attributes for img tag. Example: alt=""'),
);
$form['addtoany_button_settings']['universal_button']['addtoany_link_text'] = array(
'#type' => 'textfield',
'#title' => t('Link text'),
'#default_value' => variable_get('addtoany_link_text', ''),
'#description' => t('Text for the universal sharing button link. Example: Share'),
);
$form['addtoany_placement_settings'] = array(
'#type' => 'fieldset',
'#title' => t('Placement'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
$form['addtoany_placement_settings']['addtoany_nodetypes'] = array(
'#type' => 'checkboxes',
'#title' => t('Node types'),
'#description' => t('Display buttons for these node types.'),
'#default_value' => variable_get('addtoany_nodetypes', array('page', 'article')),
'#options' => node_type_get_names(),
);
$form['addtoany_placement_settings']['addtoany_display_in_teasers'] = array(
'#type' => 'checkbox',
'#title' => t('Display for node teasers'),
'#default_value' => variable_get('addtoany_display_in_teasers', '1'),
'#description' => t('Display buttons for node teasers in selected sections.'),
'#states' => array(
// Disable if no section placement is selected
'disabled' => array(
':input[name="addtoany_display_in_nodecont"]' => array('checked' => FALSE),
':input[name="addtoany_display_in_nodelink"]' => array('checked' => FALSE),
),
),
);
$form['addtoany_placement_settings']['addtoany_display_in_nodelink'] = array(
'#type' => 'checkbox',
'#title' => t('Display in link section'),
'#default_value' => variable_get('addtoany_display_in_nodelink', '1'),
'#description' => t('Display buttons in the link section of node pages.'),
);
$form['addtoany_placement_settings']['addtoany_display_in_nodecont'] = array(
'#type' => 'checkbox',
'#title' => t('Display in content section'),
'#default_value' => variable_get('addtoany_display_in_nodecont', '0'),
'#description' => t('Display buttons in the content section of node pages.'),
);
$form['addtoany_placement_settings']['addtoany_display_in_rss'] = array(
'#type' => 'checkbox',
'#title' => t('Display in RSS feed'),
'#default_value' => variable_get('addtoany_display_in_rss', '1'),
'#description' => t('Display buttons in the RSS feed.'),
);
$form['addtoany_placement_settings']['addtoany_display_weight'] = array(
'#type' => 'weight',
'#title' => t('Content weight'),
'#default_value' => variable_get('addtoany_display_weight', 40),
'#delta' => 50,
'#description' => t('Optional weight value for buttons displayed in the content section.'),
'#states' => array(
// Show only if placement in "content" selected
'visible' => array(
':input[name="addtoany_display_in_nodecont"]' => array('checked' => TRUE),
),
),
);
$form['addtoany_additional_settings'] = array(
'#type' => 'fieldset',
'#title' => t('Additional options'),
'#collapsible' => TRUE,
'#collapsed' => TRUE,
);
$form['addtoany_additional_settings']['addtoany_additional_js'] = array(
'#type' => 'textarea',
'#title' => t('Additional JavaScript'),
'#default_value' => variable_get('addtoany_additional_js', ''),
'#description' => t('You can add special JavaScript code for AddToAny. Advanced users might want to check out AddToAny\'s JavaScript API and documentation.'),
);
$form['addtoany_additional_settings']['addtoany_additional_css'] = array(
'#type' => 'textarea',
'#title' => t('Additional CSS'),
'#default_value' => variable_get('addtoany_additional_css', ''),
'#description' => t('You can add special CSS code for AddToAny. See AddToAny documentation for customizations.'),
);
$form['addtoany_additional_settings']['addtoany_no_3p'] = array(
'#type' => 'checkbox',
'#title' => t('Disable 3rd party cookies'),
'#default_value' => variable_get('addtoany_no_3p', '0'),
'#description' => t('Disabling may affect analytics and limit some functionality.'),
);
return system_settings_form($form);
}