function poll_block_latest_poll_view

Return content for 'latest poll' block.

Parameters

$node: The node object to load.

1 call to poll_block_latest_poll_view()
poll_block_view in modules/poll/poll.module
Implements hook_block_view().

File

modules/poll/poll.module, line 633

Code

function poll_block_latest_poll_view($node) {
    // This is necessary for shared objects because PHP doesn't copy objects, but
    // passes them by reference.  So when the objects are cached it can result in
    // the wrong output being displayed on subsequent calls.  The cloning and
    // unsetting of $node->content prevents the block output from being the same
    // as the node output.
    $node = clone $node;
    unset($node->content);
    // No 'read more' link.
    $node->readmore = FALSE;
    $node->teaser = '';
    $links = array();
    $links[] = array(
        'title' => t('Older polls'),
        'href' => 'poll',
        'attributes' => array(
            'title' => t('View the list of polls on this site.'),
        ),
    );
    if ($node->allowvotes) {
        $links[] = array(
            'title' => t('Results'),
            'href' => 'node/' . $node->nid . '/results',
            'attributes' => array(
                'title' => t('View the current poll results.'),
            ),
        );
    }
    $node->links = $links;
    if (!empty($node->allowvotes)) {
        $node->content['poll_view_voting'] = drupal_get_form('poll_view_voting', $node, TRUE);
        $node->content['links'] = array(
            '#theme' => 'links',
            '#links' => $node->links,
            '#weight' => 5,
        );
    }
    else {
        $node->content['poll_view_results'] = array(
            '#markup' => poll_view_results($node, TRUE, TRUE),
        );
    }
    return $node;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.