Ѡg-ddlZddlmZmZmZmZmZddlmZddl m Z m Z ddl m Z mZddlmZmZmZddlmZddlmZmZGd d e ZdS) N)TupleListOptionalAnyDict) CONFIG_PATH)NotFoundNotImplementedByVendor)GeneralPanelPluginV1PHPDescription)NoDBAccessData NotSupportedNoDomain) PublicApi)ALL_CL_FEATURESFeatureceZdZfdZdZdZd'dZd'dZd(dZd Z d Z d Z d Z d)d Z dZdZdZ d*dZd'dZdZd'dZdZdZdZedZdZd(dZd(dZdZdZd Zd!e e!d"ffd#Z"d$Z#d%Z$d&Z%xZ&S)+ PanelPlugincntt|_dSN)super__init__r_api)self __class__s /builddir/build/BUILDROOT/alt-python27-cllib-3.4.22-1.el8.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/cpapi/plugins/vendors.pyrzPanelPlugin.__init__s( KK ctjtsdS|jjSr)ospathexistsrr panel_infonamers r getCPNamezPanelPlugin.getCPNames4w~~k** 4y##%%**rctjtsdS|j}|j|jddS)N)r#versionadditional_info)rr r!rrr"r#r')rinfos rget_cp_descriptionzPanelPlugin.get_cp_descriptionsDw~~k** 4y##%% dltTTTrFc|jdd}d|j|jDS)NTis_mainrcg|] }|j Sr#).0packs r z.PanelPlugin.admin_packages.."sPPPd PPProwner)radminspackagesr#)r raise_exc main_admins radmin_packageszPanelPlugin.admin_packages sHY%%d%33A6 PPdi&8&8z&8&O&OPPPPrci}|jdd}|jD]K}|j|jkr|j|vr g||j<||j|jL|SNTr,r)rr6r7r5r#append)rr8resultr9r2s rresellers_packageszPanelPlugin.resellers_packages$sY%%d%33A6 I&&(( 1 1DzZ_,,z''%'tz" 4:  % %di 0 0 0 0 rNc|jdd} |j||p|jdg}n#t$rgcYSwxYwd|DS)NTr,rid) package_name package_ownerfieldsc6g|]}t|jSr/)strrA)r1us rr3z8PanelPlugin.get_uids_list_by_package..:s )))aAD )))r)rr6usersr#r )rrB reseller_namer9rHs rget_uids_list_by_packagez$PanelPlugin.get_uids_list_by_package0sY%%d%33A6  IOO)+>zv$EE    III ))5))))s%A AAcL|j}d|DS)Nc*g|]}|j |jSr/) unix_user)r1admins rr3z&PanelPlugin.admins..>s!GGGEuGGGGr)rr6)rr6s rr6zPanelPlugin.admins<s)!!##GGVGGGGrcf|j}td|DS)Nc3$K|] }|jV dSrr0r1rs r z(PanelPlugin.resellers..Bs$//QV//////r)r resellerstuple)rrTs rrTzPanelPlugin.resellers@s2I'')) //Y//////rc.||vSr)rT)rusernames r is_resellerzPanelPlugin.is_resellerDs4>>++++rc0 |jj}n&#t$r}t d|d|d}~wwxYw|t di}|jj|d<|jj|d<|jj|d<|jj |d<|S)N'db_info is not implemented by vendor: ``z0db_access is not supported by this control panelloginpasshostport) rdb_infomysqlr r accessr\passwordr^r_)rdberbs r db_accesszPanelPlugin.db_accessGs X""$$*BB% X X X !O1!O!O!OPPVW W X : !STT T)/w+vvv ! A?AcV |jj}n&#t$r}t d|d|d}~wwxYw|t dg}|jD](\}}|r||vr |D]}|||g)t|S)NrZr[zsys_userdb_usersdb_users rdblogin_cplogin_pairsz!PanelPlugin.dblogin_cplogin_pairsWs V""$$*BB% V V VMMMMNNTU U V :]^^ ^"$*"2"2"4"4 3 3 Hh x{::# 3 3 w12222 3V}}rgcd}g}|D]L}g}|D]0}||vrd} n||||} || 1||M|S)Nc\|d}|D]}t||d}|S)N.)splitgetattr)tokenobjkeyskeys r_get_key_nestedz8PanelPlugin._convert_by_mapping.._get_key_nestedjs:;;s##D . .c3--Jr)r=) robjectsrikeylsrzr>useras_arrayryvalues r_convert_by_mappingzPanelPlugin._convert_by_mappingis     $ $DH ' 'g%% EE+OGCL$??E&&&& MM( # # # # rcddddddd} |j|}n#t$rgcYSwxYw||||S) NrWemailr5domain locale_codez package.name)cploginmailresellerdnslocalepackage filter_names)rrHr r)r sys_loginr|rirHs r_sys_users_infozPanelPlugin._sys_users_info}s|"#%    IOOO;;EE   III ''w>>>s ' 66cdddd} |j|}n#t$rg}YnwxYw |j|}n#t$rg}YnwxYw|||z||S)Nr#rr)rrrr)rrTr r6r)rrr|rirTr6s r_resellers_infozPanelPlugin._resellers_infos#     +++CCII   III  Y%%9%==FF   FFF '' F(:GUKKKs$ 33A A"!A"rrrrrTc^|r|||S|||Sr)rr)rcpuserr|search_sys_userss rcpinfozPanelPlugin.cpinfos6  7''66 6''66 6rc|jgd}i}|D](}t|jdd|jd||j<)|S)NrArr5rDr#rr)rrHrurr5rA)rr8rHr>r}s r list_userszPanelPlugin.list_userssc 'A'A'ABB  D"4<>> JF47OO rc~ |j|gd}n#t$ricYSwxYwd|DS)Nrr5rDcVi|]&}|jt|jdd|jd'S)r#Nr)rArurr5r1r}s r z2PanelPlugin.get_reseller_users..sF    Gvt!D!DRVR\]]   rrrHr )rrrHs rget_reseller_userszPanelPlugin.get_reseller_userssl IOO(;U;U;UOVVEE   III       s ! 00cT|jddg}d|DS)NrArrcFi|]}|jt|jddS)r#N)rArurrs rrz(PanelPlugin.list_all..s:    GWT\6488   r)rrH)rr8rHs rlist_allzPanelPlugin.list_alls= i'899      rc |j|ddgd}n#ttf$rYdSwxYw|jt |jddfS)Nr5r)unix_idrDr)rr#)rrHr IndexErrorr5rur)ruser_idr}s rreseller_package_by_uidz#PanelPlugin.reseller_package_by_uidsm 9??7GY;O?PPQRSDD*%   66 z74<>>>>s $'<<cT|jdd}|jgSr<)rr6rrr9s rget_admin_emails_listz!PanelPlugin.get_admin_emails_lists- Y%%d%33A6  !!rc |j||}n-#ttf$r}t d|d|d}~wwxYw|j|jfS)Nr0z'Can't obtain document root for domain '')rdomainsr KeyErrorr document_rootr5)rrres rdocrootzPanelPlugin.docroots| WY&&F&33F;FF(# W W WNVNNNOOUV V W#V\11s!$AA  AcgS)z Return aliases from user domain :param str|unicode cpuser: user login :param str|unicode domain: :return list of aliases r/)rrs r useraliaseszPanelPlugin.useraliasess  rc |j|}n#t$rgcYSwxYwg}tt |d}|D]!\}}|||jf"|S)Nr4c|dj S)Nr,)_PanelPlugin__ds rz)PanelPlugin.userdomains..s3q6>GYr)ry)rrr sortedlistrjr=r)rrrr>sorted_domainsrr)s r userdomainszPanelPlugin.userdomainss i''f'55GG   III W]]__ 5 5;Y;YZZZ* 8 8LFD MM64#56 7 7 7 7 s  --cv d|j|dgDS#t$rgcYSwxYw)Ncg|] }|j Sr/)rWrs rr3z.PanelPlugin.reseller_users..s'"& rrWrr)r resellernames rreseller_userszPanelPlugin.reseller_userssj *.)//& |+:+=+=    III s &) 88c ||}t||dS#t$ricYSwxYw)N)rr)r|)rdictrr )rrrHs rreseller_domainszPanelPlugin.reseller_domainss] '' 55E E1C DDEE E   III s8; A  A cr|jj}||S||S)N)r)rr"user_login_urlformat)rr url_templates rget_user_login_urlzPanelPlugin.get_user_login_urls;y++--<   ""&"111rcHd|jDS)Nc(i|]}|j|jSr/)r#rArQs rrz5PanelPlugin.get_reseller_id_pairs.. s<<<<<.sO  *--gu==        r) rr"supported_cl_featuresis_feature_lve_supportedrUrLVEsetrremoveadd AUTOTRACINGXRAY)rdisabled_featuresrs @rget_unsupported_cl_featuresz'PanelPlugin.get_unsupported_cl_featuress!%!5!5!7!7!M " ),,.. wwK? "    #2       ( ( * * /{///!((555  ! !'+ . . .  "3 3 3 L]8]8]  $ $W%8 9 9 9&'''rcddlm}ddlm}tjd}t || |d gS)Nr) is_container)is_cl_solo_editionz/usr/sbin/lvectlT)skip_jwt_check)clcommon.lib.cleditionrrrr r!all)rrris_binary_existss rrz$PanelPlugin.is_feature_lve_supported,su777777======7>>*<==   ""$777 7    rc|jd}i}|D]K\}}|jjrdnd}|jjr |jj}|jj}|s<|j|||d||<L|S)NT)with_phpfpmcgi)rWphp_version_id handler_typedisplay_version)rrrjphprhandlerrr5)rrdomains_php_infor domain_inforphp_version_fulls rget_domains_php_infoz PanelPlugin.get_domains_php_info7s)##T#22#*==??   FK$/O$755 & 7*6 *= # (-"2 ,#3 (( V $ $ rc |j}g}|D]^}|t|j|jdd|jd|j|j|j|j_|S)Nrs) identifierr'dir modules_dirbinini) rrr=r rrrrr)rphpsphp_descriptionrs rget_installed_php_versionsz&PanelPlugin.get_installed_php_versionsPsy}}  C  " ">>>"-DDr0BDDGOGG $$$    r)Fr)NF)NrT)'__name__ __module__ __qualname__rr%r*r:r?rJr6rTrXrfrprrrrrrrrrr staticmethodrrrrrrrrUrrrrr __classcell__)rs@rrrsm     +++ UUUQQQQ     * * * *HHH000,,, $(???$LLL()Z $7777       ???"""222\   222 ===&&&(U7C<-@((((:       2rr)rtypingrrrrr vendors_apirvendors_api.exceptionsr r clcommon.cpapi.GeneralPanelr r clcommon.cpapi.cpapiexceptionsr rrvendors_api.parserrclcommon.featuresrrrr/rrr s 33333333333333######CCCCCCCCLLLLLLLLQQQQQQQQQQ((((((66666666PPPPP&PPPPPr