pluginformalter-8.x-1.x-dev/src/Plugin/FormAlterManagerTrait.php

src/Plugin/FormAlterManagerTrait.php
<?php

namespace Drupal\pluginformalter\Plugin;

use Drupal\Component\Plugin\PluginInspectionInterface;

/**
 * Trait Form Alter Manager Trait.
 *
 * @package Drupal\pluginformalter\Plugin
 */
trait FormAlterManagerTrait {

  /**
   * Sort plugins by weight.
   *
   * @param \Drupal\Component\Plugin\PluginInspectionInterface $a
   *   A Form Alter plugin.
   * @param \Drupal\Component\Plugin\PluginInspectionInterface $b
   *   A Form Alter plugin.
   *
   * @return int
   *   The sorting result.
   */
  protected function sort(PluginInspectionInterface $a, PluginInspectionInterface $b) {
    $a_definition = $a->getPluginDefinition();
    $b_definition = $b->getPluginDefinition();
    if ($a_definition['weight'] == $b_definition['weight']) {
      return 0;
    }
    return ($a_definition['weight'] < $b_definition['weight']) ? -1 : 1;
  }

  /**
   * Matches an id amongst an array of ids.
   *
   * @param string $id
   *   The id.
   * @param array $ids
   *   The ids array.
   *
   * @return bool|int
   *   The matching result.
   */
  protected function matches($id, array $ids) {
    foreach ($ids as $plugin_id) {
      $pattern = '/^' . str_replace('*', '.*', $plugin_id) . '$/';
      if (preg_match($pattern, $id)) {
        return TRUE;
      }
    }
    return FALSE;
  }

}

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

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