You are here

function language_selection_page_requirements in Language Selection Page 6

Same name and namespace in other branches
  1. 8.2 language_selection_page.install \language_selection_page_requirements()
  2. 7.2 language_selection_page.install \language_selection_page_requirements()
  3. 7 language_selection_page.install \language_selection_page_requirements()

File

./language_selection_page.install, line 10
The install page.

Code

function language_selection_page_requirements($phase) {
  module_load_include('inc', 'language_selection_page', 'includes/language_selection_page.helpers');
  $requirements = array();
  $lang_list = language_list('enabled');
  $language_count = _language_selection_page_check_language_count();
  if (variable_get('language_negotiation', LANGUAGE_NEGOTIATION_NONE) != 2) {
    $requirements['language_selection_page'] = array(
      'title' => 'Language Selection Page',
      'value' => _language_selection_page_get_error_messages('language_negotiation', 'Language negotiation', 'Path prefix with language fallback.', 'admin/settings/language/configure'),
      'severity' => REQUIREMENT_ERROR,
    );
    return $requirements;
  }
  if ($language_count['db'] != $language_count['vars']) {
    $requirements['language_selection_page'] = array(
      'title' => 'Language Selection Page',
      'value' => _language_selection_page_get_error_messages('language_count', $language_count['db'], $language_count['vars']),
      'severity' => REQUIREMENT_ERROR,
    );
    return $requirements;
  }
  if ($language_count['db'] > 1) {
    $lang_list_without_prefix = array();
    foreach ($lang_list[1] as $lang) {
      if (empty($lang->prefix)) {
        $lang_list_without_prefix[$lang->language] = _language_selection_page_get_error_messages('language_prefix', url('admin/settings/language/edit/' . $lang->language), $lang->name);
      }
    }
    if (count($lang_list_without_prefix) >= 1) {
      $requirements['language_selection_page'] = array(
        'title' => 'Language Selection Page',
        'value' => implode('<br/>', $lang_list_without_prefix),
        'severity' => REQUIREMENT_WARNING,
      );
    }
    else {
      $requirements['language_selection_page'] = array(
        'title' => 'Language Selection Page',
        'value' => _language_selection_page_get_error_messages('language_all_good'),
        'severity' => REQUIREMENT_OK,
      );
    }
  }
  else {
    $link = url('admin/settings/language');
    $requirements['language_selection_page'] = array(
      'title' => 'Language Selection Page',
      'value' => _language_selection_page_get_error_messages('language_only_one', $link),
      'severity' => REQUIREMENT_WARNING,
    );
  }
  return $requirements;
}