learnosity-1.0.x-dev/src/Plugin/LearnosityImageUpload/LearnosityImageUploadBase.php

src/Plugin/LearnosityImageUpload/LearnosityImageUploadBase.php
<?php

namespace Drupal\learnosity\Plugin\LearnosityImageUpload;

use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Plugin\PluginBase;
use Symfony\Component\HttpFoundation\Request;

/**
 * Class LeanrnosityFeatureBase.
 *
 * @package Drupal\learnosity\Plugin\LearnosityFeature
 */
abstract class LearnosityImageUploadBase extends PluginBase implements LearnosityImageUploadInterface {

  /**
   * Plugin settings array.
   *
   * @var array
   */
  protected $settings = [];

  /**
   * Whether default settings have been merged into the current $settings.
   *
   * @var bool
   */
  protected $defaultSettingsMerged = FALSE;

  /**
   * The form default settings.
   *
   * @return array
   *   The default settings for this plugin.
   */
  public static function defaultSettings() {
    return [];
  }

  /**
   * Fetch the full settings array.
   *
   * @return array
   *   The full settings array.
   */
  public function getSettings() {
    // Merge defaults before returning the array.
    if (!$this->defaultSettingsMerged) {
      $this->mergeDefaults();
    }
    return $this->settings;
  }

  /**
   * Fetch a specific setting.
   *
   * @param string $key
   *   The setting key.
   *
   * @return mixed
   *   The value of the setting.
   */
  public function getSetting($key) {
    // Merge defaults if we have no value for the key.
    if (!$this->defaultSettingsMerged && !array_key_exists($key, $this->settings)) {
      $this->mergeDefaults();
    }
    return isset($this->settings[$key]) ? $this->settings[$key] : NULL;
  }

  /**
   * Merges default settings values into $settings.
   */
  protected function mergeDefaults() {
    $this->settings += static::defaultSettings();
    $this->defaultSettingsMerged = TRUE;
  }

  /**
   * {@inheritdoc}
   */
  public function setSettings(array $settings) {
    $this->settings = $settings;
    $this->defaultSettingsMerged = FALSE;
    return $this;
  }

  /**
   * {@inheritdoc}
   */
  public function setSetting($key, $value) {
    $this->settings[$key] = $value;
    return $this;
  }

  /**
   * {@inheritdoc}
   */
  public function settingsForm($form, FormStateInterface $form_state) {
    return [];
  }

  /**
   * {@inheritdoc}
   */
  public function getValue(Request $request) {

  }

}

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

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