You are here

function sort_email_frequency_options in Open Social 8.9

Same name and namespace in other branches
  1. 8 modules/custom/activity_send/modules/activity_send_email/activity_send_email.module \sort_email_frequency_options()
  2. 8.2 modules/custom/activity_send/modules/activity_send_email/activity_send_email.module \sort_email_frequency_options()
  3. 8.3 modules/custom/activity_send/modules/activity_send_email/activity_send_email.module \sort_email_frequency_options()
  4. 8.4 modules/custom/activity_send/modules/activity_send_email/activity_send_email.module \sort_email_frequency_options()
  5. 8.5 modules/custom/activity_send/modules/activity_send_email/activity_send_email.module \sort_email_frequency_options()
  6. 8.6 modules/custom/activity_send/modules/activity_send_email/activity_send_email.module \sort_email_frequency_options()
  7. 8.7 modules/custom/activity_send/modules/activity_send_email/activity_send_email.module \sort_email_frequency_options()
  8. 8.8 modules/custom/activity_send/modules/activity_send_email/activity_send_email.module \sort_email_frequency_options()
  9. 10.3.x modules/custom/activity_send/modules/activity_send_email/activity_send_email.module \sort_email_frequency_options()
  10. 10.0.x modules/custom/activity_send/modules/activity_send_email/activity_send_email.module \sort_email_frequency_options()
  11. 10.1.x modules/custom/activity_send/modules/activity_send_email/activity_send_email.module \sort_email_frequency_options()
  12. 10.2.x modules/custom/activity_send/modules/activity_send_email/activity_send_email.module \sort_email_frequency_options()

Sort the email frequencies by weight.

Return value

array A sorted array of frequency options by weight.

2 calls to sort_email_frequency_options()
activity_send_email_form_user_form_alter in modules/custom/activity_send/modules/activity_send_email/activity_send_email.module
Implements hook_form_FORM_ID_alter() for user_form().
SocialSwiftmailSettingsForm::buildForm in modules/social_features/social_swiftmail/src/Form/SocialSwiftmailSettingsForm.php
Form constructor.

File

modules/custom/activity_send/modules/activity_send_email/activity_send_email.module, line 244
Contains activity_basics.module..

Code

function sort_email_frequency_options() {
  $emailfrequencymanager = \Drupal::service('plugin.manager.emailfrequency');
  $plugins = $emailfrequencymanager
    ->getDefinitions();
  $emailfrequencies = [];

  // Fill a sortable array with the data about the email frequency.
  foreach ($plugins as $frequency) {

    /* @var \Drupal\activity_send_email\EmailFrequencyInterface $instance */
    $instance = $emailfrequencymanager
      ->createInstance($frequency['id']);
    $emailfrequencies[] = [
      'id' => $frequency['id'],
      'name' => $instance
        ->getName(),
      'weight' => $instance
        ->getWeight(),
    ];
  }

  // Sort the email frequencies by their weight.
  uasort($emailfrequencies, [
    'Drupal\\Component\\Utility\\SortArray',
    'sortByWeightElement',
  ]);
  return $emailfrequencies;
}