HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //proc/self/root/usr/local/CyberCP/packages/__pycache__/packagesManager.cpython-310.pyc
o

��h�/�@s�ddlZddlZddlZddlmZej�d�ej�	dd�e�
�ddlmZddl
mZddlmZdd	lmZddlZd
dlmZddlmZGd
d�d�ZdS)�N)�httpProcz/usr/local/CyberCP�DJANGO_SETTINGS_MODULEzCyberCP.settings)�redirect)�HttpResponse)�
loadLoginPage)�
Administrator�)�Package)�
ACLManagerc@speZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zddd�Z
dd�ZdS)�PackagesManagerNcCs
||_dS�N)�request)�selfr
�r�./usr/local/CyberCP/packages/packagesManager.py�__init__s
zPackagesManager.__init__cCst|jddd�}|��S)Nzpackages/index.html�
createPackage)rr
�render)r�procrrr�packagesHomes�zPackagesManager.packagesHomecCs8|jjd}tjj|d�}t|jdd|jid�}|��S)N�userID��pkzpackages/createPackage.html�adminNamePackager)r
�sessionr�objects�getr�userNamer)rr�adminrrrr�
createPacakges
�zPackagesManager.createPacakgecC�>|jjd}t�|�}t�||�}t|jdd|id�}|��S)Nrzpackages/deletePackage.html�packageList�
deletePackage�r
rr
�	loadedACL�loadPackagesrr�rr�
currentACLr!rrrr�
deletePacakge!�
�zPackagesManager.deletePacakgecCs�z�|jjd}t�|�}t�|d�dkrt�dd�WSt�|jj�}|d�	dd�}t
|d�}t
|d	�}t
|d
�}t
|d�}t
|d�}	t
|d
�}
z|d}Wnd}Yzt
|d�}Wnd}Yzt
|d�}
Wnd}
Y|dks�|dks�|dks�|dks�|	dks�|
dkr�ddd�}t�|�}t|�WSt
jj|d�}|dkr�|jd|}t|||||||	|
||
d�
}|��dddd�}t�|�}t|�WSty�}zddt|�d�}t�|�}t|�WYd}~Sd}~ww)Nrrr�
saveStatus�packageName� ��	diskSpace�	bandwidth�	dataBases�ftpAccounts�emails�allowedDomains�api�0�allowFullDomainr�enforceDiskLimits�#All values should be positive or 0.�r*�
error_messager�_)
rr+r.r/r1r0�
emailAccountsr3r6r7�None��statusr*r:)r
rr
r$�currentContextPermission�
loadErrorJson�json�loads�body�replace�int�dumpsrrrrrr	�save�
BaseException�str)rrr'�datar+�packageSpace�packageBandwidth�packageDatabasesr1r2r3r4r6r7�data_ret�	json_datar�package�msgrrr�
submitPackage)s\
0


�


��zPackagesManager.submitPackagec

Cs�zW|jjd}t�|�}t�|d�dkrt�dd�WSt�|jj�}|d}t	j
j|d�}tj
j|d�}t�
|||�dkrDt�dd�WS|��ddd	d
�}t�|�}t|�WStyz}	zddt|	�d
�}t�|�}t|�WYd}	~	Sd}	~	ww)Nrr"r�deleteStatusr+�r+rrr=)r?rTr:)r
rr
r$r@rArBrCrDr	rrr�CheckPackageOwnership�deleterGrrIrJ)
rrr'rKr+�
delPackagerrOrPrRrrr�submitDeleteds*



��zPackagesManager.submitDeletecCr )Nrzpackages/modifyPackage.html�packList�
modifyPackager#r&rrrr[�r)zPackagesManager.modifyPackagecCszl|jjd}t�|jj�}|d}t�|�}t�|d�dkr&t�dd�WSt	j
j|d�}tj
j|d�}t�
|||�dkrDt�dd�WS|j}|j}|j}	|j}
|j}|d	d
|||	|
|j|j|jd�
}t�|�}
t|
�WSty�}zdt|�d�}t�|�}
t|
�WYd}~Sd}~ww)
Nrr+r[r�modifyStatusrUrrTrr=)
r2r\r:r.r/r1r0r3r6r7)r\r:)r
rrBrCrDr
r$r@rAr	rrrrVr.r/r1r0r<r3r6r7rGrrIrJ)rrrKr+r'�
modifyPackrr.r/r1r0r2rOrPrRrrr�submitModify�s8
�


��zPackagesManager.submitModifyc
Csz�|jjd}t�|�}tjj|d�}t�|d�dkr"t�dd�WSt	�
|jj�}|d}|ddksQ|ddksQ|d	dksQ|d
dksQ|ddksQ|ddkr`dd
d�}t	�|�}t
|�WStjj|d�}|j|kr�|d|_|d|_|d	|_|d
|_|d|_|d|_z	t|d�|_Wnd|_Yz	t|d�|_Wnd|_Y|��ddlm}	d}
|	�|
�dddd�}t	�|�}t
|�WSdddd�}t	�|�}t
|�WSty�}zddt|�d�}t	�|�}t
|�WYd}~Sd}~ww)Nrrr[rr*r+r.r/r1r0r2r3r8r9rUr6rr7)�ProcessUtilitiesz^/usr/local/CyberCP/bin/python /usr/local/CyberCP/plogical/IncScheduler.py UpdateDiskUsageForcer=r>zYou don't own this package.)r
rr
r$rrrr@rArBrCrDrGrr	rr.r/r1r0r<r3rFr6r7rH�plogical.processUtilitiesr_�outputExecutionerrIrJ)rrr'rrKr+rOrPr]r_�commandrRrrr�saveChanges�sb
&��















��zPackagesManager.saveChangescCr )Nrzpackages/listPackages.htmlrZ�listPackagesr#r&rrrrd�r)zPackagesManager.listPackagesc	
Cs�z |d}tjj|d�}t�|j�}t�|j|�}tt�	|��WSt
yB}zdt|�d�}t�	|�}t|�WYd}~Sd}~ww)za
            List of packages for API
        :param data:
        :return HttpResponse:
        �	adminUser)rr)r?r:N)rrrr
r$�idr%rrBrGrIrJ)	rrKrerr'r!rRrOrPrrr�listPackagesAPI�s
��zPackagesManager.listPackagesAPIc	Cs�zf|jjd}t�|�}t�|d�dkrt��WSt�||�}d}d}|D].}|j|j|j	|j
|j|j|j
|j|jd�	}|dkrJ|t�|�}d}q%|dt�|�}q%|d}t�ddd	|d
��}t|�WStystt�YSw)Nrrdr�[)	rQr.r/r<r0r1r3r6r7r�,�]r=)r?�fetchStatusr:rK)r
rr
r$r@rA�loadPackageObjectsr+r.r/r<r0r1r3r6r7rBrGr�KeyErrorrr)	rrr'�packagesrP�checker�items�dic�
final_jsonrrr�fetchPackagesTables:

�
�z"PackagesManager.fetchPackagesTabler)�__name__�
__module__�__qualname__rrrr(rSrYr[r^rcrdrgrsrrrrrs
;$D
r)�os.path�os�sys�django�plogical.httpProcr�path�append�environ�
setdefault�setup�django.shortcutsr�django.httpr�loginSystem.viewsr�loginSystem.modelsrrB�modelsr	�plogical.aclr
rrrrr�<module>s