class Core in IMCE 8
Same name and namespace in other branches
- 8.2 src/Plugin/ImcePlugin/Core.php \Drupal\imce\Plugin\ImcePlugin\Core
 
Defines Imce Core plugin.
Plugin annotation
@ImcePlugin(
  id = "core",
  label = "Core",
  weight = -99,
  operations = {
    "browse" = "opBrowse",
    "uuid" = "opUuid"
  }
)
  Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\imce\ImcePluginBase implements ImcePluginInterface
- class \Drupal\imce\Plugin\ImcePlugin\Core
 
 
 - class \Drupal\imce\ImcePluginBase implements ImcePluginInterface
 
 - class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
 
Expanded class hierarchy of Core
1 file declares its use of Core
- CoreTest.php in tests/
src/ Kernel/ Plugin/ ImcePlugin/ CoreTest.php  
File
- src/
Plugin/ ImcePlugin/ Core.php, line 21  
Namespace
Drupal\imce\Plugin\ImcePluginView source
class Core extends ImcePluginBase {
  /**
   * {@inheritdoc}
   */
  public function permissionInfo() {
    return [
      'browse_files' => $this
        ->t('Browse files'),
      'browse_subfolders' => $this
        ->t('Browse subfolders'),
    ];
  }
  /**
   * Operation handler: browse.
   */
  public function opBrowse(ImceFM $fm) {
    if ($folder = $fm->activeFolder) {
      $folder
        ->scan();
      $uri = $folder
        ->getUri();
      $uri_prefix = substr($uri, -1) === '/' ? $uri : $uri . '/';
      $content = [
        'props' => $fm
          ->getFolderProperties($uri),
      ];
      if ($folder
        ->getPermission('browse_files')) {
        foreach ($folder->files as $name => $file) {
          $content['files'][$name] = $fm
            ->getFileProperties($uri_prefix . $name);
        }
      }
      if ($folder
        ->getPermission('browse_subfolders')) {
        foreach ($folder->subfolders as $name => $subfolder) {
          $content['subfolders'][$name] = $fm
            ->getFolderProperties($uri_prefix . $name);
        }
      }
      $fm
        ->addResponse('content', $content);
    }
  }
  /**
   * Operation handler: uuid.
   */
  public function opUuid(ImceFM $fm) {
    $items = $fm
      ->getSelection();
    if (!$items || !$fm
      ->validatePermissions($items, 'browse_files')) {
      return;
    }
    $uris = [];
    foreach ($items as $item) {
      if ($uri = $item
        ->getUri()) {
        $uris[$uri] = $item;
      }
    }
    if ($uris) {
      $files = \Drupal::entityTypeManager()
        ->getStorage('file')
        ->loadByProperties([
        'uri' => array_keys($uris),
      ]);
      $uuids = [];
      foreach ($files as $file) {
        $item = $uris[$file
          ->getFileUri()];
        $item->uuid = $file
          ->uuid();
        $uuids[$item
          ->getPath()] = $item->uuid;
      }
      $fm
        ->addResponse('uuids', $uuids);
    }
  }
}Members
| 
            Name | 
                  Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| 
            Core:: | 
                  public | function | Operation handler: browse. | |
| 
            Core:: | 
                  public | function | Operation handler: uuid. | |
| 
            Core:: | 
                  public | function | 
            Returns folder permission definitions. Overrides ImcePluginBase:: | 
                  |
| 
            DependencySerializationTrait:: | 
                  protected | property | An array of entity type IDs keyed by the property name of their storages. | |
| 
            DependencySerializationTrait:: | 
                  protected | property | An array of service IDs keyed by property name used for serialization. | |
| 
            DependencySerializationTrait:: | 
                  public | function | 1 | |
| 
            DependencySerializationTrait:: | 
                  public | function | 2 | |
| 
            ImcePluginBase:: | 
                  public | function | 
            Alters entity form of an Imce Profile. Overrides ImcePluginInterface:: | 
                  |
| 
            ImcePluginBase:: | 
                  public | function | 
            Builds imce page by adding required libraries and elements. Overrides ImcePluginInterface:: | 
                  4 | 
| 
            ImcePluginBase:: | 
                  public | function | 
            Processes profile configuration for a user. Overrides ImcePluginInterface:: | 
                  |
| 
            ImcePluginBase:: | 
                  public | function | 
            Validates entity form of an Imce Profile. Overrides ImcePluginInterface:: | 
                  |
| 
            MessengerTrait:: | 
                  protected | property | The messenger. | 29 | 
| 
            MessengerTrait:: | 
                  public | function | Gets the messenger. | 29 | 
| 
            MessengerTrait:: | 
                  public | function | Sets the messenger. | |
| 
            PluginBase:: | 
                  protected | property | Configuration information passed into the plugin. | 1 | 
| 
            PluginBase:: | 
                  protected | property | The plugin implementation definition. | 1 | 
| 
            PluginBase:: | 
                  protected | property | The plugin_id. | |
| 
            PluginBase:: | 
                  constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
| 
            PluginBase:: | 
                  public | function | 
            Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: | 
                  |
| 
            PluginBase:: | 
                  public | function | 
            Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: | 
                  |
| 
            PluginBase:: | 
                  public | function | 
            Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: | 
                  3 | 
| 
            PluginBase:: | 
                  public | function | 
            Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: | 
                  |
| 
            PluginBase:: | 
                  public | function | Determines if the plugin is configurable. | |
| 
            PluginBase:: | 
                  public | function | Constructs a \Drupal\Component\Plugin\PluginBase object. | 92 | 
| 
            StringTranslationTrait:: | 
                  protected | property | The string translation service. | 1 | 
| 
            StringTranslationTrait:: | 
                  protected | function | Formats a string containing a count of items. | |
| 
            StringTranslationTrait:: | 
                  protected | function | Returns the number of plurals supported by a given language. | |
| 
            StringTranslationTrait:: | 
                  protected | function | Gets the string translation service. | |
| 
            StringTranslationTrait:: | 
                  public | function | Sets the string translation service to use. | 2 | 
| 
            StringTranslationTrait:: | 
                  protected | function | Translates a string to the current language or to a given language. |