public function AddThis::getDisplayMarkup in AddThis 7.4
File
- classes/AddThis.php, line 137
- An AddThis-class.
Class
- AddThis
- @file
An AddThis-class.
Code
public function getDisplayMarkup($display, $options = array()) {
if (empty($display)) {
return array();
}
$formatters = _addthis_field_info_formatter_field_type();
if (!array_key_exists($display, $formatters)) {
return array();
}
$display_information = $formatters[$display];
if (!isset($options['#display']) || isset($options['#display']['type']) && $options['#display']['type'] != $display) {
$options['#display'] = isset($options['#display']) ? $options['#display'] : array();
$options['#display'] = array_merge($options['#display'], $display_information);
$options['#display']['type'] = $display;
}
if (isset($options['#entity']) && isset($options['#entity_type'])) {
$uri = entity_uri($options['#entity_type'], $options['#entity']);
$uri['options'] += array(
'absolute' => TRUE,
);
$options['#url'] = url($uri['path'], $uri['options']);
}
drupal_alter('addthis_markup_options', $options);
$markup = array(
'#display' => $options['#display'],
);
$addthis_display_markup_implementations = module_implements('addthis_display_markup');
if (function_exists($display_information['module'] . '_addthis_display_markup__' . $display)) {
$markup += call_user_func_array($display_information['module'] . '_addthis_display_markup__' . $display, array(
$options,
));
}
elseif (in_array($display_information['module'], $addthis_display_markup_implementations)) {
$markup += module_invoke($display_information['module'], 'addthis_display_markup', $display, $options);
}
drupal_alter('addthis_markup', $markup);
return $markup;
}