aboutsummaryrefslogtreecommitdiff
path: root/fblikebutton.handlers.inc
diff options
context:
space:
mode:
authorSilvio <silvio@socioambiental.org>2012-03-30 16:20:06 -0300
committerSilvio <silvio@socioambiental.org>2012-03-30 16:20:06 -0300
commitedeae898f6d6bbe4fbcbe89079e1f7f7c13abf70 (patch)
treeb5c74534f5c52e3fa55e98dffd8313233ebe7da5 /fblikebutton.handlers.inc
parentfb5e2ad9c7e7f94c5acb2327b809b08583581bb5 (diff)
downloadfblikebutton-edeae898f6d6bbe4fbcbe89079e1f7f7c13abf70.tar.gz
fblikebutton-edeae898f6d6bbe4fbcbe89079e1f7f7c13abf70.tar.bz2
Initial view support (upstream #1121906)
Diffstat (limited to 'fblikebutton.handlers.inc')
-rw-r--r--fblikebutton.handlers.inc51
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);
+ }
+ }
+}