Czy istnieje sposób na sprawdzenie, czy jesteś zalogowany na Dev, Stage lub Production

13

Nasz model wdrażania ma

  1. Dev
  2. Etap
  3. Produkcja
  4. Tryb failover (replikacja mysql i moduł równoważenia obciążenia)

Naszym problemem jest to, że serwer przeszedł w tryb awaryjny, chcemy ostrzec redaktorów treści, że pracują w trybie failover, lub więcej, chcielibyśmy upewnić się, że edytują w obszarach produkcyjnych, a nie w polu programistycznym.

Czy istnieje sposób na odróżnienie środowiska po zalogowaniu się użytkownika? Czy istnieje moduł, za pomocą którego kolor koduje pasek administratora w zależności od nazwy hosta serwera?

Stóg
źródło

Odpowiedzi:

14

Wypróbuj wskaźnik środowiska , robi dokładnie to, co chcesz.

Ten moduł pomoże ci zachować rozsądek podczas pracy w różnych środowiskach, dodając konfigurowalny pasek kolorów do każdego z nich.

Ładnie integruje się również z menu administracyjnym.

sanzante
źródło
7

Jak wspomniano w pierwszej odpowiedzi, environment_indicator jest tym, którego szukasz.

Cóż, używamy również tego samego rodzaju modelu programistycznego i dla ułatwienia korzystania z modułu funkcji można zapisać ustawienia w pliku. To sprawia, że ​​zmiana koloru odbywa się automatycznie.

Postępuj zgodnie z poniższym kodem, można go zaimportować za pomocą modułu Funkcje.

/**
 * Implements hook_default_environment_indicator_environment().
 */
function mymodule_default_environment_indicator_environment() {
  $export = array();

  $environment = new stdClass();
  $environment->disabled = FALSE; /* Edit this to true to make a default environment disabled initially */
  $environment->api_version = 1;
  $environment->machine = 'live';
  $environment->name = 'Live';
  $environment->regexurl = 'example.com';
  $environment->settings = array(
    'color' => '#bb0000',
    'text_color' => '#ffffff',
    'weight' => '',
    'position' => 'top',
    'fixed' => 0,
  );
  $export['live'] = $environment;

  $environment = new stdClass();
  $environment->disabled = FALSE; /* Edit this to true to make a default environment disabled initially */
  $environment->api_version = 1;
  $environment->machine = 'staging';
  $environment->name = 'Staging';
  $environment->regexurl = 'stage.example.com';
  $environment->settings = array(
    'color' => '#000099',
    'text_color' => '#ffffff',
    'weight' => '',
    'position' => 'top',
    'fixed' => 0,
  );
  $export['staging'] = $environment;

  $environment = new stdClass();
  $environment->disabled = FALSE; /* Edit this to true to make a default environment disabled initially */
  $environment->api_version = 1;
  $environment->machine = 'dev';
  $environment->name = 'Dev';
  $environment->regexurl = 'dev.example.com';
  $environment->settings = array(
    'color' => '#000066',
    'text_color' => '#ffffff',
    'weight' => '',
    'position' => 'top',
    'fixed' => 0,
  );
  $export['dev'] = $environment;

  return $export;
}
Aneek Mukhopadhyay
źródło
Wybrałem odpowiedź modułu, ale nadal głosuję za nią. Wielkie dzięki.
Rick