Сеанс

Если вашему расширению необходимо получать информацию, относящуюся к текущему пользователю Plesk, используйте класс pm_Session.

Примеры

Ограничение доступа к расширению

Для ограничения доступа к расширению сначала получите информацию о текущем пользователе (объект pm_Client), используя метод

Следующий код ограничивает доступ для всех пользователей, кроме администраторов:

if (!pm_Session::getClient()->isAdmin()) {
 throw new pm_Exception('Permission denied');
 }

Получение идентификатора клиента во время сеанса работы от имени клиента

После входа в Панель клиента от имени своего клиента администратор или реселлер может получить идентификатор клиента, используя следующие методы:

Используйте следующий код:

if (pm_Session::isImpersonated()) {
 $clientId = pm_Session::getImpersonatedClientId();
 var_dump($clientId);
 }

Получение информации о домене

Кроме того, во время сеанса работы в Панели клиента вы можете получить информацию о текущем домене с помощью метода

Используйте следующий код:

$domain = pm_Session::getCurrentDomain();
 var_dump($domain->getName());

$domain в этом примере является экземпляром класса pm_Domain.

Если Plesk не удалось получить информацию о домене, будет выдано исключение pm_Exception.

Получение текущего основного домена

Вы также можете получить информацию обо всех текущих доменах, используя метод

Этот метод лучше всего использовать в случае, когда сеанс открыт в режиме Power User. По умолчанию он возвращает основные домены и их дополнительные домены и субдомены. Если для аргумента $mainDomainsOnly задано значение "true", возвращаются только основные домены. В большинстве случаев этот метод возвращает массив, содержащий единственный основной домен (по аналогии с pm_Session::getCurrentDomain()) вместе с дополнительными доменами и субдоменами.

Однако, если в режиме Power User выбрана опция "Все подписки" (прозрачный режим веб-пространств), все текущие домены пользователя будут возвращены вместе с их дополнительными доменами и субдоменами.

В режиме Service Provider этот метод возвращает домены в контексте последней подписки или все домены пользователя, если контекст последней подписки отсутствует.

Используйте следующий код:

$currentDomains = pm_Session::getCurrentDomains();
 var_dump($domain->getName());
 

Leave your feedback on this topic here

If you have questions or need support, please visit the Plesk forum or contact your hosting provider.
The comments below are for feedback on the documentation only. No timely answers or help will be provided.