--- admin/plib/modules/panel-migrator/backend/lib/python/parallels/plesk/converter/hosting_plan.py +++ admin/plib/modules/panel-migrator/backend/lib/python/parallels/plesk/converter/hosting_plan.py @@ -274,6 +274,8 @@ class PleskHostingPlanAdapter(HostingPlanAdapter): additional=if_not_none(backup_plan.properties.get('additionalSettings'), base64_decode), additional_ssl=if_not_none(backup_plan.properties.get('additionalSslSettings'), base64_decode), additional_nginx=if_not_none(backup_plan.properties.get('additionalNginxSettings'), base64_decode), + restrict_follow_symlinks=if_not_none(backup_plan.properties.get('restrictFollowSymLinks'), base64_decode), + nginx_proxy_mode=if_not_none(backup_plan.properties.get('nginxProxyMode'), base64_decode) ) @staticmethod --- admin/plib/modules/panel-migrator/backend/lib/python/parallels/plesk/hosting_repository/utils/service_plan_importer.py +++ admin/plib/modules/panel-migrator/backend/lib/python/parallels/plesk/hosting_repository/utils/service_plan_importer.py @@ -250,10 +250,27 @@ class ServicePlanImporter(object): """ if plan_settings.web_server_settings is None: return None + + restrict_follow_symlinks = None + if plan_settings.web_server_settings.restrict_follow_symlinks is not None: + if plan_settings.web_server_settings.restrict_follow_symlinks == 'true': + restrict_follow_symlinks = True + elif plan_settings.web_server_settings.restrict_follow_symlinks == 'false': + restrict_follow_symlinks = False + + nginx_proxy_mode = None + if plan_settings.web_server_settings.nginx_proxy_mode is not None: + if plan_settings.web_server_settings.nginx_proxy_mode == 'true': + nginx_proxy_mode = True + elif plan_settings.web_server_settings.nginx_proxy_mode == 'false': + nginx_proxy_mode = False + return ServicePlanWebServerSettings( additional=plan_settings.web_server_settings.additional, additional_ssl=plan_settings.web_server_settings.additional_ssl, - additional_nginx=plan_settings.web_server_settings.additional_nginx + additional_nginx=plan_settings.web_server_settings.additional_nginx, + restrict_follow_symlinks=restrict_follow_symlinks, + nginx_proxy_mode=nginx_proxy_mode ) @staticmethod --- admin/plib/modules/panel-migrator/backend/lib/python/parallels/plesk/models/target_data_model.py +++ admin/plib/modules/panel-migrator/backend/lib/python/parallels/plesk/models/target_data_model.py @@ -58,7 +58,7 @@ HostingPlanPreferences = namedtuple('HostingPlanPreferences', ( )) HostingPlanPerformance = namedtuple('HostingPlanPerformance', ('bandwidth', 'max_connections',)) HostingPlanWebServerSettings = namedtuple('HostingPlanWebServerSettings', ( - 'additional', 'additional_ssl', 'additional_nginx' + 'additional', 'additional_ssl', 'additional_nginx', 'restrict_follow_symlinks', 'nginx_proxy_mode' )) HostingPlanCustomItem = namedtuple('HostingPlanCustomItem', ( 'name', 'guid', 'visible', 'hint', 'description', --- admin/plib/modules/panel-migrator/backend/lib/python/parallels/plesk/utils/xml_rpc/plesk/__init__.py +++ admin/plib/modules/panel-migrator/backend/lib/python/parallels/plesk/utils/xml_rpc/plesk/__init__.py @@ -6,25 +6,26 @@ from .client import Client unused(Client) # To import as parallels.plesk.utils.xml_rpc.plesk.Client # The mapping is created according to Plesk Panel API RPC Developers's Guide -# (http://download1.parallels.com/Plesk/PP10/10.4.4/Doc/en-US/online/plesk-api-rpc-guide/index.htm?fileName=28709.htm) +# (https://docs.plesk.com/en-US/onyx/api-rpc/about-xml-api.28709/) api_versions = { - '8.0.1' : '1.4.1.2', - '8.1.0' : '1.4.2.0', - '8.1.1' : '1.5.0.0', - '8.2' : '1.5.1.0', - '8.3' : '1.5.2.0', - '8.4' : '1.5.2.1', - '9.0.0' : '1.6.0.0', - '9.0.1' : '1.6.0.1', - '9.0.2' : '1.6.0.2', - '10.0' : '1.6.3.0', - '10.1' : '1.6.3.1', - '10.2' : '1.6.3.2', - '10.3' : '1.6.3.3', - '10.4' : '1.6.3.4', - '11.1' : '1.6.4.0', - '11.5' : '1.6.5.0', - '12.0' : '1.6.6.0', + '8.0.1': '1.4.1.2', + '8.1.0': '1.4.2.0', + '8.1.1': '1.5.0.0', + '8.2': '1.5.1.0', + '8.3': '1.5.2.0', + '8.4': '1.5.2.1', + '9.0.0': '1.6.0.0', + '9.0.1': '1.6.0.1', + '9.0.2': '1.6.0.2', + '10.0': '1.6.3.0', + '10.1': '1.6.3.1', + '10.2': '1.6.3.2', + '10.3': '1.6.3.3', + '10.4': '1.6.3.4', + '11.1': '1.6.4.0', + '11.5': '1.6.5.0', + '12.0': '1.6.6.0', + '17.0': '1.6.8.0', } --- admin/plib/modules/panel-migrator/backend/lib/python/parallels/plesk/utils/xml_rpc/plesk/operator/service_plan.py +++ admin/plib/modules/panel-migrator/backend/lib/python/parallels/plesk/utils/xml_rpc/plesk/operator/service_plan.py @@ -72,7 +72,7 @@ ServicePlanPreferences = namedtuple('ServicePlanPreferences', ( ServicePlanPerformance = namedtuple('ServicePlanPerformance', ('bandwidth', 'max_connections',)) ServicePlanWebServerSettings = namedtuple('ServicePlanWebServerSettings', ( - 'additional', 'additional_ssl', 'additional_nginx' + 'additional', 'additional_ssl', 'additional_nginx', 'restrict_follow_symlinks', 'nginx_proxy_mode' )) @@ -246,6 +246,14 @@ class ServicePlanOperator(object): text_elem('additional', self.web_server_settings.additional), text_elem('additional-ssl', self.web_server_settings.additional_ssl), text_elem('additional-nginx', self.web_server_settings.additional_nginx), + text_elem( + 'restrict-follow-sym-links', + xml_bool(self.web_server_settings.restrict_follow_symlinks) + ), + text_elem( + 'nginx-proxy-mode', + xml_bool(self.web_server_settings.nginx_proxy_mode) + ), )) @classmethod