Server IP : 184.154.167.98 / Your IP : 3.129.247.57 Web Server : Apache System : Linux pink.dnsnetservice.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 User : puertode ( 1767) PHP Version : 8.2.26 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/l.v.e-manager/utils/downgrades/ |
Upload File : |
#!/opt/cloudlinux/venv/bin/python3 -bb # 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 # UI Config file is available starting from version x.x.x # This script is used in cpanel-lvemanager.spec in case when lvemanager version < 5.0.10 from __future__ import print_function from __future__ import division from __future__ import absolute_import import json import os import cldetectlib as detect LVEMANAGER_VER = "/usr/share/l.v.e-manager/version" UI_CONFIG_SUPPORT_VERSION = "5.1.4-1" UI_CONFIG_FILE = "/usr/share/l.v.e-manager/lvemanager-config.json" CPANEL_UI_CONFIG_FILE = "/var/cpanel/cpanel.config" def main(): if not is_ui_config_unsupport_version(): return detect.getCP() panel_name = detect.CP_NAME print('Migrating UI configs from new config file to old {} config file...'.format(panel_name)) config_path = { 'cPanel': '/var/cpanel/cpanel.config', 'DirectAdmin': '/usr/local/directadmin/plugins/phpselector/plugin.conf', 'Plesk': '/usr/local/psa/admin/plib/modules/lvemanager.conf' } try: with open(UI_CONFIG_FILE) as json_file: parsed_json = json.load(json_file)['ui_config'] os.remove(UI_CONFIG_FILE) except IOError: return inode_limits = parsed_json.get('inodeLimits') ui_settings = parsed_json.get('uiSettings') parsed_json = {} if panel_name == 'cPanel': if inode_limits is not None: parsed_json['lve_showinodeusage'] = inode_limits.get('showUserInodesUsage') if ui_settings is not None: parsed_json['lve_hideuserstat'] = ui_settings.get('hideLVEUserStat') parsed_json['lve_hideextensions'] = ui_settings.get('hidePHPextensions') parsed_json['lve_enablerubyapp'] = not ui_settings.get('hideRubyApp') parsed_json['lve_enablepythonapp'] = not ui_settings.get('hidePythonApp') parsed_json['lve_hide_selector'] = ui_settings.get('hidePhpApp') elif panel_name == 'DirectAdmin': if not (ui_settings is None or ui_settings.get('hidePhpApp') is None): parsed_json = {'active': 'yes' if not ui_settings.get('hidePhpApp') else 'no'} else: if not (ui_settings is None or ui_settings.get('hidePhpApp') is None): parsed_json = {'enable_selector': not ui_settings.get('hidePhpApp')} config_lines = [] if os.path.exists(config_path[panel_name]): f = open(config_path[panel_name]) config_lines = f.readlines() f.close() try: for idx in range(0, len(config_lines)): line_parts = config_lines[idx].strip().split('=') if len(line_parts) != 2: continue if line_parts[0] in parsed_json: value = parsed_json[line_parts[0]] try: if isinstance(value, bool): value = str(int(value)) except ValueError: value = "0" config_lines[idx] = "{}={}\n".format(line_parts[0], value) del parsed_json[line_parts[0]] except Exception as e: print(e) # Add parameters absent in config file for param in parsed_json: value = parsed_json[param] try: if isinstance(value, bool): value = str(int(value)) except ValueError: value = "0" config_lines.append("{}={}\n".format(param, value)) # Write changes back to file try: f = open(config_path[panel_name], 'w') f.writelines(config_lines) f.close() except Exception as e: print(e) def current_version(): try: with open(LVEMANAGER_VER) as f: version = f.read() return version.split('-')[0] except Exception as e: print(e) def is_ui_config_unsupport_version(): try: # Compare tuples because 10.1.1 > 5.1.1 will return false if compare strings current_ver_tuple = tuple([int(i) for i in current_version().replace('-', '.').split(".")]) ui_config_support_ver_tuple = tuple([int(i) for i in UI_CONFIG_SUPPORT_VERSION.replace('-', '.').split(".")]) return current_ver_tuple <= ui_config_support_ver_tuple except Exception as e: print(e) if __name__ == '__main__': main()