You are here

function drupagram_views_data in Drupagram 6

Same name and namespace in other branches
  1. 7 drupagram.views.inc \drupagram_views_data()

Implements hook_views_data().

Related topics

File

views/drupagram.views.inc, line 41
Provide views data and handlers for drupagram.module

Code

function drupagram_views_data() {

  // Basic table information.
  $data['drupagram']['table']['group'] = t('Instagram');

  // Advertise this table as a possible base table
  $data['drupagram']['table']['base'] = array(
    'field' => 'drupagram_id',
    'title' => t('Instagram posts'),
    'help' => t('Instagram posts.'),
    'weight' => 10,
  );

  // Instagram ID
  $data['drupagram']['drupagram_id'] = array(
    'title' => t('Instagram post ID'),
    'help' => t('The ID of the Instagram media.'),
    'field' => array(
      'handler' => 'views_handler_field',
      'click sortable' => TRUE,
    ),
    'filter' => array(
      'handler' => 'views_handler_filter_numeric',
    ),
    'sort' => array(
      'handler' => 'views_handler_sort',
    ),
    'argument' => array(
      'handler' => 'views_handler_argument_string',
    ),
  );

  // Instagram message timestamp
  $data['drupagram']['created_time'] = array(
    'title' => t('Created time'),
    'help' => t('The time the Instagram message was posted.'),
    'field' => array(
      'handler' => 'views_handler_field_date',
      'click sortable' => TRUE,
    ),
    'sort' => array(
      'handler' => 'views_handler_sort',
    ),
    'filter' => array(
      'handler' => 'views_handler_filter_date',
    ),
  );

  // Instagram text
  $data['drupagram']['caption'] = array(
    'title' => t('Caption'),
    'help' => t('The caption text of the Instagram post.'),
    'field' => array(
      'handler' => 'views_handler_field',
      'click sortable' => TRUE,
    ),
    'filter' => array(
      'handler' => 'views_handler_filter_string',
    ),
  );

  // Instagram text
  $data['drupagram']['filter'] = array(
    'title' => t('Filter'),
    'help' => t('The filter used in this Instagram post.'),
    'field' => array(
      'handler' => 'views_handler_field',
      'click sortable' => TRUE,
    ),
    'filter' => array(
      'handler' => 'views_handler_filter_string',
    ),
  );

  // Instagram Link
  $data['drupagram']['link'] = array(
    'title' => t('Link'),
    'help' => t('Link to the Instagram post.'),
    'field' => array(
      'handler' => 'views_handler_field_url',
      'click sortable' => TRUE,
    ),
  );

  // Instagram Likes
  $data['drupagram']['likes'] = array(
    'title' => t('Likes'),
    'help' => t('Likes data'),
    'field' => array(
      'handler' => 'drupagram_views_handler_field_likes',
    ),
  );

  // Instagram Images
  $data['drupagram']['images'] = array(
    'title' => t('Instagram image'),
    'help' => t('Instagram image.'),
    'field' => array(
      'handler' => 'drupagram_views_handler_field_images',
      'click sortable' => TRUE,
    ),
  );

  // Instagram author username
  $data['drupagram']['username'] = array(
    'title' => t('Instagram author username'),
    'help' => t('The login account of the author of this post.'),
    'field' => array(
      'handler' => 'views_handler_field',
      'click sortable' => TRUE,
    ),
    'filter' => array(
      'handler' => 'views_handler_filter_string',
    ),
    'sort' => array(
      'handler' => 'views_handler_sort',
    ),
    'argument' => array(
      'handler' => 'views_handler_argument_string',
    ),
  );
  $data['drupagram_account']['table']['group'] = t('Instagram Account');
  $data['drupagram_account']['table']['join'] = array(
    'drupagram' => array(
      'left_field' => 'username',
      'field' => 'username',
    ),
    'users' => array(
      'left_field' => 'uid',
      'field' => 'uid',
    ),
  );

  // Instagram username
  $data['drupagram_account']['username'] = array(
    'title' => t('Instagram account username'),
    'help' => t('The username of the Instagram account.'),
    'field' => array(
      'handler' => 'views_handler_field',
      'click sortable' => TRUE,
    ),
    'filter' => array(
      'handler' => 'views_handler_filter_string',
    ),
    'sort' => array(
      'handler' => 'views_handler_sort',
    ),
    'argument' => array(
      'handler' => 'views_handler_argument_string',
    ),
  );

  // Instagram account full name
  $data['drupagram_account']['full_name'] = array(
    'title' => t('Full name'),
    'help' => t('The full name Instagram account user.'),
    'field' => array(
      'handler' => 'views_handler_field',
      'click sortable' => TRUE,
    ),
    'filter' => array(
      'handler' => 'views_handler_filter_string',
    ),
    'sort' => array(
      'handler' => 'views_handler_sort',
    ),
    'argument' => array(
      'handler' => 'views_handler_argument_string',
    ),
  );

  // Instagram account description
  $data['drupagram_account']['bio'] = array(
    'title' => t('Bio'),
    'help' => t('The bio of the Instagram account.'),
    'field' => array(
      'handler' => 'views_handler_field',
      'click sortable' => TRUE,
    ),
    'filter' => array(
      'handler' => 'views_handler_field_xss',
    ),
    'sort' => array(
      'handler' => 'views_handler_sort',
    ),
  );

  // Instagram account location
  $data['drupagram_account']['location'] = array(
    'title' => t('Location'),
    'help' => t('The location of the Instagram account.'),
    'field' => array(
      'handler' => 'views_handler_field',
      'click sortable' => TRUE,
    ),
    'filter' => array(
      'handler' => 'views_handler_field_xss',
    ),
    'sort' => array(
      'handler' => 'views_handler_sort',
    ),
  );

  // Instagram account description
  $data['drupagram_account']['followed_by_count'] = array(
    'title' => t('Followers'),
    'help' => t('The number of users following this Instagram account.'),
    'field' => array(
      'handler' => 'views_handler_field_numeric',
      'click sortable' => TRUE,
    ),
    'filter' => array(
      'handler' => 'views_handler_filter_numeric',
    ),
    'sort' => array(
      'handler' => 'views_handler_sort',
    ),
  );

  // Instagram account profile image
  $data['drupagram_account']['profile_picture'] = array(
    'title' => t('Profile picture'),
    'help' => t('The image used by the Instagram account.'),
    'field' => array(
      'handler' => 'drupagram_views_handler_field_profile_image',
      'click sortable' => TRUE,
    ),
  );

  // Instagram account url
  $data['drupagram_account']['url'] = array(
    'title' => t('URL'),
    'help' => t('The URL given by the Instagram account user.'),
    'field' => array(
      'handler' => 'views_handler_field_url',
      'click sortable' => TRUE,
    ),
    'filter' => array(
      'handler' => 'views_handler_filter_string',
    ),
    'sort' => array(
      'handler' => 'views_handler_sort',
    ),
  );

  // Instagram message timestamp
  $data['drupagram_account']['last_refresh'] = array(
    'title' => t('Last refresh'),
    'help' => t('The time the Instagram account statuses were retrieved.'),
    'field' => array(
      'handler' => 'views_handler_field_date',
      'click sortable' => TRUE,
    ),
    'sort' => array(
      'handler' => 'views_handler_sort',
    ),
    'filter' => array(
      'handler' => 'views_handler_filter_date',
    ),
  );

  // Instagram account description
  $data['drupagram_account']['uid'] = array(
    'title' => t('User ID'),
    'help' => t('The UID of the Instagram account.'),
  );
  $data['drupagram_account']['import'] = array(
    'title' => t('Import status'),
    'help' => t('Whether posts from this Instagram account should be imported automatically.'),
    'field' => array(
      'handler' => 'views_handler_field_boolean',
      'click sortable' => TRUE,
    ),
    'filter' => array(
      'handler' => 'views_handler_filter_boolean_operator',
    ),
    'sort' => array(
      'handler' => 'views_handler_sort',
    ),
  );
  return $data;
}