You are here

pwa_webpush.views.inc in Progressive Web App 7.2

File

modules/pwa_webpush/views/pwa_webpush.views.inc
View source
<?php

/**
* Expose Push Notifications data to views.
*/
function pwa_webpush_views_data() {
  $data['pwa_webpush_subscription']['table'] = [
    'group' => t('PWA WebPush'),
    'title' => t('WebPush subscriptions'),
    'help' => t('List of WebPush subscriptions.'),
  ];
  $data['pwa_webpush_subscription']['table']['base'] = [
    'field' => 'sid',
    'title' => t('PWA WebPush Subscription'),
    'help' => t('List of WebPush subscriptions.'),
    'weight' => -10,
  ];
  $data['example_table']['sid'] = [
    'title' => t('Subscription ID'),
    'help' => t('Drupal identifier for this subscription.'),
    'field' => [
      'handler' => 'views_handler_field_numeric',
      'click sortable' => TRUE,
    ],
    'filter' => [
      'handler' => 'views_handler_filter_numeric',
    ],
    'sort' => [
      'handler' => 'views_handler_sort',
    ],
  ];
  $data['pwa_webpush_subscription']['endpoint_sha256'] = [
    'title' => t('sha256 hash'),
    'help' => t('Hash of the endpoint URL.'),
    'field' => [
      'handler' => 'views_handler_field',
      'click sortable' => TRUE,
    ],
    'sort' => [
      'handler' => 'views_handler_sort',
    ],
    'filter' => [
      'handler' => 'views_handler_filter_string',
    ],
    'argument' => [
      'handler' => 'views_handler_argument_string',
    ],
  ];
  $data['pwa_webpush_subscription']['uid'] = [
    'title' => t('User ID'),
    'help' => t('UID associated with this subscription'),
    'field' => [
      'handler' => 'views_handler_field_user',
    ],
    'relationship' => [
      'title' => t('User'),
      'help' => t("UID associated with this subscription."),
      'base' => 'users',
      'base field' => 'uid',
      'handler' => 'views_handler_relationship',
      'label' => t('User'),
    ],
    'filter' => [
      'handler' => 'views_handler_filter_numeric',
    ],
    'argument' => [
      'handler' => 'views_handler_argument_numeric',
    ],
  ];
  $data['pwa_webpush_subscription']['json'] = [
    'title' => t('Subscription JSON data'),
    'help' => t('Raw JSON data sent by the browser.'),
    'field' => [
      'handler' => 'views_handler_field',
      'click sortable' => FALSE,
    ],
    'filter' => [
      'handler' => 'views_handler_filter_string',
    ],
    'sort' => [
      'handler' => 'views_handler_sort',
    ],
    'argument' => [
      'handler' => 'views_handler_argument_string',
    ],
  ];
  $data['pwa_webpush_subscription']['created'] = [
    'title' => t('Created'),
    'help' => t('When the subscription was created.'),
    'field' => [
      'handler' => 'views_handler_field_date',
      'click sortable' => TRUE,
    ],
    'sort' => [
      'handler' => 'views_handler_sort_date',
    ],
    'filter' => [
      'handler' => 'views_handler_filter_date',
    ],
  ];
  $data['pwa_webpush_subscription']['expired'] = [
    'title' => t('Expired'),
    'help' => t('When the subscription was created.'),
  ] + $data['pwa_webpush_subscription']['created'];
  $data['pwa_webpush_subscription']['last_used'] = [
    'title' => t('Last used'),
    'help' => t('Last successfully sent push notification.'),
  ] + $data['pwa_webpush_subscription']['created'];
  return $data;
}

Functions

Namesort descending Description
pwa_webpush_views_data Expose Push Notifications data to views.