You are here

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;
}