Submit
Path:
~
/
/
opt
/
psa
/
admin
/
cp
/
public
/
javascript
/
components
/
pages
/
File Content:
HostingSettingsPage.js.map
{"version":3,"file":"javascript/components/pages/HostingSettingsPage.js?2eb87e6e33a1692f55bb","mappings":"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","sources":["webpack:///./components/common/DrawerAsPage.tsx","webpack:///./components/common/IpSelectDropdowns/IpSelectDropdown.js","webpack:///./components/common/IpSelectDropdowns/IpSelectDropdowns.js","webpack:///./components/common/IpSelectDropdowns/index.js","webpack:///./components/formFields/FormFieldDomainName.js","webpack:///./components/pages/HostingSettingsPage/DomainSettingsSection/DomainName.js","webpack:///./components/pages/HostingSettingsPage/DomainSettingsSection/HostingType.js","webpack:///./components/pages/HostingSettingsPage/DomainSettingsSection/SameSslCompatibility.js","webpack:///./components/pages/HostingSettingsPage/DomainSettingsSection/SecuritySettings.js","webpack:///./components/pages/HostingSettingsPage/DomainSettingsSection/WebScriptingSettings.js","webpack:///./components/pages/HostingSettingsPage/DomainSettingsSection/WebStatistics.js","webpack:///./components/pages/HostingSettingsPage/DomainSettingsSection/index.js","webpack:///./components/pages/HostingSettingsPage/HostingSettingsPage.js","webpack:///./components/pages/HostingSettingsPage/Menu.js","webpack:///./components/pages/HostingSettingsPage/MenuSection.js","webpack:///./components/pages/HostingSettingsPage/SaveHostingSettingsConfirmationPopover.js","webpack:///./components/pages/HostingSettingsPage/SecuritySettingsPreset.js","webpack:///./components/pages/HostingSettingsPage/WebspaceSettingsSection/AffectedDomains.js","webpack:///./components/pages/HostingSettingsPage/WebspaceSettingsSection/DiskQuota.js","webpack:///./components/pages/HostingSettingsPage/WebspaceSettingsSection/IpAddresses.js","webpack:///./components/pages/HostingSettingsPage/WebspaceSettingsSection/SshAccess.js","webpack:///./components/pages/HostingSettingsPage/WebspaceSettingsSection/SystemUser.js","webpack:///./components/pages/HostingSettingsPage/WebspaceSettingsSection/WebspaceSettingsSection.js","webpack:///./components/pages/HostingSettingsPage/constants.js","webpack:///./components/pages/HostingSettingsPage/hooks/useAdapters.js","webpack:///./components/pages/HostingSettingsPage/hooks/useMenu.js","webpack:///./components/pages/HostingSettingsPage/hooks/usePermissions.js","webpack:///./helpers/graphql/cache/evictEntitiesCache.js","webpack:///./helpers/ipAddresses.ts","webpack:///./queries/SiteCardFragment.graphql","webpack:///./queries/UpdateHostingSettings.graphql"],"sourcesContent":["// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useCallback, useState, useEffect, useRef, useMemo, isValidElement, cloneElement } from 'react';\nimport { useNavigate, To } from 'react-router-dom';\nimport { Drawer, type DrawerProps } from '@plesk/ui-library';\n\ntype DrawerAsPageProps = DrawerProps & {\n onClose?: (...args: unknown[]) => void;\n isOpen?: boolean;\n closeOnFormSuccess?: boolean;\n closeUrl?: To;\n form?: DrawerProps['form'] & {\n onSuccess?: (...args: unknown[]) => void;\n }\n};\n\nconst DrawerAsPage = ({\n onClose = undefined,\n isOpen = true,\n closeOnFormSuccess = true,\n closeUrl = '..',\n form = undefined,\n ...props\n}: DrawerAsPageProps) => {\n const navigate = useNavigate();\n const [open, setIsOpen] = useState(isOpen);\n const closeTimeout = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const handleClose = useCallback((...args: unknown[]) => {\n const closeFn = onClose ?? (() => navigate(closeUrl, { preventScrollReset: true }));\n setIsOpen(false);\n closeTimeout.current = setTimeout(() => {\n closeFn(...args);\n closeTimeout.current = null;\n }, 300);\n }, [closeUrl, navigate, onClose]);\n\n useEffect(() => () => {\n closeTimeout.current && clearTimeout(closeTimeout.current);\n }, []);\n\n // remove timeout if change isOpen directly from props\n useEffect(() => {\n if (!isOpen) {\n setIsOpen(isOpen);\n } else if (closeTimeout.current) {\n clearTimeout(closeTimeout.current);\n }\n }, [isOpen]);\n\n const preparedForm = useMemo(() => {\n if (form && closeOnFormSuccess) {\n if (isValidElement(form)) {\n return cloneElement(form, {\n // @ts-expect-error No overload matches this call\n onSuccess: (...props: unknown[]) => {\n // @ts-expect-error form.props is of type unknown\n form.props.onSuccess?.(...props);\n handleClose();\n },\n });\n } else if (typeof form === 'object') {\n return {\n ...form,\n onSuccess: (...props: unknown[]) => {\n form.onSuccess?.(...props);\n handleClose();\n },\n };\n }\n }\n return form;\n }, [closeOnFormSuccess, handleClose, form]);\n\n\n // eslint-disable-next-line @plesk/plesk/data-type-required\n return <Drawer {...props} form={preparedForm} onClose={handleClose} isOpen={open} />;\n};\n\nexport default DrawerAsPage;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { FormFieldSelect, SelectOption, useTranslate } from '@plesk/ui-library';\nimport PropTypes from 'prop-types';\nimport { Locale } from 'jsw';\n\nconst IpAddressTranslate = Locale.getTranslate('components.forms.ip-addresses-selector');\n\nconst IpSelectDropdown = ({ ipAddresses, namePrefix, type, isOtherTypeAvailable, getIpAddressType, ...props }) => {\n const translate = useTranslate('components.forms.ip-addresses-selector');\n\n return !!ipAddresses.length && (\n <FormFieldSelect\n key={type}\n label={<IpAddressTranslate content={isOtherTypeAvailable ? `${type}Address` : 'ipAddress'} />}\n name={`${namePrefix}[${type}]`}\n {...props}\n >\n {ipAddresses.map(({ id, ipAddress, publicIpAddress, type }) => (\n <SelectOption key={id} value={id}>{`${publicIpAddress || ipAddress}${getIpAddressType(type)}`}</SelectOption>\n ))}\n {isOtherTypeAvailable && (\n <SelectOption value=\"none\">{translate('noIpAddressHint')}</SelectOption>\n )}\n </FormFieldSelect>\n );\n};\n\nIpSelectDropdown.propTypes = {\n ipAddresses: PropTypes.array.isRequired,\n namePrefix: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n isOtherTypeAvailable: PropTypes.bool.isRequired,\n getIpAddressType: PropTypes.func.isRequired,\n};\nexport default IpSelectDropdown;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useTranslate } from '@plesk/ui-library';\nimport PropTypes from 'prop-types';\nimport { useMemo, useCallback } from 'react';\nimport IpSelectDropdown from './IpSelectDropdown';\n\nexport const TYPE_IPV4 = 'ipv4';\nexport const TYPE_IPV6 = 'ipv6';\n\nexport const TYPE_SHARED = 'SHARED';\nexport const TYPE_EXCLUSIVE = 'EXCLUSIVE';\n\nconst IpSelectDropdowns = ({ ipAddresses, namePrefix, isIPv6Supported = true, ...props }) => {\n const translate = useTranslate('components.forms.ip-addresses-selector');\n\n const ipv4Addresses = useMemo(() => ipAddresses.filter(({ isIPv6, isBroken }) => !isIPv6 && !isBroken), [ipAddresses]);\n const ipv6Addresses = useMemo(() => ipAddresses.filter(({ isIPv6, isBroken }) => isIPv6 && !isBroken), [ipAddresses]);\n\n const getIpAddressType = useCallback(type => {\n switch (type) {\n case TYPE_SHARED: return ` (${translate('shared')})`;\n case TYPE_EXCLUSIVE: return ` (${translate('exclusive')})`;\n default: return '';\n }\n }, [translate]);\n\n return (\n <>\n <IpSelectDropdown\n ipAddresses={ipv4Addresses}\n namePrefix={namePrefix}\n type={TYPE_IPV4}\n isOtherTypeAvailable={isIPv6Supported && !!ipv6Addresses.length}\n getIpAddressType={getIpAddressType}\n {...props}\n />\n {isIPv6Supported && (\n <IpSelectDropdown\n ipAddresses={ipv6Addresses}\n namePrefix={namePrefix}\n type={TYPE_IPV6}\n isOtherTypeAvailable={!!ipv4Addresses.length}\n getIpAddressType={getIpAddressType}\n {...props}\n />\n )}\n </>\n );\n};\n\nIpSelectDropdowns.propTypes = {\n ipAddresses: PropTypes.array.isRequired,\n namePrefix: PropTypes.string.isRequired,\n isIPv6Supported: PropTypes.bool,\n};\n\nexport default IpSelectDropdowns;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { TYPE_IPV6 } from './IpSelectDropdowns';\n\nexport const prepareBackendData = ipAddresses => {\n const ips = [];\n Object.keys(ipAddresses).forEach(type => {\n Object.keys(ipAddresses[type]).forEach(id => {\n if (id !== 'none') {\n ips.push({\n id,\n ipAddress: ipAddresses[type][id],\n isIPv6: type === TYPE_IPV6,\n });\n }\n });\n });\n return ips;\n};\n\nexport { default, TYPE_SHARED, TYPE_EXCLUSIVE } from './IpSelectDropdowns';\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { FormField, Input, Text } from '@plesk/ui-library';\nimport PropTypes from 'prop-types';\n\nconst FormFieldDomainName = ({ size = 'lg', ...props }) => (\n <FormField {...props}>\n {({ getId, getName, getValue, setValue, isDisabled }) => (\n <div className=\"composite-field\">\n <Text className=\"composite-field__prefix\">\n {'www. '}\n </Text>\n <Input\n id={getId()}\n name={getName()}\n value={getValue()}\n placeholder=\"domain.name\"\n size={size}\n onChange={e => setValue(e.target.value)}\n disabled={isDisabled()}\n />\n </div>\n )}\n </FormField>\n);\n\nFormFieldDomainName.propTypes = {\n size: PropTypes.string,\n};\n\nexport default FormFieldDomainName;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { FormField, Input } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport FormFieldDomainName from '../../../formFields/FormFieldDomainName';\nimport MenuSection from '../MenuSection';\nimport { MenuSectionNames } from '../constants';\n\nconst Translate = Locale.getTranslate('components.pages.HostingSettings.domainSettingsSection');\n\nconst DomainName = ({ parentDomainName = undefined }) => (\n <MenuSection id={MenuSectionNames.DOMAIN_NAME}>\n {parentDomainName ? (\n <FormField\n required\n name=\"domainName\"\n label={<Translate content=\"domainName\" />}\n description={<Translate content=\"description\" />}\n >\n {({ getId, getName, getValue, setValue, isDisabled }) => (\n <>\n <Input\n id={getId()}\n name={getName()}\n value={getValue()}\n disabled={isDisabled()}\n onChange={e => setValue(e.target.value)}\n />\n <strong>\n {' . '}\n {parentDomainName}\n </strong>\n </>\n )}\n </FormField>\n ) : (\n <FormFieldDomainName\n required\n size=\"fill\"\n name=\"domainName\"\n label={<Translate content=\"domainName\" />}\n description={<Translate content=\"description\" />}\n />\n )}\n </MenuSection>\n);\n\nDomainName.propTypes = {\n parentDomainName: PropTypes.string,\n};\n\nexport default DomainName;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n FormFieldSelect,\n SelectOption,\n FormFieldText,\n FormField,\n Input,\n Icon,\n Heading,\n useTranslate,\n} from '@plesk/ui-library';\nimport MenuSection from '../MenuSection';\n\nimport { HostingTypes, UiHostingTypes, ForwardingTypes, PreferredDomain, MenuSectionNames } from '../constants';\n\nconst HostingType = ({\n allowToManageDomains,\n allowToManageHosting,\n domain,\n hostingType,\n forwardingType = ForwardingTypes.MOVED_PERMANENTLY,\n}) => {\n const translate = useTranslate('components.pages.HostingSettings.domainSettingsSection');\n\n const allowToChangeHostingType = domain.allowToChangeHtype && allowToManageHosting;\n const hasInstalledApplications = domain.hosting?.hasInstalledApplications;\n\n const forwardingDescription = useMemo(\n () => {\n switch (forwardingType) {\n case ForwardingTypes.MOVED_PERMANENTLY:\n return translate('forwardingType.movedPermanentlyDescription');\n case ForwardingTypes.MOVED_TEMPORARILY:\n return translate('forwardingType.movedTemporarilyDescription');\n case ForwardingTypes.FRAME_FORWARDING:\n return translate('forwardingType.frameForwardingDescription');\n }\n },\n [forwardingType, translate],\n );\n\n const forwardingTypeFullDescriptions = useMemo(\n () => (\n <>\n <p>\n <Heading level={4}>\n {translate('forwardingType.movedPermanently')}\n </Heading>\n <div>\n {translate('forwardingType.movedPermanentlyDescription')}\n </div>\n </p>\n <p>\n <Heading level={4}>\n {translate('forwardingType.movedTemporarily')}\n </Heading>\n <div>\n {translate('forwardingType.movedTemporarilyDescription')}\n </div>\n </p>\n <p>\n <Heading level={4}>\n {translate('forwardingType.frameForwarding')}\n </Heading>\n <div>\n {translate('forwardingType.frameForwardingDescription')}\n </div>\n </p>\n </>\n ),\n [translate],\n );\n\n const createNewWebspace = !domain.baseDomain &&\n domain.htype !== HostingTypes.VIRTUAL &&\n hostingType === UiHostingTypes.VIRTUAL;\n\n return (\n <MenuSection\n id={MenuSectionNames.HOSTING_TYPE}\n title={<Heading level={3}>{translate('hostingTypeTitle')}</Heading>}\n >\n <FormFieldSelect\n size=\"fill\"\n name=\"hostingType\"\n disabled={!allowToChangeHostingType || !allowToManageDomains}\n label={translate('hostingType.title')}\n description={hostingType === UiHostingTypes.NONE ? translate('hostingType.noHostingHint') : ''}\n >\n <SelectOption data-cy={UiHostingTypes.VIRTUAL} value={UiHostingTypes.VIRTUAL}>\n {translate('hostingType.website')}\n </SelectOption>\n <SelectOption data-cy={UiHostingTypes.FORWARDING} value={UiHostingTypes.FORWARDING}>\n {translate('hostingType.forwarding')}\n </SelectOption>\n <SelectOption data-cy={UiHostingTypes.NONE} value={UiHostingTypes.NONE}>\n {translate('hostingType.noHosting')}\n </SelectOption>\n </FormFieldSelect>\n {hostingType === UiHostingTypes.VIRTUAL && !createNewWebspace && (\n <>\n {!domain.parentDomain && (\n <FormFieldSelect\n required\n size=\"fill\"\n name=\"hostingSettings[preferredDomain]\"\n disabled={!allowToManageDomains}\n description={translate('preferredDomainDescription')}\n label={translate('preferredDomainTitle')}\n >\n <SelectOption data-cy={PreferredDomain.WWW} value={PreferredDomain.WWW}>\n {translate('preferredDomain.www', { domainName: domain.name })}\n </SelectOption>\n <SelectOption data-cy={PreferredDomain.NON_WWW} value={PreferredDomain.NON_WWW}>\n {domain.name}\n </SelectOption>\n <SelectOption data-cy={PreferredDomain.NONE} value={PreferredDomain.NONE}>\n {translate('preferredDomain.none')}\n </SelectOption>\n </FormFieldSelect>\n )}\n <FormField\n required\n name=\"hostingSettings[documentRoot]\"\n label={translate('documentRootTitle')}\n description={hasInstalledApplications ? translate('documentRootHint') : translate('hostingType.pathToTheWebsite')}\n >\n {({ getValue, setValue, isDisabled, getId }) => (\n <div className=\"composite-field\">\n <span className=\"composite-field__prefix\">\n <Icon name=\"home\" />\n </span>\n <span className=\"composite-field__prefix\">{'/'}</span>\n <Input\n size=\"fill\"\n value={getValue()}\n data-cy=\"document-root\"\n id={getId()}\n disabled={isDisabled() || hasInstalledApplications || !allowToManageDomains}\n onChange={e => setValue(e.target.value)}\n />\n </div>\n )}\n </FormField>\n </>\n )}\n {hostingType === UiHostingTypes.FORWARDING && (\n <>\n <FormFieldText\n required\n size=\"fill\"\n name=\"forwardingSettings[forwardTo]\"\n label={translate('forwardVisitorsTo')}\n />\n <FormFieldSelect\n size=\"fill\"\n name=\"forwardingSettings[type]\"\n label={translate('forwardingType.title')}\n fullDescription={forwardingTypeFullDescriptions}\n description={forwardingDescription}\n >\n <SelectOption value={ForwardingTypes.MOVED_PERMANENTLY}>\n {translate('forwardingType.movedPermanently')}\n </SelectOption>\n <SelectOption value={ForwardingTypes.MOVED_TEMPORARILY}>\n {translate('forwardingType.movedTemporarily')}\n </SelectOption>\n <SelectOption value={ForwardingTypes.FRAME_FORWARDING}>\n {translate('forwardingType.frameForwarding')}\n </SelectOption>\n </FormFieldSelect>\n </>\n )}\n </MenuSection>\n );\n};\n\nHostingType.propTypes = {\n hostingType: PropTypes.oneOf(Object.values(UiHostingTypes)).isRequired,\n forwardingType: PropTypes.oneOf(Object.values(ForwardingTypes)),\n allowToManageDomains: PropTypes.bool.isRequired,\n allowToManageHosting: PropTypes.bool.isRequired,\n domain: PropTypes.shape({\n name: PropTypes.string,\n htype: PropTypes.string,\n allowToChangeHtype: PropTypes.bool,\n hosting: PropTypes.shape({\n hasInstalledApplications: PropTypes.bool,\n }),\n baseDomain: PropTypes.shape({}),\n parentDomain: PropTypes.shape({}),\n }).isRequired,\n};\n\nexport default HostingType;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { FormFieldCheckbox, Heading } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport MenuSection from '../MenuSection';\nimport { MenuSectionNames } from '../constants';\n\nconst Translate = Locale.getTranslate('components.pages.HostingSettings.domainSettingsSection.sameSsl');\n\nconst SameSslCompatibility = () => (\n <MenuSection\n id={MenuSectionNames.SAME_SSL}\n title={<Heading level=\"3\"><Translate content=\"title\" /></Heading>}\n >\n <FormFieldCheckbox\n name=\"hostingSettings[sameSslCompatibility]\"\n label={<Translate content=\"enabled\" />}\n fullDescription={<Translate content=\"hint\" />}\n />\n </MenuSection>\n);\n\nexport default SameSslCompatibility;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { useMemo } from 'react';\nimport { Locale } from 'jsw';\nimport {\n Heading,\n FormFieldCheckbox,\n FormFieldSelect,\n SelectOption,\n useTranslate,\n} from '@plesk/ui-library';\nimport { getId } from 'helpers/getId';\nimport MenuSection from '../MenuSection';\nimport { MenuSectionNames } from '../constants';\n\nconst Translate = Locale.getTranslate('components.pages.HostingSettings.domainSettingsSection.security');\n\nconst SecuritySettings = ({ domain, values, permissions }) => {\n const translate = useTranslate('components.pages.HostingSettings.domainSettingsSection.security');\n const { sslSettings, id } = domain;\n const {\n allowToManageSsl,\n allowToManageHosting,\n } = permissions;\n const isSslReadonly = !allowToManageSsl || !allowToManageHosting;\n\n const certificatesOptions = useMemo(\n () => {\n if (!sslSettings.availableCertificates.length) {\n return [];\n }\n\n const options = sslSettings.availableCertificates.map(cert => (\n <SelectOption value={cert.id} key={cert.id}>\n {translate(\n cert.repository ? 'certificateFromDomainRepository' : 'certificateFromOtherRepository',\n {\n name: cert.name,\n repository: cert.repository,\n },\n )}\n </SelectOption>\n ));\n\n return [\n <SelectOption value={0} key=\"0\">\n {translate('certificateNotSelected')}\n </SelectOption>,\n ...options,\n ];\n },\n [sslSettings.availableCertificates, translate],\n );\n\n return (\n <MenuSection\n id={MenuSectionNames.SSL}\n title={<Heading level=\"3\">{translate('sslTlsSupport')}</Heading>}\n >\n <FormFieldCheckbox\n name=\"sslSettings[ssl]\"\n disabled={isSslReadonly}\n className=\"hosting-settings-page__selectable-section-title\"\n label={translate('sslTlsSupportEnabled')}\n description={translate('sslTlsSupportDescription')}\n />\n {values.sslSettings.ssl && (\n <>\n <FormFieldCheckbox\n name=\"sslSettings[sslRedirect]\"\n label={translate('permanentRedirect')}\n disabled={isSslReadonly}\n />\n {!certificatesOptions.length ? (\n <Translate\n content=\"noCertificates\"\n params={{\n link: (\n <a href={`/smb/ssl-certificate/list/id/${getId(id)}`}>\n <Translate content=\"noCertificatesLink\" />\n </a>\n ),\n }}\n />\n ) : (\n <FormFieldSelect\n size=\"fill\"\n name=\"sslSettings[certificateId]\"\n description={translate('certificateDescription')}\n label={translate('certificate')}\n disabled={!allowToManageSsl}\n >\n {certificatesOptions}\n </FormFieldSelect>\n )}\n </>\n )}\n </MenuSection>\n );\n};\n\nSecuritySettings.propTypes = {\n domain: PropTypes.shape({\n id: PropTypes.string,\n sslSettings: PropTypes.shape({\n availableCertificates: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.number,\n name: PropTypes.string,\n repository: PropTypes.string,\n })),\n }),\n }).isRequired,\n values: PropTypes.shape({\n sslSettings: PropTypes.shape({\n ssl: PropTypes.bool,\n certificateId: PropTypes.number,\n }),\n }).isRequired,\n permissions: PropTypes.object.isRequired,\n};\n\nexport default SecuritySettings;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { useMemo, useCallback } from 'react';\n\nimport { Locale } from 'jsw';\nimport { Heading, FormFieldCheckbox, FormFieldSelect, SelectOption, useTranslate, Hint } from '@plesk/ui-library';\nimport MenuSection from '../MenuSection';\nimport { MenuSectionNames } from '../constants';\n\nconst Translate = Locale.getTranslate('components.pages.HostingSettings.domainSettingsSection.webScripting');\n\nconst optionLabelTranslationMap = {\n WWW_ROOT: 'wwwRoot',\n WEBSPACE: 'webspace',\n OLD_STYLE: 'oldStyle',\n};\n\nconst WebScriptingSettings = ({ domain, values, permissions, aspNetSettings = null }) => {\n const translate = useTranslate('components.pages.HostingSettings.domainSettingsSection.webScripting');\n const {\n allowToManageHosting,\n allowToManageSsiHtml,\n allowToManageWebDeploy,\n allowToManageErrorDocs,\n allowToManageAdditionPermissions,\n } = permissions;\n const { webScriptingSettings } = domain;\n\n const hasPermissions = useCallback(\n optName => {\n switch (optName) {\n case 'webDeploy':\n return allowToManageHosting || allowToManageWebDeploy;\n case 'errorDocs':\n return allowToManageHosting || allowToManageErrorDocs;\n case 'writeModify':\n return allowToManageHosting || allowToManageAdditionPermissions;\n default:\n return allowToManageHosting;\n }\n },\n [\n allowToManageHosting,\n allowToManageAdditionPermissions,\n allowToManageWebDeploy,\n allowToManageErrorDocs,\n ],\n );\n const cgiModeOptions = useMemo(\n () => webScriptingSettings.cgiModeOptions.map(option => (\n <SelectOption value={option} key={option}>\n {translate(`cgiMode.${optionLabelTranslationMap[option]}`)}\n </SelectOption>\n )),\n [webScriptingSettings, translate],\n );\n\n const isOptionHidden = useCallback(\n optName => {\n if (webScriptingSettings[optName] === null) {\n return true;\n }\n\n return !hasPermissions(optName) && !webScriptingSettings[optName];\n },\n [hasPermissions, webScriptingSettings],\n );\n\n return (\n <MenuSection id={MenuSectionNames.WEB_SCRIPTING}>\n <Heading level={3}><Translate content=\"title\" /></Heading>\n <Hint component=\"p\">\n <Translate content=\"description\" />\n </Hint>\n {!isOptionHidden('fastcgi') && (\n <FormFieldCheckbox\n name=\"webScripting[fastcgi]\"\n disabled={!allowToManageHosting}\n label={<Translate content=\"fastCgi\" />}\n />\n )}\n {!isOptionHidden('cgi') && (\n <FormFieldCheckbox\n name=\"webScripting[cgi]\"\n disabled={!allowToManageHosting}\n description={\n allowToManageHosting ?\n '' :\n <Translate\n content=\"cgiReadonly\"\n params={{ value: <Translate content={`cgiMode.${values.cgiMode}`} /> }}\n />\n }\n label={<Translate content=\"cgi\" />}\n />\n )}\n {cgiModeOptions.length !== 0 && values.cgi && (\n <FormFieldSelect\n name=\"webScripting[cgiMode]\"\n style={{ paddingLeft: 30, paddingTop: 0 }}\n disabled={!allowToManageHosting}\n label={translate('cgiMode.title')}\n >\n {cgiModeOptions}\n </FormFieldSelect>\n )}\n {!isOptionHidden('ssi') && (\n <FormFieldCheckbox\n name=\"webScripting[ssi]\"\n disabled={!allowToManageHosting}\n label={<Translate content=\"ssi\" />}\n />\n )}\n {values.ssi && webScriptingSettings.ssiHtml !== null && (\n <FormFieldCheckbox\n name=\"webScripting[ssiHtml]\"\n style={{ paddingLeft: 30, paddingTop: 0 }}\n disabled={!allowToManageHosting || !allowToManageSsiHtml}\n label={<Translate content=\"ssiHtml\" />}\n />\n )}\n {!isOptionHidden('asp') && (\n <FormFieldCheckbox\n name=\"webScripting[asp]\"\n disabled={!allowToManageHosting}\n label={<Translate content=\"asp\" />}\n />\n )}\n {!isOptionHidden('aspDotNet') && (\n <FormFieldCheckbox\n name=\"webScripting[aspDotNet]\"\n disabled={!allowToManageHosting}\n label={<Translate content=\"aspDotNet\" />}\n />\n )}\n {values.aspDotNet && (\n <FormFieldSelect\n name=\"webScripting[aspDotNetVersion]\"\n style={{ paddingLeft: 30, paddingTop: 0 }}\n label={translate('aspDotNetVersion')}\n >\n {aspNetSettings.versions.map(version => (\n <option key={version} value={version}>{version}</option>\n ))}\n </FormFieldSelect>\n )}\n {!isOptionHidden('perl') && (\n <FormFieldCheckbox\n name=\"webScripting[perl]\"\n disabled={!allowToManageHosting}\n label={<Translate content=\"perl\" />}\n />\n )}\n {!isOptionHidden('python') && (\n <FormFieldCheckbox\n name=\"webScripting[python]\"\n disabled={!allowToManageHosting}\n label={<Translate content=\"python\" />}\n />\n )}\n {!isOptionHidden('errorDocs') && (\n <FormFieldCheckbox\n name=\"webScripting[errorDocs]\"\n disabled={!allowToManageHosting || !allowToManageErrorDocs}\n label={<Translate content=\"errorDocs\" />}\n />\n )}\n {!isOptionHidden('writeModify') && (\n <FormFieldCheckbox\n name=\"webScripting[writeModify]\"\n disabled={!allowToManageHosting || !allowToManageAdditionPermissions}\n label={<Translate content=\"writeModify\" />}\n />\n )}\n {!isOptionHidden('webDeploy') && (\n <FormFieldCheckbox\n name=\"webScripting[webDeploy]\"\n disabled={!allowToManageHosting || !allowToManageWebDeploy}\n label={<Translate content=\"webDeploy\" />}\n />\n )}\n </MenuSection>\n );\n};\n\nWebScriptingSettings.propTypes = {\n domain: PropTypes.shape({\n webScriptingSettings: PropTypes.shape({\n cgiMode: PropTypes.string,\n cgiModeOptions: PropTypes.arrayOf(PropTypes.string),\n errorDocs: PropTypes.bool,\n webDeploy: PropTypes.bool,\n writeModify: PropTypes.bool,\n ssi: PropTypes.bool,\n ssiHtml: PropTypes.bool,\n asp: PropTypes.bool,\n aspDotNet: PropTypes.bool,\n cgi: PropTypes.bool,\n fastcgi: PropTypes.bool,\n perl: PropTypes.bool,\n python: PropTypes.bool,\n }),\n }).isRequired,\n values: PropTypes.shape({\n ssi: PropTypes.bool,\n cgi: PropTypes.bool,\n cgiMode: PropTypes.string,\n aspDotNet: PropTypes.bool,\n }).isRequired,\n aspNetSettings: PropTypes.shape({\n versions: PropTypes.arrayOf(PropTypes.string),\n version: PropTypes.string,\n }),\n permissions: PropTypes.shape({\n allowToManageSsiHtml: PropTypes.bool,\n allowToManageHosting: PropTypes.bool,\n allowToManageWebDeploy: PropTypes.bool,\n allowToManageErrorDocs: PropTypes.bool,\n allowToManageAdditionPermissions: PropTypes.bool,\n }).isRequired,\n};\n\nexport default WebScriptingSettings;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { FormFieldSelect, FormFieldCheckbox, Heading, SelectOption, useTranslate } from '@plesk/ui-library';\n\nimport MenuSection from '../MenuSection';\nimport { MenuSectionNames } from '../constants';\n\nconst WebStatistics = ({ values, allowToManageWebstat, webstatPackages }) => {\n const translate = useTranslate('components.pages.HostingSettings.domainSettingsSection.webStatistics');\n\n const isEnabled = values.webstat !== 'none';\n\n return (\n <MenuSection\n id={MenuSectionNames.WEB_STATS}\n title={<Heading level=\"3\">{translate('title')}</Heading>}\n >\n <>\n <FormFieldSelect\n size=\"fill\"\n name=\"webstatSettings[webstat]\"\n disabled={!allowToManageWebstat}\n label={translate('tool')}\n >\n <SelectOption key=\"0\" value=\"none\">{translate('disabled')}</SelectOption>\n {webstatPackages.map(option => (\n <SelectOption key={option.name} value={option.name}>{option.value}</SelectOption>\n ))}\n </FormFieldSelect>\n {isEnabled && (\n <FormFieldCheckbox\n name=\"webstatSettings[webstatProtected]\"\n disabled={!allowToManageWebstat || !isEnabled}\n label={translate('webstatProtected')}\n />\n )}\n </>\n </MenuSection>\n );\n};\n\nWebStatistics.propTypes = {\n webstatPackages: PropTypes.arrayOf(PropTypes.shape({\n key: PropTypes.string,\n value: PropTypes.string,\n })).isRequired,\n values: PropTypes.shape({\n webstat: PropTypes.string,\n }).isRequired,\n allowToManageWebstat: PropTypes.bool.isRequired,\n};\n\nexport default WebStatistics;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { Alert, Heading } from '@plesk/ui-library';\n\nimport { Locale } from 'jsw';\nimport DomainName from './DomainName';\nimport HostingType from './HostingType';\nimport SecuritySettings from './SecuritySettings';\nimport { UiHostingTypes, HostingTypes, MenuSectionNames } from '../constants';\nimport MenuSection from '../MenuSection';\nimport WebScriptingSettings from './WebScriptingSettings';\nimport WebStatistics from './WebStatistics';\nimport SameSslCompatibility from './SameSslCompatibility';\n\nconst Translate = Locale.getTranslate('components.pages.HostingSettings.domainSettingsSection');\n\nexport const DomainSettingsSection = ({\n domain,\n permissions,\n webstatPackages,\n values,\n isHostingCreating,\n isWebspaceCreating,\n menu,\n}) => (\n <MenuSection id={MenuSectionNames.DOMAIN} className=\"hosting-settings-page__section\">\n <Heading level=\"2\" id=\"domainSettings\">\n <Translate content=\"sectionTitle\" />\n </Heading>\n {menu[MenuSectionNames.DOMAIN_NAME].visible && (\n <DomainName\n allowToManageDomains={permissions.allowToManageDomains}\n allowToRenameSubscription={permissions.allowToRenameSubscription}\n parentDomainName={domain.parentDomain?.name}\n />\n )}\n {menu[MenuSectionNames.HOSTING_TYPE].visible && (\n <HostingType\n {...permissions}\n forwardingType={values.forwardingSettings.type}\n hostingType={values.hostingType}\n domain={domain}\n />\n )}\n {isWebspaceCreating && (\n <Alert intent=\"info\">\n <Translate content=\"creatingWebspaceAlert\" />\n </Alert>\n )}\n {!isWebspaceCreating && isHostingCreating && (\n <Alert intent=\"info\">\n <Translate content=\"creatingHostingAlert\" />\n </Alert>\n )}\n {menu[MenuSectionNames.SSL].visible && (\n <SecuritySettings\n domain={domain}\n values={values}\n permissions={permissions}\n />\n )}\n {menu[MenuSectionNames.SAME_SSL].visible && (\n <SameSslCompatibility />\n )}\n {menu[MenuSectionNames.WEB_STATS].visible && (\n <WebStatistics\n values={values.webstatSettings}\n allowToManageWebstat={permissions.allowToManageWebstat}\n webstatPackages={webstatPackages}\n />\n )}\n {menu[MenuSectionNames.WEB_SCRIPTING].visible && (\n <WebScriptingSettings\n domain={domain}\n permissions={permissions}\n values={values.webScripting}\n aspNetSettings={domain.aspNetSettings}\n />\n )}\n </MenuSection>\n);\n\nDomainSettingsSection.propTypes = {\n values: PropTypes.shape({\n hostingType: PropTypes.oneOf(Object.values(UiHostingTypes)),\n forwardingSettings: PropTypes.shape({\n type: PropTypes.string,\n }),\n sslSettings: PropTypes.shape({\n ssl: PropTypes.bool,\n }),\n webScripting: PropTypes.shape({}),\n webstatSettings: PropTypes.shape({\n webstat: PropTypes.string,\n webstatProtected: PropTypes.bool,\n }),\n }).isRequired,\n domain: PropTypes.shape({\n name: PropTypes.string,\n parentDomain: PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n }),\n baseDomain: PropTypes.shape({}),\n sslSettings: PropTypes.shape({}),\n htype: PropTypes.oneOf(Object.values(HostingTypes)),\n aspNetSettings: PropTypes.shape({\n versions: PropTypes.arrayOf(PropTypes.string),\n version: PropTypes.string,\n }),\n webstatSettings: PropTypes.shape({\n webstat: PropTypes.string,\n webstatProtected: PropTypes.bool,\n }),\n }).isRequired,\n webstatPackages: PropTypes.arrayOf(PropTypes.shape({\n key: PropTypes.string,\n value: PropTypes.string,\n })).isRequired,\n permissions: PropTypes.object.isRequired,\n isHostingCreating: PropTypes.bool.isRequired,\n isWebspaceCreating: PropTypes.bool.isRequired,\n menu: PropTypes.object.isRequired,\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { useState, useMemo, useRef, useCallback } from 'react';\nimport { useLoaderData, useNavigate, useOutletContext, useRevalidator } from 'react-router-dom';\nimport { useMutation } from '@apollo/client';\nimport { Columns, Column, Button, getIn, setIn } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport { addToast } from 'helpers/toasts';\nimport './HostingSettingsPage.less';\n\nimport Form from 'components/Form';\nimport DrawerAsPage from 'components/common/DrawerAsPage';\nimport { DomainSettingsSection } from './DomainSettingsSection';\nimport { useAdapters } from './hooks/useAdapters';\nimport WebspaceSettingsSection from './WebspaceSettingsSection';\nimport SaveHostingSettingsConfirmationPopover from './SaveHostingSettingsConfirmationPopover';\nimport Menu from './Menu';\nimport SecuritySettingsPreset, { SecurityPresetValues } from './SecuritySettingsPreset';\n\nimport HOSTING_SETTINGS_PAGE from 'queries/HostingSettingsPage.graphql';\nimport UPDATE_HOSTING_SETTINGS from 'queries/UpdateHostingSettings.graphql';\nimport { HostingTypes, MenuSectionNames, UiHostingTypes } from './constants';\nimport { useMenu } from './hooks/useMenu';\nimport { usePermissions } from './hooks/usePermissions';\nimport { evictEntitiesCache } from 'helpers/graphql/cache/evictEntitiesCache';\n\nconst Translate = Locale.getTranslate('components.pages.HostingSettings');\nconst ButtonsTranslate = Locale.getTranslate('components.buttons');\n\nconst HostingSettingsPage = ({ params }) => {\n const formRef = useRef();\n const navigate = useNavigate();\n const revalidator = useRevalidator();\n const outletContext = useOutletContext();\n\n const data = useLoaderData();\n\n const { prepareFormData, preparePayload, prepareSecuritySettingsPreset } = useAdapters();\n const [prevData, setPrevData] = useState(data);\n const [values, setValues] = useState(prepareFormData(data));\n if (prevData !== data) {\n setValues(prepareFormData(data));\n setPrevData(data);\n }\n\n const [updateHostingSettings, { loading }] = useMutation(UPDATE_HOSTING_SETTINGS, {\n onCompleted: () => {\n addToast({\n intent: 'success',\n message: <Translate content=\"updateSuccess\" />,\n });\n\n if (needsParentRevalidation && outletContext?.handleReload) {\n outletContext.handleReload();\n }\n },\n refetchQueries: [{\n query: HOSTING_SETTINGS_PAGE,\n variables: { id: btoa(`Domain:${params.id}`) },\n }],\n awaitRefetchQueries: true,\n update: cache => {\n evictEntitiesCache({\n cache,\n typename: 'Domain',\n ids: data.domain.subscription.domains.map(domain => domain.id),\n fields: ['sysUser', 'ipAddresses'],\n }, {\n cache,\n typename: 'HostingSettingsPage',\n ids: [params.id],\n fields: ['domain.sysUser'],\n });\n },\n });\n\n const mutation = ({ variables }) => updateHostingSettings({\n variables: { siteId: `domain:${params.id}`, ...variables },\n });\n\n const [securityPresetDialogData, setSecurityPresetDialogData] = useState(null);\n\n const useSecuritySettingsPreset = data.viewer.isSmbImpersonated &&\n data.domain.subscription.permissions.manageHosting &&\n !data.domain.subscription.isSecureSettingsPresetAllowed;\n\n const securitySettingsPreset = useMemo(\n () => prepareSecuritySettingsPreset(data),\n [data, prepareSecuritySettingsPreset],\n );\n\n const updateValues = (name, value) => {\n setValues(values => {\n switch (name) {\n case 'sslSettings[ssl]': {\n let newValues = values;\n if (!value) {\n newValues = setIn(values, 'sslSettings[sslRedirect]', false);\n newValues = setIn(newValues, 'sslSettings[certificateId]', 0);\n }\n return setIn(newValues, name, value);\n }\n\n case 'webScripting[ssi]': {\n const newValues = values.webScripting?.ssiHtml !== null && !value ?\n setIn(values, 'webScripting[ssiHtml]', false) :\n values;\n\n return setIn(newValues, name, value);\n }\n\n case 'webScripting[cgi]': {\n const newValues = !value ?\n setIn(values, 'webScripting[cgiMode]', data.domain.webScriptingSettings.cgiMode) :\n values;\n\n return setIn(newValues, name, value);\n }\n\n case 'webstatSettings[webstat]': {\n const disabled = value === 'none';\n\n const nextValues = disabled ?\n setIn(values, 'webstatSettings[webstatProtected]', false) :\n values;\n\n return setIn(nextValues, name, value);\n }\n }\n\n return setIn(values, name, value);\n });\n };\n\n const handleSubmit = values => preparePayload(data, values);\n\n const handleClose = useCallback(() => navigate('..', { preventScrollReset: true }), [navigate]);\n\n const handleSuccess = () => {\n if (isWebspaceCreating || isHostingCreating) {\n revalidator.revalidate();\n } else {\n navigate('..', { state: { reload: true } });\n }\n };\n\n const needsParentRevalidation = useMemo(\n () => data.domain.htype !== values.hostingType || data.domain.domainName !== values.domainName,\n [data.domain.htype, values.hostingType, data.domain.domainName, values.domainName],\n );\n const isHostingCreating = useMemo(\n () => data.domain.htype !== HostingTypes.VIRTUAL && values.hostingType === UiHostingTypes.VIRTUAL,\n [data.domain.htype, values.hostingType],\n );\n const isWebspaceCreating = useMemo(\n () => !data.domain.baseDomain && isHostingCreating,\n [data.domain.baseDomain, isHostingCreating],\n );\n const showSubmitPopover = useMemo(\n () => values.hostingType !== UiHostingTypes.VIRTUAL && data.domain.htype === HostingTypes.VIRTUAL,\n [data.domain.htype, values.hostingType],\n );\n\n const additionalButtons = useMemo(\n () => {\n if (isWebspaceCreating || isHostingCreating) {\n return [\n <Button\n key=\"cancel\"\n onClick={handleClose}\n >\n <ButtonsTranslate content=\"cancel\" />\n </Button>,\n <Button\n key=\"createWebspace\"\n intent=\"primary\"\n arrow=\"forward\"\n state={loading ? 'loading' : null}\n data-cy=\"create-hosting\"\n onClick={() => formRef.current.submit()}\n >\n <ButtonsTranslate content={isWebspaceCreating ? 'createWebspace' : 'nextWithoutArrow'} />\n </Button>,\n ];\n }\n\n return [\n showSubmitPopover ?\n <SaveHostingSettingsConfirmationPopover\n domain={data.domain}\n chosenHostingType={values.hostingType}\n onRemoveClick={() => formRef.current.submit()}\n target={\n <Button\n intent=\"primary\"\n data-cy=\"submit\"\n state={loading ? 'loading' : null}\n >\n <Translate content=\"domainSettingsSection.save\" />\n </Button>\n }\n /> :\n <Button\n key=\"submit\"\n intent=\"primary\"\n data-cy=\"submit\"\n onClick={() => formRef.current.submit()}\n state={loading ? 'loading' : null}\n >\n <Translate content=\"domainSettingsSection.save\" />\n </Button>,\n <Button\n key=\"cancel\"\n data-cy=\"cancel\"\n onClick={handleClose}\n disabled={loading}\n >\n <ButtonsTranslate content=\"cancel\" />\n </Button>,\n ];\n },\n [isWebspaceCreating, isHostingCreating, showSubmitPopover, loading, data.domain, values.hostingType, handleClose],\n );\n\n const handleFieldChange = (name, value) => {\n if (useSecuritySettingsPreset && securitySettingsPreset[name] && securitySettingsPreset[name].value !== 'any') {\n const presetValue = securitySettingsPreset[name].value;\n if (['on', 'off'].includes(presetValue)) {\n if (SecurityPresetValues[presetValue] !== value) {\n setSecurityPresetDialogData({ name, value });\n return;\n }\n } else if (name === 'webspaceSettings[shell]') {\n const { emptyShell } = data.capability.systemUser.access;\n if (presetValue !== value && ![value, getIn(values, 'webspaceSettings[shell]')].includes(emptyShell)) {\n setSecurityPresetDialogData({ name, value });\n return;\n }\n } else if (presetValue !== value) {\n setSecurityPresetDialogData({ name, value });\n return;\n }\n }\n\n updateValues(name, value);\n };\n\n const handleDialogConfirm = () => {\n updateValues(securityPresetDialogData.name, securityPresetDialogData.value);\n setSecurityPresetDialogData(null);\n };\n\n const handleDialogCancel = () => {\n updateValues(\n securityPresetDialogData.name,\n getIn(values, securityPresetDialogData.name),\n );\n\n setSecurityPresetDialogData(null);\n };\n\n const permissions = usePermissions(data.domain, {\n isAdmin: data.viewer.type === 'ADMIN',\n isSimplePanel: data.mode.isSimplePanel,\n forbidSubscriptionRename: data.server.settings.forbidSubscriptionRename,\n isMainDomain: !data.domain.baseDomain,\n });\n\n const menu = useMenu({ data, values, permissions, isWebspaceCreating, isHostingCreating });\n\n return (\n <DrawerAsPage\n className=\"hosting-settings-page\"\n data-type=\"hosting-settings\"\n closeOnFormSuccess={false}\n title={<Translate content=\"title\" />}\n subtitle={data.domain.name}\n form={\n <Form\n ref={formRef}\n values={values}\n additionalButtons={additionalButtons}\n onSubmit={handleSubmit}\n onSuccess={handleSuccess}\n mutation={mutation}\n onFieldChange={handleFieldChange}\n cancelButton={false}\n applyButton={false}\n submitButton={false}\n >\n <Columns\n gap=\"xl\"\n vertical={700}\n className=\"hosting-settings-page__body\"\n >\n <Column\n width={260}\n className=\"hosting-settings-page__navigation\"\n style={{ paddingBlock: 0 }}\n >\n <Menu menu={menu} />\n </Column>\n <Column fill className=\"hosting-settings-page__content\">\n <Columns vertical={450}>\n <Column>\n {useSecuritySettingsPreset && (\n <SecuritySettingsPreset\n {...data}\n menu={menu}\n values={values}\n securitySettingsPreset={securitySettingsPreset}\n showDialog={!!securityPresetDialogData}\n handleDialogConfirm={handleDialogConfirm}\n handleDialogCancel={handleDialogCancel}\n handleApplyPreset={setValues}\n />\n )}\n {menu[MenuSectionNames.DOMAIN].visible && (\n <DomainSettingsSection\n values={values}\n webstatPackages={data.capability.packages.webstatPackages}\n domain={data.domain}\n permissions={permissions}\n isHostingCreating={isHostingCreating}\n isWebspaceCreating={isWebspaceCreating}\n menu={menu}\n />\n )}\n {menu[MenuSectionNames.WEBSPACE].visible && (\n <WebspaceSettingsSection\n {...data}\n values={values}\n isHostingCreating={isHostingCreating}\n isWebspaceCreating={isWebspaceCreating}\n menu={menu}\n />\n )}\n </Column>\n </Columns>\n </Column>\n </Columns>\n </Form>\n }\n />\n );\n};\n\nHostingSettingsPage.propTypes = {\n params: PropTypes.shape({\n id: PropTypes.string,\n }).isRequired,\n};\n\nexport default HostingSettingsPage;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useEffect } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { Locale } from 'jsw';\nimport PropTypes from 'prop-types';\nimport { Columns, Column, Heading } from '@plesk/ui-library';\nimport { MenuSectionNames } from './constants';\n\nconst Translate = Locale.getTranslate('components.pages.HostingSettings');\n\nexport const MENU_ITEMS = {\n [MenuSectionNames.DOMAIN]: [\n MenuSectionNames.DOMAIN_NAME,\n MenuSectionNames.HOSTING_TYPE,\n MenuSectionNames.SSL,\n MenuSectionNames.SAME_SSL,\n MenuSectionNames.WEB_STATS,\n MenuSectionNames.WEB_SCRIPTING,\n ],\n [MenuSectionNames.WEBSPACE]: [\n MenuSectionNames.SYS_USER,\n MenuSectionNames.SHELL,\n MenuSectionNames.IP,\n MenuSectionNames.QUOTA,\n ],\n};\n\nconst Menu = ({ menu }) => {\n const { hash } = useLocation();\n\n const handleNavigate = (anchor, prefix, { behavior = 'smooth' } = {}) => {\n try {\n const key = `${prefix ? `${prefix}-` : ''}${anchor}`;\n document.querySelector(`#${key}`).scrollIntoView({ behavior });\n } catch {}\n };\n\n useEffect(() => {\n if (hash) {\n const anchor = hash.replace('#', '');\n setTimeout(() => handleNavigate(anchor, undefined, { behavior: 'instant' }), 0);\n }\n }, [hash]);\n\n const renderSection = sectionName => {\n if (!menu[sectionName].visible) {\n return null;\n }\n\n return (\n <Column ration={1}>\n <Heading level=\"4\">\n <a onClick={() => handleNavigate(sectionName)}>\n <Translate content={menu[sectionName].title} />\n </a>\n </Heading>\n <ul className=\"hosting-settings-page__links\">\n {MENU_ITEMS[sectionName]\n .filter(subSection => menu[subSection].visible)\n .map(subSection => (\n <li key={subSection}>\n <a data-cy={`menu-${subSection}`} onClick={() => handleNavigate(subSection, sectionName)}>\n <Translate content={menu[subSection].title} />\n </a>\n </li>\n ))}\n </ul>\n </Column>\n );\n };\n\n return (\n <Columns\n className=\"hosting-settings-page__navigation-menu\"\n vertical={400}\n gap=\"lg\"\n role=\"navigation\"\n aria-label={<Translate content=\"title\" />}\n >\n {renderSection(MenuSectionNames.DOMAIN)}\n {renderSection(MenuSectionNames.WEBSPACE)}\n </Columns>\n );\n};\n\nMenu.propTypes = {\n menu: PropTypes.object.isRequired,\n};\n\nexport default Menu;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\nimport PropTypes from 'prop-types';\nimport { Section } from '@plesk/ui-library';\nimport { MENU_ITEMS } from './Menu';\nimport { MenuSectionNames } from './constants';\n\nconst getSectionId = id => {\n const parentSection = [MenuSectionNames.DOMAIN, MenuSectionNames.WEBSPACE].find(section => MENU_ITEMS[section].includes(id));\n return parentSection ? `${parentSection}-${id}` : id;\n};\n\nconst MenuSection = ({ id, ...props }) => (<Section id={getSectionId(id)} {...props} />);\n\nMenuSection.propTypes = {\n id: PropTypes.string.isRequired,\n};\n\n\nexport default MenuSection;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useState, useEffect, cloneElement } from 'react';\nimport { Button, Popover, SkeletonText, useTranslate, Section } from '@plesk/ui-library';\nimport { UiHostingTypes } from './constants';\nimport { Locale, api } from 'jsw';\nimport PropTypes from 'prop-types';\n\nconst Translate = Locale.getTranslate('components.pages.HostingSettings');\nconst ButtonsTranslate = Locale.getTranslate('components.buttons');\n\nconst SaveHostingSettingsConfirmationPopover = ({ domain, chosenHostingType, onRemoveClick, target }) => {\n const [isOpen, setIsOpen] = useState(false);\n const [files, setFiles] = useState(null);\n const translate = useTranslate('components.pages.HostingSettings.domainSettingsSection.hostingType');\n\n const handleClick = () => {\n setIsOpen(true);\n };\n\n const handleCancel = () => {\n setIsOpen(false);\n };\n\n const handleRemove = () => {\n onRemoveClick();\n handleCancel();\n };\n\n const targetEl = cloneElement(target, { onClick: handleClick });\n useEffect(\n () => {\n if (!domain.baseDomain) {\n setFiles([]);\n const requestData = async () => {\n const domId = atob(domain.id).split(':')[1];\n const { data } = await api.get(`/smb/file-manager/list-data?currentDir=${encodeURIComponent('/')}&domainId=${domId}`);\n setFiles(data);\n };\n\n requestData();\n }\n },\n [domain.id, domain.baseDomain],\n );\n\n return (\n <Popover\n visible={isOpen}\n width=\"sm\"\n placement=\"top-right\"\n onClose={handleCancel}\n target={targetEl}\n title={\n <Translate\n content=\"submitPopover.title\"\n params={{\n website: <strong> {domain.name}</strong>,\n }}\n />\n }\n >\n <div>\n <Section>\n {domain.baseDomain ? (\n <Translate content=\"submitPopover.descriptionSubDomain\" />\n ) : (\n <Translate\n content=\"submitPopover.descriptionMainDomain\"\n params={{\n type: chosenHostingType === UiHostingTypes.FORWARDING ?\n translate('forwarding') :\n translate('noHosting'),\n }}\n />\n )}\n </Section>\n {\n files ? (\n !files.length ? (\n <Section style={{ width: '150px' }}>\n <SkeletonText />\n </Section>\n ) : (\n <ul>{files && files.map(file => <li key={file.id}>{file.name}</li>)}</ul>\n )\n ) : null\n }\n <div>\n <Button\n size=\"md\"\n intent=\"danger\"\n data-cy=\"remove-hosting\"\n onClick={handleRemove}\n >\n <ButtonsTranslate content={files?.length ? 'yesRemove' : 'yes'} />\n </Button>\n {' '}\n <Button\n size=\"md\"\n data-cy=\"cancel-remove-hosting\"\n onClick={handleCancel}\n >\n <ButtonsTranslate content=\"cancel\" />\n </Button>\n </div>\n </div>\n </Popover>\n );\n};\n\nSaveHostingSettingsConfirmationPopover.propTypes = {\n domain: PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n baseDomain: PropTypes.string,\n }).isRequired,\n chosenHostingType: PropTypes.string.isRequired,\n onRemoveClick: PropTypes.func.isRequired,\n target: PropTypes.node.isRequired,\n};\n\nexport default SaveHostingSettingsConfirmationPopover;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { useMemo } from 'react';\nimport { StatusMessage, Dialog, Button, getIn, setIn } from '@plesk/ui-library';\nimport { Locale } from 'jsw';\nimport { addToast } from 'helpers/toasts';\nimport './HostingSettingsPage.less';\n\nconst Translate = Locale.getTranslate('components.pages.HostingSettings');\n\nexport const SecurityPresetValues = {\n on: true,\n off: false,\n};\n\nconst SecuritySettingsPreset = ({\n capability: { systemUser: { access: { emptyShell } } },\n os: { isUnix },\n values,\n menu,\n showDialog = false,\n securitySettingsPreset,\n handleDialogConfirm,\n handleDialogCancel,\n handleApplyPreset,\n}) => {\n const hasSecurePresetConflict = useMemo(\n () => Object.entries(securitySettingsPreset).some(([name, { value, section }]) => {\n if (getIn(values, name) === null || value === 'any' || !menu[section].visible) {\n return false;\n }\n\n if (name === 'webspaceSettings[shell]') {\n const current = getIn(values, name);\n return (current !== emptyShell) && current !== value;\n }\n\n if (['on', 'off'].includes(value)) {\n return SecurityPresetValues[value] !== getIn(values, name);\n }\n\n return value !== getIn(values, name);\n }),\n [securitySettingsPreset, menu, values, emptyShell],\n );\n\n const applySecureSettingsPreset = () => {\n let formValues = values;\n Object.entries(securitySettingsPreset).forEach(([name, { value, section }]) => {\n if (value === 'any' || !menu[section].visible) {\n return;\n }\n\n if (['on', 'off'].includes(value)) {\n if (SecurityPresetValues[value] !== getIn(formValues, name)) {\n formValues = setIn(formValues, name, SecurityPresetValues[value]);\n }\n } else if (value !== getIn(formValues, name)) {\n formValues = setIn(formValues, name, value);\n }\n });\n\n handleApplyPreset(formValues);\n\n addToast({\n intent: 'success',\n message: <Translate content=\"domainSettingsSection.security.secureSettingsPresetApplied\" />,\n });\n };\n\n return (\n <>\n <Dialog\n size=\"xs\"\n isOpen={showDialog}\n onClose={handleDialogCancel}\n title={<Translate content=\"domainSettingsSection.security.secureSettingsDialogTitle\" />}\n form={{\n additionalButtons: [\n <Button\n key=\"change\"\n data-cy=\"change-setting\"\n onClick={handleDialogConfirm}\n intent=\"warning\"\n >\n <Translate content=\"domainSettingsSection.security.buttonChange\" />\n </Button>,\n <Button\n key=\"revert\"\n data-cy=\"revert-setting-change\"\n onClick={handleDialogCancel}\n >\n <Translate content=\"domainSettingsSection.security.buttonRevert\" />\n </Button>,\n ],\n applyButton: false,\n submitButton: false,\n cancelButton: false,\n }}\n >\n <Translate content=\"domainSettingsSection.security.secureSettingsDialogDescription\" />\n </Dialog>\n {hasSecurePresetConflict && (\n <StatusMessage intent=\"info\">\n <Translate content=\"domainSettingsSection.security.secureSettingsPresetMessage\" />\n <div style={{ marginTop: 12 }} data-cy=\"secure-preset-warning\">\n <Button\n intent=\"primary\"\n style={{ marginRight: 12 }}\n data-cy=\"apply-secure-preset\"\n onClick={applySecureSettingsPreset}\n >\n <Translate content=\"domainSettingsSection.security.applySecureSettingsPreset\" />\n </Button>\n <a\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href={`/help.php?context=customer-service-plan.secure-settings-${isUnix ? 'unix' : 'windows'}`}\n\n >\n <Translate content=\"domainSettingsSection.security.exploreSecureSettings\" />\n </a>\n </div>\n </StatusMessage>\n )}\n </>\n );\n};\n\nSecuritySettingsPreset.propTypes = {\n capability: PropTypes.object.isRequired,\n os: PropTypes.object.isRequired,\n values: PropTypes.object.isRequired,\n menu: PropTypes.object.isRequired,\n securitySettingsPreset: PropTypes.object.isRequired,\n showDialog: PropTypes.bool,\n handleDialogConfirm: PropTypes.func.isRequired,\n handleDialogCancel: PropTypes.func.isRequired,\n handleApplyPreset: PropTypes.func.isRequired,\n};\n\nexport default SecuritySettingsPreset;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Alert, Label } from '@plesk/ui-library';\nimport PropTypes from 'prop-types';\nimport { Locale } from 'jsw';\n\nconst locale = Locale.getSection('components.pages.HostingSettings.webspaceSettingsSection');\n\nexport const AffectedDomainsLabel = ({ onClick, domains = [], listOpened = false }) => domains && domains.length > 1 ? (\n <Label\n onClick={onClick}\n intent=\"info\"\n icon={{ name: listOpened ? 'chevron-up' : 'chevron-down', style: { order: '1' } }}\n style={{ marginInlineStart: '1rem' }}\n >\n {locale.formatMessage('affectedDomainsLabel', { count: domains.length })}\n </Label>\n) : null;\n\nAffectedDomainsLabel.propTypes = {\n listOpened: PropTypes.bool,\n onClick: PropTypes.func.isRequired,\n domains: PropTypes.array,\n};\n\nexport const AffectedDomainsList = ({\n visible,\n onClose,\n domain,\n}) => {\n const { domains, mainDomain } = domain.subscription;\n if (domains && domains.length > 1 && visible) {\n return (\n <Alert intent=\"info\" onClose={onClose}>\n {locale.formatMessage('affectedDomainsDescription', { count: domains.length, name: <b>{mainDomain.name}</b> })}\n <ul style={{ marginTop: '.5rem' }}>{domains.map(({ id, name }) => <li key={id}>{name}</li>)}</ul>\n </Alert>\n );\n }\n\n return null;\n};\n\nAffectedDomainsList.propTypes = {\n visible: PropTypes.bool.isRequired,\n onClose: PropTypes.func.isRequired,\n domain: PropTypes.shape({\n name: PropTypes.string,\n subscription: PropTypes.shape({\n mainDomain: PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n }),\n domains: PropTypes.arrayOf(PropTypes.shape({\n id: PropTypes.string,\n name: PropTypes.string,\n })),\n }).isRequired,\n }).isRequired,\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { Locale } from 'jsw';\nimport { FormFieldCheckbox, FormField, Heading, Input } from '@plesk/ui-library';\nimport PropTypes from 'prop-types';\nimport MenuSection from '../MenuSection';\nimport { MenuSectionNames } from '../constants';\n\nconst Translate = Locale.getTranslate('components.pages.HostingSettings.webspaceSettingsSection.quota');\n\nconst SectionWrapper = ({ children }) => (\n <MenuSection\n id={MenuSectionNames.QUOTA}\n title={<Heading level={3}><Translate content=\"title\" /></Heading>}\n >\n {children}\n </MenuSection>\n);\nSectionWrapper.propTypes = { children: PropTypes.node.isRequired };\n\n\nconst DiskQuota = ({\n viewer: { type: viewerType },\n domain: {\n subscription: {\n permissions: { manageHosting, manageQuota },\n },\n },\n values: { webspaceSettings: { quota, isQuotaEnabled } },\n}) => {\n if (quota === null) {\n return viewerType === 'ADMIN' ? (\n <SectionWrapper>\n <FormFieldCheckbox\n name=\"webspaceSettings[isQuotaEnabled]\"\n label={<Translate content=\"enabled\" />}\n disabled\n description={<Translate content=\"unlimitedDesc\" />}\n />\n </SectionWrapper>\n ) : null;\n }\n\n if (manageHosting && manageQuota) {\n return (\n <SectionWrapper>\n <FormFieldCheckbox\n name=\"webspaceSettings[isQuotaEnabled]\"\n label={<Translate content=\"enabled\" />}\n description={<Translate content=\"description\" />}\n />\n {isQuotaEnabled && (\n <FormField\n name=\"webspaceSettings[quota]\"\n vertical\n >\n {({ getValue, setValue, isDisabled }) => (\n <>\n <Input\n value={getValue()}\n onChange={e => setValue(e.target.value)}\n disabled={isDisabled()}\n size=\"md\"\n />\n {' '}\n <Translate content=\"mbUnits\" />\n </>\n )}\n </FormField>\n )}\n </SectionWrapper>\n );\n }\n\n if (quota !== 0) {\n return (\n <SectionWrapper>\n <FormField\n title={<Translate content=\"enabled\" />}\n description={<Translate content=\"description\" />}\n >\n <Translate content=\"readonly\" params={{ quota }} />\n </FormField>\n </SectionWrapper>\n );\n }\n\n return null;\n};\n\nDiskQuota.propTypes = {\n viewer: PropTypes.shape({\n type: PropTypes.string.isRequired,\n }).isRequired,\n domain: PropTypes.shape({\n subscription: PropTypes.shape({\n permissions: PropTypes.shape({\n manageHosting: PropTypes.bool.isRequired,\n manageQuota: PropTypes.bool.isRequired,\n }).isRequired,\n }).isRequired,\n sysUser: PropTypes.object,\n }).isRequired,\n values: PropTypes.object.isRequired,\n};\n\n\nexport default DiskQuota;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useMemo } from 'react';\nimport { Locale } from 'jsw';\nimport { FormField, Heading } from '@plesk/ui-library';\nimport PropTypes from 'prop-types';\nimport IpSelectDropdowns from 'components/common/IpSelectDropdowns';\nimport MenuSection from '../MenuSection';\nimport { getAvailableIpAddresses } from 'helpers/ipAddresses';\nimport { MenuSectionNames } from '../constants';\n\nconst Translate = Locale.getTranslate('components.pages.HostingSettings.webspaceSettingsSection');\nconst IpAddressTranslate = Locale.getTranslate('components.forms.ip-addresses-selector');\n\nconst sortAddresses = ipAddresses => [...ipAddresses].sort(a => a.isIPv6 ? 1 : -1);\n\nconst IpAddresses = ({\n server: {\n settings: { isIPv6Supported },\n },\n domain: {\n owner,\n ipAddresses,\n subscription: {\n permissions: { manageHosting },\n },\n },\n}) => {\n const addresses = useMemo(\n () => {\n if (!manageHosting || !owner) {\n return null;\n }\n const { ipAddresses: ownerPool, availableIpAddresses, id: ownerId } = owner;\n return getAvailableIpAddresses(ownerPool, availableIpAddresses, ownerId);\n },\n [owner, manageHosting],\n );\n\n return (\n <MenuSection\n id={MenuSectionNames.IP}\n title={<Heading level={3}><Translate content=\"ipAddresses\" /></Heading>}\n >\n {\n addresses !== null ? (\n <IpSelectDropdowns\n ipAddresses={addresses}\n namePrefix=\"webspaceSettings\"\n isIPv6Supported={isIPv6Supported}\n size=\"fill\"\n />\n ) :\n sortAddresses(ipAddresses).map(({ ipAddress, publicIpAddress, isIPv6 }, i, addresses) => (\n <FormField\n key={ipAddress}\n data-cy={`readonly-ip${isIPv6 ? 'v6' : 'v4'}`}\n label={<IpAddressTranslate content={addresses.length === 1 ? 'ipAddress' : `${isIPv6 ? 'ipv6' : 'ipv4'}Address`} />}\n >\n {publicIpAddress || ipAddress}\n </FormField>\n ))\n }\n </MenuSection>\n );\n};\n\nIpAddresses.propTypes = {\n server: PropTypes.shape({\n settings: PropTypes.shape({\n isIPv6Supported: PropTypes.bool.isRequired,\n }).isRequired,\n }).isRequired,\n domain: PropTypes.shape({\n owner: PropTypes.shape({\n ipAddresses: PropTypes.array.isRequired,\n availableIpAddresses: PropTypes.array.isRequired,\n id: PropTypes.string.isRequired,\n }),\n ipAddresses: PropTypes.array.isRequired,\n subscription: PropTypes.shape({\n permissions: PropTypes.shape({\n manageHosting: PropTypes.bool.isRequired,\n }).isRequired,\n }).isRequired,\n }).isRequired,\n};\n\nexport default IpAddresses;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { Locale } from 'jsw';\nimport { useMemo } from 'react';\nimport {\n Heading,\n FormField,\n FormFieldSelect,\n SelectOption,\n FormFieldCheckbox,\n} from '@plesk/ui-library';\nimport MenuSection from '../MenuSection';\nimport { MenuSectionNames } from '../constants';\n\nconst Translate = Locale.getTranslate('components.pages.HostingSettings.webspaceSettingsSection');\n\nconst SshAccess = ({\n os: { isUnix },\n mode: { isDemo },\n primaryKey: { keyShell },\n capability: {\n systemUser: {\n access: { shells },\n },\n },\n domain: {\n subscription: {\n permissions: {\n manageShellAccess,\n manageNotChrootedShell,\n allowInsecureSites,\n },\n },\n },\n values: { webspaceSettings: { shell } },\n}) => {\n const isShellManagementAllowed = useMemo(\n () => !isDemo && keyShell && (manageShellAccess || (isUnix && manageNotChrootedShell)),\n [isDemo, isUnix, keyShell, manageShellAccess, manageNotChrootedShell],\n );\n const availableShells = useMemo(\n () => isShellManagementAllowed ? shells.filter(\n ({ empty, chrooted, isSecure }) => (allowInsecureSites || isSecure)\n && (manageNotChrootedShell || !isUnix || empty || chrooted),\n ) : [],\n [shells, isShellManagementAllowed, manageNotChrootedShell, isUnix, allowInsecureSites],\n );\n\n const shellControl = isUnix ? (\n <FormFieldSelect\n size=\"fill\"\n disabled={availableShells.length === 0}\n name=\"webspaceSettings[shell]\"\n label={<Translate content=\"shell.type\" />}\n >\n {availableShells.map(({ value, name }) => <SelectOption data-cy={value} key={value} value={value}>{name}</SelectOption>)}\n </FormFieldSelect>\n ) : (\n <FormFieldCheckbox\n name=\"webspaceSettings[shell]\"\n label={<Translate content=\"shell.enabled\" />}\n checkedValue={'Login Enabled'}\n uncheckedValue={'Login Disabled'}\n />\n );\n\n return (\n <MenuSection\n id={MenuSectionNames.SHELL}\n title={(\n <Heading level={3}>\n <Translate content={isUnix ? 'shell.unixTitle' : 'shell.winTitle'} />\n </Heading>\n )}\n >\n {isShellManagementAllowed ? shellControl : (\n <FormField label={<Translate content={isUnix ? 'shell.unixTitle' : 'shell.winTitle'} />}>\n {shells.find(({ value }) => value === shell)?.name || shell}\n </FormField>\n )}\n </MenuSection>\n );\n};\n\nSshAccess.propTypes = {\n os: PropTypes.shape({\n isUnix: PropTypes.bool.isRequired,\n }).isRequired,\n mode: PropTypes.shape({\n isDemo: PropTypes.bool.isRequired,\n }).isRequired,\n primaryKey: PropTypes.shape({\n keyShell: PropTypes.bool.isRequired,\n }).isRequired,\n capability: PropTypes.shape({\n systemUser: PropTypes.shape({\n access: PropTypes.shape({\n shells: PropTypes.array.isRequired,\n }).isRequired,\n }).isRequired,\n }).isRequired,\n domain: PropTypes.shape({\n subscription: PropTypes.shape({\n permissions: PropTypes.shape({\n manageShellAccess: PropTypes.bool.isRequired,\n manageNotChrootedShell: PropTypes.bool.isRequired,\n allowInsecureSites: PropTypes.bool.isRequired,\n }).isRequired,\n }).isRequired,\n }).isRequired,\n values: PropTypes.object.isRequired,\n};\n\nexport default SshAccess;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { Locale } from 'jsw';\nimport { useMemo } from 'react';\nimport {\n FormFieldPassword,\n FormFieldText,\n Heading,\n Hint,\n FormField,\n} from '@plesk/ui-library';\nimport MenuSection from '../MenuSection';\nimport { MenuSectionNames } from '../constants';\n\nconst Translate = Locale.getTranslate('components.pages.HostingSettings.webspaceSettingsSection');\n\nconst SystemUser = ({\n viewer: { type: viewerType },\n os: { isUnix },\n server: {\n settings: { forbidFtpUserRename },\n },\n domain: {\n subscription: {\n permissions: {\n manageHosting,\n },\n },\n },\n values: { webspaceSettings: { sysUserLogin } },\n isWebspaceCreating,\n}) => {\n const isUsernameEditable = useMemo(() => {\n if (isWebspaceCreating) {\n return true;\n }\n\n switch (forbidFtpUserRename) {\n case 'true':\n return manageHosting;\n case 'forced':\n return viewerType === 'ADMIN';\n default: return true;\n }\n }, [isWebspaceCreating, forbidFtpUserRename, manageHosting, viewerType]);\n\n return (\n <MenuSection\n id={MenuSectionNames.SYS_USER}\n title={<Heading level={3}><Translate content=\"systemUser\" /></Heading>}\n >\n <Hint component=\"p\">\n <Translate content={isUnix ? 'systemUserUnixDesc' : 'systemUserWinDesc'} />\n </Hint>\n {isUsernameEditable ? (\n <FormFieldText\n name=\"webspaceSettings[sysUserLogin]\"\n label={<Translate content=\"systemUserLogin\" />}\n size=\"fill\"\n required\n />\n ) : (\n <FormField label={<Translate content=\"systemUserLogin\" />}>\n {sysUserLogin}\n </FormField>\n )}\n <FormFieldPassword\n name=\"webspaceSettings[sysUserPassword]\"\n label={<Translate content=\"systemUserPasswd\" />}\n description={<Translate content=\"systemUserPasswdDesc\" />}\n size=\"fill\"\n autoComplete=\"new-password\"\n required={isWebspaceCreating}\n />\n </MenuSection>\n );\n};\n\nSystemUser.propTypes = {\n viewer: PropTypes.shape({\n type: PropTypes.string.isRequired,\n }).isRequired,\n os: PropTypes.shape({\n isUnix: PropTypes.bool.isRequired,\n }).isRequired,\n server: PropTypes.shape({\n settings: PropTypes.shape({\n forbidFtpUserRename: PropTypes.string.isRequired,\n }).isRequired,\n }).isRequired,\n domain: PropTypes.shape({\n subscription: PropTypes.shape({\n permissions: PropTypes.shape({\n manageHosting: PropTypes.bool.isRequired,\n }).isRequired,\n }).isRequired,\n }).isRequired,\n values: PropTypes.object.isRequired,\n isWebspaceCreating: PropTypes.bool.isRequired,\n};\n\nexport default SystemUser;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport PropTypes from 'prop-types';\nimport { Locale } from 'jsw';\nimport { Heading } from '@plesk/ui-library';\nimport SystemUser from './SystemUser';\nimport { useState } from 'react';\nimport IpAddresses from './IpAddresses';\nimport DiskQuota from './DiskQuota';\nimport { AffectedDomainsLabel, AffectedDomainsList } from './AffectedDomains';\nimport { MenuSectionNames } from '../constants';\nimport MenuSection from '../MenuSection';\nimport SshAccess from './SshAccess';\n\nconst Translate = Locale.getTranslate('components.pages.HostingSettings.webspaceSettingsSection');\n\nconst WebspaceSettingsSection = ({ menu, ...data }) => {\n const [showAffectedDomains, setShowAffectedDomains] = useState(false);\n\n return (\n <MenuSection id={MenuSectionNames.WEBSPACE} className=\"hosting-settings-page__section\">\n <Heading level=\"2\" id=\"webspaceSettings\">\n <Translate content=\"sectionTitle\" />\n <AffectedDomainsLabel\n onClick={() => setShowAffectedDomains(val => !val)}\n domains={data.domain.subscription.domains}\n listOpened={showAffectedDomains}\n />\n </Heading>\n <AffectedDomainsList\n visible={showAffectedDomains}\n onClose={() => setShowAffectedDomains(false)}\n {...data}\n />\n {menu[MenuSectionNames.SYS_USER].visible && (<SystemUser {...data} />)}\n {menu[MenuSectionNames.SHELL].visible && (<SshAccess {...data} />)}\n {menu[MenuSectionNames.IP].visible && (<IpAddresses {...data} />)}\n {menu[MenuSectionNames.QUOTA].visible && (<DiskQuota {...data} />)}\n </MenuSection>\n );\n};\n\nWebspaceSettingsSection.propTypes = {\n menu: PropTypes.object.isRequired,\n};\n\nexport default WebspaceSettingsSection;\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nexport const HostingTypes = {\n VIRTUAL: 'VIRTUAL',\n STANDARD_FORWARDING: 'STANDARD_FORWARDING',\n FRAME_FORWARDING: 'FRAME_FORWARDING',\n NONE: 'NONE',\n};\n\nexport const UiHostingTypes = {\n VIRTUAL: 'hosting',\n FORWARDING: 'forwarding',\n NONE: 'none',\n};\n\nexport const ForwardingTypes = {\n MOVED_PERMANENTLY: 'MOVED_PERMANENTLY',\n MOVED_TEMPORARILY: 'MOVED_TEMPORARILY',\n FRAME_FORWARDING: 'FRAME_FORWARDING',\n};\n\nexport const PreferredDomain = {\n WWW: 'www',\n NON_WWW: 'non-www',\n NONE: 'none',\n};\n\nexport const MenuSectionNames = {\n DOMAIN: 'domain',\n DOMAIN_NAME: 'domainName',\n HOSTING_TYPE: 'hostingType',\n SSL: 'ssl',\n SAME_SSL: 'sameSsl',\n WEB_STATS: 'statistics',\n WEB_SCRIPTING: 'scripting',\n\n WEBSPACE: 'webspace',\n SYS_USER: 'systemUser',\n SHELL: 'shell',\n IP: 'ipAddresses',\n QUOTA: 'quota',\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useCallback } from 'react';\nimport { ForwardingTypes, HostingTypes, MenuSectionNames, UiHostingTypes } from '../constants';\n\nexport const useAdapters = () => {\n const prepareHostingType = useCallback(\n (hostingType, forwardingType) => {\n switch (hostingType) {\n case UiHostingTypes.FORWARDING:\n return forwardingType === ForwardingTypes.FRAME_FORWARDING ?\n HostingTypes.FRAME_FORWARDING :\n HostingTypes.STANDARD_FORWARDING;\n\n case UiHostingTypes.VIRTUAL:\n return HostingTypes.VIRTUAL;\n\n case UiHostingTypes.NONE:\n return HostingTypes.NONE;\n }\n },\n [],\n );\n\n const getForwardingType = useCallback(\n (code, hType) => {\n switch (code) {\n case '301':\n return hType === 'FRAME_FORWARDING' ?\n ForwardingTypes.FRAME_FORWARDING :\n ForwardingTypes.MOVED_PERMANENTLY;\n\n case '302':\n return ForwardingTypes.MOVED_TEMPORARILY;\n }\n },\n [],\n );\n\n const prepareSecuritySettingsPreset = useCallback(\n data => {\n const { securitySettingsPreset } = data.server;\n\n return {\n 'sslSettings[ssl]': {\n value: securitySettingsPreset.ssl,\n section: MenuSectionNames.SSL,\n },\n 'sslSettings[sslRedirect]': {\n value: securitySettingsPreset.sslRedirect,\n section: MenuSectionNames.SSL,\n },\n 'webstatSettings[webstat]': {\n value: securitySettingsPreset.webstat,\n section: MenuSectionNames.WEB_STATS,\n },\n 'webScripting[ssi]': {\n value: securitySettingsPreset.ssi,\n section: MenuSectionNames.WEB_SCRIPTING,\n },\n 'webScripting[cgi]': {\n value: securitySettingsPreset.cgi,\n section: MenuSectionNames.WEB_SCRIPTING,\n },\n 'webScripting[fastcgi]': {\n value: securitySettingsPreset.fastcgi,\n section: MenuSectionNames.WEB_SCRIPTING,\n },\n 'webScripting[webDeploy]': {\n value: securitySettingsPreset.webDeploy,\n section: MenuSectionNames.WEB_SCRIPTING,\n },\n 'webScripting[errorDocs]': {\n value: securitySettingsPreset.errorDocs,\n section: MenuSectionNames.WEB_SCRIPTING,\n },\n 'webScripting[writeModify]': {\n value: securitySettingsPreset.writeModify,\n section: MenuSectionNames.WEB_SCRIPTING,\n },\n 'webScripting[perl]': {\n value: securitySettingsPreset.perl,\n section: MenuSectionNames.WEB_SCRIPTING,\n },\n 'webScripting[python]': {\n value: securitySettingsPreset.python,\n section: MenuSectionNames.WEB_SCRIPTING,\n },\n 'webScripting[asp]': {\n value: securitySettingsPreset.asp,\n section: MenuSectionNames.WEB_SCRIPTING,\n },\n 'webScripting[aspDotNet]': {\n value: securitySettingsPreset.aspDotNet,\n section: MenuSectionNames.WEB_SCRIPTING,\n },\n 'webspaceSettings[shell]': {\n value: securitySettingsPreset.shell,\n section: MenuSectionNames.SHELL,\n },\n };\n },\n [],\n );\n\n const prepareShell = useCallback(\n data => {\n const {\n mode: { isDemo },\n os: { isUnix },\n primaryKey: { keyShell },\n capability: {\n systemUser: {\n access: { shells, emptyShell },\n },\n },\n domain: {\n subscription: {\n permissions: {\n manageShellAccess,\n manageNotChrootedShell,\n allowInsecureSites,\n },\n },\n sysUser,\n },\n\n } = data;\n\n const shell = sysUser?.shell;\n const isShellManagementAllowed = !isDemo && keyShell && (manageShellAccess || (isUnix && manageNotChrootedShell));\n\n if (!isShellManagementAllowed) {\n return { shell };\n }\n\n const availableShells = shells.filter(({ empty, chrooted, isSecure }) => (allowInsecureSites || isSecure)\n && (manageNotChrootedShell || !isUnix || empty || chrooted));\n\n const shellNotFound = !availableShells.some(({ value }) => value === shell);\n\n if (shellNotFound) {\n return {\n shell: availableShells.length ? availableShells[0].value : emptyShell,\n };\n }\n\n return { shell };\n },\n [],\n );\n\n const prepareFormData = useCallback(\n data => {\n const hostingType = ['STANDARD_FORWARDING', 'FRAME_FORWARDING'].includes(data.domain.htype) ?\n UiHostingTypes.FORWARDING :\n UiHostingTypes[data.domain.htype];\n\n const forwardingType = hostingType === UiHostingTypes.FORWARDING ?\n getForwardingType(data.domain.forwarding.code, data.domain.htype) :\n ForwardingTypes.MOVED_PERMANENTLY;\n\n return {\n domainName: data.domain.parentDomain ?\n data.domain.name.replace(new RegExp(`\\\\.${data.domain.parentDomain.name}$`), '') :\n data.domain.name,\n hostingType,\n hostingSettings: {\n documentRoot: data.domain.hosting?.documentRoot ?? data.domain.name,\n preferredDomain: data.domain.hosting?.preferredDomain ?? data.server.settings.preferredDomain,\n sameSslCompatibility: false === data.domain.hosting?.isSameSsl,\n },\n forwardingSettings: {\n type: forwardingType,\n forwardTo: data.domain.forwarding?.redirect ?? '',\n },\n sslSettings: {\n ssl: data.domain.sslSettings?.ssl ?? false,\n sslRedirect: data.domain.sslSettings?.sslRedirect ?? false,\n certificateId: data.domain.sslSettings?.certificateId,\n },\n webspaceSettings: {\n ipv4: data.domain.ipAddresses.find(({ isIPv6 }) => !isIPv6)?.id || 'none',\n ipv6: data.domain.ipAddresses.find(({ isIPv6 }) => isIPv6)?.id || 'none',\n sysUserLogin: data.domain.sysUser?.login,\n isQuotaEnabled: !!data.domain.sysUser?.quota,\n quota: data.domain.sysUser?.quota,\n ...prepareShell(data),\n },\n webstatSettings: {\n webstat: data.domain.webstatSettings?.webstat ?? 'none',\n webstatProtected: data.domain.webstatSettings?.webstatProtected ?? false,\n },\n webScripting: data.domain.webScriptingSettings ?\n {\n ssi: data.domain.webScriptingSettings.ssi,\n ssiHtml: data.domain.webScriptingSettings.ssiHtml,\n cgi: data.domain.webScriptingSettings.cgi,\n fastcgi: data.domain.webScriptingSettings.fastcgi,\n cgiMode: data.domain.webScriptingSettings.cgiMode,\n asp: data.domain.webScriptingSettings.asp,\n aspDotNet: data.domain.webScriptingSettings.aspDotNet,\n aspDotNetVersion: data.domain.aspNetSettings.configs[0]?.version || data.domain.aspNetSettings.versions[0],\n perl: data.domain.webScriptingSettings.perl,\n python: data.domain.webScriptingSettings.python,\n errorDocs: data.domain.webScriptingSettings.errorDocs,\n writeModify: data.domain.webScriptingSettings.writeModify,\n webDeploy: data.domain.webScriptingSettings.webDeploy,\n } :\n null,\n };\n },\n [prepareShell, getForwardingType],\n );\n\n const preparePayload = useCallback(\n (data, { webspaceSettings, ...values }) => {\n const hostingType = prepareHostingType(values.hostingType, values.forwardingSettings.type);\n\n const payload = {\n domainId: data.domain.id,\n domainName: values.domainName,\n hostingType,\n webspaceSettings: {\n ipv4: webspaceSettings.ipv4 === 'none' ? null : webspaceSettings.ipv4,\n ipv6: webspaceSettings.ipv6 === 'none' ? null : webspaceSettings.ipv6,\n sysUserLogin: webspaceSettings.sysUserLogin,\n sysUserPassword: webspaceSettings.sysUserPassword,\n quota: webspaceSettings.isQuotaEnabled ? `${webspaceSettings.quota}` : null,\n shell: webspaceSettings.shell,\n },\n };\n\n if (values.hostingType !== UiHostingTypes.NONE && data.domain.htype !== HostingTypes.NONE) {\n payload.sslSettings = values.sslSettings;\n }\n\n if (values.hostingType === UiHostingTypes.VIRTUAL) {\n const createNewWebspace = !data.domain.baseDomain &&\n data.domain.htype !== HostingTypes.VIRTUAL &&\n values.hostingType === UiHostingTypes.VIRTUAL;\n\n payload.hostingSettings = {\n ...values.hostingSettings,\n documentRoot: !createNewWebspace ?\n values.hostingSettings.documentRoot :\n undefined,\n };\n\n if (data.domain.webScriptingSettings) {\n payload.webScripting = {\n ...values.webScripting,\n aspDotNetVersion: values.webScripting.aspDotNet === true ?\n values.webScripting.aspDotNetVersion :\n null,\n };\n }\n\n if (data.domain.webstatSettings) {\n payload.webstatSettings = {\n webstat: values.webstatSettings.webstat,\n webstatProtected: values.webstatSettings.webstatProtected,\n };\n }\n }\n\n if (values.hostingType === UiHostingTypes.FORWARDING) {\n payload.forwardingSettings = values.forwardingSettings;\n }\n\n return payload;\n },\n [prepareHostingType],\n );\n\n return {\n preparePayload,\n prepareFormData,\n prepareSecuritySettingsPreset,\n };\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { HostingTypes, UiHostingTypes, MenuSectionNames } from '../constants';\n\nexport const useMenu = ({\n data: { domain: { subscription, hosting, ...domain }, viewer, os, capability },\n permissions: { allowToManageDomains, allowToRenameSubscription, allowToManageWebstat, allowToManageSsl, allowToManageHosting },\n values,\n isWebspaceCreating,\n isHostingCreating,\n}) => {\n const isAdmin = viewer.type === 'ADMIN';\n const hasPhysicalHosting = values.hostingType === UiHostingTypes.VIRTUAL;\n const isMainDomain = !domain.baseDomain;\n const isRemovingHostingOnMainDomain = isMainDomain && !hasPhysicalHosting;\n\n return {\n [MenuSectionNames.DOMAIN]: {\n title: 'domainSettingsSection.sectionTitle',\n visible: true,\n },\n [MenuSectionNames.DOMAIN_NAME]: {\n title: 'domainSettingsSection.domainName',\n visible: allowToManageDomains && allowToRenameSubscription,\n },\n [MenuSectionNames.HOSTING_TYPE]: {\n title: 'domainSettingsSection.hostingTypeTitle',\n visible: true,\n },\n [MenuSectionNames.SSL]: {\n title: 'domainSettingsSection.security.sslTlsSupport',\n visible: !isHostingCreating && values.hostingType !== UiHostingTypes.NONE && domain.htype !== HostingTypes.NONE,\n },\n [MenuSectionNames.SAME_SSL]: {\n title: 'domainSettingsSection.sameSsl.title',\n visible: allowToManageSsl && allowToManageHosting && hosting?.isSameSsl === false && hasPhysicalHosting,\n },\n [MenuSectionNames.WEB_STATS]: {\n title: 'domainSettingsSection.webStatistics.title',\n visible: domain.webstatSettings\n && !!capability.packages.webstatPackages.length\n && hasPhysicalHosting\n && (allowToManageWebstat || domain.webstatSettings.webstat !== 'none'),\n },\n [MenuSectionNames.WEB_SCRIPTING]: {\n title: 'domainSettingsSection.webScripting.title',\n visible: domain.webScriptingSettings && hasPhysicalHosting,\n },\n [MenuSectionNames.SYS_USER]: {\n title: 'webspaceSettingsSection.systemUser',\n visible: (domain.sysUser && !isRemovingHostingOnMainDomain) || isWebspaceCreating,\n },\n [MenuSectionNames.SHELL]: {\n title: `webspaceSettingsSection.shell.${os.isUnix ? 'unixTitle' : 'winTitle'}`,\n visible: domain.sysUser && !isRemovingHostingOnMainDomain,\n },\n [MenuSectionNames.WEBSPACE]: {\n title: 'webspaceSettingsSection.sectionTitle',\n visible: subscription.permissions.manageWebsitesAndDomains,\n },\n [MenuSectionNames.IP]: {\n title: 'webspaceSettingsSection.ipAddresses',\n visible: true,\n },\n [MenuSectionNames.QUOTA]: {\n title: 'webspaceSettingsSection.quota.title',\n visible: domain.sysUser && !isRemovingHostingOnMainDomain && (\n (values.webspaceSettings?.quota === null && isAdmin)\n || (subscription.permissions.manageHosting && subscription.permissions.manageQuota)\n || !!values.webspaceSettings?.quota\n ),\n },\n };\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { useMemo } from 'react';\n\nexport const usePermissions = (domain, settings) => {\n const { permissions } = domain.subscription;\n\n const forbidToRename = useMemo(\n () => settings.isMainDomain && (settings.forbidSubscriptionRename && !settings.isAdmin),\n [settings.isMainDomain, settings.forbidSubscriptionRename, settings.isAdmin],\n );\n\n const allowToManageDomains = useMemo(\n () => {\n if (domain.isDemo) {\n return false;\n }\n\n return domain.parentDomain ?\n permissions.manageSubdomains :\n permissions.manageDomains || (permissions.manageWebsitesAndDomains && settings.isSimplePanel);\n },\n [permissions, domain.isDemo, domain.parentDomain, settings.isSimplePanel],\n );\n\n return {\n allowToManageSsiHtml: permissions.manageHostingSsi,\n allowToManageHosting: permissions.manageHosting,\n allowToManageWebstat: permissions.manageWebstat,\n allowToManageErrorDocs: permissions.manageErrorDocs,\n allowToManageAdditionPermissions: permissions.manageAdditionPermissions,\n allowToManageWebDeploy: permissions.manageWebDeploy,\n allowInsecureSites: permissions.allowInsecureSites,\n allowToRenameSubscription: !forbidToRename,\n allowToManageDomains,\n allowToManageSsl: permissions.manageHostingSsl,\n };\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\n/**\n * Evicts cache of provided fields of all the entities with provided typename\n * You can specify certain entities by ids otherwise cache of all entities will be cleared\n */\nexport const evictEntitiesCache = ({ cache, typename, ids = [], fields = [] }) => {\n const entities = Object.values(cache.extract())\n .filter(({ __typename, id }) => __typename === typename && (ids.length === 0 || ids.includes(id)));\n\n entities.forEach(entity => {\n fields.forEach(fieldName => cache.evict({ id: cache.identify(entity), fieldName }));\n });\n};\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\n\nimport { TYPE_EXCLUSIVE } from 'components/common/IpSelectDropdowns';\n\ntype Client = {\n id: string;\n};\n\ntype Address = {\n id: string;\n type: string;\n clients: Client[];\n isBroken: boolean;\n};\n\nexport const getAvailableIpAddresses = (\n ownerPool: Address[],\n availableAddresses: Address[],\n ownerId: string,\n): Address[] => {\n const ownerAddresses = ownerPool.filter(\n ({ type, clients }) => type !== TYPE_EXCLUSIVE || !clients.length || clients.some(({ id }) => id === ownerId),\n );\n\n return [...ownerAddresses, ...availableAddresses]\n .filter((address, i, arr) => arr.findIndex(addr => addr.id === address.id) === i)\n .filter(({ isBroken }) => !isBroken);\n};\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"SiteCardFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Site\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"siteUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"card\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"screenshotUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"previewUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"showGetStartedByDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customTabs\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"order\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"default\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customTitle\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customSidebar\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"buttons\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"href\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"handler\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"target\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"label\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"comment\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"additionalComments\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"intent\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"noEscape\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"noEscapeTitle\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"section\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"order\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tooltip\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"services\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasWarning\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":833}};\n doc.loc.source = {\"body\":\"fragment SiteCardFragment on Site {\\n id\\n siteUrl\\n card {\\n id\\n screenshotUrl\\n previewUrl\\n showGetStartedByDefault\\n customTabs {\\n id\\n title\\n content\\n order\\n default\\n }\\n customTitle\\n customSidebar {\\n id\\n content\\n }\\n buttons {\\n id\\n icon\\n href\\n handler\\n target\\n title\\n label\\n description\\n comment\\n additionalComments\\n intent\\n noEscape\\n noEscapeTitle\\n section\\n order\\n tooltip\\n }\\n services {\\n name\\n enabled\\n hasWarning\\n description\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SiteCardFragment\"] = oneQuery(doc, \"SiteCardFragment\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"UpdateHostingSettings\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"UpdateHostingSettingsInput\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"siteId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"updateHostingSettings\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"query\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"site\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"siteId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"SiteCardFragment\"},\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"__typename\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":306}};\n doc.loc.source = {\"body\":\"#import \\\"queries/SiteCardFragment.graphql\\\"\\n\\nmutation UpdateHostingSettings($input: UpdateHostingSettingsInput!, $siteId: ID!) {\\n updateHostingSettings(input: $input) {\\n query {\\n site(id: $siteId) {\\n ...SiteCardFragment\\n }\\n }\\n __typename\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/SiteCardFragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"UpdateHostingSettings\"] = oneQuery(doc, \"UpdateHostingSettings\");\n \n"],"names":["DrawerAsPage","onClose","isOpen","closeOnFormSuccess","closeUrl","form","props","navigate","useNavigate","open","setIsOpen","useState","closeTimeout","useRef","handleClose","useCallback","args","closeFn","preventScrollReset","current","setTimeout","useEffect","clearTimeout","preparedForm","useMemo","isValidElement","cloneElement","onSuccess","_jsx","Drawer","IpAddressTranslate","Locale","getTranslate","IpSelectDropdown","ipAddresses","namePrefix","type","isOtherTypeAvailable","getIpAddressType","translate","useTranslate","length","_jsxs","FormFieldSelect","label","content","name","children","map","id","ipAddress","publicIpAddress","SelectOption","value","propTypes","PropTypes","isRequired","TYPE_IPV4","TYPE_IPV6","TYPE_SHARED","TYPE_EXCLUSIVE","IpSelectDropdowns","isIPv6Supported","ipv4Addresses","filter","isIPv6","isBroken","ipv6Addresses","_Fragment","prepareBackendData","ips","Object","keys","forEach","push","FormFieldDomainName","size","FormField","getId","getName","getValue","setValue","isDisabled","className","Text","Input","placeholder","onChange","e","target","disabled","Translate","DomainName","parentDomainName","MenuSection","MenuSectionNames","DOMAIN_NAME","required","description","HostingType","allowToManageDomains","allowToManageHosting","domain","hostingType","forwardingType","ForwardingTypes","MOVED_PERMANENTLY","allowToChangeHostingType","allowToChangeHtype","hasInstalledApplications","hosting","forwardingDescription","MOVED_TEMPORARILY","FRAME_FORWARDING","forwardingTypeFullDescriptions","Heading","level","createNewWebspace","baseDomain","htype","HostingTypes","VIRTUAL","UiHostingTypes","HOSTING_TYPE","title","NONE","FORWARDING","parentDomain","PreferredDomain","WWW","domainName","NON_WWW","Icon","FormFieldText","fullDescription","values","SameSslCompatibility","SAME_SSL","FormFieldCheckbox","SecuritySettings","permissions","sslSettings","allowToManageSsl","isSslReadonly","certificatesOptions","availableCertificates","options","cert","repository","SSL","ssl","params","link","href","certificateId","optionLabelTranslationMap","WWW_ROOT","WEBSPACE","OLD_STYLE","WebScriptingSettings","aspNetSettings","allowToManageSsiHtml","allowToManageWebDeploy","allowToManageErrorDocs","allowToManageAdditionPermissions","webScriptingSettings","hasPermissions","optName","cgiModeOptions","option","isOptionHidden","WEB_SCRIPTING","Hint","component","cgiMode","cgi","style","paddingLeft","paddingTop","ssi","ssiHtml","aspDotNet","versions","version","errorDocs","webDeploy","writeModify","asp","fastcgi","perl","python","WebStatistics","allowToManageWebstat","webstatPackages","isEnabled","webstat","WEB_STATS","key","DomainSettingsSection","isHostingCreating","isWebspaceCreating","menu","DOMAIN","visible","allowToRenameSubscription","forwardingSettings","Alert","intent","webstatSettings","webScripting","webstatProtected","ButtonsTranslate","HostingSettingsPage","formRef","revalidator","useRevalidator","outletContext","useOutletContext","data","useLoaderData","prepareFormData","preparePayload","prepareSecuritySettingsPreset","useAdapters","prevData","setPrevData","setValues","updateHostingSettings","loading","useMutation","UPDATE_HOSTING_SETTINGS","onCompleted","addToast","message","needsParentRevalidation","handleReload","refetchQueries","query","HOSTING_SETTINGS_PAGE","variables","btoa","awaitRefetchQueries","update","cache","evictEntitiesCache","typename","ids","subscription","domains","fields","securityPresetDialogData","setSecurityPresetDialogData","useSecuritySettingsPreset","viewer","isSmbImpersonated","manageHosting","isSecureSettingsPresetAllowed","securitySettingsPreset","updateValues","newValues","setIn","nextValues","showSubmitPopover","additionalButtons","Button","onClick","arrow","state","submit","SaveHostingSettingsConfirmationPopover","chosenHostingType","onRemoveClick","usePermissions","isAdmin","isSimplePanel","mode","forbidSubscriptionRename","server","settings","isMainDomain","useMenu","subtitle","Form","ref","onSubmit","handleSuccess","revalidate","reload","mutation","siteId","onFieldChange","handleFieldChange","presetValue","includes","SecurityPresetValues","emptyShell","capability","systemUser","access","getIn","cancelButton","applyButton","submitButton","Columns","gap","vertical","Column","width","paddingBlock","Menu","fill","SecuritySettingsPreset","showDialog","handleDialogConfirm","handleDialogCancel","handleApplyPreset","packages","WebspaceSettingsSection","MENU_ITEMS","SYS_USER","SHELL","IP","QUOTA","hash","useLocation","handleNavigate","anchor","prefix","behavior","document","querySelector","scrollIntoView","replace","undefined","renderSection","sectionName","ration","subSection","role","getSectionId","parentSection","find","section","Section","files","setFiles","handleCancel","targetEl","handleClick","async","domId","atob","split","api","get","encodeURIComponent","requestData","Popover","placement","website","file","SkeletonText","handleRemove","on","off","os","isUnix","hasSecurePresetConflict","entries","some","Dialog","StatusMessage","marginTop","marginRight","applySecureSettingsPreset","formValues","rel","locale","getSection","AffectedDomainsLabel","listOpened","Label","icon","order","marginInlineStart","formatMessage","count","AffectedDomainsList","mainDomain","SectionWrapper","DiskQuota","viewerType","manageQuota","webspaceSettings","quota","isQuotaEnabled","sysUser","sortAddresses","sort","a","IpAddresses","owner","addresses","ownerPool","availableIpAddresses","ownerId","getAvailableIpAddresses","i","SshAccess","isDemo","primaryKey","keyShell","shells","manageShellAccess","manageNotChrootedShell","allowInsecureSites","shell","isShellManagementAllowed","availableShells","empty","chrooted","isSecure","shellControl","checkedValue","uncheckedValue","SystemUser","forbidFtpUserRename","sysUserLogin","isUsernameEditable","FormFieldPassword","autoComplete","showAffectedDomains","setShowAffectedDomains","val","STANDARD_FORWARDING","prepareHostingType","getForwardingType","code","hType","sslRedirect","prepareShell","forwarding","RegExp","hostingSettings","documentRoot","preferredDomain","sameSslCompatibility","isSameSsl","forwardTo","redirect","ipv4","ipv6","login","aspDotNetVersion","configs","payload","domainId","sysUserPassword","hasPhysicalHosting","isRemovingHostingOnMainDomain","manageWebsitesAndDomains","forbidToRename","manageSubdomains","manageDomains","manageHostingSsi","manageWebstat","manageErrorDocs","manageAdditionPermissions","manageWebDeploy","manageHostingSsl","extract","__typename","entity","fieldName","evict","identify","availableAddresses","clients","address","arr","findIndex","addr","doc","loc","source","collectFragmentReferences","node","refs","kind","add","selectionSet","selections","selection","variableDefinitions","def","definitions","definitionRefs","findOperation","element","Set","module","exports","operationName","newDoc","hasOwnProperty","opRefs","allRefs","newRefs","refName","prevRefs","has","childRef","op","oneQuery","names","concat"],"sourceRoot":""}
Edit
Rename
Chmod
Delete
FILE
FOLDER
INFO
Name
Size
Permission
Action
AspDotNetSettingsPage
---
0755
DatabasesPage
---
0755
InfoAndStatisticsPage
---
0755
OdbcPage
---
0755
SummaryReportLayoutsPage
---
0755
VirtualDirectoryPage
---
0755
ActionLogPage.js
13088 bytes
0644
ActionLogPage.js.map
47064 bytes
0644
AssignIpAddressToResellerForm.js
6725 bytes
0644
AssignIpAddressToResellerForm.js.map
21526 bytes
0644
BandwidthLimitingPage.js
6881 bytes
0644
BandwidthLimitingPage.js.map
20714 bytes
0644
BrandingPage.js
12229 bytes
0644
BrandingPage.js.map
40616 bytes
0644
ChangeSubscriptionsOwnerPage.js
20015 bytes
0644
ChangeSubscriptionsOwnerPage.js.map
68681 bytes
0644
ConfigureMailClientPage.js
19148 bytes
0644
ConfigureMailClientPage.js.map
54780 bytes
0644
ConnectionInfo.js
19482 bytes
0644
ConnectionInfo.js.map
60127 bytes
0644
CreateMassMailTemplatePage.js
7938 bytes
0644
CreateMassMailTemplatePage.js.map
25649 bytes
0644
DatabasesPage.js
24239 bytes
0644
DatabasesPage.js.map
82958 bytes
0644
DomainsResourceUsagePage.js
2519 bytes
0644
DomainsResourceUsagePage.js.map
7223 bytes
0644
EditMassMailTemplatePage.js
6276 bytes
0644
EditMassMailTemplatePage.js.map
19693 bytes
0644
FirewallGeneralPage.js
13911 bytes
0644
FirewallGeneralPage.js.map
45778 bytes
0644
FirewallIcmpPage.js
7583 bytes
0644
FirewallIcmpPage.js.map
26718 bytes
0644
FirewallRulesPage.js
14054 bytes
0644
FirewallRulesPage.js.map
49533 bytes
0644
HomeCustomizationPage.js
7699 bytes
0644
HomeCustomizationPage.js.map
26789 bytes
0644
HomePage.js
108563 bytes
0644
HomePage.js.map
343571 bytes
0644
HostingSettingsPage.js
58717 bytes
0644
HostingSettingsPage.js.map
182095 bytes
0644
HotlinkProtectionPage.js
5459 bytes
0644
HotlinkProtectionPage.js.map
16592 bytes
0644
InfoAndStatisticsPage.js
1517 bytes
0644
InfoAndStatisticsPage.js.map
4468 bytes
0644
IpAddressDomainsPage.js
2527 bytes
0644
IpAddressDomainsPage.js.map
9631 bytes
0644
MassMailPage.js
3803 bytes
0644
MassMailPage.js.map
11880 bytes
0644
MoveDatabasePage.js
2348 bytes
0644
MoveDatabasePage.js.map
9743 bytes
0644
OdbcAddPage.js
5856 bytes
0644
OdbcAddPage.js.map
19713 bytes
0644
OdbcEditPage.js
8922 bytes
0644
OdbcEditPage.js.map
32573 bytes
0644
PanelNotificationsSettings.js
8676 bytes
0644
PanelNotificationsSettings.js.map
30239 bytes
0644
ProtectedDirectoryAddPage.js
7824 bytes
0644
ProtectedDirectoryAddPage.js.map
25902 bytes
0644
ProtectedDirectoryEditPage.js
8522 bytes
0644
ProtectedDirectoryEditPage.js.map
27389 bytes
0644
ProtectedDirectoryListPage.js
7523 bytes
0644
ProtectedDirectoryListPage.js.map
23418 bytes
0644
ProtectedDirectoryUserAddPage.js
5359 bytes
0644
ProtectedDirectoryUserAddPage.js.map
19045 bytes
0644
ProtectedDirectoryUserListPage.js
6399 bytes
0644
ProtectedDirectoryUserListPage.js.map
21441 bytes
0644
ProtectedDirectoryUserPasswordPage.js
4683 bytes
0644
ProtectedDirectoryUserPasswordPage.js.map
16610 bytes
0644
ScheduledBackupListPage.js
32356 bytes
0644
ScheduledBackupListPage.js.map
106674 bytes
0644
ScheduledBackupPage.js
23406 bytes
0644
ScheduledBackupPage.js.map
73098 bytes
0644
SendMassMailPage.js
14172 bytes
0644
SendMassMailPage.js.map
42796 bytes
0644
ServerAboutPage.js
4471 bytes
0644
ServerAboutPage.js.map
12644 bytes
0644
ServerComponentsPage.js
34358 bytes
0644
ServerComponentsPage.js.map
113247 bytes
0644
ServerInformationPage.js
5907 bytes
0644
ServerInformationPage.js.map
17780 bytes
0644
ServerSettingsPage.js
10390 bytes
0644
ServerSettingsPage.js.map
31759 bytes
0644
SpamFilterBlackListPage.js
9240 bytes
0644
SpamFilterBlackListPage.js.map
35310 bytes
0644
SpamFilterSettingsPage.js
6210 bytes
0644
SpamFilterSettingsPage.js.map
22487 bytes
0644
SpamFilterWhiteListPage.js
9240 bytes
0644
SpamFilterWhiteListPage.js.map
35318 bytes
0644
SummaryReportLayoutsPage.js
10170 bytes
0644
SummaryReportLayoutsPage.js.map
36379 bytes
0644
SummaryReportPage.js
20200 bytes
0644
SummaryReportPage.js.map
60542 bytes
0644
SummaryReportSchedulesPage.js
18905 bytes
0644
SummaryReportSchedulesPage.js.map
65098 bytes
0644
SystemTimePage.js
12937 bytes
0644
SystemTimePage.js.map
42357 bytes
0644
TrafficHistoryReportPage.js
4937 bytes
0644
TrafficHistoryReportPage.js.map
18836 bytes
0644
TrafficUsageByClientsPage.js
6100 bytes
0644
TrafficUsageByClientsPage.js.map
18770 bytes
0644
TrafficUsageByDomainPage.js
9382 bytes
0644
TrafficUsageByDomainPage.js.map
32899 bytes
0644
TrafficUsageByDomainsPage.js
8416 bytes
0644
TrafficUsageByDomainsPage.js.map
26009 bytes
0644
TrafficUsageByResellerPage.js
5505 bytes
0644
TrafficUsageByResellerPage.js.map
16280 bytes
0644
TsSessionPage.js
7464 bytes
0644
TsSessionPage.js.map
25275 bytes
0644
TsSessionsPage.js
11824 bytes
0644
TsSessionsPage.js.map
43136 bytes
0644
VirtualDirectoryPage.js
1938 bytes
0644
VirtualDirectoryPage.js.map
5771 bytes
0644
VirtualHostTemplatePage.js
11914 bytes
0644
VirtualHostTemplatePage.js.map
44898 bytes
0644
N4ST4R_ID | Naxtarrr