You are here

widgets_service_links.module in Widgets 7

Implements widgets API to integrate service links as widget elements

File

modules/widgets_service_links/widgets_service_links.module
View source
<?php

/**
 * @file
 * Implements widgets API to integrate service links as widget elements
 */

/**
 * Implements hook_widgets_element_info().
 */
function widgets_service_links_widgets_element_info() {
  $services = service_links_get_links();
  $elements = array();
  if (is_array($services)) {
    foreach ($services as $name => $service) {
      $service['label'] = $service['name'];
      $service['help'] = $service['description'];
      $service['template'] = $service['link'];
      $service['view callback'] = 'widgets_service_links_element_view';
      $service['group'] = t('Service links');
      $elements['service_links_' . $name] = $service;
    }
  }
  return $elements;
}

/*
 * Callback to use service links module to format link
 */
function widgets_service_links_element_view($element) {

  //service_links_render_some($service_ids, $node = NULL, $nodelink = FALSE, $options = NULL);
  $link = service_links_render_some(substr($element['name'], 14));
  return array_pop($link);
}

/**
 * @return array
 */
function widgets_service_links_widgets_default_sets() {
  $sets = array();
  $sets['widgets_service_links-default'] = array(
    'elements' => array(
      array(
        'name' => 'service_links_twitter',
        //'data' => array('markup' => 'Follow us on:'),
        'weight' => 0,
      ),
      array(
        'name' => 'service_links_facebook',
        //'data' => array('markup' => 'Follow us on:'),
        'weight' => 1,
      ),
      array(
        'name' => 'service_links_google_buzz',
        //'data' => array('markup' => 'Follow us on:'),
        'weight' => 2,
      ),
      array(
        'name' => 'service_links_linkedin',
        //'data' => array('markup' => 'Follow us on:'),
        'weight' => 3,
      ),
      array(
        'name' => 'service_links_stumbleupon',
        //'data' => array('markup' => 'Follow us on:'),
        'weight' => 4,
      ),
      array(
        'name' => 'service_links_delicious',
        //'data' => array('markup' => 'Follow us on:'),
        'weight' => 5,
      ),
    ),
  );
  return $sets;
}