diff options
author | Silvio <silvio@socioambiental.org> | 2012-03-30 16:20:06 -0300 |
---|---|---|
committer | Silvio <silvio@socioambiental.org> | 2012-03-30 16:20:06 -0300 |
commit | edeae898f6d6bbe4fbcbe89079e1f7f7c13abf70 (patch) | |
tree | b5c74534f5c52e3fa55e98dffd8313233ebe7da5 /fblikebutton.handlers.inc | |
parent | fb5e2ad9c7e7f94c5acb2327b809b08583581bb5 (diff) | |
download | fblikebutton-edeae898f6d6bbe4fbcbe89079e1f7f7c13abf70.tar.gz fblikebutton-edeae898f6d6bbe4fbcbe89079e1f7f7c13abf70.tar.bz2 |
Initial view support (upstream #1121906)
Diffstat (limited to 'fblikebutton.handlers.inc')
-rw-r--r-- | fblikebutton.handlers.inc | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/fblikebutton.handlers.inc b/fblikebutton.handlers.inc new file mode 100644 index 0000000..aeb40a3 --- /dev/null +++ b/fblikebutton.handlers.inc @@ -0,0 +1,51 @@ +<?php + +/** + * @file + * Contains the fblikebutton views field handler. + */ + +/** + * Field handler for fblikebutton total transactions. + */ +class fblikebutton_handler_field_fblikebutton extends views_handler_field { + /** + * Implements views_handler_field#query(). + */ + function query() { + // Provide an field alias but don't actually alter the query. + $this->field_alias = 'views_fblikebutton_button_' . $this->position; + } + + /** + * Renders the field. + */ + function render($values) { + if (isset($values->nid)) { + global $user, $base_url; + $types = variable_get('fblikebutton_node_types', array()); + $fullnodedisplay = variable_get('fblikebutton_full_node_display', 0); + $teaserdisplay = variable_get('fblikebutton_teaser_display', 0); + $full = ($view_mode == 'full') ? TRUE : FALSE; + $show = ( ! empty($types[$values->type]) && user_access('access fblikebutton')); + // Thanks to corbacho for supplying the code for the $webpage_to_like variable... + // (It was apparently throwing errors/notices the way I had it set up.) + $webpage_to_like = url("node/$values->nid", array('absolute' => TRUE)); + $likebutton_weight = variable_get('fblikebutton_weight', '0'); + $conf = array( + 'layout' => variable_get('fblikebutton_layout', 'standard'), + 'action' => variable_get('fblikebutton_action', 'like'), + 'color_scheme' => variable_get('fblikebutton_color_scheme', 'light'), + 'show_faces' => variable_get('fblikebutton_show_faces', 'true'), + 'font' => variable_get('fblikebutton_font', 'arial'), + 'height' => variable_get('fblikebutton_iframe_height', '80'), + 'width' => variable_get('fblikebutton_iframe_width', '450'), + 'send' => variable_get('fblikebutton_send', 'true'), + 'other_css' => variable_get('fblikebutton_iframe_css', ''), + 'language' => variable_get('fblikebutton_language', 'en_US'), + ); + + return _fblikebutton_field($webpage_to_like, $conf); + } + } +} |