dimayakovlev.ru


Использование проверки аутентификации посетителя веб-сайта в GetSimple CMS

Эта заметка является ответом на вопрос о том, как, используя шаблон оформления страницы, вывести сообщение для зарегистрированного в системе посетителя веб-сайта, работающего под управлением GetSimple CMS.

Так как стоит задача выводить сообщения непосредственно в шаблоне оформления страницы, разработка специального плагина не требуется: вся необходимая логика может быть задана непосредственно в файле шаблона оформления.

Для проверки посетителя веб-сайта на предмет его аутентификации в системе следует использовать функцию is_logged_in(), возвращающую значение true, в случае, если посетитель является аутентифицированным пользователем.

Таким образом, для вывода сообщения зарегистрированному посетителю, можно использовать следующий PHP код:

<?php
  if (is_logged_in()) {
    echo 'Вы зарегистрированы в системе';
  }
?>

На практике может возникнуть необходимость выводить различные сообщения для зарегистрированных и не зарегистрированных посетителей. В этом случае может использоваться следующий PHP код:

<?php
  if (is_logged_in()) {
    echo 'Вы зарегистрированы в системе';
  } else {
    echo 'Вы не зарегистрированы в системе';
  }
?>

Аналогичным способом вместо вывода сообщения могут быть подключены требуемые компоненты:

<?php
  $component = is_logged_in() ? 'registered' : 'notregistered';
  get_component($component);
?>

В приведённом примере для зарегистрированного посетителя подключается компонент registered, в остальных случаях подключается компонент notregistered.

С целью усложнения задачи можно ввести дополнительное условие: вывод различных сообщений в зависимости от имени зарегистрированного пользователя. Для реализации такой возможности может использоваться следующий PHP код:

<?php
  global $USR;
  if (is_logged_in()) {
    if ($USR == 'admin') {
      $message = 'Здравствуйте, Администратор! Я готов к техническому обслуживанию.';
    } elseif ($USR == 'dmitry') {
      $message = 'Здравствуйте, Дмитрий! Ждал вас, чтобы поделиться новыми идеями.';
    } elseif ($USR == 'elena') {
      $message = 'Здравствуйте, Елена! Отлично выглядите сегодня.';
    } elseif ($USR == 'dave') {
      $message = 'Прости, Дэйв. Боюсь, я не могу этого сделать.';
    } else {
      $message = 'Здравствуйте, пользователь! Рад видеть вас снова.';
    }
    echo $message;
  }
?>

Основываясь на приведённых фрагментах кода, вы можете реализовать необходимую функциональность, связанную с проверкой аутентификации посетителя веб-сайта, непосредственно в шаблонах оформления страниц. Однако с целью многократного использования кода следует написать собственную функцию, поместив её в файл functions.php используемой темы оформления, либо создать специальный компонент.