You are here

class FilesUpload__1_0 in RESTful 7.2

Class FilesUpload__1_0 @package Drupal\restful_example\Plugin\Resource

Plugin annotation


@Resource(
  name = "files_upload:1.0",
  resource = "files_upload",
  label = "File upload",
  description = "A file upload wrapped with RESTful.",
  authenticationTypes = TRUE,
  dataProvider = {
    "entityType": "file",
    "options": {
      "scheme": "public"
    }
  },
  menuItem = "file-upload",
  majorVersion = 1,
  minorVersion = 0
)

Hierarchy

Expanded class hierarchy of FilesUpload__1_0

1 file declares its use of FilesUpload__1_0
FilesUploadTest__1_0.php in tests/modules/restful_test/src/Plugin/resource/file/file_upload_test/v1/FilesUploadTest__1_0.php
Contains \Drupal\restful_test\Plugin\resource\file\file_upload_test\v1\FilesUploadTest__1_0.

File

src/Plugin/resource/FilesUpload__1_0.php, line 33
Contains \Drupal\restful\Plugin\resource\FilesUpload__1_0

Namespace

Drupal\restful\Plugin\resource
View source
class FilesUpload__1_0 extends ResourceEntity {

  /**
   * Constructs a FilesUpload__1_0 object.
   *
   * @param array $configuration
   *   A configuration array containing information about the plugin instance.
   * @param string $plugin_id
   *   The plugin_id for the plugin instance.
   * @param mixed $plugin_definition
   *   The plugin implementation definition.
   */
  public function __construct(array $configuration, $plugin_id, $plugin_definition) {
    parent::__construct($configuration, $plugin_id, $plugin_definition);

    // Set dynamic options that cannot be set in the annotation.
    $plugin_definition = $this
      ->getPluginDefinition();
    $plugin_definition['authenticationOptional'] = (bool) variable_get('restful_file_upload_allow_anonymous_user', FALSE);

    // Store the plugin definition.
    $this->pluginDefinition = $plugin_definition;
  }

