You are here

function webform_handler_field_submission_count::render in Webform 6.3

Same name and namespace in other branches
  1. 7.4 views/webform_handler_field_submission_count.inc \webform_handler_field_submission_count::render()
  2. 7.3 views/webform_handler_field_submission_count.inc \webform_handler_field_submission_count::render()

File

views/webform_handler_field_submission_count.inc, line 36
Views handler to display the number of submissions in a webform.

Class

webform_handler_field_submission_count
Field handler to present the submission count of a node to the user.

Code

function render($values) {
  global $user;
  $output = NULL;
  if ($this->count_type == 'node' && in_array($values->{$this->aliases['type']}, webform_variable_get('webform_node_types'))) {
    module_load_include('inc', 'webform', 'includes/webform.submissions');
    $node = node_load($values->{$this->aliases['nid']});
    if (webform_results_access($node, $user)) {
      $count = webform_get_submission_count($node->nid);
      $output = l($count, "node/{$node->nid}/webform-results");
    }
    else {
      $count = webform_get_submission_count($node->nid, $user->uid);
      $output = l($count, "node/{$node->nid}/submissions");
    }
  }
  elseif ($this->count_type == 'users') {
    $sql = "SELECT COUNT(sid) FROM {webform_submissions} WHERE uid = %d";
    $output = db_result(db_query($sql, $values->{$this->aliases['uid']}));
  }
  return $output;
}