drupalmoduleupgrader-8.x-1.5/src/Plugin/DMU/Analyzer/HookPermission.php

src/Plugin/DMU/Analyzer/HookPermission.php
<?php

namespace Drupal\drupalmoduleupgrader\Plugin\DMU\Analyzer;

use Drupal\drupalmoduleupgrader\AnalyzerBase;
use Drupal\drupalmoduleupgrader\TargetInterface;

/**
 * @Analyzer(
 *  id = "hook_permission",
 *  description = @Translation("Analyzes implementations of hook_permission()."),
 *  documentation = {
 *    {
 *      "url" = "https://www.drupal.org/node/2311427",
 *      "title" = @Translation("Defining permissions in `MODULE.permissions.yml`")
 *    }
 *  },
 *  tags = {
 *    "category" = { "system", "user" },
 *    "error_level" = "warning"
 *  },
 *  hook = "hook_permission",
 *  message = @Translation("Static permissions are now defined in `MODULE.permissions.yml`.")
 * )
 */
class HookPermission extends AnalyzerBase {

  /**
   * {@inheritdoc}
   */
  public function analyze(TargetInterface $target) {
    $issues = [];
    $indexer = $target->getIndexer('function');

    if ($indexer->hasExecutable('hook_permission')) {
      $issues[] = $this
        ->buildIssue($target)
        ->addViolation($indexer->get('hook_permission'), $this)
        ->addFix('hook_to_YAML', [
          'hook' => 'permission',
          'destination' => '~/' . $target->id() . '.permissions.yml',
        ]);
    }

    return $issues;
  }

}

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

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