fj3 d Z ddlZddlZddlmc mZ ddlmZ ddl m
Z
ddlmZ ddl
mZmZ dd lmZ dd
lmZmZ G d de ZdS )
zM
This module contains classes implementing X-Ray Manager behaviour
for Plesk
N)ChainMap)
phpinfo_utils )BaseManager )XRayManagerErrorXRayMissingDomain)
DomainInfo)user_mode_verificationwith_fpm_reload_restrictedc e Zd ZdZdddddddd d
ddd
dddZdefdZeede de
fd Zede
fd Zde
defdZde
de fdZdS )PleskManagerzA
Class implementing an X-Ray manager behaviour for Plesk
z/opt/plesk/php/5.4/etc/php.dz/opt/plesk/php/5.5/etc/php.dz/opt/plesk/php/5.6/etc/php.dz/opt/plesk/php/7.0/etc/php.dz/opt/plesk/php/7.1/etc/php.dz/opt/plesk/php/7.2/etc/php.dz/opt/plesk/php/7.3/etc/php.dz/opt/plesk/php/7.4/etc/php.dz/opt/plesk/php/8.0/etc/php.dz/opt/plesk/php/8.1/etc/php.dz/opt/plesk/php/8.2/etc/php.dz/opt/plesk/php/8.3/etc/php.dz/opt/plesk/php/8.4/etc/php.dz/opt/plesk/php/8.5/etc/php.d)zplesk-php54zplesk-php55zplesk-php56zplesk-php70zplesk-php71zplesk-php72zplesk-php73zplesk-php74zplesk-php80zplesk-php81zplesk-php82zplesk-php83zplesk-php84zplesk-php85returnc 6 t | j | j S )z
Get supported PHP versions
:return: a chained map with basic supported versions
and Plesk supported versions
)r VERSIONSVERSIONS_Plesk)selfs I/opt/cloudlinux/venv/lib64/python3.11/site-packages/xray/manager/plesk.pysupported_versionszPleskManager.supported_versions3 s
t':;;; domain_namec d }t fd| D d }|-| j ddi t |\ }}}| j d|| | j rIt j | }t |
d |j d
||j | S t || |d|v |
S )z
Retrieve information about given domain from control panel environment:
PHP version, user of domain, fpm status
:param domain_name: name of domain
:return: a DomainInfo object
c d| v rd}nSd| v rd| d d }n0d | d dd }|S ) z
Resolve version for lsphp handlers
:param h: original Plesk php handler id
:return: resolved alt-php* version
zlsphp-customz alt-php56lsphpzalt-php-Nr )splitjoin)hvers r resolve_lsphp_versionz;PleskManager.get_domain_info.