additional_fields['uid'] = 'uid'; $this->additional_fields['type'] = 'type'; $this->additional_fields['format'] = array('table' => 'node_revisions', 'field' => 'format'); } function render($values) { // Insure that user has access to clone this node. $node = new stdClass(); $node->nid = $values->{$this->aliases['nid']}; $node->uid = $values->{$this->aliases['uid']}; $node->type = $values->{$this->aliases['type']}; $node->format = $values->{$this->aliases['format']}; $node->status = 1; // unpublished nodes ignore access control if (!clone_access_cloning($node)) { return; } $text = !empty($this->options['text']) ? $this->options['text'] : t('clone'); return l($text, "node/$node->nid/clone", array('query' => drupal_get_destination())); } }