fjp7 RddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl m Z ddlmZmZddlmZmZmZddlmZddlmZddlmZddlmZdd lm Z dd l!m"Z"Gd d eZ#e Gd dZ$e GddZ%d8de&fdZ'de$fdZ(dZ)de$de*fdZ+dZ,d9de*de*fdZ-de$de*ddfdZ.dZ/de$fdZ0de$fd Z1d!Z2d"Z3d#Z4d$Z5d%Z6d&Z7d'e%fd(Z8de$d'e%fd)Z9de$d'e%d*e*fd+Z:de$d'e%fd,Z;de$fd-Ze$ej?d0ej?d1ej?d2ej?d3ej?d4ej?d5e>6Z@ejAd7e@e<HH  ( (....t0D0Dal T T Tttttt  s3AAB?'AB::B?AEF;$A F66F;returnc g}tj|j}|dD]]}|ddtkr#t jdt |<||dd^dd|D}n2#tttf$rt j dYdSwxYw|S) Ndataadvicetypez!Advice has IMUNIFY TYPE, skip: %sid,c34K|]}t|VdSN)r").0rQs r z%_gather_advice_ids..us(;;"c"gg;;;;;;rz&[Analytics] Unable to get advice list.) jsonloadsrIMUNIFY_ADV_TYPErAinfor"appendrGKeyError ValueError TypeErrorrB)r2 advice_ids advice_dictrO advice_rows r_gather_advice_idsrbls  j!677 !&) 6 6Fh'+;;; @#f++NNN   fX.t4 5 5 5 5XX;; ;;;;; j) , >???tt sB B##+CCcfdd|dDS)NrRcg|];}tj|dz_user_hash..~s:]]]AW['!2!233==??]]]r)rGsplit)usernames r _user_hashrm|s0 88]]X[I\I\]]] ^ ^^r user_namecTtj|pt||pd|dS)Nsystem) user_hash journey_idrl)rWdumpsrm)rnrqrrs rprepare_system_analytics_datarts; :7*Y"7"7 ,H  reventct}|dSt|}|dSt|}|sdSt}|dSt ||||dS)z# Report advice sync status N)rrtrbr r lower)r2rurlanalytics_data advice_idsources r_report_sync_or_errorr{syyH28<r?r@rArBrCr:rD parse_versionr)r2wordpress_version_rawrIwordpress_versions r_gather_wordpress_versionrsU  * 7 : && : : :2MMM?!$!$!$%*EGG   ( (....t0D0Dal T T Tttttt  )*?@@  ;=RSSStt=//// >@UVVVt s+AAB>'A B99B>CC54C5c. tj|jddgtjdt }ni#tj$rW}tjd|j d|j d|j Yd}~dSd}~wwxYw t|}n&#t$rtjd|YdSwxYw|tdkrtjd |dS|S) Nz-rzecho PHP_VERSION;T)r:r9r0z@Unable to get php version stdout=`%s` stderr=`%s`, returncode=%sr;z PHP version %s cannot be parsed.z5.6z PHP version %s is not supported.)r<r=rr>r1r?r@rArBrCr:rDrr)r2php_version_rawrIr&s r_gather_php_versionrs= $1  t%8 9?'))    %''   ( (....t0D0Dal T T Tttttt  #O44  8/JJJtt]5)))) 8+FFFt s+AA B1A B,,B15CC('C(c|t|x}dSt|x}dSt|||jS)N)r&r'r()rrr%r)r2r&rs rgather_informationrsV*4000 9t6t<<<Et $!%!7   rc ztj|}tj|j}|j}|j}t j|d}|j}tj |d}|j }tj dtj|j} |d|d|d|d|d| S)Nrz %b %d %H:%M )rEstatfilemodest_modest_nlinkst_uidpwdgetpwuidst_gidgrpgetgrgidst_sizetimestrftime localtimest_mtime) rF file_statfile_permissions num_linksuid owner_namegid group_name file_sizemod_times r get_file_infors I}Y%677"I  Cc""1%J  Cc""1%J!I}]DN9;M,N,NOOH ] ] ] ]Z ] ]* ] ]y ] ]S[ ] ]]rcd}tj|rht|d5}|}t jd|}|r|d}dddn #1swxYwY|S)NrzVersion:\s+(.*))rErFisfileopenreadresearchgroup) file_pathr~filecontentmatchs r_gather_plugin_versionrsG w~~i  ) )S ! ! )TiikkGI0'::E )++a..  ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) NsAA??BBc|sdStj|}tj|} tj|}n&#t $rt jd|YdSwxYw|jtj kr/t jd||jtj dSdS)uVerify resolved mu_plugin_dir parent is owned by the current user. Uses ownership instead of path prefix — works on any panel layout. Runs under cagefs_enter_user / sudo -u, so os.getuid() == site owner. Fz'Cannot stat parent of mu_plugin_dir: %sz8mu_plugin_dir parent %s owned by uid=%s, expected uid=%sT) rErFrealpathdirnamelstatOSErrorrArBrgetuid) mu_plugin_dirresolvedparent parent_stats r_validate_mu_plugin_dirrs uw ..H W__X & &Fhv&&  ?HHHuuRY[[(( Pk0")++ ? ? ?u 4sAA<;A<ctj|d}tj|d}tj|r!tj|rdndS)Ncl-smart-advice.phpcl-smart-adviceTF)rErFrGrisdirrplugin_must_use_fileplugin_must_use_folders rplugin_installedrsc7<< 7LMMW\\-9JKK7>>"677 lBGMMJ`??KGLL+<==M+K88N7<< 7LMMW\\-9JKK45IJJ &&>=T+T+T X#] 4 4 4=!!! '=>>> ["677777 #M22  PR]_bcd_e_efff s?*D++ E-53E((E-wp_sitec.t|jdSrT)rr()rs rinstall_pluginrXs122222rc|j}t|stjd|dS t jgt |dddtjt }t|dS#tj $rR}tj d|j d|j d|jd}~wwxYw)Nz:Smart advice plugin is not installed in %s, nothing to do. smart-advice uninstallTr9r:r0z^Error happened while uninstalling WP SmartAdvice plugin stdout=`%s` stderr=`%s`, returncode=%sr;)r(rrArZr<r=r4r>r1r?rr@rBrCr:rD)r2rruninstall_resultrIs runinstall_pluginr\s4M M * * QS`aaa %24D  % %4D'54D7B4D?'))    %''  }%%%%%  ( (....t0D0Dal T T T  sA"BC4"A C//C4rNc tjgt|ddd|zd|jzd|jzdtjt }t|ddS#tj $rb}tj d |j d |j d |jt|d d}~wwxYw) Nrsyncz--list=z --cpanel_url=z--cpanel_user_emails=Tr advice_syncedzSFailed run wp-cli command smart-advice sync. stdout=`%s` stderr=`%s`, returncode=%sr;advice_sync_failed)r<r=r4r rr>r1r?r{r@rArBrCr:rD)r2rrN sync_resultrIs r sync_advicerss"5 - 4 && 4 4 4   4 t~ - 4%t{ 2 4?'))    %''  dO44444  ( (....t0D0Dal T T T d$8999 sA,BC1AC,,C1c6 tjgt|dddt}dS#tj$r*}t||tj dd}~wwxYw)Noptiongethome)r0zGFailed run wp-cli command, site's health status failed. Plugin removed.) r<r=r4r1decoder?r@rrArB)r2rresultrIs r health_checkrs()]+=d+C+C)]X)]u)]V\)]-D-F-F++++1688EEGG   (w''' `aaa sAAB.%BBct|}|std|jtjkrt ||n&t |t|||jt||dS)Nr)rN) rexitr!rrrrrrr)r2wordpress_websites rmainrs*400  Q {f&&&01111()))D+$2GHHHH()))))r__main__cttjdkr"tjddkr tjStjS)Ntrue)lensysargvrrrrrr get_actionrs6 sx==A  #(1+"7"7# #~rr)rrrrrr r!zArguments received: %s)F)NN)BrrerArErrrr<rrrWr dataclassesrenumrrpackaging.versionrrrrxray.internal.utilsr xray.internal.user_plugin_utilsr xray.analyticsr xray.imunify_managerr rYclcommon.cpapir clcommon.cpapi.pluginlibrrrr%boolr1r4rKr"rbrmrtr{rrrrrrrrrrrrrrrrrr2rZrrrr s   !!!!!! ,+++++::::::++++++======$$$$$$,,,,,,T   $ $ $ $ $ $ $  $ """"""" "$MTMMMM   DTc ___SVYGGSGTGGGG,2d6 T    ^^^4   ,mmm ...,@3K33334+.5d5[55555*tk *t * * * * zKMMM 4HQK8A;(1+!x{(1+z||   DGL)4000DJJJJJ)r