%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/self/root/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectphp/
Upload File :
Create Path :
Current File : //proc/self/root/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectphp/php_manager.pyc

�
i�B^c@`s"ddlmZddlmZddlmZddlZddlZddlmZddlm	Z	ddl
Zddlm
Z
mZddlmZdd	lmZmZmZdd
lmZddlmZmZmZmZddlmZdd
lmZde fd��YZ!dS(i(tprint_function(tdivision(tabsolute_importN(tgetpwuid(t	iteritems(t	get_paramt
replace_param(tUIConfig(tformat_summarytparse_extensionstAPI_1(tClSelect(tClUserSelecttClExtSelecttClUserExtSelecttClUserOptSelect(tBaseSelectorError(tClSelectExceptt
PhpManagercB`s�eZdZdZdZdZddd�Zed��Z	e	j
d��Z	ed��Zd�Zd	�Z
d
�Zd�Zd�Zd
�Zd�ZRS(s:Responsible for actual PhpSelector selector high-level APItphps6/usr/local/directadmin/plugins/phpselector/plugin.conftactivecC`satj�}|dk|_t|�j|_|jrKt|j�|_nt	|j�|_dS(Ni(
tostgeteuidtis_root_userRtpw_namet	user_nameRtinterpretert
cl_select_libR(tselftcfgtpkgteuid((sQ/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectphp/php_manager.pyt__init__$s	cC`s=tj�r%t|j|j�dkSt�jdd�SdS(sD
        Get current status for panel
        :return: bool
        tyest
hidePhpAppt
uiSettingsN(tdetecttis_daRtDA_PATHtDA_PARAMR(R((sQ/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectphp/php_manager.pytselector_enabled.scC`s�tj�r�y&t|j|j|r*dnd�Wn8ttfk
rl}td|jt|�f��nXt	�j
ii|d6d6�nt	�j
ii|d6d6�dS(se
        Enable/disable selector for each panel
        :param status: bool
        :return:
        R!tnos.Can not process config file %s with reason: %sR"R#N(R$R%RR&R'tOSErrortIOErrorRtstrRt
set_config(Rtstatuste((sQ/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectphp/php_manager.pyR(:s&"cC`st�jdd�tkS(sF
        Extensions was hidden by admin
        :return: bool
        thidePHPextensionsR#(RRtTrue(R((sQ/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectphp/php_manager.pytextensions_is_hiddenLscC`sW|jrtd��nt|j�}|j|jt|��|j|jg�dS(si
        Set current version for user
        :param version: str
        :return: None (succes)
        sNot supported as root userN(RRRRtset_versionRR,tclean_crui_images(Rtversiontc((sQ/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectphp/php_manager.pytswitch_current_versionTs
	cC`sj|jrtd��ntj�t|j�}|j|jt|��}|j	|jg�i|d6S(s�
        Reset extension for selected version
        :param version:  str
        :return: List of enabled extensions after reset
        sNot supported as root usert
extensions(
RRRt%check_multiphp_system_default_versionRRtreset_extensionsRR,R4(RR5R6R8((sQ/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectphp/php_manager.pyR:`s	
cC`szg}xQt|�D]C\}}|dkr;|j|�q|dkrid|d6SqW|jr�t|j�jt|�|�iS|jr�td��nt	|j�}|j
|jt|�|�\}}}|j|jg�|rg|D]}	dj
|	�^q�}n|r'dj|�nd}
|re|
rF|
d	}
n|
d
j
dj|��}
n|
rvi|
d6SiS(s�
        Set extensions for php version for admin and user
        :param version: str
        :param extensions: list
        :return: response for user. Error or warning list or no error
        tenabledtdisableds.ERROR: %s is not a valid state of an extensionR.s Extensions was disabled by admins{} enabled as dependency ({})s, ts. s{} skipped as conflicting.twarning(RtappendRR
Rtreplace_extensionsR,R2RRt#replace_extensions_with_dependensesRR4tformattjoin(RR5R8t	to_enabletktvR6tresolved_dependenciestconflict_dependenciestexttwarnings((sQ/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectphp/php_manager.pytset_extensionsns2		!%
cC`sUd}|jr$|jjt�}n�y|jj|jt�}Wn8tjk
rzt	idd6i|jd6d6��nXx3|D]+}|\}\}}}|r�|}Pq�q�Wt
|dddt�}tj
|�}	|j|	d<|j|	d	<|r||	d
<ny|	d}
WnBtk
rWd|	krBt	|	d��qXidd
6|	d6SnXx�|
D]�}|jr�|djd�r�q_ny$|j|d�}|j|�Wn%tjk
r�}
t	|
j��nX|jr_|djd�r_y&t|j�j|j|d�}Wn%tjk
r?}
t	|
j��nX||d<q_q_W|	S(s�
        Return all information of php selector
        All extensions(user, admin) and options(for user),
        selected version (for user)
        :return: dict
        sUser %(user)s not in CageFstmessagetusertcontextRBtjsontapi_versionR(R2tselected_versiontavailable_versionstERRORR.tdataR5tnativetoptionsN(tNoneRRtget_summarytFalseRR1tClSelectExceptionst
NotCageFSUserRRR
ROtloadsR(R2tKeyErrort
startswitht_get_extensionstupdatetUnableToGetExtensionstdetailsRRtget_options(RRQtsummary_datatversion_infoR5t
is_enabledt
is_defaulttis_selectedt	json_datat	json_dictt
versions_listtitemtextensions_jsonR/toptions_json((sQ/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectphp/php_manager.pyRX�sP	






&cC`sd|jrtd��ntj�t|j�}|j|jt|�|�|j	|jg�dS(s�
        Save php options
        :param version: version which save options for
        :type version: str
        :param options: dict of options for save
        :type options: dict
        :return: None (success)
        sNot supported as root userN(
RRRR9RRtinsert_json_optionsRR,R4(RR5RVR6((sQ/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectphp/php_manager.pytset_options�s		
	cC`s t|j�jt|��dS(N(RRR3R,(RR5((sQ/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectphp/php_manager.pytswitch_default_version�scC`sU|jr$t|j�j|�}nt|j�j|j|�}t||dd�S(s�
        return list of exnensions for selected version
        (for user and admin)
        :param version: version get extensions for
        :type version: str
        :return:
        tfmtRO(RR
Rtlist_extensionsRtlist_all_extensionsRR	(RR5text_list((sQ/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectphp/php_manager.pyR_�s	N(t__name__t
__module__t__doc__RR&R'RWR tpropertyR(tsetterR2R7R:RKRXRpRqR_(((sQ/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectphp/php_manager.pyRs
			#	8		("t
__future__RRRRORtpwdRtfuture.utilsRtcldetectlibR$tclcommon.clconfigRRtclcommon.ui_configRtclselect.clselectctlphpRR	R
tclselectRRR
RRtclselect.baseclselectRtclselect.clselectexceptRRZtobjectR(((sQ/opt/alt/python27/lib/python2.7/site-packages/clselect/clselectphp/php_manager.pyt<module>s"

Zerion Mini Shell 1.0