function oa_core_build_space_display in Open Atrium Core 7.2
Builds display variables for spaces. Optionally sections as well.
1 call to oa_core_build_space_display()
- oa_core_user_spaces_render in plugins/
content_types/ oa_core_user_spaces.inc - Render callback for the content visibility panel.
File
- plugins/
content_types/ oa_core_user_spaces.inc, line 164 - Defines the space summary panels pane.
Code
function oa_core_build_space_display($spaces, $conf, $account, $group_types = array(
OA_SPACE_TYPE => OA_SPACE_TYPE,
)) {
$vars = array();
usort($spaces, 'oa_core_sort_node_by_title');
foreach ($spaces as $space) {
if (empty($group_types[$space->type]) || !node_access('view', $space)) {
continue;
}
$vars[$space->nid]['title'] = check_plain($space->title);
$vars[$space->nid]['href'] = url('node/' . $space->nid);
$vars[$space->nid]['body'] = '';
$vars[$space->nid]['links'] = '';
$vars[$space->nid]['sections'] = array();
if ($conf['show_links']) {
$vars[$space->nid]['links'] = oa_core_user_spaces_get_links($space, $conf, $account);
}
if ($conf['show_description']) {
$body = field_view_field('node', $space, 'body', 'teaser');
$vars[$space->nid]['body'] = drupal_render($body);
}
$vars[$space->nid]['picture'] = '';
if ($conf['image_size'] != 'none') {
$picture = field_get_items('node', $space, 'field_featured_image');
if (!empty($picture)) {
$picture = array_shift($picture);
$vars[$space->nid]['picture'] = theme('image_style', array(
'style_name' => 'panopoly_image_' . $conf['image_size'],
'path' => $picture['uri'],
'width' => $picture['width'],
'height' => $picture['height'],
'alt' => $picture['alt'],
));
}
}
if ($conf['show_sections']) {
$include_archived = user_access('view trash content') || og_user_access('node', $space->nid, 'view trash content', $account);
$sections = oa_core_space_sections($space->nid, NODE_PUBLISHED, FALSE, array(), $include_archived);
foreach ($sections as $id => $title) {
$vars[$space->nid]['sections'][$id] = l($title, 'node/' . $id);
}
}
}
return $vars;
}