You are here

function webform_handler_field_submission_link::render in Webform 6.3

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

File

views/webform_handler_field_submission_link.inc, line 61
Views handler to display links to a submission.

Class

webform_handler_field_submission_link
Field handler to present a link to the user.

Code

function render($values) {
  $submission = new stdClass();
  $submission->sid = $values->{$this->aliases['sid']};
  $submission->nid = $values->{$this->aliases['nid']};
  $submission->uid = $values->{$this->aliases['uid']};
  $node = (object) array(
    'nid' => $submission->nid,
    'uid' => $values->{$this->aliases['node_uid']},
  );
  switch ($this->link_type) {
    case 'view':
      $text = !empty($this->options['text']) ? $this->options['text'] : t('view');
      $link = l($text, "node/{$submission->nid}/submission/{$submission->sid}");
      $access = webform_submission_access($node, $submission, 'view');
      break;
    case 'edit':
      $text = !empty($this->options['text']) ? $this->options['text'] : t('edit');
      $link = l($text, "node/{$submission->nid}/submission/{$submission->sid}/edit");
      $access = webform_submission_access($node, $submission, 'edit');
      break;
    case 'delete':
      $text = !empty($this->options['text']) ? $this->options['text'] : t('delete');
      $path = drupal_get_path_alias($_GET['q']);
      $link = l($text, "node/{$submission->nid}/submission/{$submission->sid}/delete", array(
        'query' => 'destination=' . $path,
      ));
      $access = webform_submission_access($node, $submission, 'delete');
      break;
    default:
      $text = '';
      $link = NULL;
      $access = FALSE;
  }
  if (!$access) {
    return;
  }
  return $link;
}