Chris@18: moduleExists($module_name); Chris@18: }, FALSE); Chris@18: if ($should_warn) { Chris@18: \Drupal::messenger()->addWarning(t('Some multilingual features currently do not work well with JSON:API. See the JSON:API multilingual support documentation for more information on the current status of multilingual support.', [ Chris@18: ':jsonapi-docs' => 'https://www.drupal.org/docs/8/modules/jsonapi/translations', Chris@18: ])); Chris@18: } Chris@18: } Chris@18: Chris@18: /** Chris@18: * Implements hook_requirements(). Chris@18: */ Chris@18: function jsonapi_requirements($phase) { Chris@18: $requirements = []; Chris@18: if ($phase === 'runtime') { Chris@18: $module_handler = \Drupal::moduleHandler(); Chris@18: $potential_conflicts = [ Chris@18: 'content_translation', Chris@18: 'config_translation', Chris@18: 'language', Chris@18: ]; Chris@18: $should_warn = array_reduce($potential_conflicts, function ($should_warn, $module_name) use ($module_handler) { Chris@18: return $should_warn ?: $module_handler->moduleExists($module_name); Chris@18: }, FALSE); Chris@18: if ($should_warn) { Chris@18: $requirements['jsonapi_multilingual_support'] = [ Chris@18: 'title' => t('JSON:API multilingual support'), Chris@18: 'value' => t('Limited'), Chris@18: 'severity' => REQUIREMENT_INFO, Chris@18: 'description' => t('Some multilingual features currently do not work well with JSON:API. See the JSON:API multilingual support documentation for more information on the current status of multilingual support.', [ Chris@18: ':jsonapi-docs' => 'https://www.drupal.org/docs/8/modules/jsonapi/translations', Chris@18: ]), Chris@18: ]; Chris@18: } Chris@18: $requirements['jsonapi_revision_support'] = [ Chris@18: 'title' => t('JSON:API revision support'), Chris@18: 'value' => t('Limited'), Chris@18: 'severity' => REQUIREMENT_INFO, Chris@18: 'description' => t('Revision support is currently read-only and only for the "Content" and "Media" entity types in JSON:API. See the JSON:API revision support documentation for more information on the current status of revision support.', [ Chris@18: ':jsonapi-docs' => 'https://www.drupal.org/docs/8/modules/jsonapi/revisions', Chris@18: ]), Chris@18: ]; Chris@18: Chris@18: } Chris@18: return $requirements; Chris@18: } Chris@18: Chris@18: /** Chris@18: * Enable BC: default the new read-only mode to "off" on existing sites. Chris@18: */ Chris@18: function jsonapi_update_8701() { Chris@18: $config_factory = \Drupal::configFactory(); Chris@18: $jsonapi_settings = $config_factory->getEditable('jsonapi.settings'); Chris@18: $jsonapi_settings->set('read_only', FALSE) Chris@18: ->save(TRUE); Chris@18: }