File manager - Edit - /usr/local/cpanel/base/frontend/jupiter/tools/views/ssl_status_sidebar.html.tt
Back
[% USE SSL; # ===================== Constants ===================== SET CERT_STATE = { ERRORS_OR_INVALID = 'errors_or_invalid', EXPIRED = 'expired', EXPIRES_SOON = 'expires_soon', MISSING = 'missing', SELF_SIGNED = 'self_signed', VALID = 'valid', }; SET LINK_TYPE = { SSL_INSTALL = 'ssl_install_link', TLS_WIZARD = 'tls_wizard_link', }; SET STATUS_LEVEL = { DANGER = 'danger', SUCCESS = 'success', WARNING = 'warning', }; SET CSS_CLASSES = { BANNER_ALERT_DANGER = 'alert ssl-danger-banner', BANNER_ALERT_WARNING = 'alert ssl-warning-banner', DANGER_ICON_EXPIRED = 'ri-lg ri-error-warning-fill ssl-danger', DANGER_ICON_INACTIVE = 'ri-lg ri-close-circle-fill ssl-danger', SUCCESS_ICON_ACTIVE = 'ri-lg ri-checkbox-circle-fill ssl-success', WARNING_ICON_RENEW = 'ri-lg ri-alert-fill ssl-warning', }; # ===================== Translations ===================== SET TEXT = { ADD_SSL_CERT = locale.maketext("Add [asis,SSL] Certificate"), AUTOSSL_RENEWAL_FAILED = locale.maketext("Automatic renewal failed."), EXPIRING_SOON = locale.maketext("Certificate expiring soon."), DOMAIN_AT_RISK = locale.maketext("Your domain is at risk!"), SELF_SIGNED_NOTE = locale.maketext("Self-signed certificates may not protect you against all threats."), SSL_OPTIONS = locale.maketext("[asis,SSL] Options"), STATUS_ACTIVE = locale.maketext("Active"), STATUS_EXPIRED = locale.maketext("Expired"), STATUS_INACTIVE = locale.maketext("Inactive"), STATUS_RENEW_SOON = locale.maketext("Renew Soon"), STATUS_SELF_SIGNED = locale.maketext("Self-signed"), VIEW_SSL_CERT = locale.maketext("View [asis,SSL] Certificate"), }; # ===================== Data Source ===================== # Resolve only the primary domain's certificate (O(1)) rather than # enumerating every installed SSL host on the account. SET installed_host = execute('SSL', 'installed_host', { domain => primary_domain }).data; SET ssl_data = SSL.get_ssl_certificate_data_for_installed_host(installed_host); # ===================== Helper Macros ===================== MACRO get_certificate_state(ssl_data) BLOCK; IF !ssl_data.has_certificate; CERT_STATE.MISSING; ELSIF ssl_data.is_expired; CERT_STATE.EXPIRED; ELSIF !ssl_data.has_errors && ssl_data.expires_soon; CERT_STATE.EXPIRES_SOON; ELSIF !ssl_data.has_errors && ssl_data.is_self_signed; CERT_STATE.SELF_SIGNED; ELSIF !ssl_data.has_errors; CERT_STATE.VALID; ELSE; CERT_STATE.ERRORS_OR_INVALID; END; END; MACRO get_section_link(certificate_state, tls_wizard_requirements_met, tls_wizard_app) BLOCK; IF tls_wizard_requirements_met && tls_wizard_app && (certificate_state != CERT_STATE.VALID); LINK_TYPE.TLS_WIZARD; ELSE; LINK_TYPE.SSL_INSTALL; END; END; # ===================== Feature Flags ===================== SET ssl_show_unified_ui = ExpVar.expand('$ssl_show_unified_ui'); SET tls_wizard_requirements_met = ssl_show_unified_ui || (CPANEL.feature('sslinstall') && CPANEL.feature('tls_wizard') && CPANEL.feature('market') && ExpVar.expand('$market_has_enabled_providers')); # ===================== Utility Lookups ===================== SET link_text_lookup = { ${CERT_STATE.VALID} = TEXT.VIEW_SSL_CERT, ${CERT_STATE.EXPIRES_SOON} = TEXT.SSL_OPTIONS, ${CERT_STATE.MISSING} = TEXT.ADD_SSL_CERT, ${CERT_STATE.EXPIRED} = TEXT.ADD_SSL_CERT, ${CERT_STATE.ERRORS_OR_INVALID} = TEXT.ADD_SSL_CERT, ${CERT_STATE.SELF_SIGNED} = TEXT.ADD_SSL_CERT, }; SET certificate_state_lookup = { ${CERT_STATE.MISSING} = { status_level = STATUS_LEVEL.DANGER, status_text = TEXT.STATUS_INACTIVE, icon_class = CSS_CLASSES.DANGER_ICON_INACTIVE, }, ${CERT_STATE.EXPIRED} = { status_level = STATUS_LEVEL.DANGER, status_text = TEXT.STATUS_EXPIRED, icon_class = CSS_CLASSES.DANGER_ICON_EXPIRED, }, ${CERT_STATE.ERRORS_OR_INVALID} = { status_level = STATUS_LEVEL.DANGER, status_text = TEXT.STATUS_INACTIVE, icon_class = CSS_CLASSES.DANGER_ICON_INACTIVE, }, ${CERT_STATE.EXPIRES_SOON} = { status_level = STATUS_LEVEL.WARNING, status_text = TEXT.STATUS_RENEW_SOON, icon_class = CSS_CLASSES.WARNING_ICON_RENEW, }, ${CERT_STATE.VALID} = { status_level = STATUS_LEVEL.SUCCESS, status_text = TEXT.STATUS_ACTIVE, icon_class = CSS_CLASSES.SUCCESS_ICON_ACTIVE, }, ${CERT_STATE.SELF_SIGNED} = { status_level = STATUS_LEVEL.WARNING, status_text = TEXT.STATUS_SELF_SIGNED, icon_class = CSS_CLASSES.WARNING_ICON_RENEW, }, }; # ===================== Get Certificate State ===================== SET certificate_state = get_certificate_state(ssl_data); # ===================== Get Actionable Link ===================== SET tls_wizard_app = ssl_show_unified_ui ? CPBranding.get_application_from_available_applications(varcache.available_applications, 'ssl_tls_unified') : CPBranding.get_application_from_available_applications(varcache.available_applications, 'tls_wizard'); SET section_link_lookup = { ${LINK_TYPE.SSL_INSTALL} = { url = CPANEL.CPVAR.dprefix _ "ssl/install.html", text = link_text_lookup.${certificate_state}, }, ${LINK_TYPE.TLS_WIZARD} = { url = CPANEL.CPVAR.dprefix _ tls_wizard_app.url _ "#/create?domain=" _ primary_domain, text = link_text_lookup.${certificate_state}, } }; SET section_link_type = get_section_link(certificate_state, tls_wizard_requirements_met, tls_wizard_app); SET section_link = section_link_lookup.${section_link_type}; # ===================== Get Status Indicators ===================== SET status_indicator = certificate_state_lookup.${certificate_state}; SET banner_text_for_state = (certificate_state == CERT_STATE.EXPIRES_SOON) ? TEXT.EXPIRING_SOON : TEXT.DOMAIN_AT_RISK; IF certificate_state == CERT_STATE.EXPIRES_SOON; SET autossl_status = execute('SSL', 'get_autossl_renewal_status', { domain => primary_domain }).data; IF autossl_status.will_renew; SET status_indicator = { status_level = STATUS_LEVEL.SUCCESS, status_text = TEXT.STATUS_ACTIVE, icon_class = CSS_CLASSES.SUCCESS_ICON_ACTIVE, }; SET banner_text_for_state = ""; ELSIF autossl_status.has_problems; SET banner_text_for_state = TEXT.AUTOSSL_RENEWAL_FAILED; END; END; SET section_status_lookup = { ${STATUS_LEVEL.DANGER} = { show_banner = 1, banner_class = CSS_CLASSES.BANNER_ALERT_DANGER, banner_text = TEXT.DOMAIN_AT_RISK, icon_class = status_indicator.icon_class, status_text = status_indicator.status_text, }, ${STATUS_LEVEL.WARNING} = { show_banner = 1, banner_class = CSS_CLASSES.BANNER_ALERT_WARNING, banner_text = banner_text_for_state, icon_class = status_indicator.icon_class, status_text = status_indicator.status_text, }, ${STATUS_LEVEL.SUCCESS} = { show_banner = 0, banner_text = "", banner_class = "", icon_class = status_indicator.icon_class, status_text = status_indicator.status_text, }, }; SET section = section_status_lookup.${status_indicator.status_level}; # ================== Initialize Status ================== SET ssl_status = { status_text = section.status_text, icon_class = section.icon_class, show_banner = section.show_banner, banner_class = section.banner_class, banner_text = section.banner_text, action_text = section_link.text, action_href = section_link.url, is_self_signed = ssl_data.is_self_signed, self_signed_note_text = TEXT.SELF_SIGNED_NOTE, }; %]
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0.04 |
proxy
|
phpinfo
|
Settings