function panel_service_links_render in Service links 7.2
Helper function to render the output of the pane.
Parameters
$node: The node on which the links are to be rendered if available, or NULL.
nodelink: The link to the node if available, or FALSE.
$options: The style for rendering the service links, fisheye or not.
$services: An array of services to display.
1 call to panel_service_links_render()
- service_links_service_links_content_type_render in plugins/
content_types/ service_links.inc - Output function for the 'service_links' content type.
File
- plugins/
content_types/ service_links.inc, line 93 - Content type enables user to place the selected service links
Code
function panel_service_links_render($node, $nodelink = FALSE, $options = NULL, $services = array()) {
$links = array(
'weight' => array(),
'link' => array(),
);
$settings = _service_links_load_settings();
if (empty($settings['link_show'])) {
return array();
}
if (isset($options)) {
if (!is_array($options)) {
$options = array(
'style' => $options,
);
}
$settings = array_merge($settings, $options);
}
_service_links_get_tags($node, $settings);
foreach ($services as $service_id => $service) {
// Load the position.
$links['weight'][] = isset($settings['link_weight'][$service_id]) ? $settings['link_weight'][$service_id] : 0;
// Render the Service.
$links['link'] += _service_links_render($service_id, $service, $settings, $nodelink, $node);
}
if (!empty($links['link'])) {
array_multisort($links['weight'], $links['link']);
}
return !empty($links['link']) ? $links['link'] : array();
}