function shariff_sharing_buttons_content_type_render in Shariff Social Media Buttons 7
Output function for the 'shariff_buttons' content type.
File
- plugins/
content_types/ sharing_buttons.inc, line 19
Code
function shariff_sharing_buttons_content_type_render($subtype, $conf, $args, $contexts) {
$block = new stdClass();
// Load and prepare settings.
if (!$conf['default_settings']) {
global $language;
$lang = $language->language;
$supported_languages = _shariff_supported_languages();
foreach ($conf['services'] as $service) {
if ($service) {
$services[] = $service;
}
}
// For some settings we allow context specific substitutions.
foreach (array(
'twitter_via',
'referrer_track',
'mail_url',
'url',
'media_url',
'mail_subject',
'mail_body',
) as $setting) {
if (!empty($contexts) && !empty($conf[$setting])) {
$conf[$setting] = ctools_context_keyword_substitute($conf[$setting], array(), $contexts);
}
}
$theme_args = array(
'services' => $services,
'theme' => empty($conf['theme']) ? NULL : $conf['theme'],
'orientation' => empty($conf['orientation']) ? NULL : $conf['orientation'],
'twitter_via' => empty($conf['twitter_via']) ? NULL : $conf['twitter_via'],
'referrer_track' => empty($conf['referrer_track']) ? NULL : $conf['referrer_track'],
'backend_url' => empty($conf['backend_url']) ? NULL : $conf['backend_url'],
'mail_url' => empty($conf['mail_url']) ? NULL : $conf['mail_url'],
'mail_subject' => empty($conf['mail_subject']) ? NULL : $conf['mail_subject'],
'mail_body' => empty($conf['mail_body']) ? NULL : $conf['mail_body'],
'lang' => in_array($lang, $supported_languages) ? $lang : 'en',
'url' => empty($conf['url']) ? NULL : $conf['url'],
'flattr_category' => empty($conf['flattr_category']) ? NULL : $conf['flattr_category'],
'flattr_user' => empty($conf['flattr_user']) ? NULL : $conf['flattr_user'],
'media_url' => empty($conf['media_url']) ? NULL : $conf['media_url'],
);
}
else {
$theme_args = _shariff_get_settings();
}
if (!empty($theme_args['services'])) {
$block->content = theme('shariff', $theme_args);
}
return $block;
}