class DefaultCropHandler in CMS Content Sync 2.0.x
Same name and namespace in other branches
- 8 src/Plugin/cms_content_sync/entity_handler/DefaultCropHandler.php \Drupal\cms_content_sync\Plugin\cms_content_sync\entity_handler\DefaultCropHandler
- 2.1.x src/Plugin/cms_content_sync/entity_handler/DefaultCropHandler.php \Drupal\cms_content_sync\Plugin\cms_content_sync\entity_handler\DefaultCropHandler
Class DefaultCropHandler, providing a minimalistic implementation for the crop entity type.
Plugin annotation
@EntityHandler(
id = "cms_content_sync_crop_handler",
label = @Translation("Default Crop"),
weight = 90
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\cms_content_sync\Plugin\EntityHandlerBase implements EntityHandlerInterface, ContainerFactoryPluginInterface
- class \Drupal\cms_content_sync\Plugin\cms_content_sync\entity_handler\DefaultCropHandler
- class \Drupal\cms_content_sync\Plugin\EntityHandlerBase implements EntityHandlerInterface, ContainerFactoryPluginInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of DefaultCropHandler
File
- src/
Plugin/ cms_content_sync/ entity_handler/ DefaultCropHandler.php, line 22
Namespace
Drupal\cms_content_sync\Plugin\cms_content_sync\entity_handlerView source
class DefaultCropHandler extends EntityHandlerBase {
public const USER_REVISION_PROPERTY = 'revision_uid';
/**
* {@inheritdoc}
*/
public static function supports($entity_type, $bundle) {
return 'crop' == $entity_type;
}
/**
* {@inheritdoc}
*/
public function getHandlerSettings($current_values, $type = 'both') {
return [];
}
/**
* {@inheritdoc}
*/
public function getAllowedPushOptions() {
return [
PushIntent::PUSH_DISABLED,
PushIntent::PUSH_AS_DEPENDENCY,
];
}
/**
* {@inheritdoc}
*/
public function getAllowedPullOptions() {
return [
PullIntent::PULL_DISABLED,
PullIntent::PULL_AS_DEPENDENCY,
];
}
/**
* {@inheritdoc}
*/
public function pull(PullIntent $intent) {
/** @var FileInterface[] $files */
$files = \Drupal::entityTypeManager()
->getStorage('file')
->loadByProperties([
'uri' => $intent
->getProperty('uri')[0]['value'],
]);
// Unset the entity_id field so that it gets automatically set during
// the entity creation.
if (!count($files)) {
$intent
->overwriteProperty('entity_id', null);
}
else {
/**
* @var \Drupal\file\FileInterface $file
*/
$file = reset($files);
$this
->deleteExistingCrop($intent, $file);
$intent
->overwriteProperty('entity_id', $file
->id());
}
if (!parent::pull($intent)) {
return false;
}
if (!count($files)) {
MissingDependencyManager::saveUnresolvedDependency('file', $intent
->getProperty('uri')[0]['value'], $intent
->getEntity(), $intent
->getReason(), 'entity_id');
}
return true;
}
/**
* {@inheritdoc}
*/
public function getAllowedPreviewOptions() {
return [
'table' => 'Table',
'preview_mode' => 'Preview mode',
];
}
public function getViewUrl(EntityInterface $entity) {
$uri = $entity
->get('uri')
->getValue()[0]['value'];
/** @var FileInterface[] $files */
$files = \Drupal::entityTypeManager()
->getStorage('file')
->loadByProperties([
'uri' => $uri,
]);
if (empty($files)) {
return \Drupal::urlGenerator()
->generateFromRoute('<front>', [], [
'absolute' => true,
]);
}
$file = reset($files);
$uri = $file
->getFileUri();
return \Drupal\Core\Url::fromUri(file_create_url($uri))
->toString();
}
/**
* Delete already existing Crop entity.
*
* @param $file
*/
private function deleteExistingCrop(PullIntent $intent, $file) {
$moduleHandler = \Drupal::service('module_handler');
if ($moduleHandler
->moduleExists('crop')) {
$crop = Crop::findCrop($file
->getFileUri(), $intent
->getBundle());
if ($crop && $crop
->uuid() != $intent
->getUuid()) {
$crop
->delete();
}
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DefaultCropHandler:: |
private | function | Delete already existing Crop entity. | |
DefaultCropHandler:: |
public | function |
Overrides EntityHandlerInterface:: |
|
DefaultCropHandler:: |
public | function |
Get the allowed pull options. Overrides EntityHandlerBase:: |
|
DefaultCropHandler:: |
public | function |
Get the allowed push options. Overrides EntityHandlerBase:: |
|
DefaultCropHandler:: |
public | function |
Get the handler settings. Overrides EntityHandlerBase:: |
|
DefaultCropHandler:: |
public | function |
Overrides EntityHandlerBase:: |
|
DefaultCropHandler:: |
public | function |
Pull the remote entity. Overrides EntityHandlerBase:: |
|
DefaultCropHandler:: |
public static | function |
Check if this handler supports the given entity type. Overrides EntityHandlerInterface:: |
|
DefaultCropHandler:: |
public | constant |
Overrides EntityHandlerBase:: |
|
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
public | function | 2 | |
DependencySerializationTrait:: |
public | function | 2 | |
EntityHandlerBase:: |
protected | property | ||
EntityHandlerBase:: |
protected | property | ||
EntityHandlerBase:: |
protected | property | A sync instance. | |
EntityHandlerBase:: |
protected | property | A logger instance. | |
EntityHandlerBase:: |
protected | property | ||
EntityHandlerBase:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
|
EntityHandlerBase:: |
protected | function | 1 | |
EntityHandlerBase:: |
protected | function | Delete a entity. | |
EntityHandlerBase:: |
protected | function | ||
EntityHandlerBase:: |
protected | function | ||
EntityHandlerBase:: |
public | function |
Provide a list of fields that are not allowed to be pushed or pulled.
These fields typically contain all label fields that are pushed
separately anyway (we don't want to set IDs and revision IDs of entities
for example, but only use the UUID for… Overrides EntityHandlerInterface:: |
4 |
EntityHandlerBase:: |
protected | function | Get a list of fields that can't be updated. | |
EntityHandlerBase:: |
protected | function | Check whether the entity type supports having a label. | 2 |
EntityHandlerBase:: |
protected | function | Check if the pull should be ignored. | 2 |
EntityHandlerBase:: |
protected | function | Check if the entity should not be ignored from the push. | 2 |
EntityHandlerBase:: |
protected | function | ||
EntityHandlerBase:: |
public | function |
Overrides EntityHandlerInterface:: |
5 |
EntityHandlerBase:: |
protected | function | Whether or not menu item references should be pushed. | |
EntityHandlerBase:: |
public | constant | 2 | |
EntityHandlerBase:: |
protected | function | 1 | |
EntityHandlerBase:: |
protected | function | ||
EntityHandlerBase:: |
protected | function | Set the values for the pulled entity. | 2 |
EntityHandlerBase:: |
protected | function | ||
EntityHandlerBase:: |
public | function |
Update the entity type definition. Overrides EntityHandlerInterface:: |
3 |
EntityHandlerBase:: |
public | constant | 2 | |
EntityHandlerBase:: |
public | function |
Validate the settings defined above. $form and $form_state are the same as
in the Form API. $settings_key is the index at $form['sync_entities'] for
this handler instance. Overrides EntityHandlerInterface:: |
|
EntityHandlerBase:: |
public | function |
Constructs a Drupal\rest\Plugin\ResourceBase object. Overrides PluginBase:: |
|
MessengerTrait:: |
protected | property | The messenger. | 27 |
MessengerTrait:: |
public | function | Gets the messenger. | 27 |
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:: |
2 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 4 |
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. |