Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 /**
|
Chris@0
|
4 * @file
|
Chris@0
|
5 * Install, update and uninstall functions for the Content Moderation module.
|
Chris@0
|
6 */
|
Chris@0
|
7
|
Chris@0
|
8 /**
|
Chris@17
|
9 * Implements hook_requirements().
|
Chris@17
|
10 */
|
Chris@17
|
11 function content_moderation_requirements($phase) {
|
Chris@17
|
12 $requirements = [];
|
Chris@17
|
13 if ($phase === 'install' && \Drupal::moduleHandler()->moduleExists('workspaces')) {
|
Chris@17
|
14 $requirements['workspaces_incompatibility'] = [
|
Chris@17
|
15 'severity' => REQUIREMENT_ERROR,
|
Chris@17
|
16 'description' => t('Content Moderation can not be installed when Workspaces is also installed.'),
|
Chris@17
|
17 ];
|
Chris@17
|
18 }
|
Chris@17
|
19
|
Chris@17
|
20 return $requirements;
|
Chris@17
|
21 }
|
Chris@17
|
22
|
Chris@17
|
23 /**
|
Chris@0
|
24 * Remove the 'content_revision_tracker' table.
|
Chris@0
|
25 */
|
Chris@0
|
26 function content_moderation_update_8401() {
|
Chris@0
|
27 $database_schema = \Drupal::database()->schema();
|
Chris@0
|
28 if ($database_schema->tableExists('content_revision_tracker')) {
|
Chris@0
|
29 $database_schema->dropTable('content_revision_tracker');
|
Chris@0
|
30 }
|
Chris@0
|
31 }
|
Chris@18
|
32
|
Chris@18
|
33 /**
|
Chris@18
|
34 * Set the 'owner' entity key and update the field.
|
Chris@18
|
35 */
|
Chris@18
|
36 function content_moderation_update_8700() {
|
Chris@18
|
37 $definition_update_manager = \Drupal::entityDefinitionUpdateManager();
|
Chris@18
|
38 $entity_type = $definition_update_manager->getEntityType('content_moderation_state');
|
Chris@18
|
39 $keys = $entity_type->getKeys();
|
Chris@18
|
40 $keys['owner'] = 'uid';
|
Chris@18
|
41 $entity_type->set('entity_keys', $keys);
|
Chris@18
|
42 $definition_update_manager->updateEntityType($entity_type);
|
Chris@18
|
43 $definition_update_manager->updateFieldStorageDefinition($definition_update_manager->getFieldStorageDefinition('uid', 'content_moderation_state'));
|
Chris@18
|
44 }
|