45 lines
1.4 KiB
Plaintext
45 lines
1.4 KiB
Plaintext
<?php
|
|
|
|
/**
|
|
* @file
|
|
* Install, update and uninstall functions for the Content Moderation module.
|
|
*/
|
|
|
|
/**
|
|
* Implements hook_requirements().
|
|
*/
|
|
function content_moderation_requirements($phase) {
|
|
$requirements = [];
|
|
if ($phase === 'install' && \Drupal::moduleHandler()->moduleExists('workspaces')) {
|
|
$requirements['workspaces_incompatibility'] = [
|
|
'severity' => REQUIREMENT_ERROR,
|
|
'description' => t('Content Moderation can not be installed when Workspaces is also installed.'),
|
|
];
|
|
}
|
|
|
|
return $requirements;
|
|
}
|
|
|
|
/**
|
|
* Remove the 'content_revision_tracker' table.
|
|
*/
|
|
function content_moderation_update_8401() {
|
|
$database_schema = \Drupal::database()->schema();
|
|
if ($database_schema->tableExists('content_revision_tracker')) {
|
|
$database_schema->dropTable('content_revision_tracker');
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Set the 'owner' entity key and update the field.
|
|
*/
|
|
function content_moderation_update_8700() {
|
|
$definition_update_manager = \Drupal::entityDefinitionUpdateManager();
|
|
$entity_type = $definition_update_manager->getEntityType('content_moderation_state');
|
|
$keys = $entity_type->getKeys();
|
|
$keys['owner'] = 'uid';
|
|
$entity_type->set('entity_keys', $keys);
|
|
$definition_update_manager->updateEntityType($entity_type);
|
|
$definition_update_manager->updateFieldStorageDefinition($definition_update_manager->getFieldStorageDefinition('uid', 'content_moderation_state'));
|
|
}
|