[% # cpanel - whostmgr/docroot/templates/createacct.tmpl # Copyright 2023 cPanel, L.L.C. # All rights reserved. # copyright@cpanel.net http://cpanel.net # This code is subject to the cPanel license. Unauthorized copying is prohibited USE Net; USE CPSort; USE JSON; USE Whostmgr; USE AccountEnhancements; USE NVData; USE ExpVar; SET enhancements = AccountEnhancements.list(); SET spamassassin_disabled_title = locale.maketext('You cannot disable this option when the “[asis,Apache SpamAssassin™]: Forced Global ON” setting is enabled in the “[_1]” interface.', locale.maketext('Exim Configuration Manager')); SET worker_settings = {}; FOR worker = data.mail_workers; worker_settings.${worker.alias} = worker.system_settings; END; SET pkg_system_default_values = {}; FOR pkg = data.package_defaults.keys; pkg_system_default_values.${pkg} = data.package_defaults.$pkg.default; END; IF data.locked_to_mail_worker; SET spamassassin_globally_enabled = worker_settings.values().0.Mail.globalspamassassin; ELSE; SET spamassassin_globally_enabled = data.spamassassin_globally_enabled; END; SET over_account_limit = 0; IF data.number_of_accounts_remain <= 0 && data.check_user_account_limits; over_account_limit = 1; END; SET manual_resources_help = []; SET custom_controls = []; SET no_package_defaults = {}; SET acl_add_pkg = 'settings-acl_add-pkg'; SET acl_not_edit_account = 'settings-acl_not_edit-account'; SET acl_edit_account = 'settings-acl_edit-account'; # The below (10**12 - 1) is used purely for display purposes to ensure # a reasonable width on the type=number inputs: SET DEFAULT_NUMBER_LIMIT = 999999999999; SET reboot_url = "$cp_security_token/scripts/graceful_reboot_landing?suggest=1"; WRAPPER 'master_templates/master.tmpl' app_key = 'create_a_new_account' breadcrumburl = '/scripts5/wwwacctform' theme = 'bootstrap' scripts = [ '/js/sorttable.js', '/templates/accounts/createacct.min.js', '/templates/common/collapsible_wrapper/collapsible_wrapper.min.js' ] stylesheets = [ '/cjt/css/ajaxapp-min.css', '/templates/common/revised_notices.min.css', '/templates/packages/common.min.css', '/templates/accounts/createacct.min.css', '/templates/common/collapsible_wrapper/collapsible_wrapper.min.css' ] extrastyle = '' include_legacy_stylesheets = 1 -%] [%# TODO: Copy this to account transfers. -%] [% IF Whostmgr.get_max_users() && Whostmgr.minimum_accounts_needed( Whostmgr.get_max_users() ) %] [%- PROCESS 'menu/_license_excess_create.tmpl' -%] [% ELSIF !data.$acl_edit_account && !data.all_pkgs.size && !data.invalid_nameserver_setup -%]
[% IF data.$acl_add_pkg %] [% locale.maketext('You have not added any packages. [output,url,_1,Add a package] to continue.', cp_security_token _ '/scripts/addpkg2') %] [% ELSE %] [% locale.maketext('No account packages are available for you. Contact your administrator for more information.') %] [% END %]
[% ELSE %] [% PROCESS '_pkg_hover.tmpl' -%] [% PROCESS '_ajaxapp_header.tmpl' -%] [% IF data.invalid_nameserver_setup -%]

[% locale.maketext('Your nameserver setup in [output,url,_1,Basic WebHost Manager® Setup] is invalid. Please enter at least two nameservers there before attempting to create an account.', "$cp_security_token/scripts/editsets") %]

[% ELSE -%]
[% SET show_limits_summary = 'settings-show_limits_summary' %] [% IF data.$show_limits_summary %]
[% SET limits_accounts = 'settings-limits_accounts' %] [% IF data.$limits_accounts %]

[% locale.maketext("Account Limits") %]

[% SET limits_number_of_accounts = 'settings-limits_number_of_accounts' %] [% IF data.$limits_number_of_accounts %] [% IF over_account_limit %] [% END %] [% END %] [% SET limits_resources = 'settings-limits_resources' %] [% IF data.$limits_resources %] [%# limits_resources %] [% END %]
Limit   Information
[% locale.maketext("Number of Accounts") %] [% data.number_of_accounts %] / [% data.number_of_accounts_allowed %]
[% locale.maketext("You have reached your account limit quota. You cannot create new accounts.") %]
[% locale.maketext("Disk Space") %] [% data.disk_used %] / [% data.disk_allowed %] [% SET overselling_disk = 'settings-overselling_disk' %] [% IF data.$overselling_disk %] [% locale.maketext("Your Disk Usage Limit is calculated based on how much disk space all your accounts have used.") %] [% ELSE %] [% locale.maketext("Your Disk Usage Limit is calculated based on how much disk space all your accounts have been allocated.") %] [% END %]
[% locale.maketext("Bandwidth") %] [% data.bw_used %] / [% data.bw_allowed %] [% SET overselling_bw = 'settings-overselling_bw' %] [% IF data.$overselling_bw %] [% locale.maketext("Your Bandwidth Usage Limit is calculated based on how much bandwidth all your accounts have used.") %] [% ELSE %] [% locale.maketext("Your Bandwidth Usage Limit is calculated based on how much bandwidth all your accounts have been allocated.") %] [% END %]
[%# limits_accounts %] [% END %] [% SET limits_resources = 'settings-limits_resources' %] [% IF data.$limits_resources %]

[% locale.maketext("Accounts Limits Based on Resources") %]

[% locale.maketext("The following limits show how many accounts could be created based on your remaining resources. If account creation is limited by a specific number of accounts then you may not be able to create as many accounts as listed below.") %]

[% FOREACH resource_package IN data.resource_pkg_list %] [% END %]
[% locale.maketext("Package") %]   [% locale.maketext("Limiting Factor") %]
[% resource_package.pkg %] [% resource_package.current %] / [% resource_package.max_allowed %] [% resource_package.limit_image %]
[% SET incompat_pkgs = 'settings-incompat_pkgs' %] [% IF data.$incompat_pkgs %]

[% locale.maketext("The following packages have been disabled because they have unlimited bandwidth or quota limits:") %]
    [% FOREACH incompatible_package IN data.incompat_pkg_list %]
  • [% incompatible_package.pkg %]
  • [% END %]
[% END %] [%# limits_resources %] [% END %] [% SET show_limits_number_of_packages = 'settings-show_limits_number_of_packages' %] [% IF data.$show_limits_number_of_packages %]

[% locale.maketext("Per Account Quantity Limits") %]

[% FOREACH number_package IN data.number_pkg_list %] [% END %]
Package  
[% number_package.pkg %] [% number_package.current %] / [% number_package.max_allowed %]
[% END %]
[%# show_limits_summary %] [% END -%] [%~ MACRO manualSettingControl(prefix, resource_obj, defaultvalue, min, max) BLOCK ~%] [% SET select_unlimited = resource_obj.default == 'unlimited' -%]
[% IF resource_obj.can_unlimited -%] [% END -%]
[% END %] [%~ MACRO manualResource(resource_name) BLOCK ~%] [% SET resource_obj = data.package_schema.$resource_name -%] [% SET unlimited = resource_obj.default == 'unlimited' ? 1 : 0 %] [% SET default_value = unlimited ? resource_obj.min : resource_obj.default %] [% custom_controls.push( { name => resource_name, label => resource_obj.label, min => resource_obj.min, max => resource_obj.max, default => resource_obj.default, } ) -%]
[% locale.makevar(resource_obj.label) -%] [% IF resource_obj.help_text -%] [% manual_resources_help.push([resource_name, resource_obj]) %] [% END -%]
[% manualSettingControl(resource_name, resource_obj, default_value, resource_obj.min, resource_obj.max) %]
[% END %] [%- SET whm_variables = Whostmgr.template_vars; SET show_reboot_banner = Whostmgr.check_flag('CPCONF=show_reboot_banner'), needs_reboot_result = whm_variables.needs_reboot; -%] [%- IF Whostmgr.hasroot() && show_reboot_banner && needs_reboot_result.needs_cloudlinux -%]
[% locale.maketext('[output,strong,Warning:] You must [output,url,_1,reboot,target,_blank] your server to start using [output,strong,CloudLinux features].', reboot_url) %]
[%- END -%] [%- IF Whostmgr.exists('.cpanel-onboot') -%]
[% locale.maketext('[output,strong,Warning:] Please wait for [output,strong,cpanel-onboot.service] to finish before creating one account. [output,em,Please Refresh this page to update this warning]') %]
[%- END -%]
[% WRAPPER common/collapsible_wrapper/collapsible_wrapper.tmpl label = locale.maketext("Domain Information") id = "domain_information" isExpanded = 1 disableCollapse = 1 %]
[% locale.maketext("Strength") %] ()
[% SET show_custom_wpsq_options = 'settings-custom-wpsq-options' %] [% IF data.$show_custom_wpsq_options %] [% # WP Squared simplified version of options %] [% manualResource('maxaddon') %] [% END %]
[% END %]
[% SET hide_package_settings = 'settings-hide_package_settings' %] [% IF ! data.$hide_package_settings %]
[% WRAPPER common/collapsible_wrapper/collapsible_wrapper.tmpl label = locale.maketext("Package") id = "package_wrapper" isExpanded = 1 disableCollapse = 1 %] [% IF Whostmgr.hasroot() %] [% END %]
[% IF data.all_pkgs.size %]
[% END %]
[% IF data.$acl_edit_account %]
[% IF data.$acl_add_pkg %] [%# acl_add_pkg %] [% END %]
[% ELSE %]
[% END %] [%# The following div is populated via API call. %]
[%# acl_edit_account %] [% END %] [%# WRAPPER collapsible_wrapper %] [% END %] [%# start account_enhancements %] [% SET user = Whostmgr.ENV.REMOTE_USER; SET enhancement_limits = AccountEnhancements.list_enhancement_limits( user ); FOREACH enhancement_limit IN enhancement_limits.data; IF enhancement_limit.value.limited == 1 && enhancement_limit.value.limit == 0; enhancement_limits.data.delete(enhancement_limit.key); END; END; SET enhancement_has_data_to_show = enhancements.data.size || enhancements.errors.size || enhancements.warnings.size; SET enhancement_limit_not_blocking = Whostmgr.hasroot() || enhancement_limits.data.size; %] [%- IF enhancement_has_data_to_show && enhancement_limit_not_blocking %]
[% WRAPPER common/collapsible_wrapper/collapsible_wrapper.tmpl label = locale.maketext("Account Enhancements") id = "account_enhancements" isOptional = 1 %] [% IF enhancements.errors.size %]
[% locale.maketext('Error') %]
[% FOREACH error IN enhancements.errors %]

[% error.html() %]

[%- END -%]
[% END %] [% IF enhancements.warnings.size %]
[% locale.maketext('Warning') %]
[%- FOREACH message IN enhancements.warnings -%]

[% message.html() %]

[%- END -%]
[% END %]
[% FOREACH enhancement IN enhancements.data; IF Whostmgr.hasroot() || enhancement_limits.data.defined(enhancement.id); SET html_name = enhancement.name.html(); -%]
[% END; END -%]
[% END -%]
[%# end account_enhancements %] [% END -%] [% SET hide_main_settings = 'settings-hide_main_settings' %] [% IF ! data.$hide_main_settings %]
[% IF data.$acl_not_edit_account %]
[% locale.maketext('The package that you choose determines these settings. For example, you can only select an IP address if the selected package includes a dedicated IP address.') %]
[% END %]
[% SET acl_add_pkg_ip = 'settings-acl_add-pkg-ip' %] [% IF data.$acl_add_pkg_ip %] [% END -%] [% SET acl_allow_shell = 'settings-acl_allow-shell' %] [% IF data.$acl_allow_shell && data.user_can_have_shell %] [% END %] [% IF data.user_can_have_cgi %]
[% END -%] [% SET acl_edit_account = 'settings-acl_edit-account' %] [% IF data.$acl_edit_account %]
[% END %]
[% user_feedback_text_for_more_locales() %]
[% END %] [% SET hide_mailrouting_settings = 'settings-hide_mailrouting_settings' %] [% IF ! data.$hide_mailrouting_settings %]
[% WRAPPER common/collapsible_wrapper/collapsible_wrapper.tmpl label = locale.maketext("Mail Routing Settings") id = "mail_routing_settings" isOptional = 1 %] [% IF data.locked_to_mail_worker -%] [% locale.maketext('Your account uses the following server to perform mail services: “[_1]” ([_2]). All accounts that you create will use this configuration.', data.mail_workers.0.alias().html(), data.mail_workers.0.hostname().html()) -%] [% ELSE -%]
([% locale.maketext("recommended") %]) [% locale.maketext("more »") %]
[% locale.maketext("more »") %]
[% locale.maketext("more »") %]
[% locale.maketext("more »") %]
[% IF data.has_root %]
[% IF data.mail_workers.size %] [% END %] [% locale.maketext("more »") %]
[% END %]
[% END -%] [% END -%]
[% END -%] [% SET acl_all = 'settings-acl_all' %] [% IF data.$acl_all %] [% SET hide_reseller_settings = 'settings-hide_reseller_settings' %] [% IF ! data.$hide_reseller_settings %]
[% WRAPPER common/collapsible_wrapper/collapsible_wrapper.tmpl label = locale.maketext("Reseller Settings") id = "reseller_settings" isOptional = 1 %]
[% END %]
[% END %] [% END %] [% SET hide_dns_settings = 'settings-hide_dns_settings' %] [% IF ! data.$hide_dns_settings %]
[% WRAPPER common/collapsible_wrapper/collapsible_wrapper.tmpl label = locale.maketext("DNS Settings") id = "dns_settings" isOptional = 1 %]
[% IF data.item('settings-acl_create-dns') || data.item('settings-acl_edit-dns') -%]
  ([% data.default_spf_string FILTER html %])
(zone template: )
  ([% data.default_dmarc_string FILTER html %])
(zone template: )
[% END # data.item -%]
[% SET acl_all = 'settings-acl_all' %] [% IF data.$acl_all %]
[% END # data.$acl_all %]
[% locale.maketext("Nameservers:") %]
[% END # wrapper %]
[% END # dns_settings %]
[% IF over_account_limit %] [% ELSE %] [% END %]
[% END #invalid_nameserver_setup -%] [% PROCESS '_ajaxapp_footer.tmpl' -%] [% END %] [% IF data.mail_workers.size %] [% END -%] [% END #wrapper -%]