function _service_links_get_tags in Service links 7.2
Same name and namespace in other branches
- 6.2 service_links.module \_service_links_get_tags()
Fill an array with tags and the content to substitute.
3 calls to _service_links_get_tags()
- panel_service_links_render in plugins/
content_types/ service_links.inc - Helper function to render the output of the pane.
- service_links_render in ./
service_links.module - Function that render all the selected services.
- service_links_render_some in ./
service_links.module - This function render only the services requested by their id.
File
- ./
service_links.module, line 676 - Adds social network links to the content.
Code
function _service_links_get_tags($node, &$settings) {
if (!empty($node)) {
$title = _service_links_get_node_title($node, $settings);
$path = _service_links_get_node_path($node);
$url = url("{$path}", array(
'absolute' => TRUE,
'query' => service_links_get_query($settings['text_to_append']),
));
$query = drupal_get_path_alias("node/{$node->nid}");
$body = field_get_items('node', $node, 'body');
$teaser = $body ? strip_tags(text_summary($body[0]['value'])) : '';
$nid = $node->nid;
}
elseif (isset($settings['data'])) {
$title = isset($settings['data']['title']) ? $settings['data']['title'] : '';
$url = isset($settings['data']['url']) ? $settings['data']['url'] : '';
$query = isset($settings['data']['query']) ? $settings['data']['query'] : '';
$teaser = isset($settings['data']['teaser']) ? $settings['data']['teaser'] : '';
$nid = isset($settings['data']['node_id']) ? $settings['data']['node_id'] : NULL;
}
else {
$title = drupal_get_title();
$url = _service_links_get_page_url(NULL, $settings);
// The query shouldn't follow the front_page alias but point the original page.
$query = drupal_get_normal_path($_GET['q']);
$teaser = '';
$nid = NULL;
}
$source = variable_get('site_name', 'Drupal');
$long_url = $url;
$front_page = url('<front>', array(
'absolute' => TRUE,
));
if (variable_get('clean_url', 0) == 0 && strpos($front_page, '?q=') === FALSE) {
$front_page .= '?q=';
}
else {
// Ensure a trailing slash on multilingual sites with clean url on.
$front_page = preg_replace('/([0-9a-z-_]+)$/i', '\\1/', $front_page);
}
switch ($settings['short_links_use']) {
case SERVICE_LINKS_SHORT_URL_USE_NEVER:
$short_url = $url;
break;
case SERVICE_LINKS_SHORT_URL_USE_WHEN_REQUESTED:
$short_url = service_links_short_url($url, $nid);
break;
case SERVICE_LINKS_SHORT_URL_USE_ALWAYS:
$short_url = service_links_short_url($url, $nid);
$url = $short_url;
break;
}
$settings['tag'] = array(
'raw-encoded-title' => '<raw-encoded-title>',
'raw-encoded-url' => '<raw-encoded-url>',
'raw-encoded-teaser' => '<raw-encoded-teaser>',
'raw-encoded-short-url' => '<raw-encoded-short-url>',
'raw-encoded-long-url' => '<raw-encoded-long-url>',
'raw-encoded-query' => '<raw-encoded-query>',
'raw-encoded-source' => '<raw-encoded-source>',
'encoded-title' => '<encoded-title>',
'encoded-url' => '<encoded-url>',
'encoded-teaser' => '<encoded-teaser>',
'encoded-short-url' => '<encoded-short-url>',
'encoded-long-url' => '<encoded-long-url>',
'encoded-query' => '<encoded-query>',
'encoded-source' => '<encoded-source>',
'teaser' => '<teaser>',
'short-url' => '<short-url>',
'long-url' => '<long-url>',
'source' => '<source>',
'node-id' => '<node-id>',
'query' => '<query>',
'url' => '<url>',
'title' => '<title>',
'front-page' => '<front-page>',
);
$settings['subst'] = array(
//'raw-encoded-title' => rawurlencode($title),
'raw-encoded-title' => $title,
//'raw-encoded-url' => rawurlencode($url),
'raw-encoded-url' => $url,
//'raw-encoded-teaser' => rawurlencode($teaser),
'raw-encoded-teaser' => $teaser,
//'raw-encoded-short-url' => rawurlencode($short_url),
'raw-encoded-short-url' => $short_url,
//'raw-encoded-long-url' => rawurlencode($long_url),
'raw-encoded-long-url' => $long_url,
//'raw-encoded-query' => rawurlencode($query),
'raw-encoded-query' => $query,
//'raw-encoded-source' => rawurlencode($source),
'raw-encoded-source' => $source,
//'encoded-title' => urlencode($title),
'encoded-title' => $title,
//'encoded-url' => urlencode($url),
'encoded-url' => $url,
//'encoded-teaser' => urlencode($teaser),
'encoded-teaser' => $teaser,
//'encoded-short-url' => urlencode($short_url),
'encoded-short-url' => $short_url,
//'encoded-long-url' => urlencode($long_url),
'encoded-long-url' => $long_url,
//'encoded-query' => urlencode($query),
'encoded-query' => $query,
//'encoded-source' => urlencode($source),
'encoded-source' => $source,
//Not needed
'teaser' => $teaser,
'short-url' => $short_url,
'long-url' => $long_url,
'source' => $source,
'node-id' => $nid,
'query' => $query,
'url' => $url,
'title' => $title,
'front-page' => $front_page,
);
// Invoke an alter hook to let other modules modify these values if needed.
drupal_alter('service_links_node_settings', $settings, $node);
}