Spade

Mini Shell

Directory:~$ /proc/self/root/opt/alt/alt-php-config/
Upload File

[Home] [System Details] [Kill Me]
Current File:~$ //proc/self/root/opt/alt/alt-php-config/alt-php-panel-configuration.pyc

�
ŗ�hc@sddlZddlZddlZddlZddlZddlZddlmZyddlj	j
Z
Wnek
r�ddlZ
nXdZ
d�Zd�Zd�Zd	�Zd
�Zd�Zd�Zd
�Zd�Zd�Zedkrejeejd��ndS(i����N(tcopy2tchecktinstallt	uninstallcCstjjd�stStS(sk
    Check is it environment with installed plesk panel

    @rtype  : bool
    @return  True or False
   
s/usr/sbin/plesk(tostpathtexiststFalsetTrue(((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pytis_plesksc
Cs\tjjd�stSttjd��(}tjddgd|d|�}WdQX|dkS(sj
    Check if we're in environment with enabled cagefs

    @rtype  : bool
    @return  True or False
   
s/usr/sbin/cagefsctltwbs--cagefs-statuststdouttstderrNi(RRRRtopentdevnullt
subprocesstcall(Rtresult((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pyt
has_cagefsscCst�ot�S(s�
    Check is it environment with installed plesk panel on clean ELS system
without cagefs

    @rtype  : bool
    @return  True or False
   
(R	R(((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pyt
is_bare_plesk-scCs�|rtj}n	tj}tj�}|j|�d}tj|d�}|j|�tj�}|j|�|j|�|S(s�
    Logging configuration function

    :type verbose: bool
    :param verbose: Enable additional debug output if True, display only
errors
        othervise
    :return: configured logger object
    s%(levelname)-8s: %(message)ss%H:%M:%S
%d.%m.%y(	tloggingtDEBUGtERRORt
StreamHandlertsetLevelt	FormattertsetFormattert	getLoggert
addHandler(tverbosetlevelthandlert
log_formatt	formattertlogger((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pytconfigure_logging6s		



cCsEg}x.tjd�D]}|j|d|f�qW|j�|S(s�
    Returns list of installed alt-php versions and their base directories

    :rtype:  list
    :return:  List of version (e.g. 44, 55) and base directory tuples
   
s/opt/alt/php[0-9][0-9]i����(tglobtappendtsort(tphp_versionstphp_dir((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pytfind_alt_php_versionsNs

cCs�tjddgdtjdtjdt�}|j�\}}x[|jd�D]J}d||f|j�jd�d	krOtj	d
||f�tSqOWtj	d||f�t
S(sx

    :param php_ver: alt-php version (e.g. 44, 55, 70)
    :return: If handler exist returns True, otherwise False
    s/usr/local/psa/bin/php_handlers--listRRtuniversal_newliness
salt-php%s-%st isHandler for alt-php%s-%s exist.s#Handler for
alt-php%s-%s not
exist.(RtPopentPIPEtSTDOUTRtcommunicatetsplittstripRtinfoR(tcgi_typetphp_vertproctoutt_tline((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pytplesk_check_php_handler\s	)cCs�t�r$tjd||f�tSt||�rNtjd||f�tStjd||f�tjjdj	||��d}|ddd||fd	t
jj|d
�dt
jj|d�d
|dd||fg}|dkrw|j
dd|dt
jj|d�dt
jj|d�g�t
jjd|�s�tt
jj|d�t
jj|d��q�n"|j
dt
jj|d�g�tj|dtjdtjdt�}|j�\}}|jdkrtddj|�|f��ntj|d
gdtjdtjdt�}|j�\}}|jdkrltd!|d"|��ntjd#|�tS($Ns<Skipping
alt-php%s-%s on Plesk installations without CageFS.sHandler for
alt-php%s-%s exist.s'Plesk: Installing alt-php%s-%s handler.s)Plesk:
Installing alt-php{0}-{1}
handler.s/usr/local/psa/bin/php_handlers--adds-displaynamesalt-php%s-%ss-clipathsusr/bin/phps-phpinisetc/php.inis-types-idtfpms-services
alt-php%s-fpms-pathsusr/sbin/php-fpms-poolds
etc/php-fpm.ds/opt/alt/php%s/etc/php-fpm.confsetc/php-fpm.conf.plesksetc/php-fpm.confsusr/bin/php-cgiRRR*iucannot
execute "%s": %sR+s--rereaducannot execute "s
--reread": %ss-Handler for alt-php%s was successfully
added.(RRR2RR9RtsysRtwritetformatRRtjointextendRRRR,R-R.R/t
returncodet	Exception(R3R4tphp_pathtcommandtadd_commandR5R6R7((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pytplesk_add_php_handlernsH	
1"cCst||�r�tjd||f�tjjdj||��dddd||fg}tj|dtj	dtj
d	t�}|j�\}}|j
d
kr�tddj|�|f��ntjd
||f�tStjd||f�tSdS(Ns%Plesk:
Removing alt-php%s-%s handler.s'Plesk: Removing alt-php{0}-{1}
handler.s/usr/local/psa/bin/php_handlers--removes-idsalt-php%s-%sRRR*iucannot
execute "%s": %sR+s2Handler for alt-php%s-%s was successfully
removed.s#Handler for alt-php%s-%s not
exist.(R9RR2R;RR<R=RR,R-R.RR/R@RAR>R(R3R4RCR5R6R7((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pytplesk_remove_php_handler�s	"cCsfy>tj�}|dkr=tjjd�s<td��n|dkr�td||�td||�tjjd|�s�tjjd|�r:td	||�q:q=|d
krtd|�td|�tjjd|�s�tjjd|�r:td	|�q:q=td|�o9td|�o9td	|�SnWn!tk
ra}t	j
|�tSXdS(sL
    :rtype: bool
    :return: If success returns True, otherwise False
    tPlesks/usr/local/psa/bin/php_handlers)/usr/local/psa/bin/php_handler
not
exist.Rtfastcgitcgis/etc/init.d/alt-php%s-fpms-/usr/lib/systemd/system/alt-php%s-fpm.serviceR:RN(tcpapit	getCPNameRRRRARERFR9RR2R(tmodeR4RBtcp_namete((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pytconfigure_alt_php�s&,

,2
c
Cs�y(tj|ddddg�\}}Wn0tjk
rZ}tjjdj|��dSXt}d}g}x�|D]�\}}|dkr�|tkr�d}q�|}n|dkrtj	j
d|�s�tjjd
j|��dS|j|d|f�n|dkrtt}qtqtWt
|�}	|skt�}|	jddjg|D]}
d|
^qM��nx$|D]\}}t|||�qrWdS(Nsm:p:vsmode=sphp=Rs(cannot
parse command line arguments:
{0}iRs-ms--modes-ps--phps/opt/alt/php%ssunknown PHP version
{0}s-vs	--verboseu!installed alt-php versions are
%ss
s	 alt-php%s:
%s(s-ms--mode(s-ps--php(s-vs	--verbose(tgetopttGetoptErrorR;RR<R=RtMODESRRtisdirR%RR#R)R2R>RO(
tsys_argstoptstargsRNRRLR'topttargtlogtitverR((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pytmain�s6(		
		+t__main__i(schecksinstalls	uninstall(RPR$RRRR;tshutilRtdb.clcommon.cpapitclcommonRJtImportErrortdetectcpRRR	RRR#R)R9RERFROR\t__name__texittargv(((s6/opt/alt/alt-php-config/alt-php-panel-configuration.pyt<module>s.
								+			!