Hacked By AnonymousFox

Current Path : /opt/cloudlinux/venv/lib/python3.11/site-packages/clwizard/modules/__pycache__/
Upload File :
Current File : //opt/cloudlinux/venv/lib/python3.11/site-packages/clwizard/modules/__pycache__/php.cpython-311.pyc

�

���fy���ddlZddlmZmZddlmZddlmZddlm	Z	ddl
mZmZddl
mZmZdd	lmZGd
�de��ZdS)�N)�Dict�List)�Feature)�ExternalProgramFailed)�check_cagefs_initialized)�CL_SELECTOR_BIN�MODULES_LOGS_DIR)�InstallationFailedException�PackageMissingError�)�WizardInstallerc���eZdZej�ed��Zej	Z
d�Zd�Zd�Z
d�Zed���Zed���Zed���Zd	�Zd
�Zd�Zd�Zd
S)�PhpInstallerzphp.logc	���|j�d|��	|�tdddd|dg��dS#t$r}t��|�d}~wwxYw)Nz)trying to set default php version as '%s'�set�
--interpreter�phpz--default-version�--json��
app_logger�info�_run_commandrrr
)�self�version�es   �K/opt/cloudlinux/venv/lib64/python3.11/site-packages/clwizard/modules/php.py�_set_default_php_versionz%PhpInstaller._set_default_php_versions�������H�'�R�R�R�
	7����#��#��'����

�

�

�

�

��%�	7�	7�	7�-�/�/�Q�6�����	7�����!A�
A�
A�Ac	���|j�d|��	|�tdddd|dg��dS#t$r}t��|�d}~wwxYw)Nz%trying to set PHP Selector state '%s'rrrz--selector-statusrr)r�statusrs   r�_set_cloudlinux_selector_statusz,PhpInstaller._set_cloudlinux_selector_status*s�������D�f�M�M�M�
	7����#��#��'����

�

�

�

�

��%�	7�	7�	7�-�/�/�Q�6�����	7���rc�$�|j�dd�|����g}|D]0}d|�dd��z}|�|���1	|j|�dS#t$r}t��|�d}~wwxYw)z�
        Install given php versions via groups
        :param versions: e.g ['4.4', '5.4', '5.6']
        :return: None
        z)php version '%s' is going to be installed�,zalt-php�.�N)rr�join�replace�append�_install_groupsrr
)r�versions�groups�ver�package_namers      r�_install_php_versionz!PhpInstaller._install_php_version<s���	
����7����(�9K�9K�	
�	
�	
����	(�	(�C�$�s�{�{�3��';�';�;�L��M�M�,�'�'�'�'�		7�
!�D� �&�)�)�)�)��$�	7�	7�	7�-�/�/�Q�6�����	7���s�%
A1�1
B�;B
�
Bc�F�|�d��}|�dg��}|�d��}|r/|r-||vr)|j�d|��t���|�|��t��r�|r1|�d���|r|�|��d	Sd	S	|�d���d	S#t$r3}|j�dt|����Yd	}~d	Sd	}~wwxYwd	S)
a�
        Run installation of php module
        It is possible to install only alt-php packages and skip further
        installation if 'enable_selector': False
        Otherwise we will configure php selector also
        -- set selector status to enabled
        -- set default version if it was passed
        :param options: {'versions': [5.5, 5.6], 'enable_selector': True}
        :return:
        �default_versionr*�enable_selectorzWVersion %s that was specified to be set as default must be included in install_versions�enabled)r �disabledz/Error occurred while disabling PHP Selector: %sN)
