Index: service_links.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/service_links/service_links.module,v retrieving revision 1.26 diff -u -p -r1.26 service_links.module --- service_links.module 26 Feb 2008 17:01:27 -0000 1.26 +++ service_links.module 17 Jun 2009 15:04:51 -0000 @@ -476,3 +476,13 @@ function _service_links_show($node) { return $links_show; } + +/** + * Implementation of hook_views_api(). + */ +function service_links_views_api() { + return array( + 'api' => 2, + 'path' => drupal_get_path('module', 'service_links'), + ); +} \ No newline at end of file Index: service_links.views.inc =================================================================== RCS file: service_links.views.inc diff -N service_links.views.inc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ service_links.views.inc 17 Jun 2009 15:04:51 -0000 @@ -0,0 +1,38 @@ + t('Service links'), + 'help' => t('Display links to social sharing websites like Digg, del.icio.us, reddit, Technorati etc..'), + 'field' => array( + 'handler' => 'service_links_handler_field_service_links', + ), + ); + + return $data; +} + +/** + * Implementation of hook_views_handlers(). + */ +function service_links_views_handlers() { + return array( + 'info' => array( + 'path' => drupal_get_path('module', 'service_links'), + ), + 'handlers' => array( + 'service_links_handler_field_service_links' => array( + 'parent' => 'views_handler_field', + ), + ), + ); +} \ No newline at end of file Index: service_links_handler_field_service_links.inc =================================================================== RCS file: service_links_handler_field_service_links.inc diff -N service_links_handler_field_service_links.inc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ service_links_handler_field_service_links.inc 17 Jun 2009 15:04:51 -0000 @@ -0,0 +1,41 @@ +additional_fields['nid'] = 'nid'; + $this->additional_fields['title'] = 'title'; + } + + function query() { + $this->ensure_my_table(); + $this->add_additional_fields(); + } + + function option_definition() { + $options = parent::option_definition(); + + return $options; + } + + function options_form(&$form, &$form_state) { + parent::options_form($form, $form_state); + + // Remove the alteration stuff + unset($form['alter']); + } + + function render($values) { + $node = new stdClass(); + $node->nid = $values->{$this->aliases['nid']}; + $node->title = $values->{$this->aliases['title']}; + // Nothing to render. + return theme('links', service_links_render($node, TRUE)); + } +} \ No newline at end of file