annotate core/modules/content_moderation/content_moderation.install @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents af1871eacc83
children
rev   line source
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 }