�getr�errorr
r.rr!r�	Exception�str)r�optionsr0�install_versions�to_enable_selectorrs      r�run_installationzPhpInstaller.run_installationVs���"�+�+�&7�8�8��"�;�;�z�2�6�6��$�[�[�):�;�;���	4��
4�?�:J�#J�#J���%�%�;�#����
2�3�3�3��!�!�"2�3�3�3�#�%�%�	�!�
��4�4�I�4�F�F�F�"�C��1�1�/�B�B�B�B�B�C�C���8�8�
�8�K�K�K�K�K�� �����O�)�)�I�3�q�6�6������������������	�	s�	C!�!
D�+(D�Dc�
�hd�S)N>r*r0r1�)�clss r�supported_optionszPhpInstaller.supported_optionss��A�A�A�A�c��	ddlm}n"#t$r}td��|�d}~wwxYw|�����dS)Nr)�ClSelect�
lvemanager)�clselect.clselectrB�ImportErrorr�get_version)rBrs  r�_php_get_default_versionz%PhpInstaller._php_get_default_version�sh��	;�2�2�2�2�2�2�2���	;�	;�	;�%�l�3�3��:�����	;�����x�z�z�%�%�'�'��*�*��	�
(�#�(c�l�	ddlm}n"#t$r}td��|�d}~wwxYw|d��S)Nr)�"interpreter_versions_short_summaryrCr)�clselect.clselectctlrJrEr)rJrs  r�_php_interpreters_listz#PhpInstaller._php_interpreters_list�sl��	;�
�
�
�
�
�
�
���	;�	;�	;�%�l�3�3��:�����	;����1�1�%�8�8�8rHc��dddid�g}|S)zh
        Get list of warnings that should be shown in wizard
        before module installation
        z�Further CloudLinux PHP Selector setup will be available in LVE Manager settings after installation. Find more details in our documentation at %(url)s.�urlz:https://docs.cloudlinux.com/php_selector_installation.html)�message�contextr=)r�warningss  r�
_get_warningszPhpInstaller._get_warnings�s,��3��W��

�

�
���r@c�:�g}|���D]$}|js�
|�|j���%t	|��|���||�d��|���d�|���d�S)Nr)r0�installed_versions�available_versionsr1)�already_configuredr8rQ)	rL�	installedr(r�anyrG�_get_available_versions�_is_php_selector_enabledrR)rrT�php_interpreters   r�initial_statuszPhpInstaller.initial_status�s��� ��#�:�:�<�<�	?�	?�O�"�,�
���%�%�o�&=�>�>�>�>�
#&�&8�"9�"9�#'�#@�#@�#B�#B�&8�&*�&B�&B�5�&I�&I�#'�#@�#@�#B�#B�	���*�*�,�,�
�
�	
r@c�`�tt��o|�����S)zM
        Return True if Php Selector enabled in UI and could be used
        )�boolr�"_is_php_selector_enabled_in_config)rs rrZz%PhpInstaller._is_php_selector_enabled�s*��
�,�.�.�\�4�3Z�3Z�3\�3\�]�]�]r@c��|j�d��	ddlm}|d�����S#t
$rYdSwxYw)zn
        Return True if Php Selector is enabled for UI in panel specific (DA, Plesk or cPanel) config
        z!trying to get Php Selector state.r)�CloudlinuxSelectorLibrF)rr�clselector.selectorlibra�php_selector_is_enabledrE)rras  rr_z/PhpInstaller._is_php_selector_enabled_in_config�sq��
	
����@�A�A�A�	�D�D�D�D�D�D�(�(��/�/�G�G�I�I�I���	�	�	��5�5�	���s�"?�
A
�A
N)�__name__�
__module__�__qualname__�os�pathr&r	�LOG_FILEr�PHP_SELECTOR�_REQUIRED_CL_COMPONENT_SUPPORTrr!r.r;�classmethodr?�staticmethodrGrLrRr\rZr_r=r@rrrs�������w�|�|�,�i�8�8�H�%,�%9�"�7�7�7�$7�7�7�$7�7�7�4'�'�'�R�B�B��[�B��+�+��\�+��9�9��\�9����,
�
�
�,^�^�^�����r@r)rg�typingrr�clcommon.constr�clcommon.utilsr�!clconfig.cagefs_statistics_configr�clwizard.constantsrr	�clwizard.exceptionsr
r�baser
rr=r@r�<module>rus���
�	�	�	���������"�"�"�"�"�"�0�0�0�0�0�0�F�F�F�F�F�F�@�@�@�@�@�@�@�@�P�P�P�P�P�P�P�P�!�!�!�!�!�!�A�A�A�A�A�?�A�A�A�A�Ar@

Hacked By AnonymousFox1.0, Coded By AnonymousFox