geolocation-8.x-3.x-dev/modules/geolocation_geometry/geolocation_geometry.install

modules/geolocation_geometry/geolocation_geometry.install
<?php

/**
 * @file
 * Sth sth dark side.
 */

/**
 * Implements hook_requirements().
 */
function geolocation_geometry_requirements(string $phase): array {
  $requirements = [];
  $requirements['geolocation_geometry_database_compatibility'] = [
    'title' => t('Geolocation Geometry - Database Compatibility'),
    'value' => t('Database meets required spatial data capability.'),
    'description' => t('Requires MySQL >= 8 or MariaDB >= 10.1.2 or PostgreSQL with PostGIS installed.'),
    'severity' => REQUIREMENT_OK,
  ];

  // Must be MySQL >= 5.7.6 or MariaDB >= 10.1.2.
  $connection = Drupal::database();

  if ($connection->driver() === 'mysql') {
    $version = $connection->version();
    if ((float) substr($version, 0, 5) >= 8) {
      return $requirements;
    }
    elseif (
      str_contains($version, 'MariaDB')
      && str_contains($version, '10.')
      && !str_contains($version, '10.0')
    ) {
      return $requirements;
    }
  }
  elseif ($connection->driver() === 'pgsql') {
    return $requirements;
  }

  $requirements['geolocation_geometry_database_compatibility']['value'] = t('Database version %version does not meet required spatial data capability.', ['%version' => $connection->version()]);
  $requirements['geolocation_geometry_database_compatibility']['severity'] = REQUIREMENT_ERROR;

  return $requirements;
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc