views_handler_field_node_link_edit.inc

Same filename in other branches
  1. 7.x-3.x modules/node/views_handler_field_node_link_edit.inc

File

modules/node/views_handler_field_node_link_edit.inc

View source
<?php


/**
 * Field handler to present a link node edit.
 *
 * @ingroup views_field_handlers
 */
class views_handler_field_node_link_edit extends views_handler_field_node_link {
    function construct() {
        parent::construct();
        $this->additional_fields['uid'] = 'uid';
        $this->additional_fields['type'] = 'type';
        $this->additional_fields['format'] = array(
            'table' => 'node_revisions',
            'field' => 'format',
        );
    }
    function render_link($data, $values) {
        // ensure user has access to edit this node.
        $node = new stdClass();
        $node->nid = $this->get_value($values, 'nid');
        $node->uid = $this->get_value($values, 'uid');
        $node->type = $this->get_value($values, 'type');
        $node->format = $this->get_value($values, 'format');
        $node->status = 1;
        // unpublished nodes ignore access control
        if (!node_access('update', $node)) {
            return;
        }
        $this->options['alter']['make_link'] = TRUE;
        $this->options['alter']['path'] = "node/{$node->nid}/edit";
        $this->options['alter']['query'] = drupal_get_destination();
        $text = !empty($this->options['text']) ? $this->options['text'] : t('edit');
        return $text;
    }

}

Classes

Title Deprecated Summary
views_handler_field_node_link_edit Field handler to present a link node edit.