You are here

function newsletter_subscriber_handler_subscriber_operations_field::render in Newsletter 7.2

Render newsletter subscriber administration links.

Overrides views_handler_field::render

File

modules/subscriber/includes/views/handlers/newsletter_subscriber_handler_subscriber_operations_field.inc, line 29

Class

newsletter_subscriber_handler_subscriber_operations_field
This field handler aggregates operations that can be done on a subscriber under a single field providing a more flexible way to present them in a view.

Code

function render($values) {
  $links = array();
  foreach (array(
    'clone' => t('clone'),
    'edit' => t('edit'),
    'delete' => t('delete'),
  ) as $action => $text) {
    $type = $values->{$this->aliases['type']};

    //Creating a dummy subscriber to check access against
    $dummy_subscriber = (object) array(
      'type' => $type,
    );
    if (!newsletter_subscriber_access($action, $dummy_subscriber)) {
      continue;
    }
    $subscriber_id = $values->{$this->aliases['subscriber_id']};
    $links[] = array(
      'title' => $text,
      'href' => 'admin/config/media/newsletter/subscribers/manage/' . $subscriber_id . '/' . $action,
    );
  }
  if ($links) {
    return theme('links', array(
      'links' => $links,
      'attributes' => array(
        'class' => array(
          'links',
          'inline',
          'operations',
        ),
      ),
    ));
  }
}