You are here

function uc_store_uc_store_status in Ubercart 8.4

Same name and namespace in other branches
  1. 7.3 uc_store/uc_store.admin.inc \uc_store_uc_store_status()

Implements hook_uc_store_status().

File

uc_store/uc_store.module, line 772
Contains global Ubercart functions and store administration functionality.

Code

function uc_store_uc_store_status() {
  $messages = [];

  // @todo Does it make sense to check for updated config files (check uuid?)
  // How else do we know if Ubercart has corrected country data? Wouldn't want
  // to hook_update it I don't think, because then we'd overwrite any site
  // customizations. Leaving this as a dead code block for now...
  $country_names = \Drupal::service('country_manager')
    ->getEnabledList();
  $updates = [];
  if (!$country_names) {
    $messages[] = [
      'status' => 'error',
      'title' => t('Countries'),
      'desc' => t('No countries are enabled. You may enable countries on the <a href=":url">country settings</a> page.', [
        ':url' => Url::fromRoute('entity.uc_country.collection')
          ->toString(),
      ]),
    ];
  }
  elseif (count($updates)) {

    // This will always == FALSE.
    $messages[] = [
      'status' => 'warning',
      'title' => t('Countries'),
      'desc' => t('Updates are available for the following installed countries: %countries. You may update these countries on the <a href=":url">country settings</a> page.', [
        '%countries' => implode(', ', $updates),
        ':url' => Url::fromRoute('entity.uc_country.collection')
          ->toString(),
      ]),
    ];
  }
  else {
    $messages[] = [
      'status' => 'ok',
      'title' => t('Countries'),
      'desc' => t('Country definitions are up-to-date.'),
    ];
  }

  // Check to see if the store e-mail address has been set.
  if (!\Drupal::config('uc_store.settings')
    ->get('mail')) {
    $messages[] = [
      'status' => 'error',
      'title' => t('Store settings'),
      'desc' => t('Store e-mail address has not been set. Please enter it on the <a href=":url">store settings</a> page.', [
        ':url' => Url::fromRoute('uc_store.config_form')
          ->toString(),
      ]),
    ];
  }
  else {
    $messages[] = [
      'status' => 'ok',
      'title' => t('Store settings'),
      'desc' => t('Store e-mail address is set.'),
    ];
  }
  return $messages;
}