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: }