function nodequeue_handler_field_all_subqueues::pre_render in Nodequeue 7.3
Same name and namespace in other branches
- 6.2 includes/views/nodequeue_handler_field_all_subqueues.inc \nodequeue_handler_field_all_subqueues::pre_render()
- 7.2 includes/views/nodequeue_handler_field_all_subqueues.inc \nodequeue_handler_field_all_subqueues::pre_render()
Run before any fields are rendered.
This gives the handlers some time to set up before any handler has been rendered.
Parameters
array $values: An array of all objects returned from the query.
Overrides nodequeue_handler_field_all_queues::pre_render
File
- includes/
views/ nodequeue_handler_field_all_subqueues.inc, line 10 - Field handler for all subqueues
Class
- nodequeue_handler_field_all_subqueues
- @file Field handler for all subqueues
Code
function pre_render(&$values) {
if (user_access('manipulate queues') || user_access('manipulate all queues')) {
$nids = array();
foreach ($values as $result) {
$nids[] = $result->{$this->field_alias};
}
if ($nids) {
$query = db_select('nodequeue_nodes', 'nn');
$query
->innerJoin('nodequeue_queue', 'nq', 'nn.name = nq.name');
$query
->innerJoin('nodequeue_subqueue', 'ns', 'nn.sqid = ns.sqid');
$query
->fields('nn', array(
'nid',
'sqid',
'name',
));
$query
->fields('nq', array(
'subqueue_title',
));
$query
->fields('ns', array(
'title',
));
$query
->orderby('ns.title');
$query
->orderby('nq.subqueue_title');
$query
->condition('nn.nid', $nids);
$queues = array_filter($this->options['queues']);
if (!empty($this->options['limit']) && !empty($queues)) {
$query
->condition('nn.name', $queues);
}
$result = $query
->execute();
foreach ($result as $queue) {
$title = empty($queue->subqueue_title) ? $queue->title : str_replace('%subqueue', $queue->title, $queue->subqueue_title);
$this->items[$queue->nid][$queue->sqid]['title'] = check_plain($title);
if (!empty($this->options['link_to_queue'])) {
$this->items[$queue->nid][$queue->sqid]['make_link'] = TRUE;
$this->items[$queue->nid][$queue->sqid]['path'] = 'admin/structure/nodequeue/' . $queue->name . '/view/' . $queue->sqid;
}
}
}
}
}