public function webform_handler_field_submission_link::render in Webform 7.4
Same name and namespace in other branches
- 6.3 views/webform_handler_field_submission_link.inc \webform_handler_field_submission_link::render()
- 7.3 views/webform_handler_field_submission_link.inc \webform_handler_field_submission_link::render()
Render the field.
Parameters
array $values: The values retrieved from the database.
Overrides views_handler_field::render
File
- views/
webform_handler_field_submission_link.inc, line 65
Class
- webform_handler_field_submission_link
- Views handler to display links to a submission.
Code
public function render($values) {
$sid = $values->{$this->aliases['sid']};
$nid = $values->{$this->aliases['nid']};
$serial = $values->{$this->aliases['serial']};
$is_draft = $values->{$this->aliases['is_draft']};
$text = str_ireplace('[serial]', $serial . ($is_draft ? ' (' . t('draft') . ')' : ''), $this->options['text']);
switch ($this->link_type) {
case 'view':
$text = !empty($text) ? $text : t('view');
$link = l($text, "node/{$nid}/submission/{$sid}");
break;
case 'edit':
$text = !empty($text) ? $text : t('edit');
$link = l($text, "node/{$nid}/submission/{$sid}/edit");
break;
case 'delete':
$text = !empty($text) ? $text : t('delete');
$path = drupal_get_path_alias($_GET['q']);
$link = l($text, "node/{$nid}/submission/{$sid}/delete", array(
'query' => array(
'destination' => $path,
),
));
break;
default:
return;
}
if ($this->options['access_check']) {
module_load_include('inc', 'webform', 'includes/webform.submissions');
$node = node_load($nid);
$submission = webform_get_submission($nid, $sid);
if (!webform_submission_access($node, $submission, $this->link_type)) {
return;
}
}
return $link;
}