Current Path: > > opt > cloudlinux > venv > lib64 > python3.11 > > site-packages > clcommon
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
__pycache__ | Directory | - | - | |
cpapi | Directory | - | - | |
lib | Directory | - | - | |
public_hooks | Directory | - | - | |
__init__.py | File | 1406 bytes | June 23 2025 12:47:48. | |
clcagefs.py | File | 11255 bytes | June 23 2025 12:47:48. | |
clcaptain.py | File | 2003 bytes | June 23 2025 12:47:48. | |
clconfig.py | File | 1724 bytes | June 23 2025 12:47:48. | |
clconfpars.py | File | 12376 bytes | June 23 2025 12:47:48. | |
clcustomscript.py | File | 1184 bytes | June 23 2025 12:47:48. | |
cldebug.py | File | 905 bytes | June 23 2025 12:47:48. | |
clemail.py | File | 1693 bytes | June 23 2025 12:47:48. | |
clexception.py | File | 1165 bytes | June 23 2025 12:47:48. | |
clfunc.py | File | 6623 bytes | June 23 2025 12:47:48. | |
clhook.py | File | 3956 bytes | June 23 2025 12:47:48. | |
cllog.py | File | 1488 bytes | June 23 2025 12:47:48. | |
cloutput.py | File | 471 bytes | June 23 2025 12:47:48. | |
clproc.py | File | 4146 bytes | June 23 2025 12:47:48. | |
clpwd.py | File | 7929 bytes | June 23 2025 12:47:48. | |
clquota.py | File | 1296 bytes | June 23 2025 12:47:48. | |
clsec.py | File | 657 bytes | June 23 2025 12:47:48. | |
clwpos_lib.py | File | 17003 bytes | June 23 2025 12:47:48. | |
const.py | File | 277 bytes | June 23 2025 12:47:48. | |
evr_utils.py | File | 3638 bytes | June 23 2025 12:47:48. | |
features.py | File | 5130 bytes | June 23 2025 12:47:48. | |
group_info_reader.py | File | 5413 bytes | June 23 2025 12:47:48. | |
lock.py | File | 1041 bytes | June 23 2025 12:47:48. | |
mail_helper.py | File | 4557 bytes | June 23 2025 12:47:48. | |
mysql_lib.py | File | 5984 bytes | June 23 2025 12:47:48. | |
php_conf_reader.py | File | 10000 bytes | June 23 2025 12:47:48. | |
sysctl.py | File | 7792 bytes | June 23 2025 12:47:48. | |
ui_config.py | File | 3198 bytes | June 23 2025 12:47:48. | |
utils.py | File | 33921 bytes | June 23 2025 12:47:48. | |
utils_cmd.py | File | 2771 bytes | June 23 2025 12:47:48. |
# -*- coding: utf-8 -*- # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2019 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT # import json import copy from collections.abc import Mapping UI_CONFIG_FILE = "/usr/share/l.v.e-manager/lvemanager-config.json" DEFAULT_UI_CONFIG = {'inodeLimits': {'showUserInodesUsage': False}, 'uiSettings': {'hideRubyApp': False, 'hideLVEUserStat': False, 'hidePythonApp': False, 'hideNodeJsApp': False, 'hidePHPextensions': False, 'hideDomainsTab': False, 'hidePhpApp': False, 'hideXrayApp': True, 'hideAccelerateWPApp': True, } } class UIConfig: def __init__(self, ui_config_path=UI_CONFIG_FILE): self.ui_config_path = ui_config_path self.file_content = {} self.config = {} try: with open(ui_config_path, encoding='utf-8') as json_file: self.file_content = json.load(json_file) self.config = self.file_content['ui_config'] except IOError: self.config = DEFAULT_UI_CONFIG except (ValueError, KeyError): self.file_content['ui_config'] = DEFAULT_UI_CONFIG self.config = DEFAULT_UI_CONFIG self._update_file(ui_config_path) def _update_file(self, file_path): with open(file_path, 'w', encoding='utf-8') as update_file: json.dump(self.file_content, update_file) def get_config(self): initial_config = copy.deepcopy(DEFAULT_UI_CONFIG) self._recursive_assign(initial_config, self.config) return initial_config def set_config(self, new_config): initial_config = copy.deepcopy(self.get_config()) self._recursive_assign(initial_config, new_config) with open(self.ui_config_path, 'w', encoding='utf-8') as json_file: json.dump({'ui_config': initial_config}, json_file) def get_param(self, param, parent_param=None): config = self.get_config() if parent_param is None: return config.get(param) elif config.get(parent_param) is not None: return config.get(parent_param).get(param) return None def _recursive_assign(self, initial_config, new_config): """ Function that recursively assignees values received from the UI :param initial_config: Config to which values are assigned :param new_config: New config file received from UI :return: """ for key, value in new_config.items(): if isinstance(value, Mapping): initial_config[key] = self._recursive_assign(initial_config.get(key, {}), value) elif value is not None and initial_config.get(key) is not None: initial_config[key] = value return initial_config
SILENT KILLER Tool