You are here

function _social_private_message_members in Open Social 8.3

Same name and namespace in other branches
  1. 8.9 modules/social_features/social_private_message/social_private_message.module \_social_private_message_members()
  2. 8.2 modules/social_features/social_private_message/social_private_message.module \_social_private_message_members()
  3. 8.4 modules/social_features/social_private_message/social_private_message.module \_social_private_message_members()
  4. 8.5 modules/social_features/social_private_message/social_private_message.module \_social_private_message_members()
  5. 8.6 modules/social_features/social_private_message/social_private_message.module \_social_private_message_members()
  6. 8.7 modules/social_features/social_private_message/social_private_message.module \_social_private_message_members()
  7. 8.8 modules/social_features/social_private_message/social_private_message.module \_social_private_message_members()
  8. 10.3.x modules/social_features/social_private_message/social_private_message.module \_social_private_message_members()
  9. 10.0.x modules/social_features/social_private_message/social_private_message.module \_social_private_message_members()
  10. 10.1.x modules/social_features/social_private_message/social_private_message.module \_social_private_message_members()
  11. 10.2.x modules/social_features/social_private_message/social_private_message.module \_social_private_message_members()

Add deleted users to list of thread members.

Parameters

array $form: The form.

\Drupal\Core\Form\FormStateInterface $form_state: The form_state.

1 string reference to '_social_private_message_members'
social_private_message_form_private_message_add_form_alter in modules/social_features/social_private_message/social_private_message.module
Implements hook_form_FORMID_alter().

File

modules/social_features/social_private_message/social_private_message.module, line 177
The Social Privagte Message module.

Code

function _social_private_message_members(array $form, FormStateInterface $form_state) {
  $only_exist_members = $form_state
    ->get('thread_members');
  $members_with_deleted = \Drupal::routeMatch()
    ->getParameter('private_message_thread')
    ->get('members')
    ->getValue();
  $thread_members = [];
  foreach ($members_with_deleted as $value) {
    $found = FALSE;

    /** @var \Drupal\user\UserInterface $member */
    foreach ($only_exist_members as $member) {
      if ($value['target_id'] == $member
        ->id()) {
        $found = TRUE;
        break;
      }
    }
    if ($found) {
      $thread_members[] = $member;
    }
    else {
      $thread_members[] = new DeletedUser($value['target_id']);
    }
  }
  $form_state
    ->set('thread_members', $thread_members);
}