aboutsummaryrefslogtreecommitdiff
path: root/fblikebutton.handlers.inc
blob: aeb40a3e7a99b99ad05b316d8e584156565c32c7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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);
    }
  }
}