You are here

class Newfolder in IMCE 8

Same name and namespace in other branches
  1. 8.2 src/Plugin/ImcePlugin/Newfolder.php \Drupal\imce\Plugin\ImcePlugin\Newfolder

Defines Imce New Folder plugin.

Plugin annotation


@ImcePlugin(
  id = "newfolder",
  label = "New Folder",
  weight = -15,
  operations = {
    "newfolder" = "opNewfolder"
  }
)

Hierarchy

Expanded class hierarchy of Newfolder

1 file declares its use of Newfolder
NewFolderTest.php in tests/src/Kernel/Plugin/ImcePlugin/NewFolderTest.php

File

src/Plugin/ImcePlugin/Newfolder.php, line 21

Namespace

Drupal\imce\Plugin\ImcePlugin
View source
class Newfolder extends ImcePluginBase {

  /**
   * {@inheritdoc}
   */
  public function permissionInfo() {
    return [
      'create_subfolders' => $this
        ->t('Create subfolders'),
    ];
  }

  /**
   * {@inheritdoc}
   */
  public function buildPage(array &$page, ImceFM $fm) {
    if ($fm
      ->hasPermission('create_subfolders')) {
      $page['#attached']['library'][] = 'imce/drupal.imce.newfolder';
    }
  }

  /**
   * Operation handler: newfolder.
   */
  public function opNewfolder(ImceFM $fm) {
    $folder = $fm->activeFolder;
    if (!$folder || !$folder
      ->getPermission('create_subfolders')) {
      return;
    }

    // Create folder.
    $name = $fm
      ->getPost('newfolder');
    if (is_string($name) && $fm
      ->validateFileName($name)) {

      // Check existence.
      $uri = Imce::joinPaths($folder
        ->getUri(), $name);
      if (file_exists($uri)) {
        $fm
          ->setMessage($this
          ->t('%filename already exists.', [
          '%filename' => $name,
        ]));
      }
      elseif (mkdir($uri, $fm
        ->getConf('chmod_directory', 0775))) {
        $folder
          ->addSubfolder($name)
          ->addToJs();
      }
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DependencySerializationTrait::$_entityStorages protected property An array of entity type IDs keyed by the property name of their storages.
DependencySerializationTrait::$_serviceIds protected property An array of service IDs keyed by property name used for serialization.
DependencySerializationTrait::__sleep public function 1
DependencySerializationTrait::__wakeup public function 2
ImcePluginBase::alterProfileForm public function Alters entity form of an Imce Profile. Overrides ImcePluginInterface::alterProfileForm
ImcePluginBase::processUserConf public function Processes profile configuration for a user. Overrides ImcePluginInterface::processUserConf
ImcePluginBase::validateProfileForm public function Validates entity form of an Imce Profile. Overrides ImcePluginInterface::validateProfileForm
MessengerTrait::$messenger protected property The messenger. 29
MessengerTrait::messenger public function Gets the messenger. 29
MessengerTrait::setMessenger public function Sets the messenger.
Newfolder::buildPage public function Builds imce page by adding required libraries and elements. Overrides ImcePluginBase::buildPage
Newfolder::opNewfolder public function Operation handler: newfolder.
Newfolder::permissionInfo public function Returns folder permission definitions. Overrides ImcePluginBase::permissionInfo
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
PluginBase::__construct public function Constructs a \Drupal\Component\Plugin\PluginBase object. 92
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.