You are here

function _addtoany_create_button in AddToAny Share Buttons 6.3

Same name and namespace in other branches
  1. 5.2 addtoany.module \_addtoany_create_button()
  2. 5.0 addtoany.module \_addtoany_create_button()
  3. 6.2 addtoany.module \_addtoany_create_button()
  4. 7 addtoany.module \_addtoany_create_button()
  5. 7.3 addtoany.module \_addtoany_create_button()

Internal function to generate code for AddToAny button

Parameters

object $node [optional]:

object $teaser [optional]:

Return value

String containing HTML code for the button

4 calls to _addtoany_create_button()
addtoany_block in ./addtoany.module
Implementation of hook_block().
addtoany_handler_field_addtoany_link::render in views/addtoany_handler_field_addtoany_link.inc
addtoany_link in ./addtoany.module
Implementation of hook_link().
addtoany_nodeapi in ./addtoany.module
Implementation of hook_nodeapi().

File

./addtoany.module, line 229
Standalone module file to handle AddToAny button integration

Code

function _addtoany_create_button($node = NULL, $teaser = FALSE) {
  global $_addtoany_counter, $base_path;

  // Only output CSS and JS when AddToAny is used (hook_init, etc. would be too early in the load process)
  $_addtoany_counter++;
  if ($_addtoany_counter == 1) {
    drupal_add_css(drupal_get_path('module', 'addtoany') . '/addtoany.css');
    _addtoany_header_script();
  }
  $disable_dropdown = variable_get('addtoany_dropdown_disabled', '0');
  if (is_object($node)) {
    $link_name = module_exists('page_title') ? page_title_page_get_title() : $node->title;
    $link_url = url('node/' . $node->nid, array(
      'absolute' => 1,
    ));
  }
  else {

    // Front page
    $link_name = module_exists('page_title') ? page_title_page_get_title() : variable_get('site_name', 'Drupal');
    $link_url = url('<front>', array(
      'absolute' => 1,
    ));
  }
  $javascript = $disable_dropdown ? '' : _addtoany_create_script($_addtoany_counter, $link_name, $link_url);
  $button_setting = variable_get('addtoany_image', 'share_save_171_16.png|171|16');
  if ($button_setting == "custom") {
    $button_image = check_url(variable_get('addtoany_custom_image', ''));
    $button_width = '';
    $button_height = '';
  }
  elseif ($button_setting != "text") {
    $button = explode('|', $button_setting);
    $button_filename = $button[0];
    $button_width = ' width="' . $button[1] . '"';
    $button_height = ' height="' . $button[2] . '"';
    $button_image = $base_path . drupal_get_path('module', 'addtoany') . '/images/' . $button_filename;
  }
  $button_text = check_url(variable_get('addtoany_link_text', ''));
  if (strlen($button_text) > 0) {
    $button_text = ' ' . $button_text;
  }
  $button_innerHTML = $button_setting == "text" ? $button_text : sprintf('<img src="%s"%s%s %s/>%s', $button_image, $button_width, $button_height, filter_xss(variable_get('addtoany_image_attributes', 'alt="Share this"'), array()), $button_text);
  return sprintf('
		<a%s href="http://www.addtoany.com/share_save?linkurl=%s&amp;linkname=%s" id="da2a_%s">%s</a>
		%s
		', $disable_dropdown ? '' : ' class="da2a_button"', rawurlencode($link_url), rawurlencode($link_name), $_addtoany_counter, $button_innerHTML, $javascript);
}