protected function SocialMediaLinksFieldBaseWidget::getAvailablePlatforms in Social Media Links Block and Field 8.2
Returns the list of platforms that was selected in field settings.
Return value
array $available_platforms
2 calls to SocialMediaLinksFieldBaseWidget::getAvailablePlatforms()
- SocialMediaLinksFieldBaseWidget::getAvailablePlatformOptions in modules/
social_media_links_field/ src/ Plugin/ Field/ FieldWidget/ SocialMediaLinksFieldBaseWidget.php  - Returns the available platforms as options array.
 - SocialMediaLinksFieldDefaultWidget::formElement in modules/
social_media_links_field/ src/ Plugin/ Field/ FieldWidget/ SocialMediaLinksFieldDefaultWidget.php  - Returns the form for a single field widget.
 
File
- modules/
social_media_links_field/ src/ Plugin/ Field/ FieldWidget/ SocialMediaLinksFieldBaseWidget.php, line 35  
Class
- SocialMediaLinksFieldBaseWidget
 - It allows to link social media.
 
Namespace
Drupal\social_media_links_field\Plugin\Field\FieldWidgetCode
protected function getAvailablePlatforms() {
  $platforms = \Drupal::service('plugin.manager.social_media_links.platform')
    ->getPlatforms();
  $platform_settings = $this->fieldDefinition
    ->getSetting('platforms');
  $available_platforms = [];
  foreach ($platforms as $platform_id => $platform) {
    if (isset($platform_settings[$platform_id]['enabled']) && $platform_settings[$platform_id]['enabled']) {
      $available_platforms[$platform_id] = $platform;
      $available_platforms[$platform_id]['weight'] = $platform_settings[$platform_id]['weight'];
    }
  }
  // If the array if empty no platform was selected which means, that all
  // platforms are available.
  if (empty($available_platforms)) {
    $available_platforms = $platforms;
    foreach ($platforms as $platform_id => $platform) {
      $available_platforms[$platform_id]['weight'] = isset($platform_settings[$platform_id]['weight']) ? $platform_settings[$platform_id]['weight'] : 0;
    }
  }
  uasort($available_platforms, [
    'Drupal\\Component\\Utility\\SortArray',
    'sortByWeightElement',
  ]);
  return $available_platforms;
}