You are here

function instagram_feeds_views_get_view_result in Instagram Feeds 7

Custom altering and rendering the views view 'instagram_feeds_content'.

Parameters

array $config: An associative array of options for Instagram Feed.

Return value

string A rendered (markup) view result.

1 call to instagram_feeds_views_get_view_result()
instagram_feeds_block_view in ./instagram_feeds.module
Implements hook_block_view().

File

./instagram_feeds.module, line 806

Code

function instagram_feeds_views_get_view_result($config) {
  $args = array(
    implode(',', $config['tags']),
    implode(',', $config['users']),
  );
  $view = views_get_view('instagram_feeds_content');
  if (is_object($view)) {
    $view
      ->init_display();
    $view->display_handler->options['pager']['options']['items_per_page'] = $config['rows'] * $config['columns'];
    $view->display_handler->options['fields']['colorbox']['custom_gid'] = 'gallery_' . $config['delta'];
    $popup_likes_area = '';
    $pupup_footer_area = '[ops]';
    $view->display_handler->options['fields']['colorbox']['caption'] = '';
    if (count($config['popup_info'])) {
      if (in_array('[body]', $config['popup_info'])) {
        $view->display_handler->options['fields']['colorbox']['caption'] = '<span class="image-hover-' . $config['delta'] . '">[body]</span>';
      }
      if (in_array('[field_instf_like_count]', $config['popup_info'])) {
        $popup_likes_area .= '<div class="likes">[field_instf_like_count]</div>';
      }
      if (in_array('[field_instf_comments_count]', $config['popup_info'])) {
        $popup_likes_area .= '<div class="comments">[field_instf_comments_count]</div>';
      }
      if (in_array('[field_instf_user]', $config['popup_info'])) {
        $pupup_footer_area = '<span class="image-hover-' . $config['delta'] . '">[field_instf_user]</span>[ops]';
      }
    }

    // Add likes and comments counters.
    if (!empty($popup_likes_area)) {
      $view->display_handler->options['fields']['colorbox']['popup'] .= '<div class="instagram-counts">' . $popup_likes_area . '</div>';
    }

    // Add footer of popup (username and flag).
    $view->display_handler->options['fields']['colorbox']['popup'] .= '<div class="instagram-footer">' . $pupup_footer_area . '</div>';

    // Wrap content of popup.
    $view->display_handler->options['fields']['colorbox']['popup'] = '<div class="instagram-popup">' . $view->display_handler->options['fields']['colorbox']['popup'] . '</div>';
    $view->display_handler->options['style_options']['row_class'] .= ' instagram-' . $config['thumb_size'];
    $view->display_handler->options['css_class'] .= ' instagram-feeds-content-' . $config['delta'];
    $view->instagram_config = $config;
    return $view
      ->preview('default', $args);
  }
  else {
    return '';
  }
}