You are here

function _social_private_message_set_private_message_default_view_settings in Open Social 10.1.x

Same name and namespace in other branches
  1. 8.9 modules/social_features/social_private_message/social_private_message.install \_social_private_message_set_private_message_default_view_settings()
  2. 8.8 modules/social_features/social_private_message/social_private_message.install \_social_private_message_set_private_message_default_view_settings()
  3. 10.3.x modules/social_features/social_private_message/social_private_message.install \_social_private_message_set_private_message_default_view_settings()
  4. 10.0.x modules/social_features/social_private_message/social_private_message.install \_social_private_message_set_private_message_default_view_settings()
  5. 10.2.x modules/social_features/social_private_message/social_private_message.install \_social_private_message_set_private_message_default_view_settings()

Set the Open Social specific settings for the private message default view.

1 call to _social_private_message_set_private_message_default_view_settings()
social_private_message_install in modules/social_features/social_private_message/social_private_message.install
Implements hook_uninstall().

File

modules/social_features/social_private_message/social_private_message.install, line 69
The Social Private Message (de)installation file.

Code

function _social_private_message_set_private_message_default_view_settings() {

  /** @var \Drupal\Core\Entity\Display\EntityViewDisplayInterface $pm_view_display */
  $pm_view_display = \Drupal::service('entity_type.manager')
    ->getStorage('entity_view_display')
    ->load('private_message.private_message.default');
  $created_field = $pm_view_display
    ->getComponent('created');
  $created_field['type'] = 'timestamp_ago';
  $created_field['settings'] = [
    'granularity' => 1,
    'future_format' => '@interval hence',
    'past_format' => '@interval ago',
  ];
  $owner_field = $pm_view_display
    ->getComponent('owner');
  $owner_field['type'] = 'social_private_message_owner_formatter';
  $owner_field['settings'] = [
    'link' => FALSE,
  ];
  $pm_view_display
    ->setComponent('created', $created_field)
    ->setComponent('owner', $owner_field)
    ->save();
}