/opt/cloudlinux/venv/lib/python3.11/site-packages/xray/manager/__pycache__
NameSizeModeActions
base.cpython-311.pyc477470644editdlrm
cpanel.cpython-311.pyc88670644editdlrm
custom.cpython-311.pyc108470644editdlrm
directadmin.cpython-311.pyc183710644editdlrm
plesk.cpython-311.pyc93350644editdlrm
__init__.cpython-311.pyc17920644editdlrm
Edit: /opt/cloudlinux/venv/lib/python3.11/site-packages/xray/manager/__pycache__/plesk.cpython-311.pyc (9335B)
§ ð ˜jåãó¤—dZddlZddlZddlmcmZddlmZddl m Z ddl m Z ddlmZdd lmZmZdd lmZdd lmZmZGd „d e¦«ZdS)zM This module contains classes implementing X-Ray Manager behaviour for Plesk éN)ÚChainMap)Úgettext)Ú phpinfo_utilsé)Ú BaseManageré)ÚXRayManagerErrorÚXRayMissingDomain)Ú DomainInfo)Úuser_mode_verificationÚwith_fpm_reload_restrictedcó¬—eZdZdZdddddddd d d d d dddœZdefd„Zeede de fd„¦«¦«Z e de fd„¦«Zde defd„Zde de fd„ZdS)Ú 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)z plesk-php54z plesk-php55z plesk-php56z plesk-php70z plesk-php71z plesk-php72z plesk-php73z plesk-php74z plesk-php80z plesk-php81z plesk-php82z plesk-php83z plesk-php84z plesk-php85Úreturncó6—t|j|j¦«S)z– Get supported PHP versions :return: a chained map with basic supported versions and Plesk supported versions )rÚVERSIONSÚVERSIONS_Plesk)Úselfs úI/opt/cloudlinux/venv/lib64/python3.11/site-packages/xray/manager/plesk.pyÚsupported_versionszPleskManager.supported_versions4s€õ ˜œ  tÔ':Ñ;Ô;Ð;óÚ domain_namec óü‡—d„}tˆfd„| ¦«D¦«d¦«}|€-|j dd‰i¬¦«t ‰¦«‚|\}}}|j d‰||¦«|jrStj|‰||¦«¬¦«}t‰|  d ¦«|j d ||j |¬ ¦«St‰||¦«|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|vrd}nSd|vrd| d¦«d›�}n0d | d¦«dd…¦«}|S) zŸ Resolve version for lsphp handlers :param h: original Plesk php handler id :return: resolved alt-php* version z lsphp-customz alt-php56Úlsphpzalt-phpú-éÿÿÿÿNr)ÚsplitÚjoin)ÚhÚvers rÚresolve_lsphp_versionz;PleskManager.get_domain_info..resolve_lsphp_versionFsf€ð  Ð"Ð"Ø!��ؘA��Ø2 §¢¨¡ ¤ ¨RÔ 0Ð2Ð2��à—h’h˜qŸwšw s™|œ|¨B¨Q¨BÔ/Ñ0Ô0�؈Jrc3óR•K—|]!}|d‰ks|dd‰›�k¯|V—Œ"dS)rzwww.N©)Ú.0Úitemrs €rú z/PleskManager.get_domain_info..UsUøèè€ð ð àØ˜”7˜kÒ)Ð)¨T°!¬WÐ8L¸{Ð8LÐ8LÒ-LÐ-Lðà-LÐ-LÐ-LÐ-Lð ð rNz#Domain does not exist on the serverr)Úextraz@Retrieved domain info: domain %s owned by %s uses php version %s)ÚdomainÚtrusted_php_versionz plesk-phpT)ÚnameÚpanel_php_versionÚphp_ini_scan_dirÚis_selector_appliedÚuserÚ panel_fpmÚhandlerÚfpm)r+r,r/r0r1) ÚnextÚquery_dbÚloggerÚwarningr ÚinfoÚ phpinfo_moderÚget_php_configurationr Úget_full_php_versionÚabsolute_ini_scan_dirÚ is_php_fpm)rrr"Ú domain_datar)r/r1Úconfigs ` rÚget_domain_infozPleskManager.get_domain_info<s‚ø€ð ð ð õð ð ð ð à ŸMšM™OœOð ñ ô ð ñ  ô ˆ ð Ð Ø ŒK× Ò Ø5Ø$ kÐ2ð ñ ô ð õ$ KÑ0Ô0Ð 0à +ш��gØ Œ ×ÒØ NØ Ø Ø ñ  ô ð ð Ô ð Ý"Ô8ؘ[ð %:Ð$9¸'Ñ$BÔ$Bð DñDôDˆFõØ Ø"(×"=Ò"=¸kÑ"JÔ"JØ!'Ô!=ð%)ØØ Ô+Øð ñ ô ð õØ Ø"7Ð"7¸Ñ"@Ô"@ØØ 7Ð*Øð ñôð rc#óŽK—d„}d}tjdd|dgdd|¦«¬¦«}|jdkr+tt d ¦«|j|jfz¦«‚ t jd  |j ¦«¦«}|  d ¦«D]W}|  d ¦«j }|  d ¦«j }|  d¦«j }|||fV—ŒXdS#t j $r7}tt d¦«t|j ¦«z¦«|‚d}~wwxYw)z¤ Query Plesk database through plesk db utility and yeild parsed xml result :return: tuple(domain_name, domain_user, domain_handler) cóR—dtj dd¦«vrddiSdS)a plesk db utility needs to be able to find mysql executable, which resides in /usr/bin. If we do not have it in PATH, the error will be thrown: 'exec: "mysql": executable file not found in $PATH' z/usr/binÚPATHÚN)ÚosÚenvironÚgetr$rrÚcheck_path_envz-PleskManager.query_db..check_path_env�s/€ð¥¤§¢°¸Ñ!;Ô!;Ð;Ð;Ø  Ð+Ð+à�trzÁselect d.name,s.login,h.php_handler_id from (select id, name from domains union select dom_id, name from domain_aliases) d join hosting h on d.id=h.dom_id join sys_users s on h.sys_user_id=s.idz/usr/sbin/pleskÚdbz--xmlT)Úcapture_outputÚtextÚenvrz(plesk db query failed (exit code %d): %srCÚrowz./field[@name='name']z./field[@name='login']z./field[@name='php_handler_id']z,Failed to parse XML from plesk db output: %sN)Ú subprocessÚrunÚ returncoder Ú_ÚstderrÚETÚ fromstringrÚstdoutÚiterÚfindrJÚ ParseErrorÚstr) rGÚqueryÚresultÚrootrLrÚ user_namer1Úes rr4zPleskManager.query_dbˆsèè€ð ð ð ðXˆÝ”Ø   e¨WÐ 5ØØØ�Ñ Ô ð  ñ ô ˆð Ô  Ò !Ð !Ý"ÝÐ<Ñ=Ô=ØÔ$ f¤mÐ4ñ5ñôð ð Ý”= §¢¨¬Ñ!7Ô!7Ñ8Ô8ˆDØ—y’y Ñ'Ô'ð 6ð 6�Ø!ŸhšhÐ'>Ñ?Ô?ÔD� ØŸHšHÐ%=Ñ>Ô>ÔC� ØŸ(š(Ð#DÑEÔEÔJ�Ø! 9¨gÐ5Ð5Ð5Ð5Ð5ð  6ð 6øõ Œ}ð ð ð Ý"ÝÐ@ÑAÔAÅCÈÌ ÑDVÔDVÑVñôàð øøøøð øøøsÁ#BC>Ã>EÄ 2D?Ä?EÚ domain_infocóV‡—ˆfd„}d‰jvrd‰jvp |¦«S‰j S)z© Check if selector is enabled specifically for Plesk panel :param domain_info: a DomainInfo object :return: True if yes, False otherwise cóB•—‰jr‰jdd…‰jvSdS)zÑ Checks if php selector and cloudlinux selector have the same php version. :param domain_info: a DomainInfo object :return: digits as string or None éþÿÿÿNF)Úselector_php_versionr1)r^s€rÚsame_php_in_both_selectorszPPleskManager.panel_specific_selector_enabled..same_php_in_both_selectors»s0ø€ðÔ/ð TØ"Ô7¸¸¸Ô<À Ô@SÐSÐSØ�5rrÚcustom)r1r0)rr^rcs ` rÚpanel_specific_selector_enabledz,PleskManager.panel_specific_selector_enabled´sUø€ð ð ð ð ð ð �kÔ)Ð )Ð )ؘ{Ô2Ð2ÐRÐ6PÐ6PÑ6RÔ6RÐ RØÔ(Ð(Ð(rÚdom_infocó—|jS)z{ Get Plesk FPM service name :param dom_info: a DomainInfo object :return: FPM service name )r1)rrfs rÚfpm_service_namezPleskManager.fpm_service_nameÊs €ð ÔÐrN)Ú__name__Ú __module__Ú __qualname__Ú__doc__rrrr r rXr r?Ú staticmethodÚtupler4Úboolrerhr$rrrrs€€€€€ððð 6Ø5Ø5Ø5Ø5Ø5Ø5Ø5Ø5Ø5Ø5Ø5Ø5Ø5ðð€Nð"< Hð<ð<ð<ð<ð ØðH¨3ðH°:ðHðHðHñÔñ ÔðHðTð)�eð)ð)ð)ñ„\ð)ðV)¸:ð)È$ð)ð)ð)ð)ð, ¨ð ¸ð ð ð ð ð ð rr)rlrDrMÚxml.etree.ElementTreeÚetreeÚ ElementTreerRÚ collectionsrÚxrayrrPÚ xray.internalrÚbaserÚinternal.exceptionsr r Úinternal.typesr Úinternal.user_plugin_utilsr r rr$rrúrzsðððð  € € € ØÐÐÐØ"Ð"Ð"Ð"Ð"Ð"Ð"Ð"Ð"Ø Ð Ð Ð Ð Ð àÐÐÐÐÐØ'Ð'Ð'Ð'Ð'Ð'àÐÐÐÐÐØEÐEÐEÐEÐEÐEÐEÐEØ'Ð'Ð'Ð'Ð'Ð'ððððððððð r ðr ðr ðr ðr �;ñr ôr ðr ðr ðr r