  /**
   * {@inheritdoc}
   *
   * If "File entity" module exists, determine access by its provided
   * permissions otherwise, check if variable is set to allow anonymous users to
   * upload. Defaults to authenticated user.
   */
  public function access() {

    // The getAccount method may return an UnauthorizedException when an
    // authenticated user cannot be found. Since this is called from the access
    // callback, not from the page callback we need to catch the exception.
    try {
      $account = $this
        ->getAccount();
    } catch (UnauthorizedException $e) {

      // If a user is not found then load the anonymous user to check
      // permissions.
      $account = drupal_anonymous_user();
    }
    if (module_exists('file_entity')) {
      return user_access('bypass file access', $account) || user_access('create files', $account);
    }
    return (variable_get('restful_file_upload_allow_anonymous_user', FALSE) || $account->uid) && parent::access();
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ConfigurablePluginTrait::$instanceConfiguration protected property Plugin instance configuration.
ConfigurablePluginTrait::calculateDependencies public function
ConfigurablePluginTrait::getConfiguration public function
ConfigurablePluginTrait::setConfiguration public function
FilesUpload__1_0::access public function If "File entity" module exists, determine access by its provided permissions otherwise, check if variable is set to allow anonymous users to upload. Defaults to authenticated user. Overrides Resource::access
FilesUpload__1_0::__construct public function Constructs a FilesUpload__1_0 object. Overrides ResourceEntity::__construct
Resource::$authenticationManager protected property The authentication manager.
Resource::$dataProvider protected property The data provider.
Resource::$enabled protected property Indicates if the resource is enabled.
Resource::$fieldDefinitions protected property The field definition object.
Resource::$path protected property The requested path.
Resource::$request protected property The current request.
Resource::accessByAllowOrigin protected function Checks access based on the referer header and the allowOrigin setting.
Resource::controllersInfo public function Gets the controllers. Overrides ResourceInterface::controllersInfo 6
Resource::create public function Basic implementation for create. Overrides ResourceInterface::create
Resource::defaultConfiguration public function Overrides ConfigurablePluginTrait::defaultConfiguration
Resource::disable public function Disable the resource. Overrides ResourceInterface::disable
Resource::discover public function Discovery controller callback. Overrides ResourceInterface::discover
Resource::doDelete public function Shorthand method to perform a quick DELETE request. Overrides ResourceInterface::doDelete
Resource::doGet public function Shorthand method to perform a quick GET request. Overrides ResourceInterface::doGet
Resource::doPatch public function Shorthand method to perform a quick PATCH request. Overrides ResourceInterface::doPatch
Resource::doPost public function Shorthand method to perform a quick POST request. Overrides ResourceInterface::doPost
Resource::doPut public function Shorthand method to perform a quick PUT request. Overrides ResourceInterface::doPut
Resource::doWrite private function
Resource::enable public function Enable the resource. Overrides ResourceInterface::enable
Resource::getAccount public function Get the user from for request. Overrides ResourceInterface::getAccount
Resource::getControllerFromPath public function Return the controller for a given path. Overrides ResourceInterface::getControllerFromPath
Resource::getControllers public function Gets the controllers for this resource. Overrides ResourceInterface::getControllers
Resource::getDataProvider public function Gets the data provider. Overrides ResourceInterface::getDataProvider
Resource::getFieldDefinitions public function Gets the field definitions. Overrides ResourceInterface::getFieldDefinitions
Resource::getPath public function Gets the path of the resource. Overrides ResourceInterface::getPath
Resource::getRequest public function Get the request object. Overrides ResourceInterface::getRequest
Resource::getResourceMachineName public function Gets the resource machine name. Overrides ResourceInterface::getResourceMachineName
Resource::getResourceName public function Gets the resource name. Overrides ResourceInterface::getResourceName
Resource::getUrl public function Helper method; Get the URL of the resource and query strings. Overrides ResourceInterface::getUrl
Resource::getVersion public function Return array keyed with the major and minor version of the resource. Overrides ResourceInterface::getVersion
Resource::index public function Basic implementation for listing. Overrides ResourceInterface::index 1
Resource::initAuthenticationManager protected function Initializes the authentication manager and adds the appropriate providers.
Resource::isEnabled public function Checks if the resource is enabled. Overrides ResourceInterface::isEnabled
Resource::preflight protected function Adds the Allowed-Origin headers.
Resource::process public function Controller function that passes the data along and executes right action. Overrides ResourceInterface::process
Resource::remove public function Basic implementation for update. Overrides ResourceInterface::remove
Resource::replace public function Basic implementation for update. Overrides ResourceInterface::replace
Resource::setAccount public function Overrides ResourceInterface::setAccount
Resource::setDataProvider public function Sets the data provider. Overrides ResourceInterface::setDataProvider
Resource::setFieldDefinitions public function Sets the field definitions. Overrides ResourceInterface::setFieldDefinitions
Resource::setPath public function Sets the path of the resource. Overrides ResourceInterface::setPath
Resource::setPluginDefinition public function Sets the plugin definition to the provided array. Overrides ResourceInterface::setPluginDefinition
Resource::setRequest public function Sets the request object. Overrides ResourceInterface::setRequest
Resource::switchUserBack public function Switches the user back from the original user for the session. Overrides ResourceInterface::switchUserBack 1
Resource::update public function Basic implementation for update. Overrides ResourceInterface::update
Resource::versionedUrl public function Gets a resource URL based on the current version. Overrides ResourceInterface::versionedUrl
Resource::view public function Basic implementation for view. Overrides ResourceInterface::view
ResourceEntity::$bundles protected property The entity bundles.
ResourceEntity::$entityType protected property The entity type.
ResourceEntity::dataProviderClassName protected function Data provider class. Overrides Resource::dataProviderClassName 3
ResourceEntity::dataProviderFactory public function Data provider factory. Overrides Resource::dataProviderFactory
ResourceEntity::getBundles public function Gets the entity bundle.
ResourceEntity::getEntitySelf public function Get the "self" url.
ResourceEntity::getEntityType public function Gets the entity type.
ResourceEntity::processPublicFields protected function Get the public fields with the default values applied to them. Overrides Resource::processPublicFields 2
ResourceEntity::publicFields protected function Public fields. Overrides Resource::publicFields 20
ResourceEntity::viewModeFields protected function Get the public fields with default values based on view mode information.
ResourceInterface::IDS_SEPARATOR constant The string that separates multiple ids.