gamify-1.1.x-dev/src/TypedData/Options/OptionsProviderBase.php

src/TypedData/Options/OptionsProviderBase.php
<?php

namespace Drupal\gamify\TypedData\Options;

use Drupal\Core\Form\OptGroup;
use Drupal\Core\Session\AccountInterface;
use Drupal\Core\StringTranslation\StringTranslationTrait;
use Drupal\Core\TypedData\OptionsProviderInterface;

/**
 * Base class for options providers used in Rules actions and conditions.
 */
abstract class OptionsProviderBase implements OptionsProviderInterface {
  use StringTranslationTrait;

  /**
   * {@inheritdoc}
   */
  public function getPossibleValues(AccountInterface $account = NULL) {
    // Flatten options firstly, because Possible Options may contain group
    // arrays.
    $flatten_options = OptGroup::flattenOptions($this->getPossibleOptions($account));
    return array_keys($flatten_options);
  }

  /**
   * {@inheritdoc}
   */
  public function getSettableValues(AccountInterface $account = NULL) {
    return $this->getPossibleValues();
  }

  /**
   * {@inheritdoc}
   */
  public function getSettableOptions(AccountInterface $account = NULL) {
    return $this->getPossibleOptions();
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc