function publish_button_views_handler_node_link::render_link in Publish button 7
Overrides views_handler_field_node_link::render_link
1 call to publish_button_views_handler_node_link::render_link()
- publish_button_views_handler_node_link::render in ./
publish_button_views_handler_node_link.inc - Render the field.
File
- ./
publish_button_views_handler_node_link.inc, line 49 - View handler for the module.
Class
- publish_button_views_handler_node_link
- Extends the node link handler.
Code
function render_link($data, $values) {
// Load the node to get the type, better programming needed...
$node = node_load($data);
if (_publish_button_publish_permissions($node->type) == TRUE && _publish_button_unpublish_permissions($node->type) == TRUE) {
if ($values->node_status) {
$status = 'unpublish';
}
if (!$values->node_status) {
$status = 'publish';
}
if (isset($this->options['alter'])) {
$csrf_token = drupal_get_token('publish_button_' . $data);
$this->options['alter']['make_link'] = TRUE;
$this->options['alter']['path'] = 'publish_button/' . $data . '/' . $status;
$this->options['alter']['query'] = drupal_get_destination();
$this->options['alter']['query']['csrf_token'] = $csrf_token;
$text = empty($this->options[$status]) ? t($status) : t($this->options[$status]);
$publish_button = array(
'#type' => 'button',
'#access' => TRUE,
'#value' => $text,
'#weight' => '30',
);
return $publish_button;
}
}
}