Changeset 2905766
- Timestamp:
- 04/28/2023 03:24:54 PM (3 years ago)
- Location:
- auto-install-free-ssl
- Files:
-
- 276 added
- 32 edited
-
tags/3.4.2 (added)
-
tags/3.4.2/FreeSSLAuto (added)
-
tags/3.4.2/FreeSSLAuto/src (added)
-
tags/3.4.2/FreeSSLAuto/src/Acme (added)
-
tags/3.4.2/FreeSSLAuto/src/Acme/AcmeV2.php (added)
-
tags/3.4.2/FreeSSLAuto/src/Acme/Base64UrlSafeEncoder.php (added)
-
tags/3.4.2/FreeSSLAuto/src/Acme/Client.php (added)
-
tags/3.4.2/FreeSSLAuto/src/Acme/ClientInterface.php (added)
-
tags/3.4.2/FreeSSLAuto/src/Acme/Factory.php (added)
-
tags/3.4.2/FreeSSLAuto/src/Acme/openssl.cnf (added)
-
tags/3.4.2/FreeSSLAuto/src/Admin (added)
-
tags/3.4.2/FreeSSLAuto/src/Admin/AdminNotice.php (added)
-
tags/3.4.2/FreeSSLAuto/src/Admin/AutoDataEntry.php (added)
-
tags/3.4.2/FreeSSLAuto/src/Admin/Factory.php (added)
-
tags/3.4.2/FreeSSLAuto/src/Admin/ForceHttpsPage.php (added)
-
tags/3.4.2/FreeSSLAuto/src/Admin/ForceSSL.php (added)
-
tags/3.4.2/FreeSSLAuto/src/Admin/GenerateSSLmanually.php (added)
-
tags/3.4.2/FreeSSLAuto/src/Admin/HomeOptions.php (added)
-
tags/3.4.2/FreeSSLAuto/src/Admin/Log.php (added)
-
tags/3.4.2/FreeSSLAuto/src/Controller.php (added)
-
tags/3.4.2/FreeSSLAuto/src/Email.php (added)
-
tags/3.4.2/FreeSSLAuto/src/Logger.php (added)
-
tags/3.4.2/assets (added)
-
tags/3.4.2/assets/css (added)
-
tags/3.4.2/assets/css/aifs-admin.css (added)
-
tags/3.4.2/assets/img (added)
-
tags/3.4.2/assets/img/fire.webp (added)
-
tags/3.4.2/assets/img/icon.jpg (added)
-
tags/3.4.2/assets/img/ssl-error.jpg (added)
-
tags/3.4.2/assets/js (added)
-
tags/3.4.2/assets/js/script.js (added)
-
tags/3.4.2/auto-install-free-ssl.php (added)
-
tags/3.4.2/composer.json (added)
-
tags/3.4.2/composer.lock (added)
-
tags/3.4.2/freemius (added)
-
tags/3.4.2/freemius/LICENSE.txt (added)
-
tags/3.4.2/freemius/assets (added)
-
tags/3.4.2/freemius/assets/css (added)
-
tags/3.4.2/freemius/assets/css/admin (added)
-
tags/3.4.2/freemius/assets/css/admin/account.css (added)
-
tags/3.4.2/freemius/assets/css/admin/add-ons.css (added)
-
tags/3.4.2/freemius/assets/css/admin/affiliation.css (added)
-
tags/3.4.2/freemius/assets/css/admin/checkout.css (added)
-
tags/3.4.2/freemius/assets/css/admin/clone-resolution.css (added)
-
tags/3.4.2/freemius/assets/css/admin/common.css (added)
-
tags/3.4.2/freemius/assets/css/admin/connect.css (added)
-
tags/3.4.2/freemius/assets/css/admin/debug.css (added)
-
tags/3.4.2/freemius/assets/css/admin/dialog-boxes.css (added)
-
tags/3.4.2/freemius/assets/css/admin/gdpr-optin-notice.css (added)
-
tags/3.4.2/freemius/assets/css/admin/index.php (added)
-
tags/3.4.2/freemius/assets/css/admin/optout.css (added)
-
tags/3.4.2/freemius/assets/css/admin/plugins.css (added)
-
tags/3.4.2/freemius/assets/css/customizer.css (added)
-
tags/3.4.2/freemius/assets/css/index.php (added)
-
tags/3.4.2/freemius/assets/img (added)
-
tags/3.4.2/freemius/assets/img/auto-install-free-ssl.png (added)
-
tags/3.4.2/freemius/assets/img/index.php (added)
-
tags/3.4.2/freemius/assets/img/plugin-icon.png (added)
-
tags/3.4.2/freemius/assets/img/theme-icon.png (added)
-
tags/3.4.2/freemius/assets/index.php (added)
-
tags/3.4.2/freemius/assets/js (added)
-
tags/3.4.2/freemius/assets/js/index.php (added)
-
tags/3.4.2/freemius/assets/js/nojquery.ba-postmessage.js (added)
-
tags/3.4.2/freemius/assets/js/nojquery.ba-postmessage.min.js (added)
-
tags/3.4.2/freemius/assets/js/postmessage.js (added)
-
tags/3.4.2/freemius/config.php (added)
-
tags/3.4.2/freemius/includes (added)
-
tags/3.4.2/freemius/includes/class-freemius-abstract.php (added)
-
tags/3.4.2/freemius/includes/class-freemius.php (added)
-
tags/3.4.2/freemius/includes/class-fs-admin-notices.php (added)
-
tags/3.4.2/freemius/includes/class-fs-api.php (added)
-
tags/3.4.2/freemius/includes/class-fs-lock.php (added)
-
tags/3.4.2/freemius/includes/class-fs-logger.php (added)
-
tags/3.4.2/freemius/includes/class-fs-options.php (added)
-
tags/3.4.2/freemius/includes/class-fs-plugin-updater.php (added)
-
tags/3.4.2/freemius/includes/class-fs-security.php (added)
-
tags/3.4.2/freemius/includes/class-fs-storage.php (added)
-
tags/3.4.2/freemius/includes/class-fs-user-lock.php (added)
-
tags/3.4.2/freemius/includes/customizer (added)
-
tags/3.4.2/freemius/includes/customizer/class-fs-customizer-support-section.php (added)
-
tags/3.4.2/freemius/includes/customizer/class-fs-customizer-upsell-control.php (added)
-
tags/3.4.2/freemius/includes/customizer/index.php (added)
-
tags/3.4.2/freemius/includes/debug (added)
-
tags/3.4.2/freemius/includes/debug/class-fs-debug-bar-panel.php (added)
-
tags/3.4.2/freemius/includes/debug/debug-bar-start.php (added)
-
tags/3.4.2/freemius/includes/debug/index.php (added)
-
tags/3.4.2/freemius/includes/entities (added)
-
tags/3.4.2/freemius/includes/entities/class-fs-affiliate-terms.php (added)
-
tags/3.4.2/freemius/includes/entities/class-fs-affiliate.php (added)
-
tags/3.4.2/freemius/includes/entities/class-fs-billing.php (added)
-
tags/3.4.2/freemius/includes/entities/class-fs-entity.php (added)
-
tags/3.4.2/freemius/includes/entities/class-fs-payment.php (added)
-
tags/3.4.2/freemius/includes/entities/class-fs-plugin-info.php (added)
-
tags/3.4.2/freemius/includes/entities/class-fs-plugin-license.php (added)
-
tags/3.4.2/freemius/includes/entities/class-fs-plugin-plan.php (added)
-
tags/3.4.2/freemius/includes/entities/class-fs-plugin-tag.php (added)
-
tags/3.4.2/freemius/includes/entities/class-fs-plugin.php (added)
-
tags/3.4.2/freemius/includes/entities/class-fs-pricing.php (added)
-
tags/3.4.2/freemius/includes/entities/class-fs-scope-entity.php (added)
-
tags/3.4.2/freemius/includes/entities/class-fs-site.php (added)
-
tags/3.4.2/freemius/includes/entities/class-fs-subscription.php (added)
-
tags/3.4.2/freemius/includes/entities/class-fs-user.php (added)
-
tags/3.4.2/freemius/includes/entities/index.php (added)
-
tags/3.4.2/freemius/includes/fs-core-functions.php (added)
-
tags/3.4.2/freemius/includes/fs-essential-functions.php (added)
-
tags/3.4.2/freemius/includes/fs-plugin-info-dialog.php (added)
-
tags/3.4.2/freemius/includes/index.php (added)
-
tags/3.4.2/freemius/includes/l10n.php (added)
-
tags/3.4.2/freemius/includes/managers (added)
-
tags/3.4.2/freemius/includes/managers/class-fs-admin-menu-manager.php (added)
-
tags/3.4.2/freemius/includes/managers/class-fs-admin-notice-manager.php (added)
-
tags/3.4.2/freemius/includes/managers/class-fs-cache-manager.php (added)
-
tags/3.4.2/freemius/includes/managers/class-fs-clone-manager.php (added)
-
tags/3.4.2/freemius/includes/managers/class-fs-gdpr-manager.php (added)
-
tags/3.4.2/freemius/includes/managers/class-fs-key-value-storage.php (added)
-
tags/3.4.2/freemius/includes/managers/class-fs-license-manager.php (added)
-
tags/3.4.2/freemius/includes/managers/class-fs-option-manager.php (added)
-
tags/3.4.2/freemius/includes/managers/class-fs-permission-manager.php (added)
-
tags/3.4.2/freemius/includes/managers/class-fs-plan-manager.php (added)
-
tags/3.4.2/freemius/includes/managers/class-fs-plugin-manager.php (added)
-
tags/3.4.2/freemius/includes/managers/index.php (added)
-
tags/3.4.2/freemius/includes/sdk (added)
-
tags/3.4.2/freemius/includes/sdk/Exceptions (added)
-
tags/3.4.2/freemius/includes/sdk/Exceptions/ArgumentNotExistException.php (added)
-
tags/3.4.2/freemius/includes/sdk/Exceptions/EmptyArgumentException.php (added)
-
tags/3.4.2/freemius/includes/sdk/Exceptions/Exception.php (added)
-
tags/3.4.2/freemius/includes/sdk/Exceptions/InvalidArgumentException.php (added)
-
tags/3.4.2/freemius/includes/sdk/Exceptions/OAuthException.php (added)
-
tags/3.4.2/freemius/includes/sdk/Exceptions/index.php (added)
-
tags/3.4.2/freemius/includes/sdk/FreemiusBase.php (added)
-
tags/3.4.2/freemius/includes/sdk/FreemiusWordPress.php (added)
-
tags/3.4.2/freemius/includes/sdk/LICENSE.txt (added)
-
tags/3.4.2/freemius/includes/sdk/index.php (added)
-
tags/3.4.2/freemius/includes/supplements (added)
-
tags/3.4.2/freemius/includes/supplements/fs-essential-functions-1.1.7.1.php (added)
-
tags/3.4.2/freemius/includes/supplements/fs-essential-functions-2.2.1.php (added)
-
tags/3.4.2/freemius/includes/supplements/fs-migration-2.5.1.php (added)
-
tags/3.4.2/freemius/includes/supplements/index.php (added)
-
tags/3.4.2/freemius/index.php (added)
-
tags/3.4.2/freemius/languages (added)
-
tags/3.4.2/freemius/languages/freemius-cs_CZ.mo (added)
-
tags/3.4.2/freemius/languages/freemius-da_DK.mo (added)
-
tags/3.4.2/freemius/languages/freemius-de_DE.mo (added)
-
tags/3.4.2/freemius/languages/freemius-en.mo (added)
-
tags/3.4.2/freemius/languages/freemius-es_ES.mo (added)
-
tags/3.4.2/freemius/languages/freemius-fr_FR.mo (added)
-
tags/3.4.2/freemius/languages/freemius-he_IL.mo (added)
-
tags/3.4.2/freemius/languages/freemius-hu_HU.mo (added)
-
tags/3.4.2/freemius/languages/freemius-it_IT.mo (added)
-
tags/3.4.2/freemius/languages/freemius-ja.mo (added)
-
tags/3.4.2/freemius/languages/freemius-nl_NL.mo (added)
-
tags/3.4.2/freemius/languages/freemius-ru_RU.mo (added)
-
tags/3.4.2/freemius/languages/freemius-ta.mo (added)
-
tags/3.4.2/freemius/languages/freemius-zh_CN.mo (added)
-
tags/3.4.2/freemius/languages/freemius.pot (added)
-
tags/3.4.2/freemius/languages/index.php (added)
-
tags/3.4.2/freemius/require.php (added)
-
tags/3.4.2/freemius/start.php (added)
-
tags/3.4.2/freemius/templates (added)
-
tags/3.4.2/freemius/templates/account (added)
-
tags/3.4.2/freemius/templates/account.php (added)
-
tags/3.4.2/freemius/templates/account/billing.php (added)
-
tags/3.4.2/freemius/templates/account/index.php (added)
-
tags/3.4.2/freemius/templates/account/partials (added)
-
tags/3.4.2/freemius/templates/account/partials/activate-license-button.php (added)
-
tags/3.4.2/freemius/templates/account/partials/addon.php (added)
-
tags/3.4.2/freemius/templates/account/partials/deactivate-license-button.php (added)
-
tags/3.4.2/freemius/templates/account/partials/disconnect-button.php (added)
-
tags/3.4.2/freemius/templates/account/partials/index.php (added)
-
tags/3.4.2/freemius/templates/account/partials/site.php (added)
-
tags/3.4.2/freemius/templates/account/payments.php (added)
-
tags/3.4.2/freemius/templates/add-ons.php (added)
-
tags/3.4.2/freemius/templates/add-trial-to-pricing.php (added)
-
tags/3.4.2/freemius/templates/admin-notice.php (added)
-
tags/3.4.2/freemius/templates/ajax-loader.php (added)
-
tags/3.4.2/freemius/templates/api-connectivity-message-js.php (added)
-
tags/3.4.2/freemius/templates/auto-installation.php (added)
-
tags/3.4.2/freemius/templates/checkout.php (added)
-
tags/3.4.2/freemius/templates/clone-resolution-js.php (added)
-
tags/3.4.2/freemius/templates/connect (added)
-
tags/3.4.2/freemius/templates/connect.php (added)
-
tags/3.4.2/freemius/templates/connect/index.php (added)
-
tags/3.4.2/freemius/templates/connect/permission.php (added)
-
tags/3.4.2/freemius/templates/connect/permissions-group.php (added)
-
tags/3.4.2/freemius/templates/contact.php (added)
-
tags/3.4.2/freemius/templates/debug (added)
-
tags/3.4.2/freemius/templates/debug.php (added)
-
tags/3.4.2/freemius/templates/debug/api-calls.php (added)
-
tags/3.4.2/freemius/templates/debug/index.php (added)
-
tags/3.4.2/freemius/templates/debug/logger.php (added)
-
tags/3.4.2/freemius/templates/debug/plugins-themes-sync.php (added)
-
tags/3.4.2/freemius/templates/debug/scheduled-crons.php (added)
-
tags/3.4.2/freemius/templates/email.php (added)
-
tags/3.4.2/freemius/templates/forms (added)
-
tags/3.4.2/freemius/templates/forms/affiliation.php (added)
-
tags/3.4.2/freemius/templates/forms/data-debug-mode.php (added)
-
tags/3.4.2/freemius/templates/forms/deactivation (added)
-
tags/3.4.2/freemius/templates/forms/deactivation/contact.php (added)
-
tags/3.4.2/freemius/templates/forms/deactivation/form.php (added)
-
tags/3.4.2/freemius/templates/forms/deactivation/index.php (added)
-
tags/3.4.2/freemius/templates/forms/deactivation/retry-skip.php (added)
-
tags/3.4.2/freemius/templates/forms/email-address-update.php (added)
-
tags/3.4.2/freemius/templates/forms/index.php (added)
-
tags/3.4.2/freemius/templates/forms/license-activation.php (added)
-
tags/3.4.2/freemius/templates/forms/optout.php (added)
-
tags/3.4.2/freemius/templates/forms/premium-versions-upgrade-handler.php (added)
-
tags/3.4.2/freemius/templates/forms/premium-versions-upgrade-metadata.php (added)
-
tags/3.4.2/freemius/templates/forms/resend-key.php (added)
-
tags/3.4.2/freemius/templates/forms/subscription-cancellation.php (added)
-
tags/3.4.2/freemius/templates/forms/trial-start.php (added)
-
tags/3.4.2/freemius/templates/forms/user-change.php (added)
-
tags/3.4.2/freemius/templates/gdpr-optin-js.php (added)
-
tags/3.4.2/freemius/templates/index.php (added)
-
tags/3.4.2/freemius/templates/js (added)
-
tags/3.4.2/freemius/templates/js/index.php (added)
-
tags/3.4.2/freemius/templates/js/jquery.content-change.php (added)
-
tags/3.4.2/freemius/templates/js/open-license-activation.php (added)
-
tags/3.4.2/freemius/templates/js/permissions.php (added)
-
tags/3.4.2/freemius/templates/js/style-premium-theme.php (added)
-
tags/3.4.2/freemius/templates/partials (added)
-
tags/3.4.2/freemius/templates/partials/index.php (added)
-
tags/3.4.2/freemius/templates/partials/network-activation.php (added)
-
tags/3.4.2/freemius/templates/plugin-icon.php (added)
-
tags/3.4.2/freemius/templates/plugin-info (added)
-
tags/3.4.2/freemius/templates/plugin-info/description.php (added)
-
tags/3.4.2/freemius/templates/plugin-info/features.php (added)
-
tags/3.4.2/freemius/templates/plugin-info/index.php (added)
-
tags/3.4.2/freemius/templates/plugin-info/screenshots.php (added)
-
tags/3.4.2/freemius/templates/powered-by.php (added)
-
tags/3.4.2/freemius/templates/pricing.php (added)
-
tags/3.4.2/freemius/templates/secure-https-header.php (added)
-
tags/3.4.2/freemius/templates/sticky-admin-notice-js.php (added)
-
tags/3.4.2/freemius/templates/tabs-capture-js.php (added)
-
tags/3.4.2/freemius/templates/tabs.php (added)
-
tags/3.4.2/index.php (added)
-
tags/3.4.2/languages (added)
-
tags/3.4.2/languages/index.php (added)
-
tags/3.4.2/license.txt (added)
-
tags/3.4.2/readme.txt (added)
-
tags/3.4.2/vendor (added)
-
tags/3.4.2/vendor/autoload.php (added)
-
tags/3.4.2/vendor/bin (added)
-
tags/3.4.2/vendor/composer (added)
-
tags/3.4.2/vendor/composer/ClassLoader.php (added)
-
tags/3.4.2/vendor/composer/InstalledVersions.php (added)
-
tags/3.4.2/vendor/composer/LICENSE (added)
-
tags/3.4.2/vendor/composer/autoload_classmap.php (added)
-
tags/3.4.2/vendor/composer/autoload_files.php (added)
-
tags/3.4.2/vendor/composer/autoload_namespaces.php (added)
-
tags/3.4.2/vendor/composer/autoload_psr4.php (added)
-
tags/3.4.2/vendor/composer/autoload_real.php (added)
-
tags/3.4.2/vendor/composer/autoload_static.php (added)
-
tags/3.4.2/vendor/composer/installed.json (added)
-
tags/3.4.2/vendor/composer/installed.php (added)
-
tags/3.4.2/vendor/composer/platform_check.php (added)
-
tags/3.4.2/vendor/indigophp (added)
-
tags/3.4.2/vendor/indigophp/hash-compat (added)
-
tags/3.4.2/vendor/indigophp/hash-compat/CHANGELOG.md (added)
-
tags/3.4.2/vendor/indigophp/hash-compat/LICENSE (added)
-
tags/3.4.2/vendor/indigophp/hash-compat/README.md (added)
-
tags/3.4.2/vendor/indigophp/hash-compat/Vagrantfile (added)
-
tags/3.4.2/vendor/indigophp/hash-compat/composer.json (added)
-
tags/3.4.2/vendor/indigophp/hash-compat/src (added)
-
tags/3.4.2/vendor/indigophp/hash-compat/src/hash_equals.php (added)
-
tags/3.4.2/vendor/indigophp/hash-compat/src/hash_pbkdf2.php (added)
-
tags/3.4.2/vendor/usrflo (added)
-
tags/3.4.2/vendor/usrflo/registered-domain-libs (added)
-
tags/3.4.2/vendor/usrflo/registered-domain-libs/.gitignore (added)
-
tags/3.4.2/vendor/usrflo/registered-domain-libs/PHP (added)
-
tags/3.4.2/vendor/usrflo/registered-domain-libs/PHP/effectiveTLDs.inc.php (added)
-
tags/3.4.2/vendor/usrflo/registered-domain-libs/PHP/regDomain.class.php (added)
-
tags/3.4.2/vendor/usrflo/registered-domain-libs/PHP/regDomain.inc.php (added)
-
tags/3.4.2/vendor/usrflo/registered-domain-libs/PHP/test-regDomain.php (added)
-
tags/3.4.2/vendor/usrflo/registered-domain-libs/PHP/test-regDomain.sh (added)
-
tags/3.4.2/vendor/usrflo/registered-domain-libs/README.txt (added)
-
tags/3.4.2/vendor/usrflo/registered-domain-libs/generateEffectiveTLDs.php (added)
-
trunk/FreeSSLAuto/src/Acme/AcmeV2.php (modified) (25 diffs)
-
trunk/FreeSSLAuto/src/Acme/Client.php (modified) (2 diffs)
-
trunk/FreeSSLAuto/src/Acme/Factory.php (modified) (2 diffs)
-
trunk/FreeSSLAuto/src/Admin/AdminNotice.php (modified) (18 diffs)
-
trunk/FreeSSLAuto/src/Admin/AutoDataEntry.php (modified) (1 diff)
-
trunk/FreeSSLAuto/src/Admin/Factory.php (modified) (8 diffs)
-
trunk/FreeSSLAuto/src/Admin/ForceHttpsPage.php (modified) (1 diff)
-
trunk/FreeSSLAuto/src/Admin/ForceSSL.php (modified) (9 diffs)
-
trunk/FreeSSLAuto/src/Admin/GenerateSSLmanually.php (modified) (24 diffs)
-
trunk/FreeSSLAuto/src/Admin/HomeOptions.php (modified) (21 diffs)
-
trunk/FreeSSLAuto/src/Admin/Log.php (modified) (6 diffs)
-
trunk/FreeSSLAuto/src/Controller.php (modified) (4 diffs)
-
trunk/FreeSSLAuto/src/Email.php (modified) (4 diffs)
-
trunk/FreeSSLAuto/src/Logger.php (modified) (1 diff)
-
trunk/assets/css/aifs-admin.css (modified) (3 diffs)
-
trunk/auto-install-free-ssl.php (modified) (7 diffs)
-
trunk/freemius/languages/freemius-cs_CZ.mo (modified) (previous)
-
trunk/freemius/languages/freemius-da_DK.mo (modified) (previous)
-
trunk/freemius/languages/freemius-de_DE.mo (modified) (previous)
-
trunk/freemius/languages/freemius-en.mo (modified) (previous)
-
trunk/freemius/languages/freemius-es_ES.mo (modified) (previous)
-
trunk/freemius/languages/freemius-fr_FR.mo (modified) (previous)
-
trunk/freemius/languages/freemius-he_IL.mo (modified) (previous)
-
trunk/freemius/languages/freemius-hu_HU.mo (modified) (previous)
-
trunk/freemius/languages/freemius-it_IT.mo (modified) (previous)
-
trunk/freemius/languages/freemius-ja.mo (modified) (previous)
-
trunk/freemius/languages/freemius-nl_NL.mo (modified) (previous)
-
trunk/freemius/languages/freemius-ru_RU.mo (modified) (previous)
-
trunk/freemius/languages/freemius-ta.mo (modified) (previous)
-
trunk/freemius/languages/freemius-zh_CN.mo (modified) (previous)
-
trunk/freemius/start.php (modified) (1 diff)
-
trunk/readme.txt (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
auto-install-free-ssl/trunk/FreeSSLAuto/src/Acme/AcmeV2.php
r2886132 r2905766 74 74 { 75 75 if ( !defined( 'ABSPATH' ) ) { 76 die( __( "Access Denied", 'auto-install-free-ssl' ) );76 die( __( "Access denied", 'auto-install-free-ssl' ) ); 77 77 } 78 78 $this->is_staging = $is_staging; … … 176 176 if ( 'valid' === $response2['status'] ) { 177 177 //Domain ownership already verified. Skip the verification process 178 /* translators: %s: A domain name, e.g., example.com */ 178 179 $this->logger->log( sprintf( __( "Domain (%s) already verified. Skip the verification process.", 'auto-install-free-ssl' ), $domain ) ); 179 180 $return_array_step1['domain_data'][$domain]['verified'] = true; … … 184 185 185 186 if ( empty($response2['challenges']) ) { 187 /* translators: %s: A domain name, e.g., example.com */ 186 188 $msg = sprintf( __( "Challenge for %s is not available. Whole response:", 'auto-install-free-ssl' ), $domain ) . " <br />\n"; 187 189 … … 209 211 if ( !$challenge ) { 210 212 //"dns-01" is NOT available 213 /* translators: %s: A domain name, e.g., example.com */ 211 214 $msg = sprintf( __( "Neither 'HTTP-01' nor 'DNS-01' challenge for %s is available. Whole response:", 'auto-install-free-ssl' ), $domain ) . " <br />\n"; 212 215 … … 226 229 $this->logger->log( __( "The 'HTTP-01' challenge was NOT found, but the 'DNS-01' challenge has been found.", 'auto-install-free-ssl' ) ); 227 230 if ( !aifs_is_free_version() ) { 228 $this->logger->log( " " . sprintf( __( "So, using the 'DNS-01' challenge for %s.", 'auto-install-free-ssl' ), $domain ) ); 231 /* translators: %1$s: Challenge type (HTTP-01 or DNS-01); %2$s: A domain name, e.g., example.com */ 232 $this->logger->log( " " . sprintf( __( 'So, using the \'%1$s\' challenge for %2$s.', 'auto-install-free-ssl' ), 'DNS-01', $domain ) ); 229 233 } 230 234 //$this->challenge = 'dns-01'; … … 234 238 $this->logger->log( __( "'HTTP-01' challenge found.", 'auto-install-free-ssl' ) ); 235 239 if ( !aifs_is_free_version() ) { 236 $this->logger->log( " " . sprintf( __( "So, using the 'HTTP-01' challenge for %s.", 'auto-install-free-ssl' ), $domain ) ); 240 /* translators: %1$s: Challenge type (HTTP-01 or DNS-01); %2$s: A domain name, e.g., example.com */ 241 $this->logger->log( " " . sprintf( __( 'So, using the \'%1$s\' challenge for %2$s.', 'auto-install-free-ssl' ), 'HTTP-01', $domain ) ); 237 242 } 238 243 //$this->challenge = 'http-01'; … … 241 246 242 247 $return_array_step1['domain_data'][$domain]['challenge'] = $challenge; 248 /* translators: %s: A domain name, e.g., example.com */ 243 249 $this->logger->log( sprintf( __( "We got the challenge token for %s.", 'auto-install-free-ssl' ), $domain ) ); 244 250 $location = $this->client->getLastLocation(); … … 293 299 294 300 if ( !$this->factory->verify_internally_http_wp( $payload, $uri ) ) { 295 $this->logger->log( __( "1st Internal Validation: Payload content does not match the challenge URI's content.", 'auto-install-free-ssl' ) );301 $this->logger->log( __( "1st Internal Validation:", 'auto-install-free-ssl' ) . " " . __( "Payload content does not match the challenge URI's content.", 'auto-install-free-ssl' ) ); 296 302 //Create htaccess rules in .well-known directory to fix the issue 297 303 … … 304 310 305 311 if ( !$this->factory->verify_internally_http_wp( $payload, $uri ) ) { 306 $this->logger->log( __( "2nd Internal Validation: Payload content does not match the challenge URI's content.", 'auto-install-free-ssl' ) );312 $this->logger->log( __( "2nd Internal Validation:", 'auto-install-free-ssl' ) . " " . __( "Payload content does not match the challenge URI's content.", 'auto-install-free-ssl' ) ); 307 313 if ( !aifs_is_free_version() ) { 308 314 … … 316 322 } else { 317 323 //Put success log text here 318 $this->logger->log( sprintf( __( "Final Internal Validation: the Payload content (%s) successfully matched the content of %s.", 'auto-install-free-ssl' ), $payload, $uri ) ); 324 /* translators: %1$s: A data, i.e., string of characters; %2$s: A URL, e.g., http://example.com/.well-known/acme-challenge/egIiS7rwd */ 325 $this->logger->log( sprintf( __( 'Final Internal Validation: the Payload content (%1$s) successfully matched the content of %2$s.', 'auto-install-free-ssl' ), $payload, $uri ) ); 319 326 return true; 320 327 } … … 322 329 } else { 323 330 //Put success log text here 324 $this->logger->log( sprintf( __( "Final Internal Validation: the Payload content (%s) successfully matched the content of %s.", 'auto-install-free-ssl' ), $payload, $uri ) ); 331 /* translators: %1$s: A data, i.e., string of characters; %2$s: A URL, e.g., http://example.com/.well-known/acme-challenge/egIiS7rwd */ 332 $this->logger->log( sprintf( __( 'Final Internal Validation: the Payload content (%1$s) successfully matched the content of %2$s.', 'auto-install-free-ssl' ), $payload, $uri ) ); 325 333 return true; 326 334 } … … 375 383 if ( $txt_details['txt'] === $dns_txt_record ) { 376 384 $propagated = true; 385 /* translators: %1$s: DNS TXT record */ 377 386 $this->logger->log( sprintf( __( "TXT record (%s) has been propagated successfully.", 'auto-install-free-ssl' ), $dns_txt_record ) ); 378 387 } … … 381 390 382 391 if ( !$propagated ) { 383 $this->logger->log( sprintf( __( "TXT record (%s) has NOT been propagated till now, sleeping for %d minutes.", 'auto-install-free-ssl' ), $dns_txt_record, 2 ) ); 392 $min = __( "2", 'auto-install-free-ssl' ); 393 /* translators: %1$s: DNS TXT record; %2$s: Number of minutes, e.g., 2 */ 394 $this->logger->log( sprintf( __( 'TXT record (%1$s) has NOT been propagated till now, sleeping for %2$s minutes.', 'auto-install-free-ssl' ), $dns_txt_record, $min ) ); 384 395 sleep( 120 ); 385 396 } … … 396 407 397 408 if ( null === $txt_details || $txt_details['txt'] !== $dns_txt_record ) { 398 $this->logger->log_v2( 'debug', sprintf( __( "TXT record %s for %s has NOT been propagated till now. Please check whether the TXT record was set correctly. You may also set 'dns_provider_takes_longer_to_propagate' => true and try again.", 'auto-install-free-ssl' ), $dns_txt_record, $sub_domain ) ); 409 /* translators: %1$s: DNS TXT record; %2$s: A sub-domain, e.g., sub.example.com */ 410 $this->logger->log_v2( 'debug', sprintf( __( 'TXT record %1$s for %2$s has NOT been propagated till now. Please check whether the TXT record was set correctly. You may also set \'dns_provider_takes_longer_to_propagate\' => true and try again.', 'auto-install-free-ssl' ), $dns_txt_record, $sub_domain ) ); 399 411 return false; 400 412 } else { … … 513 525 514 526 if ( !$ended ) { 515 $this->logger->log( sprintf( __( "Verification pending, sleeping %d seconds.", 'auto-install-free-ssl' ), 2 ) ); 527 $sec = __( "2", 'auto-install-free-ssl' ); 528 /* translators: %s: Number of seconds, e.g., 2 */ 529 $this->logger->log( sprintf( __( "Verification pending, sleeping %s seconds.", 'auto-install-free-ssl' ), $sec ) ); 516 530 //sleep(1); 517 531 sleep( 2 ); … … 519 533 520 534 } while (!$ended); 521 $this->logger->log( sprintf( __( "Verification ended with status: %s for the domain %s", 'auto-install-free-ssl' ), $result['status'], $domain ) ); 535 /* translators: %1$s: Status of the verification, e.g., 'valid'; %2$s: A domain name, e.g., example.com */ 536 $this->logger->log( sprintf( __( 'Verification ended with status: \'%1$s\' for the domain %2$s', 'auto-install-free-ssl' ), strtoupper( $result['status'] ), $domain ) ); 522 537 523 538 if ( 'valid' === $result['status'] ) { … … 572 587 573 588 if ( 202 === $this->client->getLastCode() ) { 574 $this->logger->log( sprintf( __( "Certificate generation pending, sleeping %d second.", 'auto-install-free-ssl' ), 1 ) ); 589 $sec = __( "1", 'auto-install-free-ssl' ); 590 /* translators: %s: Number of second */ 591 $this->logger->log( sprintf( __( "Certificate generation pending, sleeping %s second.", 'auto-install-free-ssl' ), $sec ) ); 575 592 sleep( 1 ); 576 593 } elseif ( 200 === $this->client->getLastCode() ) { … … 594 611 $this->logger->log( __( "Saving fullchain.pem", 'auto-install-free-ssl' ) ); 595 612 file_put_contents( $domainPath . DS . 'fullchain.pem', $result ); 596 $this->logger->log_v2( 'SUCCESS', __( "Done!!!! Let's Encrypt ACME V2 SSL certificate successfully issued!!", 'auto-install-free-ssl' ), [ 613 /* translators: "Let's Encrypt" is a nonprofit SSL certificate authority. */ 614 $this->logger->log_v2( 'SUCCESS', __( "Done!!!! Let's Encrypt™ ACME V2 SSL certificate successfully issued!!", 'auto-install-free-ssl' ), [ 597 615 'event' => 'gist', 598 616 ] ); … … 639 657 private function postNewReg( $key_path ) 640 658 { 641 $this->logger->log( __( "Sending registration to the Let's Encrypt server", 'auto-install-free-ssl' ) ); 659 /* translators: "Let's Encrypt" is a nonprofit SSL certificate authority. */ 660 $this->logger->log( __( "Sending registration to the Let's Encrypt™ server", 'auto-install-free-ssl' ) ); 642 661 $data = [ 643 662 'termsOfServiceAgreed' => true, … … 700 719 'signature' => $signed64, 701 720 ]; 721 /* translators: %s: URL of the API */ 702 722 $this->logger->log( sprintf( __( "Sending signed request to %s", 'auto-install-free-ssl' ), $newAccountUrl ) ); 703 723 return $this->client->post( $newAccountUrl, json_encode( $data ) ); … … 740 760 'signature' => $signed64, 741 761 ]; 762 /* translators: %s: URL of the API */ 742 763 $this->logger->log( sprintf( __( "Sending signed request to %s", 'auto-install-free-ssl' ), $uri ) ); 743 764 return $this->client->post( $uri, json_encode( $data ) ); … … 786 807 } 787 808 } else { 788 $error_text = sprintf( __( "Error creating kid.txt file. Please create a text file with filename 'kid.txt' in this path %s and paste this text in it (without quotation mark) \"%s\". Then try again.", 'auto-install-free-ssl' ), "<pre>" . \dirname( $this->accountKeyPath ) . "</pre>", $this->kid ); 809 /* translators: %1$s: A directory path, e.g., /home/username/ssl-cert; %2$s: A kid (characters) generated by Let's Encrypt */ 810 $error_text = sprintf( __( 'Error creating kid.txt file. Please create a text file with the filename \'kid.txt\' in this path %1$s and paste the following text in it: %2$s Then try again.', 'auto-install-free-ssl' ), "<strong>" . \dirname( $this->accountKeyPath ) . "</strong>", "<pre>" . $this->kid . "</pre>" ); 789 811 $this->logger->log_v2( 'error', $error_text . " " . __( "Closing the connection", 'auto-install-free-ssl' ), [ 790 812 'event' => 'exit', … … 795 817 796 818 } else { 797 $this->logger->log_v2( 'debug', __( "Sorry, there was a problem registering the account. Please try again. Let's Encrypt server response given below.", 'auto-install-free-ssl' ) ); 819 /* translators: "Let's Encrypt" is a nonprofit SSL certificate authority. */ 820 $this->logger->log_v2( 'debug', __( "Sorry, there was a problem registering the account. Please try again. Let's Encrypt™ server response given below.", 'auto-install-free-ssl' ) ); 798 821 //Delete the key files as the registration failed 799 822 … … 817 840 if ( strpos( $response['type'], 'invalidEmail' ) !== false ) { 818 841 $error_text = sprintf( 819 __( "Oops! An invalid email id (%s) was set as the admin email of this WordPress website. But Let's Encrypt expects we should register an account with a working email address. So please %s fill in the following text field with your real email id%s and try again. This will update the admin email too.", 'auto-install-free-ssl' ), 842 /* translators: %1$s: An email id; %2$s: Opening HTML 'strong' tag; %3$s: Closing 'strong' tag. (Opening and closing 'strong' tags make the enclosed text bold. "Let's Encrypt" is a nonprofit SSL certificate authority.) */ 843 __( 'Oops! An invalid email id (%1$s) was set as the admin email of this WordPress website. But Let\'s Encrypt™ expects we should register an account with a working email address. So please %2$s fill in the following text field with your real email id %3$s and try again. This will update the admin email too.', 'auto-install-free-ssl' ), 820 844 implode( ', ', $this->contact ), 821 845 '<strong>', … … 826 850 } 827 851 } else { 828 $error_text = __( "Oops! There is an error registering your Let's Encrypt account. Error details are given below:", 'auto-install-free-ssl' ) . '<br /><pre>' . print_r( $response, true ) . '</pre>'; 852 /* translators: "Let's Encrypt" is a nonprofit SSL certificate authority. */ 853 $error_text = __( "Oops! There is an error registering your Let's Encrypt™ account. Error details are given below:", 'auto-install-free-ssl' ) . '<br /><pre>' . print_r( $response, true ) . '</pre>'; 829 854 } 830 855 -
auto-install-free-ssl/trunk/FreeSSLAuto/src/Acme/Client.php
r2868890 r2905766 38 38 { 39 39 if ( !defined( 'ABSPATH' ) ) { 40 die( __( "Access Denied", 'auto-install-free-ssl' ) );40 die( __( "Access denied", 'auto-install-free-ssl' ) ); 41 41 } 42 42 $this->base = $base; … … 104 104 if ( !\in_array( $this->lastCode, $expected_status_codes, true ) ) { 105 105 //Failed 106 $this->logger->log_v2( 'error', sprintf( __( "Sorry, the Let’s Encrypt server response (%d) is unexpected. The complete server response is given below.", 'auto-install-free-ssl' ), $this->lastCode ) ); 106 /* translators: %d: A number i.e., HTTP status code. ("Let's Encrypt" is a nonprofit SSL certificate authority.) */ 107 $this->logger->log_v2( 'error', sprintf( __( "Sorry, the Let's Encrypt™ server response (%d) is unexpected. The complete server response is given below.", 'auto-install-free-ssl' ), $this->lastCode ) ); 107 108 108 109 if ( $this->logger->is_cli() ) { -
auto-install-free-ssl/trunk/FreeSSLAuto/src/Acme/Factory.php
r2868890 r2905766 39 39 { 40 40 if ( !defined( 'ABSPATH' ) ) { 41 die( __( "Access Denied", 'auto-install-free-ssl' ) );41 die( __( "Access denied", 'auto-install-free-ssl' ) ); 42 42 } 43 43 $this->certificatesBase = $certificatesBase; … … 208 208 if ( !is_dir( $outputDirectory ) ) { 209 209 //throw new \RuntimeException("Can't create directory ${outputDirectory}. Please manually create the directory in your certificate directory and set permission 0700 and try again."); 210 /* translators: %s: A directory path */ 210 211 $this->logger->exception_sse_friendly( sprintf( __( "Can't create directory %s. Please manually create the directory in your certificate directory, set permission 0700, and try again.", 'auto-install-free-ssl' ), $outputDirectory ), __FILE__, __LINE__ ); 211 212 } -
auto-install-free-ssl/trunk/FreeSSLAuto/src/Admin/AdminNotice.php
r2886132 r2905766 47 47 { 48 48 if ( !defined( 'ABSPATH' ) ) { 49 die( __( "Access Denied", 'auto-install-free-ssl' ) );49 die( __( "Access denied", 'auto-install-free-ssl' ) ); 50 50 } 51 51 // Set class property … … 56 56 * 57 57 */ 58 59 if ( !get_option( 'aifs_number_of_ssl_generated' ) && $this->factory->is_ssl_generated() ) { 60 add_option( 'aifs_number_of_ssl_generated', 1 ); 61 // since 3.4.0 62 } 63 64 if ( !get_option( 'aifs_is_generated_ssl_installed' ) && $this->factory->is_generated_ssl_installed() ) { 65 // or $number_of_ssl_generated >= 1 66 add_option( 'aifs_is_generated_ssl_installed', 1 ); 67 } 68 69 if ( strlen( get_option( 'aifs_display_review' ) ) === 0 && get_option( 'aifs_is_generated_ssl_installed' ) ) { 70 // Logic refactored since 3.4.0 71 72 if ( aifs_is_free_version() ) { 73 //Display review if a valid SSL installed -> this may slowdown a bit 74 //$display_review = $this->factory->is_ssl_installed_on_this_website() === true; 75 $display_review = true; 76 } else { 77 //Premium version. So, display review on cPanel only and if a valid SSL installed 78 //$display_review = $this->factory->is_cpanel() && $this->factory->is_ssl_installed_on_this_website() === true; 79 $display_review = $this->factory->is_cpanel(); 80 } 81 82 if ( $display_review ) { 83 add_option( 'aifs_display_review', 1 ); 84 } 85 } 86 58 $this->factory->add_display_review(); 59 // Logic refactored since 3.4.0 87 60 /*if(isset($this->options['homedir'])){ 88 61 … … 248 221 $generate_ssl = new GenerateSSLmanually(); 249 222 $renew_button_text = __( "Renew SSL Now", 'auto-install-free-ssl' ); 223 /* translators: %s: A date, e.g., December 30, 2023. */ 224 $msg_before_expiry = sprintf( __( "Your visitors will see a security warning in red and may leave your website if you don't renew the SSL certificate before the expiry date %s.", 'auto-install-free-ssl' ), $expiry_date ); 250 225 $html = '<div class="notice notice-error aifs-review"> 251 226 <div class="aifs-review-box"> 252 227 <img class="aifs-notice-img-left" src="' . AIFS_URL . 'assets/img/ssl-error.jpg" /> 253 <p style="text-align: justify;">' . __( "Hello", 'auto-install-free-ssl' ) . ' ' . aifs_admin_first_name() . ', <span style="color: red;">' . (( time() > $expiry_timestamp ? __( "your visitors will see a security warning in red and may leave your website if you don't renew the SSL certificate URGENTLY.", 'auto-install-free-ssl' ) : sprintf( __( "your visitors will see a security warning in red and may leave your website if you don't renew the SSL certificate before the expiry date %s.", 'auto-install-free-ssl' ), $expiry_date ) )) . '</span> <span style="font-size: small;">(' . sprintf( __( "The validity of %s free SSL is 90 days. They recommend renewing 30 days before expiry.", 'auto-install-free-ssl' ), $issuerShort ) . ')</span><!-- <br /><strong>~' . AIFS_NAME . '</strong>--> 228 <p style="text-align: justify;">' . __( "Hello", 'auto-install-free-ssl' ) . ' ' . aifs_admin_first_name() . ', <span style="color: red;">' . (( time() > $expiry_timestamp ? __( "Your visitors will see a security warning in red and may leave your website if you don't renew the SSL certificate URGENTLY.", 'auto-install-free-ssl' ) : $msg_before_expiry )) . '</span> '; 229 /* translators: %s: Name of the SSL certificate authority, e.g., Let's Encrypt */ 230 $html .= '<span style="font-size: small;">(' . sprintf( __( "The validity of %s free SSL is 90 days. They recommend renewing 30 days before expiry.", 'auto-install-free-ssl' ), $issuerShort ) . ')</span><!-- <br /><strong>~' . AIFS_NAME . '</strong>--> 254 231 <br /><span style="font-size: medium; line-height: 3em;">' . __( "Tired of renewing & installing SSL certificates manually every 60 days? Try Premium Version, and the plugin will do it automatically!", 'auto-install-free-ssl' ) . '</span></p> 255 232 </div> … … 282 259 return; 283 260 } 284 $display_review = get_option( 'aifs_display_review' ) && is_ssl();261 $display_review = get_option( 'aifs_display_review' ); 285 262 //Get the value of aifs_display_review 286 263 287 if ( $display_review_request && $display_review) {264 if ( $display_review_request && is_ssl() && $display_review == 1 ) { 288 265 $already_done = wp_nonce_url( get_site_url() . $_SERVER['REQUEST_URI'], 'aifs_reviewed', 'aifsrated' ); 289 266 $remind_later = wp_nonce_url( get_site_url() . $_SERVER['REQUEST_URI'], 'aifs_review_later', 'aifslater' ); … … 291 268 <div class="aifs-review-box"> 292 269 <img class="aifs-notice-img-left" src="' . AIFS_URL . 'assets/img/icon.jpg" /> 293 <p>' . __( "Hey", 'auto-install-free-ssl' ) . ' ' . aifs_admin_first_name() . ', <strong>' . AIFS_NAME . '</strong> ' . __( "has saved you \$90 by providing Free SSL Certificates and will save more. Please share your experience with us on WordPress (probably with a five-star rating). That will help boost our motivation and spread the word.", 'auto-install-free-ssl' ) . ' <br />~Anindya</p>270 <p>' . __( "Hey", 'auto-install-free-ssl' ) . ' ' . aifs_admin_first_name() . ', ' . sprintf( __( "%s has saved you \$90 by providing Free SSL Certificates and will save more. Please share your experience with us on WordPress (probably with a five-star rating). That will help boost our motivation and spread the word.", 'auto-install-free-ssl' ), '<strong>' . AIFS_NAME . '</strong>' ) . ' <br />~Anindya</p> 294 271 </div> 295 <a class="aifs-review-now aifs-review-button" href="https://wordpress.org/support/plugin/auto-install-free-ssl/reviews/ #new-post" target="_blank">' . __( "Click here to Review", 'auto-install-free-ssl' ) . '</a>272 <a class="aifs-review-now aifs-review-button" href="https://wordpress.org/support/plugin/auto-install-free-ssl/reviews/?filter=5#new-post" target="_blank">' . __( "Click here to Review", 'auto-install-free-ssl' ) . '</a> 296 273 <a class="aifs-review-button" href="' . $already_done . '" rel="nofollow" onclick="return confirm(\'Are you sure you have reviewed ' . AIFS_NAME . ' plugin?\')">' . __( "I have done", 'auto-install-free-ssl' ) . '</a> 297 274 <a class="aifs-review-button" href="' . $already_done . '" rel="nofollow" onclick="return confirm(\'Are you sure you do NOT want to review ' . AIFS_NAME . ' plugin?\')">' . __( "I don't want to", 'auto-install-free-ssl' ) . '</a> … … 314 291 315 292 if ( aifs_is_existing_user() ) { 316 317 if ( time() < strtotime( "January 1, 2023" ) ) { 318 $this->general_announcement(); 319 } else { 320 $this->discount_offer_to_existing_users(); 321 } 322 293 /*if(time() < strtotime("January 1, 2023")) { 294 $this->general_announcement(); 295 } 296 else {*/ 297 $this->discount_offer_to_existing_users(); 298 //} 323 299 } else { 324 300 $this->general_announcement(); … … 347 323 $already_done = wp_nonce_url( get_site_url() . $_SERVER['REQUEST_URI'], 'aifs_announcement_already_read', 'aifsannouncementdone' ); 348 324 $remind_later = wp_nonce_url( get_site_url() . $_SERVER['REQUEST_URI'], 'aifs_announcement_read_later', 'aifsannouncementlater' ); 349 350 if ( aifs_is_existing_user() ) { 351 $link = menu_page_url( 'auto_install_free_ssl', false ); 352 $link_text = __( "Claim for FREE", 'auto-install-free-ssl' ); 353 $already_done_text = __( "I have already claimed", 'auto-install-free-ssl' ); 354 $dont_want_text = __( "I don't want it", 'auto-install-free-ssl' ); 355 $already_done_confirmation_text = sprintf( __( "Are you sure you have already claimed the Premium Version of %s for FREE?", 'auto-install-free-ssl' ), AIFS_NAME ); 356 $dont_want_confirmation_text = sprintf( __( "Are you sure you do NOT want the Premium Version of %s for FREE?", 'auto-install-free-ssl' ), AIFS_NAME ); 357 } else { 358 $link = menu_page_url( 'auto_install_free_ssl', false ) . "&comparison=yes"; 359 $link_text = __( "Comparison Table", 'auto-install-free-ssl' ); 360 $already_done_text = __( "Got it", 'auto-install-free-ssl' ); 361 $dont_want_text = __( "I don't want to", 'auto-install-free-ssl' ); 362 $already_done_confirmation_text = sprintf( __( "Are you sure you know the benefits of the Premium Version of %s compared to the free version?", 'auto-install-free-ssl' ), AIFS_NAME ); 363 $dont_want_confirmation_text = sprintf( __( "Are you sure you do NOT want to learn the benefits of the Premium Version of %s compared to the free version?", 'auto-install-free-ssl' ), AIFS_NAME ); 364 } 365 325 /*if ( aifs_is_existing_user() ) { 326 $link = menu_page_url( 'auto_install_free_ssl', false ); 327 $link_text = __( "Claim for FREE", 'auto-install-free-ssl' ); 328 $already_done_text = __( "I have already claimed", 'auto-install-free-ssl' ); 329 $dont_want_text = __( "I don't want it", 'auto-install-free-ssl' ); 330 $already_done_confirmation_text = sprintf(__( "Are you sure you have already claimed the Premium Version of %s for FREE?", 'auto-install-free-ssl' ), AIFS_NAME); 331 $dont_want_confirmation_text = sprintf(__( "Are you sure you do NOT want the Premium Version of %s for FREE?", 'auto-install-free-ssl' ), AIFS_NAME); 332 333 } else {*/ 334 $link = menu_page_url( 'auto_install_free_ssl', false ) . "&comparison=yes"; 335 $link_text = __( "Comparison Table", 'auto-install-free-ssl' ); 336 $already_done_text = __( "Got it", 'auto-install-free-ssl' ); 337 $dont_want_text = __( "I don't want to", 'auto-install-free-ssl' ); 338 /* translators: %s: Name of this plugin, i.e., 'Auto-Install Free SSL' */ 339 $already_done_confirmation_text = sprintf( __( "Are you sure you know the benefits of the Premium Version of %s compared to the free version?", 'auto-install-free-ssl' ), AIFS_NAME ); 340 /* translators: %s: Name of this plugin, i.e., 'Auto-Install Free SSL' */ 341 $dont_want_confirmation_text = sprintf( __( "Are you sure you do NOT want to learn the benefits of the Premium Version of %s compared to the free version?", 'auto-install-free-ssl' ), AIFS_NAME ); 342 //} 366 343 $html = '<div class="notice notice-success aifs-review"> 367 344 <div class="aifs-review-box"> … … 369 346 if ( aifs_is_existing_user() ) { 370 347 //$html .= '<a href="' . $link . '">' . __( "click here", 'auto-install-free-ssl' ) . '</a> ' . __( 'and claim a Premium License of', 'auto-install-free-ssl' ) . ' <strong>' . AIFS_NAME . '</strong> ' . __( 'for FREE!', 'auto-install-free-ssl' ) . '<br />'; 371 $html .= sprintf( 372 __( "%s click here%s and claim a Premium License of %s for FREE!", 'auto-install-free-ssl' ), 373 '<a href="' . $link . '">', 374 '</a>', 375 '<strong>' . AIFS_NAME . '</strong>' 376 ); 377 } 378 $html .= sprintf( __( "As we mentioned in our %sannouncement%s dated November 3, 2020, we released the premium version", 'auto-install-free-ssl' ), '<a href="https://freessl.tech/blog/auto-install-free-ssl-needs-your-help-to-survive" target="_blank">', '</a>' ); 379 if ( !aifs_is_existing_user() ) { 380 $html .= ' ' . __( "of", 'auto-install-free-ssl' ) . " <strong>" . AIFS_NAME . "</strong>"; 381 } 382 $html .= ' ' . __( "on June 30, 2022, which is fully automated.", 'auto-install-free-ssl' ) . '</p>'; 348 //$html .= sprintf(__( '%1$s click here%2$s and claim a Premium License of %3$s for FREE!', 'auto-install-free-ssl' ), '<a href="' . $link . '">', '</a>', '<strong>' . AIFS_NAME . '</strong>'); 349 } 350 $html .= sprintf( 351 /* translators: %1$s: Opening HTML 'a' tag; %2$s: Closing 'a' tag; %3$s: Name of this plugin, i.e., 'Auto-Install Free SSL'; (Opening and closing 'a' tags create a hyperlink with the enclosed text.) */ 352 __( 'As we mentioned in our %1$s announcement %2$s dated November 3, 2020, we released the premium version of %3$s on June 30, 2022, which is fully automated.', 'auto-install-free-ssl' ), 353 '<a href="https://freessl.tech/blog/auto-install-free-ssl-needs-your-help-to-survive" target="_blank">', 354 '</a>', 355 '<strong>' . AIFS_NAME . '</strong>' 356 ) . '</p>'; 383 357 $html .= '<img class="aifs-notice-img-right" src="' . AIFS_URL . 'assets/img/icon.jpg" /> 384 358 </div> 385 359 <a class="aifs-review-now aifs-review-button" href="' . $link . '">' . $link_text . '</a> 386 360 <a class="aifs-review-button" href="' . $already_done . '" rel="nofollow" onclick="return confirm(\'' . $already_done_confirmation_text . '\')">' . $already_done_text . '</a> 387 <a class="aifs-review-button" href="' . $already_done . '" rel="nofollow" onclick="return confirm(\'' . $dont_want_confirmation_text . '\')">' . $dont_want_text . '</a> 388 <a class="aifs-review-button" href="' . $remind_later . '" rel="nofollow" onclick="return confirm(\'' . sprintf( __( "Do you need %s to remind you later?", 'auto-install-free-ssl' ), AIFS_NAME ) . '\')">' . __( "Remind me later", 'auto-install-free-ssl' ) . '</a> 361 <a class="aifs-review-button" href="' . $already_done . '" rel="nofollow" onclick="return confirm(\'' . $dont_want_confirmation_text . '\')">' . $dont_want_text . '</a>'; 362 /* translators: %s: Name of this plugin, i.e., 'Auto-Install Free SSL' */ 363 $html .= '<a class="aifs-review-button" href="' . $remind_later . '" rel="nofollow" onclick="return confirm(\'' . sprintf( __( "Do you need %s to remind you later?", 'auto-install-free-ssl' ), AIFS_NAME ) . '\')">'; 364 $html .= __( "Remind me later", 'auto-install-free-ssl' ) . '</a> 389 365 </div>'; 390 366 echo $html ; … … 418 394 $already_done_text = __( "I have already purchased", 'auto-install-free-ssl' ); 419 395 $dont_want_text = __( "I don't want it", 'auto-install-free-ssl' ); 396 /* translators: %s: Name of this plugin, i.e., 'Auto-Install Free SSL' */ 420 397 $already_done_confirmation_text = sprintf( __( "Are you sure you have already purchased the Premium license of %s?", 'auto-install-free-ssl' ), AIFS_NAME ); 421 398 422 399 if ( aifs_is_free_version() ) { 400 /* translators: %s: Name of this plugin, i.e., 'Auto-Install Free SSL' */ 423 401 $dont_want_confirmation_text = sprintf( __( "If you do not purchase a premium license, you will need to renew your SSL certificate manually every 60 days. Are you sure you do not want the Premium Version of %s?", 'auto-install-free-ssl' ), AIFS_NAME ); 424 402 } else { 425 $dont_want_confirmation_text = sprintf( __( "Are you sure you do not want the Premium Version of %s? Suppose you do not purchase a premium license. In that case, your installation will be downgraded to the free plan from January 1, 2023, and you will need to renew your SSL certificate manually every 60 days.", 'auto-install-free-ssl' ), AIFS_NAME ); 403 $dont_want_confirmation_text = ""; 404 //$dont_want_confirmation_text = sprintf(__( "Are you sure you do not want the Premium Version of %s? Suppose you do not purchase a premium license. In that case, your installation will be downgraded to the free plan from January 1, 2023, and you will need to renew your SSL certificate manually every 60 days.", 'auto-install-free-ssl' ), AIFS_NAME); 426 405 } 427 406 … … 433 412 //Text only for free version 434 413 $html .= sprintf( 435 __( "as we mentioned in our %sannouncement%s dated November 3, 2020, we released the premium version of %s on June 30, 2022, which is fully automated, and%s this free version doesn't have any automation feature.%s", 'auto-install-free-ssl' ), 414 /* translators: %1$s: Opening HTML 'a' tag; %2$s: Closing 'a' tag; %3$s: Name of this plugin, i.e., 'Auto-Install Free SSL'; (Opening and closing 'a' tags create a hyperlink with the enclosed text.) */ 415 __( 'As we mentioned in our %1$s announcement %2$s dated November 3, 2020, we released the premium version of %3$s on June 30, 2022, which is fully automated.', 'auto-install-free-ssl' ), 436 416 '<a href="https://freessl.tech/blog/auto-install-free-ssl-needs-your-help-to-survive" target="_blank">', 437 417 '</a>', 438 '<strong>' . AIFS_NAME . '</strong>', 439 '<span style="color: red;">', 440 '</span>' 441 ) . '<br />'; 418 '<strong>' . AIFS_NAME . '</strong>' 419 ) . ' '; 420 $html .= '<span style="color: red;">' . __( "This free version doesn't have any automation feature.", 'auto-install-free-ssl' ) . '</span><br />'; 442 421 } else { 443 422 //Text for premium version 444 $html .= '<span style="color: red;">' . sprintf( 445 __( "the current free premium %sunlimited sites%s license of '%s' expires on December 31, 2022.", 'auto-install-free-ssl' ), 446 '<strong>', 447 '</strong>', 448 AIFS_NAME 449 ) . '</span><br />'; 423 $html .= ""; 424 //$html .= '<span style="color: red;">' . sprintf( __( 'the current free premium %1$sunlimited sites%2$s license of \'%3$s\' expires on December 31, 2022.', 'auto-install-free-ssl' ), '<strong>', '</strong>', AIFS_NAME ) . '</span><br />'; 450 425 } 451 426 452 427 $html .= sprintf( 453 __( "%sClick here%s to purchase a premium license using this %s discount code: %s", 'auto-install-free-ssl' ), 428 /* translators: %1$s: Opening HTML 'a' tag; %2$s: Closing 'a' tag; %3$s: Discount percentage (includes % sign); %4$s: Coupon code for the discount; (Opening and closing 'a' tags create a hyperlink with the enclosed text.) */ 429 __( '%1$sClick here%2$s to purchase a premium license using this %3$s discount code: %4$s', 'auto-install-free-ssl' ), 454 430 '<a href="' . $link . '"' . (( aifs_is_free_version() ? '' : ' target="_blank"' )) . '>', 455 431 '</a>', 456 ( time() < strtotime( "February 1, 2023" ) ? '30%' : '20%'),432 ( time() < strtotime( "February 1, 2023" ) ? __( "30%", 'auto-install-free-ssl' ) : __( "20%", 'auto-install-free-ssl' ) ), 457 433 '<span style="color: green; font-weight: bold;">' . (( time() < strtotime( "February 1, 2023" ) ? 'THANKYOU' : 'THANKYOU20' )) . '</span>' 458 434 ) . ' '; … … 462 438 $html .= '<a class="aifs-review-now aifs-review-button" href="' . $link . '"' . (( aifs_is_free_version() ? '' : ' target="_blank"' )) . '>' . $link_text . '</a>'; 463 439 $html .= '<a class="aifs-review-button" href="' . $already_done . '" rel="nofollow" onclick="return confirm(\'' . $already_done_confirmation_text . '\')">' . $already_done_text . '</a> 464 <a class="aifs-review-button" href="' . $already_done . '" rel="nofollow" onclick="return confirm(\'' . $dont_want_confirmation_text . '\')">' . $dont_want_text . '</a> 465 <a class="aifs-review-button" href="' . $remind_later . '" rel="nofollow" onclick="return confirm(\'' . sprintf( __( "Do you need %s to remind you later?", 'auto-install-free-ssl' ), AIFS_NAME ) . '\')">' . __( "Remind me later", 'auto-install-free-ssl' ) . '</a> 440 <a class="aifs-review-button" href="' . $already_done . '" rel="nofollow" onclick="return confirm(\'' . $dont_want_confirmation_text . '\')">' . $dont_want_text . '</a>'; 441 /* translators: %s: Name of this plugin, i.e., 'Auto-Install Free SSL' */ 442 $html .= '<a class="aifs-review-button" href="' . $remind_later . '" rel="nofollow" onclick="return confirm(\'' . sprintf( __( "Do you need %s to remind you later?", 'auto-install-free-ssl' ), AIFS_NAME ) . '\')">'; 443 $html .= __( "Remind me later", 'auto-install-free-ssl' ) . '</a> 466 444 </div>'; 467 445 echo $html ; … … 485 463 if ( isset( $_GET['aifsrated'] ) ) { 486 464 if ( !wp_verify_nonce( $_GET['aifsrated'], 'aifs_reviewed' ) ) { 487 wp_die( __( "Access Denied", 'auto-install-free-ssl' ) );465 wp_die( __( "Access denied", 'auto-install-free-ssl' ) ); 488 466 } 489 467 update_option( 'aifs_display_review', 0 ); … … 493 471 if ( isset( $_GET['aifslater'] ) ) { 494 472 if ( !wp_verify_nonce( $_GET['aifslater'], 'aifs_review_later' ) ) { 495 wp_die( __( "Access Denied", 'auto-install-free-ssl' ) );473 wp_die( __( "Access denied", 'auto-install-free-ssl' ) ); 496 474 } 497 475 update_option( 'aifs_display_review', 5 ); … … 506 484 if ( isset( $_GET['aifsannouncementdone'] ) ) { 507 485 if ( !wp_verify_nonce( $_GET['aifsannouncementdone'], 'aifs_announcement_already_read' ) ) { 508 wp_die( __( "Access Denied", 'auto-install-free-ssl' ) );486 wp_die( __( "Access denied", 'auto-install-free-ssl' ) ); 509 487 } 510 488 update_option( 'aifs_display_free_premium_offer', 0 ); … … 514 492 if ( isset( $_GET['aifsannouncementlater'] ) ) { 515 493 if ( !wp_verify_nonce( $_GET['aifsannouncementlater'], 'aifs_announcement_read_later' ) ) { 516 wp_die( __( "Access Denied", 'auto-install-free-ssl' ) );494 wp_die( __( "Access denied", 'auto-install-free-ssl' ) ); 517 495 } 518 496 update_option( 'aifs_display_free_premium_offer', 5 ); … … 527 505 if ( isset( $_GET['aifsrenewssllater'] ) ) { 528 506 if ( !wp_verify_nonce( $_GET['aifsrenewssllater'], 'aifs_renew_ssl_later' ) ) { 529 wp_die( __( "Access Denied", 'auto-install-free-ssl' ) );507 wp_die( __( "Access denied", 'auto-install-free-ssl' ) ); 530 508 } 531 509 update_option( 'aifs_renew_ssl_later_requested_timestamp', time() ); … … 537 515 if ( isset( $_GET['aifsdiscountofferdone'] ) ) { 538 516 if ( !wp_verify_nonce( $_GET['aifsdiscountofferdone'], 'aifs_discount_offer_already_read' ) ) { 539 wp_die( __( "Access Denied", 'auto-install-free-ssl' ) );517 wp_die( __( "Access denied", 'auto-install-free-ssl' ) ); 540 518 } 541 519 update_option( 'aifs_display_discount_offer_existing_users', 0 ); … … 545 523 if ( isset( $_GET['aifsdiscountofferlater'] ) ) { 546 524 if ( !wp_verify_nonce( $_GET['aifsdiscountofferlater'], 'aifs_discount_offer_read_later' ) ) { 547 wp_die( __( "Access Denied", 'auto-install-free-ssl' ) );525 wp_die( __( "Access denied", 'auto-install-free-ssl' ) ); 548 526 } 549 527 update_option( 'aifs_display_discount_offer_existing_users', 5 ); -
auto-install-free-ssl/trunk/FreeSSLAuto/src/Admin/AutoDataEntry.php
r2793094 r2905766 45 45 { 46 46 if (!defined('ABSPATH')) { 47 die(__( "Access Denied", 'auto-install-free-ssl' ));47 die(__( "Access denied", 'auto-install-free-ssl' )); 48 48 } 49 49 -
auto-install-free-ssl/trunk/FreeSSLAuto/src/Admin/Factory.php
r2886132 r2905766 40 40 { 41 41 if ( !defined( 'ABSPATH' ) ) { 42 die( __( "Access Denied", 'auto-install-free-ssl' ) );42 die( __( "Access denied", 'auto-install-free-ssl' ) ); 43 43 } 44 44 $this->logger = new Logger(); … … 60 60 if ( !is_dir( $dirPath ) ) { 61 61 //throw new InvalidArgumentException("${dirPath} must be a directory"); 62 /* translators: %s: A directory path */ 62 63 $this->logger->exception_sse_friendly( sprintf( __( "%s must be a directory", 'auto-install-free-ssl' ), $dirPath ), __FILE__, __LINE__ ); 63 64 } … … 695 696 if ( !is_dir( AIFS_UPLOAD_DIR ) ) { 696 697 //throw new \RuntimeException("Can't create directory '".AIFS_UPLOAD_DIR."'. Please manually create it, set permission 0755 and try again."); 697 $this->logger->exception_sse_friendly( sprintf( __( "Can't create the directory '%s'. Please manually create it, set permission %s, and try again.", 'auto-install-free-ssl' ), AIFS_UPLOAD_DIR, '0700' ), __FILE__, __LINE__ ); 698 /* translators: %1$s: A directory path, e.g., /home/user/public_html, %2$s: Directory permissions number, e.g., 0700 */ 699 $this->logger->exception_sse_friendly( sprintf( __( 'Can not create the directory %1$s. Please manually create it, set permission %2$s, and try again.', 'auto-install-free-ssl' ), AIFS_UPLOAD_DIR, '0700' ), __FILE__, __LINE__ ); 698 700 } 699 701 … … 714 716 if ( !is_writable( AIFS_UPLOAD_DIR ) ) { 715 717 //throw new \RuntimeException("The directory '".AIFS_UPLOAD_DIR."' is not writable. Please manually set permission 0755 or 0777 to this directory and try again."); 718 /* translators: %s: A directory path, e.g., /home/user/public_html */ 716 719 $this->logger->exception_sse_friendly( sprintf( __( "The directory '%s' is not writable. Please manually set the permission 0755 or 0777 to this directory and try again.", 'auto-install-free-ssl' ), AIFS_UPLOAD_DIR ), __FILE__, __LINE__ ); 717 720 } … … 774 777 //throw new \RuntimeException("Can't create .htaccess file in the directory '".$dir_path."'. Please manually create it, and paste the above code in it."); 775 778 $this->logger->exception_sse_friendly( sprintf( 776 __( "Can't create the '%s' file in the directory '%s'. Please manually create it, and paste this code into it: %s", 'auto-install-free-ssl' ), 779 /* translators: %1$s: A file name; %2$s: A directory path; %3$s: Code that will be written in the file */ 780 __( 'Can\'t create the \'%1$s\' file in the directory \'%2$s\'. Please manually create it, and paste this code into it: %3$s', 'auto-install-free-ssl' ), 777 781 $file, 778 782 $dir_path, … … 797 801 //throw new \RuntimeException("Can't create .htaccess file in the directory '".$dir_path."'. Please manually create it, and paste the above code in it."); 798 802 $this->logger->exception_sse_friendly( sprintf( 799 __( "Can't create the '%s' file in the directory '%s'. Please manually create it, and paste this code into it: %s", 'auto-install-free-ssl' ), 803 /* translators: %1$s: A file name; %2$s: A directory path; %3$s: Code that will be written in the file */ 804 __( 'Can\'t create the \'%1$s\' file in the directory \'%2$s\'. Please manually create it, and paste this code into it: %3$s', 'auto-install-free-ssl' ), 800 805 $file, 801 806 $dir_path, … … 903 908 if ( count( $domain_online ) < 2 ) { 904 909 $link = "https://www.whatsmydns.net/#A/" . $offline_domain; 910 /* translators: %s: A domain name, e.g., example.com */ 905 911 $html .= "<p style='font-size: 1em; color: red;'>" . sprintf( __( "%s is offline.", 'auto-install-free-ssl' ), "<em>{$offline_domain}</em>" ); 906 912 $html .= " " . __( "Please point it to this hosting if you need SSL for it too.", 'auto-install-free-ssl' ) . "<br /><br />"; 907 $html .= sprintf( __( "After you do so, wait to propagate the DNS record. Please%s click here%s to check the DNS record propagation status. Proceed if you see green tick marks for almost all locations in the list and map.", 'auto-install-free-ssl' ), "<a href='{$link}' target='_blank'>", "</a>" ) . "</p>"; 913 /* translators: %s: HTML code to create a hyperlink with the text 'click here' */ 914 $html .= sprintf( __( "After you do so, wait to propagate the DNS record. Please %sclick here%s to check the DNS record propagation status. Proceed if you see green tick marks for almost all locations in the list and map.", 'auto-install-free-ssl' ), "<a href='{$link}' target='_blank'>", "</a>" ) . "</p>"; 908 915 } 909 916 … … 1267 1274 return false; 1268 1275 } 1276 1277 /** 1278 * Add 'aifs_display_review' option if the conditions are true 1279 * @since 3.4.2 1280 */ 1281 public function add_display_review() 1282 { 1283 1284 if ( !get_option( 'aifs_number_of_ssl_generated' ) && $this->is_ssl_generated() ) { 1285 add_option( 'aifs_number_of_ssl_generated', 1 ); 1286 // since 3.4.0 1287 } 1288 1289 if ( !get_option( 'aifs_is_generated_ssl_installed' ) && $this->is_generated_ssl_installed() ) { 1290 // or $number_of_ssl_generated >= 1 1291 add_option( 'aifs_is_generated_ssl_installed', 1 ); 1292 } 1293 1294 if ( strlen( get_option( 'aifs_display_review' ) ) === 0 && get_option( 'aifs_is_generated_ssl_installed' ) ) { 1295 // Logic refactored since 3.4.0 1296 1297 if ( aifs_is_free_version() ) { 1298 //Display review if a valid SSL installed -> this may slowdown a bit 1299 //$display_review = $this->factory->is_ssl_installed_on_this_website() === true; 1300 $display_review = true; 1301 } else { 1302 //Premium version. So, display review on cPanel only and if a valid SSL installed 1303 //$display_review = $this->factory->is_cpanel() && $this->factory->is_ssl_installed_on_this_website() === true; 1304 $display_review = $this->is_cpanel(); 1305 } 1306 1307 if ( $display_review ) { 1308 add_option( 'aifs_display_review', 1 ); 1309 } 1310 } 1311 1312 } 1269 1313 1270 1314 } -
auto-install-free-ssl/trunk/FreeSSLAuto/src/Admin/ForceHttpsPage.php
r2886132 r2905766 44 44 { 45 45 if (!defined('ABSPATH')) { 46 die(__( "Access Denied", 'auto-install-free-ssl' ));46 die(__( "Access denied", 'auto-install-free-ssl' )); 47 47 } 48 48 -
auto-install-free-ssl/trunk/FreeSSLAuto/src/Admin/ForceSSL.php
r2886132 r2905766 54 54 { 55 55 if ( !defined( 'ABSPATH' ) ) { 56 die( __( "Access Denied", 'auto-install-free-ssl' ) );56 die( __( "Access denied", 'auto-install-free-ssl' ) ); 57 57 } 58 58 //Following function should be called for any value of aifs_force_ssl, so that revert to HTTP possible from admin dashboard … … 312 312 if ( !is_ssl() ) { 313 313 $html .= '<p>' . __( "Clicking this button will immediately force your website to load over HTTPS and may prompt you to log in again.", 'auto-install-free-ssl' ) . '</p>'; 314 $html .= '<p><strong>' . __( "WARNING", 'auto-install-free-ssl' ) . ':</strong> ' . sprintf( __( "If the SSL certificate is not installed correctly, clicking this button may cause issues accessing the website. So, please click this link first: %s and check for HTTPS in the address bar.", 'auto-install-free-ssl' ), '<a href="https://' . $site_url . '" target="_blank">https://' . $site_url . '</a>' ) . '</p>'; 314 $html .= '<p><strong>' . __( "WARNING", 'auto-install-free-ssl' ) . ':</strong> '; 315 /* translators: %s: A website address with a hyperlink, e.g., https://example.com */ 316 $html .= sprintf( __( "If the SSL certificate is not installed correctly, clicking this button may cause issues accessing the website. So, please click this link first: %s and check for HTTPS in the address bar.", 'auto-install-free-ssl' ), '<a href="https://' . $site_url . '" target="_blank">https://' . $site_url . '</a>' ) . '</p>'; 315 317 } 316 318 317 $html .= '<p>' . __( "If you face issues after clicking this button, please revert to HTTP.", 'auto-install-free-ssl' ) . '<strong> ' . __( "Please don't worry; as soon as you click the button, we'll send you an automated email with a link. If you need to revert to HTTP, click that link.", 'auto-install-free-ssl' ) . '</strong> ' . __( "Please check your spam folder if you don't find that email in your inbox.", 'auto-install-free-ssl' ) . '</p>' . '<p>' . sprintf( __( "But if the issue persists even after you click that link, please %sclick here%s for documentation on more options on how to revert to HTTP.", 'auto-install-free-ssl' ), '<a href="https://freessl.tech/free-ssl-certificate-for-wordpress-website/#reverthttp" target="_blank">', '</a>' ) . '</p>'; 319 $html .= '<p>' . __( "If you face issues after clicking this button, please revert to HTTP.", 'auto-install-free-ssl' ) . '<strong> ' . __( "Please don't worry; as soon as you click the button, we'll send you an automated email with a link. If you need to revert to HTTP, click that link.", 'auto-install-free-ssl' ) . '</strong> ' . __( "Please check your spam folder if you don't find that email in your inbox.", 'auto-install-free-ssl' ) . '</p>'; 320 /* translators: %s: HTML code to create a hyperlink with the text 'click here' */ 321 $html .= '<p>' . sprintf( __( "But if the issue persists even after you click that link, please %sclick here%s for documentation on more options on how to revert to HTTP.", 'auto-install-free-ssl' ), '<a href="https://freessl.tech/free-ssl-certificate-for-wordpress-website/#reverthttp" target="_blank">', '</a>' ) . '</p>'; 318 322 $html .= $this->force_ssl_form( 1 ); 319 323 } else { … … 345 349 346 350 if ( !wp_verify_nonce( $_POST['aifs-activate-force-ssl'], 'aifsforcessl' ) ) { 347 wp_die( __( "Access Denied", 'auto-install-free-ssl' ) );351 wp_die( __( "Access denied", 'auto-install-free-ssl' ) ); 348 352 } else { 349 353 /* Check if a valid SSL installed on this website - START */ … … 357 361 if ( !$ssl_details['domain_other_version']['ssl_installed'] ) { 358 362 $text_display = sprintf( 359 __( "No %svalid%s SSL is installed on %s and %s. %sPlease install an SSL certificate on this website and try again.%s", 'auto-install-free-ssl' ), 363 /* translators: %1$s: Opening HTML 'strong' tag; %2$s: Closing 'strong' tag; %3$s: A domain name, e.g., example.com; %4$s: Another domain name, e.g., www.example.com; (Opening and closing 'strong' tags make the enclosed text bold.) */ 364 __( 'No %1$svalid%2$s SSL is installed on %3$s and %4$s. %1$sPlease install an SSL certificate on this website and try again.%2$s', 'auto-install-free-ssl' ), 360 365 '<strong>', 361 366 '</strong>', 362 367 $ssl_details['domain_site']['url'], 363 $ssl_details['domain_other_version']['url'], 364 '<strong>', 365 '</strong>' 368 $ssl_details['domain_other_version']['url'] 366 369 ); 367 370 … … 376 379 $link_title = __( "Click here to change WordPress Address (URL) & Site Address (URL)", 'auto-install-free-ssl' ); 377 380 $text_display = sprintf( 378 __( "The installed SSL covers only %s. But it doesn't cover %s. %sPlease either change your %sWordPress Address (URL) & Site Address (URL)%s or install an SSL certificate that covers %s", 'auto-install-free-ssl' ), 381 /* translators: %1$s: A domain name, e.g., example.com; %2$s: Another domain name, e.g., www.example.com; %3$s: Opening HTML 'strong' tag; %4$s: Opening HTML 'a' tag; %5$s: Closing 'a' tag; %6$s: Closing 'strong' tag. (Opening and closing 'strong' tags make the enclosed text bold. Opening and closing 'a' tags create a hyperlink with the enclosed text.) */ 382 __( 'The installed SSL covers only %1$s. But it does not cover %2$s. %3$sPlease either change your %4$sWordPress Address (URL) & Site Address (URL)%5$s or install an SSL certificate that covers %2$s. %6$s', 'auto-install-free-ssl' ), 379 383 $ssl_details['domain_other_version']['url'], 380 384 $ssl_details['domain_site']['url'], … … 382 386 '<a href="' . $general_settings . '" title="' . $link_title . '">', 383 387 '</a>', 384 $ssl_details['domain_site']['url'] . '.</strong>'388 '</strong>' 385 389 ); 386 390 $text_display .= __( "Error cause", 'auto-install-free-ssl' ) . ": " . $ssl_details['domain_site']['error_cause'] . "."; … … 466 470 467 471 $revert_url = str_replace( 'https:', 'http:', site_url() ) . "/?aifs_revert_http_nonce=" . $revert_nonce; 468 $subject = sprintf( __( "'%s' has activated Force HTTPS on your website %s.", 'auto-install-free-ssl' ), AIFS_NAME, aifs_get_domain( false ) ); 472 /* translators: %1$s: Name of this plugin, i.e., 'Auto-Install Free SSL'; %2$s: A domain name, e.g., example.com */ 473 $subject = sprintf( __( '\'%1$s\' has activated Force HTTPS on your website %2$s.', 'auto-install-free-ssl' ), AIFS_NAME, aifs_get_domain( false ) ); 469 474 $headers[] = 'MIME-Version: 1.0'; 470 475 $headers[] = 'Content-type: text/html; charset=UTF-8'; … … 473 478 $body = "<html><body>"; 474 479 $body .= __( "Hello", 'auto-install-free-ssl' ) . " " . aifs_admin_first_name() . ",<br /><br />"; 480 /* translators: %s: A domain name, e.g., example.com */ 475 481 $body .= sprintf( __( "We have successfully activated Force HTTPS on your website, %s.", 'auto-install-free-ssl' ), aifs_get_domain( false ) ) . "<br /><br />"; 476 482 $body .= sprintf( 477 __( "Please refresh your website to get the padlock. Don't you see it? If your theme can %sregenerate CSS files%s, please do it. Otherwise, search the theme and plugins for %shardcoded URLs%s, if any, and fix them. Don't hesitate to contact us at %s for any help.", 'auto-install-free-ssl' ), 478 '<strong>', 479 '</strong>', 483 /* translators: %1$s and %2$s: HTML code to make the enclosed text bold. Please keep their order the same. Otherwise, you'll break the style. %3$s: An email id. */ 484 __( 'Please refresh your website to get the padlock. Do not you see it? If your theme can %1$sregenerate CSS files%2$s, please do it. Otherwise, you can just search the theme and plugins for %1$shardcoded URLs%2$s, if any, and fix them. Do not hesitate to contact us at %3$s for any help.', 'auto-install-free-ssl' ), 480 485 '<strong>', 481 486 '</strong>', … … 485 490 $body .= "<a href='{$revert_url}'>{$revert_url}</a><br /><br />"; 486 491 $body .= __( "Clicking the above link will instantly deactivate force HTTPS and revert your website to HTTP.", 'auto-install-free-ssl' ) . "<br /><br />"; 492 /* translators: %s: placeholders for HTML code create a hyperlink with the word 'click here'. */ 487 493 $body .= sprintf( __( "But if the issue persists, %sclick here%s for documentation on more options on how to revert to HTTP.", 'auto-install-free-ssl' ), '<a href="https://freessl.tech/free-ssl-certificate-for-wordpress-website/#reverthttp" target="_blank">', '</a>' ) . "<br /><br />"; 488 494 $email = new Email(); -
auto-install-free-ssl/trunk/FreeSSLAuto/src/Admin/GenerateSSLmanually.php
r2886132 r2905766 61 61 { 62 62 if (!defined('ABSPATH')) { 63 die(__( "Access Denied", 'auto-install-free-ssl' ));63 die(__( "Access denied", 'auto-install-free-ssl' )); 64 64 } 65 65 … … 253 253 <!-- 254 254 <p><?php //echo __( "Did you know that automated SSL Certificate installation is possible with our Premium Version?" ) ?></p> 255 <p><?php //echo sprintf(__( "Do you need automation for all the steps? %sUpgrade to the %sPremium Version%s.", 'auto-install-free-ssl' ), '<br />', '<a href="'. $this->factory->upgrade_url() .'">', '</a>') ?></p>255 <p><?php //echo sprintf(__( 'Do you need automation for all the steps? %1$sUpgrade to the %2$sPremium Version%3$s.', 'auto-install-free-ssl' ), '<br />', '<a href="'. $this->factory->upgrade_url() .'">', '</a>') ?></p> 256 256 --> 257 257 </td> … … 358 358 <tr> 359 359 <td class="card block-body" style="width: 100%; padding: 0.5% 1.5% 0.5% 1.5%; background-color: #adff2f;" colspan="2"> 360 <p style="color: black; font-size: 1.2em;"><? = sprintf(__("Hello %s! Enjoy %s automation with our PRO version. Why waste your valuable time with manual SSL renewal every 60 days?", 'auto-install-free-ssl'), aifs_admin_first_name(), ($this->factory->is_cpanel()? "100%": "")) ?></p>360 <p style="color: black; font-size: 1.2em;"><?php //echo sprintf(__('Hello %1$s! Enjoy %2$s automation with our PRO version. Why waste your valuable time with manual SSL renewal every 60 days?', 'auto-install-free-ssl'), aifs_admin_first_name(), ($this->factory->is_cpanel()? __("100%", 'auto-install-free-ssl') : "")) ?></p> 361 361 </td> 362 362 </tr> 363 363 <tr> 364 364 <td class="card block-body" style="width: 50%; padding-left: 1.5%;"> 365 <h3><? =__( "Comparison of Free vs. Pro Version", 'auto-install-free-ssl' ) ?></h3>365 <h3><?php //echo __( "Comparison of Free vs. Pro Version", 'auto-install-free-ssl' ) ?></h3> 366 366 <p style="color: green;"> </p> 367 367 <table style="width: 100%; margin-top: 2%;" border="1" cellspacing="0"> 368 368 <thead> 369 369 <tr> 370 <th id="columnname" class="manage-column column-columnname" scope="col"><? =__( "Feature", 'auto-install-free-ssl' ) ?></th>371 <th id="columnname" class="manage-column column-columnname" scope="col"><? =__( "Free", 'auto-install-free-ssl' ) ?></th>372 <th id="columnname" class="manage-column column-columnname pro-version" scope="col"><? =__( "Pro", 'auto-install-free-ssl' ) ?></th>373 <th id="columnname" class="manage-column column-columnname pro-version" scope="col"><? =__( "Pro Unlimited", 'auto-install-free-ssl' ) ?></th>370 <th id="columnname" class="manage-column column-columnname" scope="col"><?php //echo __( "Feature", 'auto-install-free-ssl' ) ?></th> 371 <th id="columnname" class="manage-column column-columnname" scope="col"><?php //echo __( "Free", 'auto-install-free-ssl' ) ?></th> 372 <th id="columnname" class="manage-column column-columnname pro-version" scope="col"><?php //echo __( "Pro", 'auto-install-free-ssl' ) ?></th> 373 <th id="columnname" class="manage-column column-columnname pro-version" scope="col"><?php //echo __( "Pro Unlimited", 'auto-install-free-ssl' ) ?></th> 374 374 </tr> 375 375 </thead> … … 377 377 <tbody> 378 378 <tr class="alternate"> 379 <td scope="row"><? =__( "Domain Verification", 'auto-install-free-ssl' ) ?></td>380 <td><? =__( "Manual", 'auto-install-free-ssl' ) ?></td>381 <td class="pro-version"><? =__( "Automatic", 'auto-install-free-ssl' ) ?></td>382 <td class="pro-version"><? =__( "Automatic", 'auto-install-free-ssl' ) ?></td>379 <td scope="row"><?php //echo __( "Domain Verification", 'auto-install-free-ssl' ) ?></td> 380 <td><?php //echo __( "Manual", 'auto-install-free-ssl' ) ?></td> 381 <td class="pro-version"><?php //echo __( "Automatic", 'auto-install-free-ssl' ) ?></td> 382 <td class="pro-version"><?php //echo __( "Automatic", 'auto-install-free-ssl' ) ?></td> 383 383 </tr> 384 384 <tr> 385 <td><? =__( "Generate SSL", 'auto-install-free-ssl' ) ?></td>386 <td><? =__( "Manual", 'auto-install-free-ssl' ) ?></td>387 <td class="pro-version"><? =__("Automatic", 'auto-install-free-ssl') ?></td>388 <td class="pro-version"><? =__("Automatic", 'auto-install-free-ssl') ?></td>385 <td><?php //echo __( "Generate SSL", 'auto-install-free-ssl' ) ?></td> 386 <td><?php //echo __( "Manual", 'auto-install-free-ssl' ) ?></td> 387 <td class="pro-version"><?php //echo __("Automatic", 'auto-install-free-ssl') ?></td> 388 <td class="pro-version"><?php //echo __("Automatic", 'auto-install-free-ssl') ?></td> 389 389 </tr> 390 390 <tr class="alternate"> 391 <td><? =__( "SSL Installation", 'auto-install-free-ssl' ) ?></td>392 <td><? =__( "Manual", 'auto-install-free-ssl' ) ?></td>393 <td class="pro-version"><? =__("Automatic", 'auto-install-free-ssl') ?></td>394 <td class="pro-version"><? =__("Automatic", 'auto-install-free-ssl') ?></td>391 <td><?php //echo __( "SSL Installation", 'auto-install-free-ssl' ) ?></td> 392 <td><?php //echo __( "Manual", 'auto-install-free-ssl' ) ?></td> 393 <td class="pro-version"><?php //echo __("Automatic", 'auto-install-free-ssl') ?></td> 394 <td class="pro-version"><?php //echo __("Automatic", 'auto-install-free-ssl') ?></td> 395 395 </tr> 396 396 <tr> 397 <td><? =__( "Cron Job", 'auto-install-free-ssl' ) ?></td>398 <td><? =__( "No", 'auto-install-free-ssl' ) ?></td>399 <td class="pro-version"><? =__( "Automatic", 'auto-install-free-ssl' ) ?></td>400 <td class="pro-version"><? =__( "Automatic", 'auto-install-free-ssl' ) ?></td>397 <td><?php //echo __( "Cron Job", 'auto-install-free-ssl' ) ?></td> 398 <td><?php //echo __( "No", 'auto-install-free-ssl' ) ?></td> 399 <td class="pro-version"><?php //echo __( "Automatic", 'auto-install-free-ssl' ) ?></td> 400 <td class="pro-version"><?php //echo __( "Automatic", 'auto-install-free-ssl' ) ?></td> 401 401 </tr> 402 402 <tr class="alternate"> 403 <td><? =__( "SSL Renewal", 'auto-install-free-ssl' ) ?></td>404 <td><? =__( "Manual", 'auto-install-free-ssl' ) ?></td>405 <td class="pro-version"><? =__( "Automatic", 'auto-install-free-ssl' ) ?></td>406 <td class="pro-version"><? =__( "Automatic", 'auto-install-free-ssl' ) ?></td>403 <td><?php //echo __( "SSL Renewal", 'auto-install-free-ssl' ) ?></td> 404 <td><?php //echo __( "Manual", 'auto-install-free-ssl' ) ?></td> 405 <td class="pro-version"><?php //echo __( "Automatic", 'auto-install-free-ssl' ) ?></td> 406 <td class="pro-version"><?php //echo __( "Automatic", 'auto-install-free-ssl' ) ?></td> 407 407 </tr> 408 408 <tr> 409 <td><? =__( "Time Required to Set Up", 'auto-install-free-ssl' ) ?></td>410 <td><? =__( "20+ Min (per 60 days)", 'auto-install-free-ssl' ) ?></td>411 <td class="pro-version"><? =__( "1 Min (once)", 'auto-install-free-ssl' ) ?></td>412 <td class="pro-version"><? =__( "1 Min (once)", 'auto-install-free-ssl' ) ?> <sup>*</sup></td>409 <td><?php //echo __( "Time Required to Set Up", 'auto-install-free-ssl' ) ?></td> 410 <td><?php //echo __( "20+ Min (per 60 days)", 'auto-install-free-ssl' ) ?></td> 411 <td class="pro-version"><?php //echo __( "1 Min (once)", 'auto-install-free-ssl' ) ?></td> 412 <td class="pro-version"><?php //echo __( "1 Min (once)", 'auto-install-free-ssl' ) ?> <sup>*</sup></td> 413 413 </tr> 414 414 <tr class="alternate"> 415 <td><? =__( "Wildcard SSL", 'auto-install-free-ssl' ) ?></td>416 <td><? =__( "No", 'auto-install-free-ssl' ) ?></td>417 <td><? =__( "No", 'auto-install-free-ssl' ) ?></td>418 <td class="pro-version"><? =__( "Yes", 'auto-install-free-ssl' ) ?></td>415 <td><?php //echo __( "Wildcard SSL", 'auto-install-free-ssl' ) ?></td> 416 <td><?php //echo __( "No", 'auto-install-free-ssl' ) ?></td> 417 <td><?php //echo __( "No", 'auto-install-free-ssl' ) ?></td> 418 <td class="pro-version"><?php //echo __( "Yes", 'auto-install-free-ssl' ) ?></td> 419 419 </tr> 420 420 <tr> 421 <td><? =__( "Multisite Support", 'auto-install-free-ssl' ) ?></td>422 <td><? =__( "No", 'auto-install-free-ssl' ) ?></td>423 <td><? =__( "No", 'auto-install-free-ssl' ) ?></td>424 <td class="pro-version"><? =__( "Yes", 'auto-install-free-ssl' ) ?></td>421 <td><?php //echo __( "Multisite Support", 'auto-install-free-ssl' ) ?></td> 422 <td><?php //echo __( "No", 'auto-install-free-ssl' ) ?></td> 423 <td><?php //echo __( "No", 'auto-install-free-ssl' ) ?></td> 424 <td class="pro-version"><?php //echo __( "Yes", 'auto-install-free-ssl' ) ?></td> 425 425 </tr> 426 426 <tr class="alternate"> 427 <td><? =__( "SSL Expiration Chance", 'auto-install-free-ssl' ) ?></td>428 <td><? =__( "High", 'auto-install-free-ssl' ) ?></td>429 <td class="pro-version"><? =__( "No", 'auto-install-free-ssl' ) ?></td>430 <td class="pro-version"><? =__( "No", 'auto-install-free-ssl' ) ?></td>427 <td><?php //echo __( "SSL Expiration Chance", 'auto-install-free-ssl' ) ?></td> 428 <td><?php //echo __( "High", 'auto-install-free-ssl' ) ?></td> 429 <td class="pro-version"><?php //echo __( "No", 'auto-install-free-ssl' ) ?></td> 430 <td class="pro-version"><?php //echo __( "No", 'auto-install-free-ssl' ) ?></td> 431 431 </tr> 432 432 <tr> 433 <td><? =sprintf( __( "One installation works on all%s websites of a cPanel", 'auto-install-free-ssl' ), '<br />') ?></td>434 <td><? =__( "No", 'auto-install-free-ssl' ) ?></td>435 <td><? =__( "No", 'auto-install-free-ssl' ) ?></td>436 <td class="pro-version"><? =__( "Yes", 'auto-install-free-ssl' ) ?></td>433 <td><?php //echo sprintf( __( "One installation works on all%s websites of a cPanel", 'auto-install-free-ssl' ), '<br />') ?></td> 434 <td><?php //echo __( "No", 'auto-install-free-ssl' ) ?></td> 435 <td><?php //echo __( "No", 'auto-install-free-ssl' ) ?></td> 436 <td class="pro-version"><?php //echo __( "Yes", 'auto-install-free-ssl' ) ?></td> 437 437 </tr> 438 438 <tr class="alternate"> 439 <td><? =__( "Support", 'auto-install-free-ssl' ) ?></td>440 <td><? =__( "Forum", 'auto-install-free-ssl' ) ?></td>441 <td class="pro-version"><? =__( "Email", 'auto-install-free-ssl' ) ?></td>442 <td class="pro-version"><? =__( "Email/Phone", 'auto-install-free-ssl' ) ?></td>439 <td><?php //echo __( "Support", 'auto-install-free-ssl' ) ?></td> 440 <td><?php //echo __( "Forum", 'auto-install-free-ssl' ) ?></td> 441 <td class="pro-version"><?php //echo __( "Email", 'auto-install-free-ssl' ) ?></td> 442 <td class="pro-version"><?php //echo __( "Email/Phone", 'auto-install-free-ssl' ) ?></td> 443 443 </tr> 444 444 </tbody> 445 445 </table> 446 446 447 <p style="text-align: right;"><a href="<? = $this->factory->upgrade_url() ?>" class="button button-primary"><?=__( "Upgrade to Pro", 'auto-install-free-ssl' ) ?></a></p>448 <p>* <em><? = sprintf(__( "If you need the plugin to work on all websites in the same %s, you need %s minutes (once).", 'auto-install-free-ssl' ), ((isset($this->appConfig['is_cpanel']) && $this->appConfig['is_cpanel']) ? 'cPanel' : 'hosting'), ((isset($this->appConfig['is_cpanel']) && $this->appConfig['is_cpanel']) ? '9' : '10')) ?></em></p>447 <p style="text-align: right;"><a href="<?php //echo $this->factory->upgrade_url() ?>" class="button button-primary"><?php //echo __( "Upgrade to Pro", 'auto-install-free-ssl' ) ?></a></p> 448 <p>* <em><?php //echo sprintf(__( 'If you need the plugin to work on all websites in the same %1$s, you need %2$s minutes (once).', 'auto-install-free-ssl' ), ((isset($this->appConfig['is_cpanel']) && $this->appConfig['is_cpanel']) ? 'cPanel' : 'hosting'), ((isset($this->appConfig['is_cpanel']) && $this->appConfig['is_cpanel']) ? '9' : '10')) ?></em></p> 449 449 </td> 450 450 451 451 <td class="card block-body" style="width: 50%; padding-left: 1.5%;"> 452 <h3><? =__( "One-Click Automation of Free SSL on cPanel [1:42 Min]", 'auto-install-free-ssl' ) ?></h3>453 <p style="color: green;"><? =__( "Video Tutorial of the Pro / Unlimited Version.", 'auto-install-free-ssl' ) ?></p>452 <h3><?php //echo __( "One-Click Automation of Free SSL on cPanel [1:42 Min]", 'auto-install-free-ssl' ) ?></h3> 453 <p style="color: green;"><?php //echo __( "Video Tutorial of the Pro / Unlimited Version.", 'auto-install-free-ssl' ) ?></p> 454 454 455 455 <!-- <iframe width="100%" height="281" src="https://www.youtube.com/embed/XYgNPcj_zaM?rel=0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> --> … … 483 483 add_settings_field( 484 484 'admin_email', 485 /* translators: %s: HTML code to create a superscript with the text '(required)' */ 485 486 sprintf(__("Admin email %s(required)%s", 'auto-install-free-ssl'), '<sup>', '</sup>'), 486 487 array( $this, 'admin_email_callback' ), … … 492 493 add_settings_field( 493 494 'agree_to_le_terms', 494 sprintf(__("%sI agree to the %sLet's Encrypt Subscriber Agreement %s(required)%s", 'auto-install-free-ssl'), '<div id="agree_to_le_terms">', '<a href="https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf" target="_blank">', '</a> <sup>', '</sup></div>'), 495 /* translators: %1$s: Opening HTML 'div' tag; %2$s: Opening HTML 'a' tag; %3$s: Closing 'a' tag; %4$s: Closing HTML 'sup' tag ("Let's Encrypt™" is a nonprofit SSL certificate authority. Opening and closing 'a' tags create a hyperlink with the enclosed text.) */ 496 sprintf(__('%1$sI agree to the %2$sLet\'s Encrypt™ Subscriber Agreement %3$s(required)%4$s', 'auto-install-free-ssl'), '<div id="agree_to_le_terms">', '<a href="https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf" target="_blank">', '</a> <sup>', '</sup></div>'), 495 497 array( $this, 'agree_to_le_terms_callback' ), 496 498 'aifs_generate_ssl_manually_admin', … … 500 502 add_settings_field( 501 503 'agree_to_freessl_tech_tos_pp', 502 sprintf(__("I agree to the FreeSSL.tech %sTerms of Service%s and %sPrivacy Policy %s(required)%s", 'auto-install-free-ssl'), '<a href="https://freessl.tech/terms-of-service" target="_blank">', '</a>', '<a href="https://freessl.tech/privacy-policy" target="_blank">', '</a> <sup>', '</sup>'), 504 /* translators: %1$s: Opening HTML 'a' tag; %2$s: Closing 'a' tag; %3$s: Opening HTML 'a' tag; %4$s: Closing 'a' tag; %5$s: Closing 'sup' tag (Opening and closing 'a' tags create a hyperlink with the enclosed text.) */ 505 sprintf(__('I agree to the FreeSSL.tech %1$sTerms of Service%2$s and %3$sPrivacy Policy %4$s(required)%5$s', 'auto-install-free-ssl'), '<a href="https://freessl.tech/terms-of-service" target="_blank">', '</a>', '<a href="https://freessl.tech/privacy-policy" target="_blank">', '</a> <sup>', '</sup>'), 503 506 array( $this, 'agree_to_freessl_tech_tos_pp_callback' ), 504 507 'aifs_generate_ssl_manually_admin', … … 557 560 echo $this->factory->domain_alias_availability_text(); 558 561 562 /* translators: %s: Name of a button, e.g., Next Step */ 559 563 echo "<p>" . sprintf(__( "Please click the '%s' button to proceed.", 'auto-install-free-ssl' ), $this->save_button_text) . "</p>"; 560 564 … … 654 658 if ( count( $domains_array ) > 0 ) { 655 659 //Start the process to generate SSL 660 /* translators: %s: A domain name, e.g., example.com */ 656 661 $this->logger->log( sprintf(__("Generating SSL for %s", 'auto-install-free-ssl'), $domains_array[0]) ); 657 662 $this->logger->log( __( "The domains array is given below: ", 'auto-install-free-ssl' )); … … 741 746 <p><strong><?= __( "1.", 'auto-install-free-ssl' ) ?></strong> <?= __( "Please open an FTP client (e.g., FileZilla) or File Manager of your web hosting control panel.", 'auto-install-free-ssl' ) ?></p> 742 747 743 <p><strong><?= __( "2.", 'auto-install-free-ssl' ) ?></strong> <?= sprintf(__("Browse to the document root of %s. Create a directory %s and another directory %s inside the %s directory.", 'auto-install-free-ssl'), ('<em>' . key($return_array_step1['domain_data']) . '</em>'), '<strong>.well-known</strong>', '<strong>acme-challenge</strong>', '<strong>.well-known</strong>') ?><?= aifs_server_software() == 'ms-iis' ? " " . __( "If you face any issues (e.g., 'Invalid path specified') creating directories, create 'Virtual Directory' instead.", 'auto-install-free-ssl' ) : "" ?></p> 748 <p><strong><?= __( "2.", 'auto-install-free-ssl' ) ?></strong> <?= /* translators: %1$s: A domain name, e.g., example.com; %2$s: Name of a directory, e.g., '.well-known'; %3$s: Name of another directory, e.g., 'acme-challenge' */ sprintf(__('Browse to the document root of %1$s. Create a directory %2$s and another directory %3$s inside the %2$s directory.', 'auto-install-free-ssl'), ('<em>' . key($return_array_step1['domain_data']) . '</em>'), '<strong>.well-known</strong>', '<strong>acme-challenge</strong>') ?> 749 750 <?= aifs_server_software() == 'ms-iis' ? " " . __( "If you face any issues (e.g., 'Invalid path specified') creating directories, create 'Virtual Directory' instead.", 'auto-install-free-ssl' ) : "" ?></p> 744 751 745 752 <p><strong><?= __( "3.", 'auto-install-free-ssl' ) ?></strong> <?= __( "Download the following HTTP-01 challenge files:", 'auto-install-free-ssl' ) ?></p> … … 774 781 </div> 775 782 776 <p><strong><?= __( "4.", 'auto-install-free-ssl' ) ?></strong> <?= sprintf(__( "Upload the above-downloaded challenge files into the %s directory (mentioned in serial number 2).", 'auto-install-free-ssl' ), "'acme-challenge'") ?><?= aifs_server_software() == 'ms-iis' ? " " . __( "If you face any issues uploading files, create files with the same file name and content.", 'auto-install-free-ssl' ) : "" ?></p> 783 <p><strong><?= __( "4.", 'auto-install-free-ssl' ) ?></strong> <?php /* translators: %s: Name of the directory, i.e., 'acme-challenge' */ ?> <?= sprintf(__( "Upload the above-downloaded challenge files into the %s directory (mentioned in serial number 2).", 'auto-install-free-ssl' ), "'acme-challenge'") ?> 784 785 <?= aifs_server_software() == 'ms-iis' ? " " . __( "If you face any issues uploading files, create files with the same file name and content.", 'auto-install-free-ssl' ) : "" ?></p> 777 786 778 787 <!-- Use foreach to avoid blank link --> … … 807 816 .</p> 808 817 809 <p><?= __( "The content of the above links should EXACTLY match the content of the downloaded files.", 'auto-install-free-ssl' ) ?><?= aifs_server_software() == 'ms-iis' ? " " . sprintf( __( "If the above links display errors, create a %s file inside the %s directory and paste the following content into it: ", 'auto-install-free-ssl' ), '<strong>web.config</strong>', '.well-known') . '<pre><code>'.htmlspecialchars($code).'</code></pre>' : "" ?></p>818 <p><?= __( "The content of the above links should EXACTLY match the content of the downloaded files.", 'auto-install-free-ssl' ) ?><?= aifs_server_software() == 'ms-iis' ? " " . /* translators: %1$s: Name of a file, e.g., 'web.config'; %2$s: Name of a directory, e.g., '.well-known' */ sprintf( __( 'If the above links display errors, create a %1$s file inside the %2$s directory and paste the following content into it:', 'auto-install-free-ssl' ), '<strong>web.config</strong>', '.well-known') . ' <pre><code>'.htmlspecialchars($code).'</code></pre>' : "" ?></p> 810 819 811 820 <p><br /><em><?= __( "Is everything okay? Now click the button below.", 'auto-install-free-ssl' ) ?></em></p> … … 821 830 //elseif($tab == 'dns-01'){ 822 831 $registeredDomain = aifs_getRegisteredDomain( aifs_get_domain(true) ); 832 $sl_1 = __( "1.", 'auto-install-free-ssl' ); 823 833 ?> 824 834 <span style="font-size: large; font-weight: bold;"><?= __( "DNS-01", 'auto-install-free-ssl' ) ?></span><hr /><br /> 825 <p><strong><?= __( "1.", 'auto-install-free-ssl' ) ?></strong> <?= sprintf(__( "Please log in to your DNS service provider's account, for %s, and add the TXT records given below:", 'auto-install-free-ssl' ), "<strong><em>$registeredDomain</em></strong>") ?></p> 835 836 <?php /* translators: %s: A domain name, e.g., example.com */ ?> 837 <p><strong><?= $sl_1 ?></strong> <?= sprintf(__( "Please log in to your DNS service provider's account, for %s, and add the TXT records given below:", 'auto-install-free-ssl' ), "<strong><em>$registeredDomain</em></strong>") ?></p> 826 838 <?php 827 839 $set_no = "A"; … … 836 848 ?> 837 849 838 <p><br /><?= sprintf(__("TTL (Time to Live) for both: %s1 minute%s recommended. Otherwise, the minimum value supported by your DNS service provider.", 'auto-install-free-ssl'), '<strong>', '</strong>') ?></p> 839 840 <p><br /><strong><?= __( "2.", 'auto-install-free-ssl' ) ?></strong> <?= sprintf(__("Please wait %sat least%s 15 minutes for the above DNS records to propagate and %sclick the button below%s.", 'auto-install-free-ssl'), '<strong>', '</strong>', '<em>', '</em>') ?></p> 850 <?php /* translators: %1$s: Opening HTML 'strong' tag; %2$s: Closing 'strong' tag; (Opening and closing 'strong' tags make the enclosed text bold.) */ ?> 851 <p><br /><?= sprintf(__('TTL (Time to Live) for both: %1$s1 minute%2$s recommended. Otherwise, the minimum value supported by your DNS service provider.', 'auto-install-free-ssl'), '<strong>', '</strong>') ?></p> 852 853 <p><br /><strong><?= __( "2.", 'auto-install-free-ssl' ) ?></strong> <?php /* translators: %1$s: Opening HTML 'strong' tag; %2$s: Closing 'strong' tag; %3$s: Opening HTML 'em' tag; %4$s: Closing 'em' tag (Opening and closing 'strong' tags make the enclosed text bold. Opening and closing 'em' tags make the enclosed text emphasized.) */ ?> <?= sprintf(__('Please wait %1$sat least%2$s 15 minutes for the above DNS records to propagate and %3$sclick the button below%4$s.', 'auto-install-free-ssl'), '<strong>', '</strong>', '<em>', '</em>') ?></p> 841 854 842 855 … … 872 885 wp_nonce_field('aifsverifydomain', 'aifs_verify_domain', false, false); 873 886 887 /* translators: %s: Type of the challenge (HTTP-01 or DNS-01) */ 874 888 $confirmation_text = sprintf(__("Are you sure you have completed the %s challenges?", 'auto-install-free-ssl'), strtoupper($challenge_type)); 875 889 876 890 //$button_text = __( 'Verify Domain & Get SSL', 'auto-install-free-ssl' ); 877 $button_text = sprintf( __( "Verify Domain %s Generate Free SSL", 'auto-install-free-ssl' ), "(".strtoupper($challenge_type).") &"); 891 /* translators: %s: Type of domain verification (HTTP-01 or DNS-01) */ 892 $button_text = sprintf( __( "Verify Domain (%s) & Generate Free SSL", 'auto-install-free-ssl' ), strtoupper($challenge_type)); 878 893 $css_class = "button button-primary button-hero"; 879 894 … … 896 911 if ( isset( $_GET['aifschallengehttp'] ) ) { 897 912 if ( !wp_verify_nonce( $_GET['aifschallengehttp'], 'aifs_challenge_http' ) ) { 898 wp_die(__( "Access Denied", 'auto-install-free-ssl' ));913 wp_die(__( "Access denied", 'auto-install-free-ssl' )); 899 914 } 900 915 … … 922 937 923 938 if ( isset( $_POST['aifs_challenge_type'] ) && !wp_verify_nonce($_POST['aifs_verify_domain'], 'aifsverifydomain') ) { 924 wp_die(__( "Access Denied", 'auto-install-free-ssl' ));939 wp_die(__( "Access denied", 'auto-install-free-ssl' )); 925 940 } 926 941 else { … … 932 947 echo $this->progress_bar(3); 933 948 934 echo "<p style='font-weight: bold;'>" . sprintf(__("SSL certificate already issued to %s, and the plugin has saved you $90. Please download it from the links given below.", 'auto-install-free-ssl'), ("<em>" . $this->return_array_step1['domains_array'][0] . "</em>")) . "</p>"; 949 echo "<p>"; 950 951 /* translators: %1$s: a domain name, e.g., example.com; %2$s: Opening HTML 'strong' tag; %3$s: Closing 'strong' tag. (Opening and closing 'strong' tags make the enclosed text bold.) */ 952 echo sprintf(__('SSL certificate already issued to %1$s, and %2$sthe plugin has saved you $90.%3$s', 'auto-install-free-ssl'), ("<em>" . $this->return_array_step1['domains_array'][0] . "</em>"), '<strong>', '</strong>') . " "; 953 954 echo __("Please download it from the links given below.", 'auto-install-free-ssl'); 955 echo "</p>"; 935 956 936 957 echo $home_options->single_domain_ssl_data(); … … 1027 1048 } 1028 1049 $error_text .= "<span style='color: red;'>"; 1029 $error_text .= sprintf(__("Oops! Let's Encrypt could not validate ownership of the domain %s due to some error.", 'auto-install-free-ssl'), $domain); 1050 /* translators: %s: A domain name, e.g., example.com ("Let's Encrypt" is a nonprofit SSL certificate authority.) */ 1051 $error_text .= sprintf(__("Oops! Let's Encrypt™ could not validate ownership of the domain %s due to some error.", 'auto-install-free-ssl'), $domain); 1030 1052 $error_text .= "</span>"; 1031 1053 } … … 1039 1061 //$error_text .= "authorizations: " .count( $this->return_array_step1['response']['authorizations'] ) ." number_of_validated_domains_internal: ".$number_of_validated_domains_internal ." "; 1040 1062 $error_text .= "<span style='color: green;'>"; 1041 $error_text .= "<br />" . sprintf(__("Upgrade to the %sPremium Version%s for fully automatic domain verification, automated SSL installation & renewal.", 'auto-install-free-ssl'), '<a href="'. $this->factory->upgrade_url() .'">', '</a>'); 1063 /* translators: %1$s: Opening HTML 'a' tag; %2$s: Closing 'a' tag (Opening and closing 'a' tags create a hyperlink with the enclosed text.) */ 1064 $error_text .= "<br />" . sprintf(__('Upgrade to the %1$sPremium Version%2$s for fully automatic domain verification, automated SSL installation & renewal.', 'auto-install-free-ssl'), '<a href="'. $this->factory->upgrade_url() .'">', '</a>'); 1042 1065 $error_text .= "</span>"; 1043 1066 … … 1070 1093 1071 1094 echo $this->progress_bar(3); 1072 echo "<h3 style='background: green; color: white; line-height: 1.6em; padding: 2%;'>". sprintf(__("Congratulations! SSL certificate has been issued to %s, and the plugin has saved you $90. %sPlease download it from the links given below.", 'auto-install-free-ssl'), ("<em>" . $this->return_array_step1['domains_array'][0] . "</em>"), "<br /><br />") ."</h3>"; 1095 echo "<h3 style='background: green; color: white; line-height: 1.6em; padding: 2%;'>"; 1096 1097 /* translators: %s: a domain name, e.g., example.com */ 1098 echo sprintf(__('Congratulations! SSL certificate has been issued to %s, and the plugin has saved you $90.', 'auto-install-free-ssl'), ("<em>" . $this->return_array_step1['domains_array'][0] . "</em>")) . "<br /><br />"; 1099 1100 echo __("Please download it from the links given below.", 'auto-install-free-ssl'); 1101 1102 echo "</h3>"; 1073 1103 1074 1104 echo $home_options->single_domain_ssl_data(); … … 1076 1106 echo $this->progress_bar(3); 1077 1107 //return false; 1108 /* translators: %s: A domain name, e.g., example.com */ 1078 1109 echo "<h3 style='color: red'>". sprintf(__("Sorry, the SSL certificate was NOT issued to %s due to an error. Please check the log for details.", 'auto-install-free-ssl'), ("<em>" . $this->return_array_step1['domains_array'][0] . "</em>")) ."</h3>"; 1079 1110 } … … 1082 1113 //SSL certificate can't be issued 1083 1114 echo $this->progress_bar(3); 1084 $text = sprintf(__("The number of authorizations: %s. But the number of validated domains: %s. Sorry, the SSL certificate can't be issued to %s. %s domain was not validated.", 'auto-install-free-ssl'), count( $this->return_array_step1['response']['authorizations'] ), $number_of_validated_domains, $this->return_array_step1['domains_array'][0], ( \count( $this->return_array_step1['response']['authorizations'] ) - $number_of_validated_domains )); 1115 1116 /* translators: %1$d: A number; %2$d: Another number; %3$s: A domain name, e.g., example.com */ 1117 $text = sprintf(__('The number of authorizations: %1$d. But the number of validated domains: %2$d. Sorry, the SSL certificate can not be issued to %3$s.', 'auto-install-free-ssl'), count( $this->return_array_step1['response']['authorizations'] ), $number_of_validated_domains, $this->return_array_step1['domains_array'][0]) . " "; 1118 1119 $difference = \count( $this->return_array_step1['response']['authorizations'] ) - $number_of_validated_domains; 1120 1121 if($difference > 1){ 1122 /* translators: %d: A plural number */ 1123 $text .= sprintf(__('%d domains were not validated.', 'auto-install-free-ssl'), $difference); 1124 } 1125 else{ 1126 /* translators: %d: A singular number, i.e., 1 */ 1127 $text .= sprintf(__('%d domain was not validated.', 'auto-install-free-ssl'), $difference); 1128 } 1085 1129 1086 1130 $this->logger->log_v2( 'error', $text ); … … 1113 1157 if(isset( $_POST['aifs_proceed_regenerate'] )) { 1114 1158 if ( ! wp_verify_nonce( $_POST['aifs_regenerate_ssl'], 'aifsregeneratessl' ) ) { 1115 wp_die( __( "Access Denied", 'auto-install-free-ssl' ) );1159 wp_die( __( "Access denied", 'auto-install-free-ssl' ) ); 1116 1160 } else { 1117 1161 //reset option -
auto-install-free-ssl/trunk/FreeSSLAuto/src/Admin/HomeOptions.php
r2892748 r2905766 37 37 public $factory ; 38 38 public $app_settings ; 39 private $countdown_duration ; 39 40 /** 40 41 * Start up … … 43 44 { 44 45 if ( !defined( 'ABSPATH' ) ) { 45 die( __( "Access Denied", 'auto-install-free-ssl' ) );46 die( __( "Access denied", 'auto-install-free-ssl' ) ); 46 47 } 47 48 $this->factory = new Factory(); 48 49 $this->app_settings = aifs_get_app_settings(); 50 $this->countdown_duration = 2.1 * 60 * 60 + 38; 49 51 add_action( 'admin_enqueue_scripts', array( $this, 'countdown_js_script' ) ); 50 52 } … … 63 65 //$this->request_free_premium_license(); // removed the method since 3.4.1 64 66 } else { 65 //if(!get_option('aifs_free_plan_selected') || (isset($_GET['comparison']) && $_GET['comparison'] == "yes")){ //changed from version 3.4.066 67 67 if ( isset( $_GET['comparison'] ) && $_GET['comparison'] == "yes" ) { 68 if ( !get_option( 'aifs_free_plan_selected' ) || isset( $_GET['comparison'] ) && $_GET['comparison'] == "yes" ) { 69 //before 3.4.0, 3.4.2 70 //if(isset($_GET['comparison']) && $_GET['comparison'] == "yes"){ // version 3.4.0, 3.4.1 68 71 $this->plan_comparison_table_handler(); 69 72 $this->plan_comparison_table(); … … 107 110 108 111 if ( aifs_is_free_version() ) { 109 $text_display .= '<br /><strong><s>' . sprintf( __( "This plugin will renew & install the SSL automatically %s days before the expiry.", 'auto-install-free-ssl' ), 30 ) . '</s></strong>'; 110 //$text_display .= '<br /><div class="aifs-premium"><span class="dashicons dashicons-arrow-up-alt"></span> ' . sprintf(__("Upgrade to the %sPremium Version%s to avail of this.", 'auto-install-free-ssl'), '<a href="' . $this->factory->upgrade_url() .'">', '</a>') . ' <span class="dashicons dashicons-arrow-up-alt"></span></div>'; 112 $days = __( "30", 'auto-install-free-ssl' ); 113 /* translators: %s: Number of days */ 114 $text_display .= '<br /><strong><s>' . sprintf( __( "This plugin will renew & install the SSL automatically %s days before the expiry.", 'auto-install-free-ssl' ), $days ) . '</s></strong>'; 115 /* translators: %s: placeholders for HTML code create a hyperlink with the word 'Premium'. */ 111 116 $text_display .= '<br /><div class="aifs-premium"><span class="dashicons dashicons-arrow-up-alt"></span> ' . sprintf( __( "%sPremium%s feature", 'auto-install-free-ssl' ), '<a href="' . $this->factory->upgrade_url() . '">', '</a>' ) . ' <span class="dashicons dashicons-arrow-up-alt"></span></div>'; 112 117 } … … 126 131 127 132 if ( aifs_is_free_version() && !get_option( 'aifs_force_ssl' ) && get_option( 'aifs_is_generated_ssl_installed' ) ) { 133 /* translators: %s: placeholders for HTML code to create a hyperlink with the text 'Activate Force HTTPS'. */ 128 134 $text_display .= sprintf( __( "After installing the SSL certificate, don't forget to %sActivate Force HTTPS%s", 'auto-install-free-ssl' ), '<a href="#force-https">', '</a>' ); 129 135 $text_display .= "<hr />"; … … 142 148 { 143 149 $app_settings = aifs_get_app_settings(); 150 $hosting = __( "hosting", 'auto-install-free-ssl' ); 151 /* translators: 'cPanel' is web hosting control panel software developed by cPanel, LLC. */ 152 $cpanel = __( "cPanel", 'auto-install-free-ssl' ); 153 /* translators: "Let's Encrypt" is a nonprofit SSL certificate authority. */ 154 $ca = __( "Let's Encrypt™", 'auto-install-free-ssl' ); 155 $free = wp_nonce_url( get_site_url() . $_SERVER['REQUEST_URI'], 'aifs_free_plan', 'aifsfree' ); 144 156 ?> 145 157 <div class="wrap"> … … 150 162 151 163 <div> 152 <p style="font-size: xx-large; text-align: center; color: black;"><?php153 echo __( " This plugin will save you \$90+ per year for every website", 'auto-install-free-ssl' ) ;164 <p style="font-size: large; text-align: center; color: black;"><?php 165 echo __( "We'll save you \$90+ per year for every website", 'auto-install-free-ssl' ) ; 154 166 ?></p> 155 167 </div> 168 169 <?php 170 171 if ( !isset( $_GET['comparison'] ) ) { 172 ?> 173 <div class="card block-body" style="max-width: 100%; text-align: center;"> 174 <p><?php 175 /* translators: %s: Name of this plugin, i.e., 'Auto-Install Free SSL' */ 176 echo sprintf( __( 'Thank you for choosing \'%s\' - the most powerful plugin to generate Free SSL Certificates in your WordPress dashboard.', 'auto-install-free-ssl' ), AIFS_NAME ) ; 177 ?></p> 178 179 <p><?php 180 /* translators: %1$s: Name of this plugin, i.e., 'Auto-Install Free SSL'; %2$s: Name of the SSL certificate authority, e.g., Let's Encrypt */ 181 echo sprintf( __( '\'%1$s\' makes creating Free SSL Certificates easy using the %2$s API. Please get started by creating an SSL Certificate or reading our documentation.', 'auto-install-free-ssl' ), AIFS_NAME, $ca ) ; 182 ?></p> 183 <p style="margin-top: 2%;"><a href="<?php 184 echo $free ; 185 ?>" class="button button-primary"><?php 186 echo __( "Generate Your First SSL Certificate", 'auto-install-free-ssl' ) ; 187 ?></a> <a href="https://wordpress.org/plugins/auto-install-free-ssl/#installation" target="_blank" class="button" style="margin-left: 5%;"><?php 188 echo __( "Read the Documentation", 'auto-install-free-ssl' ) ; 189 ?></a></p> 190 </div> 191 <?php 192 } 193 194 ?> 195 196 <p style="font-size: xx-large; text-align: center; color: black;"><?php 197 echo __( "Features Comparison", 'auto-install-free-ssl' ) ; 198 ?></p> 156 199 157 200 <?php … … 159 202 $coupon_code = "20AutoInstall"; 160 203 echo '<div style="background: white; color: black; margin: 2% 0; padding: 1% 1.5%; border-style: solid; border-width: 1px; border-color: green;"><p style="font-size: medium; margin: 0;">'; 161 echo '<span class="dashicons dashicons-megaphone" style="font-size: xx-large; color: #5F97FB;"></span> ' . sprintf(__( "Could a coupon help? Use the %s discount%s code %s during checkout. The coupon is expiring soon!", 'auto-install-free-ssl'), "<span style='color: red;'>20%", "</span>", "<strong>'$coupon_code'</strong>");204 echo '<span class="dashicons dashicons-megaphone" style="font-size: xx-large; color: #5F97FB;"></span> ' . sprintf(__('Could a coupon help? Use the %1$s discount%2$s code %3$s during checkout. The coupon is expiring soon!', 'auto-install-free-ssl'), "<span style='color: red;'>20%", "</span>", "<strong>'$coupon_code'</strong>"); 162 205 echo '</p></div>'; 163 206 }*/ 207 /*if(!get_option('aifs_default_page_first_access_time')){ 208 add_option('aifs_default_page_first_access_time', time()); 209 } 210 211 $first_access_time = get_option('aifs_default_page_first_access_time');*/ 212 //if(($first_access_time && (time() > $first_access_time + 5 * 60)) || (isset($_GET['comparison']) && $_GET['comparison'] == "yes")){ 164 213 if ( !get_option( 'aifs_comparison_table_promo_start_time' ) ) { 165 214 add_option( 'aifs_comparison_table_promo_start_time', time() ); … … 167 216 $start_time = get_option( 'aifs_comparison_table_promo_start_time' ); 168 217 169 if ( $this->factory->is_cpanel() && time() < $start_time + 1 * 60 * 60&& (get_option( 'aifs_premium_plan_selected' ) >= 1 && time() < strtotime( "January 1, 2024" ) || time() > strtotime( "November 1, 2022" ) && time() < strtotime( "January 1, 2024" )) ) {218 if ( $this->factory->is_cpanel() && time() < $start_time + $this->countdown_duration && (get_option( 'aifs_premium_plan_selected' ) >= 1 && time() < strtotime( "January 1, 2024" ) || time() > strtotime( "November 1, 2022" ) && time() < strtotime( "January 1, 2024" )) ) { 170 219 $coupon_code = "20AutoInstall"; 171 220 echo '<div id="aifs-promo" class="aifs-promo"><p style="font-size: medium; margin: 0;">' ; 172 echo '<span class="dashicons dashicons-megaphone" style="font-size: xx-large; color: #5F97FB;"></span> ' . sprintf( __( "Select any Pro plan asap to grab a %s discount!%s", 'auto-install-free-ssl' ), "<span style='color: red;'>20%", "</span>" ) . '<img src="' . AIFS_URL . 'assets/img/fire.webp" style="margin-left: 2%; width 20px; height: 20px;"><span class="expires-in">' . __( "expires in", 'auto-install-free-ssl' ) . ' <span id="countdown" style=""></span></span>' ; 221 echo '<span class="dashicons dashicons-arrow-down-alt" style="font-size: xx-large; color: #5F97FB;"></span> ' ; 222 $percentage = __( "20%", 'auto-install-free-ssl' ); 223 /* translators: %1$s: HTML code to make the color red of the text '%2$s discount!'. Please keep its order the same. %2$s: Discount percentage (includes % sign) */ 224 echo sprintf( __( 'Scroll down and Select any Pro plan asap to grab a %1$s %2$s discount!', 'auto-install-free-ssl' ), "<span style='color: red;'>", $percentage ) . "</span>" ; 225 echo '<img src="' . AIFS_URL . 'assets/img/fire.webp" style="margin-left: 2%; width 20px; height: 20px;"><span class="expires-in">' . __( "expires in", 'auto-install-free-ssl' ) . ' <span id="countdown" style=""></span></span>' ; 173 226 echo '</p></div>' ; 174 227 echo '<script type="text/javascript">' . $this->countdown_js_script() . '</script>' ; … … 178 231 } 179 232 233 /*} 234 else{ 235 $coupon_code = false; 236 }*/ 180 237 ?> 181 238 … … 193 250 $time_required = __( "We'll do it", 'auto-install-free-ssl' ); 194 251 $time_required_unlimited_license = __( "We'll do it (10 sites)", 'auto-install-free-ssl' ); 252 /* translators: %s: HTML code to create a new line. */ 195 253 $time_required_more_info_unlimited_license = sprintf( __( "PRO unlimited license is limited to 10 websites. %sIf you can implement the automation with the bash script yourself, it is truly unlimited.", 'auto-install-free-ssl' ), "\n" ); 196 254 $wildcard_ssl_single_domain = __( "Yes", 'auto-install-free-ssl' ); … … 201 259 $time_required = __( "1 Min (once)", 'auto-install-free-ssl' ); 202 260 $time_required_unlimited_license = __( "1 Min (once)", 'auto-install-free-ssl' ); 203 $time_required_more_info_unlimited_license = sprintf( __( "If you need the plugin to work on all websites in the same %s, you need %s minutes (once).", 'auto-install-free-ssl' ), ( isset( $app_settings['is_cpanel'] ) && $app_settings['is_cpanel'] ? __( "cPanel", 'auto-install-free-ssl' ) : __( "hosting", 'auto-install-free-ssl' ) ), ( isset( $app_settings['is_cpanel'] ) && $app_settings['is_cpanel'] ? __( "9", 'auto-install-free-ssl' ) : __( "10", 'auto-install-free-ssl' ) ) ); 261 $nine = __( "9", 'auto-install-free-ssl' ); 262 $ten = __( "10", 'auto-install-free-ssl' ); 263 /* translators: %1$s: A technical word ('cPanel' or 'hosting'; based on a condition); %2$s: Number of minutes */ 264 $time_required_more_info_unlimited_license = sprintf( __( 'If you need the plugin to work on all websites in the same %1$s, you need %2$s minutes (once).', 'auto-install-free-ssl' ), ( isset( $app_settings['is_cpanel'] ) && $app_settings['is_cpanel'] ? $cpanel : $hosting ), ( isset( $app_settings['is_cpanel'] ) && $app_settings['is_cpanel'] ? $nine : $ten ) ); 204 265 $wildcard_ssl_single_domain = __( "No", 'auto-install-free-ssl' ); 205 266 $multisite_support_single_domain = __( "No", 'auto-install-free-ssl' ); … … 496 557 <tr> 497 558 <td><span class="ptable-title"><?php 498 echo sprintf( __( "One installation works on all websites of a %s", 'auto-install-free-ssl' ), ( isset( $app_settings['is_cpanel'] ) && $app_settings['is_cpanel'] ? __( "cPanel", 'auto-install-free-ssl' ) : __( "hosting", 'auto-install-free-ssl' ) ) ) ; 559 /* translators: %s: A technical word ('cPanel' or 'hosting'; based on a condition) */ 560 echo sprintf( __( "One installation works on all websites of a %s", 'auto-install-free-ssl' ), ( isset( $app_settings['is_cpanel'] ) && $app_settings['is_cpanel'] ? $cpanel : $hosting ) ) ; 499 561 ?></span></td> 500 562 <td> … … 542 604 <?php 543 605 $coupon = ( $coupon_code ? "&coupon=" . $coupon_code : "" ); 544 $free = wp_nonce_url( get_site_url() . $_SERVER['REQUEST_URI'], 'aifs_free_plan', 'aifsfree' );606 //$free = wp_nonce_url( get_site_url().$_SERVER['REQUEST_URI'], 'aifs_free_plan', 'aifsfree' ); //already defined 545 607 $pro = wp_nonce_url( get_site_url() . $_SERVER['REQUEST_URI'], 'aifs_pro_plan', 'aifspro' ) . $coupon; 546 608 $pro_unlimited = wp_nonce_url( get_site_url() . $_SERVER['REQUEST_URI'], 'aifs_pro_unlimited_plan', 'aifsprounlimited' ) . $coupon; … … 570 632 <?php 571 633 if ( !isset( $app_settings['is_cpanel'] ) || !$app_settings['is_cpanel'] ) { 634 /* translators: %s: HTML code to create a hyperlink with the text 'Terms & conditions'. */ 572 635 echo "<br /><br /><p>* <i>" . sprintf( __( "%sTerms & conditions%s apply.", 'auto-install-free-ssl' ), '<a href="https://freessl.tech/terms-of-service" target="_blank">', '</a>' ) . "</i></p>" ; 573 636 } … … 604 667 <div class="card block-body" style="width: 100%; padding-left: 1.5%;"> 605 668 <p><?php 606 //echo sprintf(__( "%s discount code for you: %s", 'auto-install-free-ssl' ), "25%", "<strong>AUTOMATION</strong>")669 //echo sprintf(__( '%1$s discount code for you: %2$s', 'auto-install-free-ssl' ), "25%", "<strong>AUTOMATION</strong>") 607 670 ?></p> 608 671 <p><?php … … 638 701 //FREE plan selected 639 702 if ( !wp_verify_nonce( $_GET['aifsfree'], 'aifs_free_plan' ) ) { 640 wp_die( __( "Access Denied", 'auto-install-free-ssl' ) );703 wp_die( __( "Access denied", 'auto-install-free-ssl' ) ); 641 704 } 642 705 update_option( 'aifs_free_plan_selected', 1 ); … … 647 710 //PRO plan selected 648 711 if ( !wp_verify_nonce( $_GET['aifspro'], 'aifs_pro_plan' ) ) { 649 wp_die( __( "Access Denied", 'auto-install-free-ssl' ) );712 wp_die( __( "Access denied", 'auto-install-free-ssl' ) ); 650 713 } 651 714 update_option( 'aifs_premium_plan_selected', get_option( 'aifs_premium_plan_selected' ) + 1 ); … … 657 720 //PRO UNLIMITED plan selected 658 721 if ( !wp_verify_nonce( $_GET['aifsprounlimited'], 'aifs_pro_unlimited_plan' ) ) { 659 wp_die( __( "Access Denied", 'auto-install-free-ssl' ) );722 wp_die( __( "Access denied", 'auto-install-free-ssl' ) ); 660 723 } 661 724 update_option( 'aifs_premium_plan_selected', get_option( 'aifs_premium_plan_selected' ) + 1 ); … … 696 759 echo '<ol>' ; 697 760 echo '<li><a href="' . $premium_download_link . '">' . __( "Download from this link.", 'auto-install-free-ssl' ) . '</a></li>' ; 698 echo '<li>' . sprintf( __( "Download from the %s Account page%s.", 'auto-install-free-ssl' ), '<a href="' . admin_url( 'admin.php?page=auto_install_free_ssl-account' ) . '">', '</a>' ) . '</li>' ; 761 /* translators: %s: HTML code to create a hyperlink with the text 'Account page'. */ 762 echo '<li>' . sprintf( __( "Download from the %sAccount page%s.", 'auto-install-free-ssl' ), '<a href="' . admin_url( 'admin.php?page=auto_install_free_ssl-account' ) . '">', '</a>' ) . '</li>' ; 699 763 echo '<li>' . __( "Download from the email we sent you after the purchase.", 'auto-install-free-ssl' ) . '</li>' ; 700 764 echo '</ol>' ; 701 765 echo '</div>' ; 702 echo '<p style="text-align: center;">' . sprintf( __( "The %s License Key%s has been provided in the same email.", 'auto-install-free-ssl' ), '<strong>', '</strong>' ) . '</p>' ; 703 echo '<p style="text-align: center;">' . sprintf( __( "Any issues? %s Contact Us%s right away. We'll be happy to help you.", 'auto-install-free-ssl' ), '<a href="' . $contact_link . '">', '</a>' ) . '</p>' ; 766 /* translators: %s: HTML code to make the text 'License Key' bold. */ 767 echo '<p style="text-align: center;">' . sprintf( __( "The %sLicense Key%s has been provided in the same email.", 'auto-install-free-ssl' ), '<strong>', '</strong>' ) . '</p>' ; 768 /* translators: %s: HTML code to create a hyperlink with the text 'Contact Us'. */ 769 echo '<p style="text-align: center;">' . sprintf( __( "Any issues? %sContact Us%s right away. We'll be happy to help you.", 'auto-install-free-ssl' ), '<a href="' . $contact_link . '">', '</a>' ) . '</p>' ; 704 770 ?> 705 771 </td> … … 719 785 //wp_enqueue_script('aifs_countdown', false, [], false, true); 720 786 return '// Set the date to countdown to (in this example, it is 1 hour from now) 721 var countDownDate = (' . get_option( 'aifs_comparison_table_promo_start_time' ) . ' + 1 * 60 * 60)* 1000;787 var countDownDate = ' . (get_option( 'aifs_comparison_table_promo_start_time' ) + $this->countdown_duration) . ' * 1000; 722 788 723 789 // Update the countdown every second -
auto-install-free-ssl/trunk/FreeSSLAuto/src/Admin/Log.php
r2868890 r2905766 44 44 { 45 45 if (!defined('ABSPATH')) { 46 die(__( "Access Denied", 'auto-install-free-ssl' ));46 die(__( "Access denied", 'auto-install-free-ssl' )); 47 47 } 48 48 … … 107 107 <?php 108 108 $date = str_replace('.log', '', basename($file)); 109 /* translators: %s: A date */ 109 110 $title = sprintf(__("Click here to view the log of %s", 'auto-install-free-ssl'), $date); 110 111 echo '<a href="'.$view_log_url . $date.'" title="'. $title .'">'. $date .'</a>'; … … 126 127 if ( isset( $_GET['aifsviewlog'] ) ) { 127 128 if ( !wp_verify_nonce( $_GET['aifsviewlog'], 'aifs_view_log' ) ) { 128 echo __( "Access Denied", 'auto-install-free-ssl' );129 echo __( "Access denied", 'auto-install-free-ssl' ); 129 130 } 130 131 else { … … 160 161 $title = __( "DELETE plugin data on deactivation", 'auto-install-free-ssl' ); 161 162 $confirm = __( "Would you like to DELETE plugin data on deactivation?", 'auto-install-free-ssl' ); 162 echo sprintf(__( "'%s' keeps the plugin data intact on deactivation (or uninstallation). If you'd like to delete plugin data, you can %sclick here%s", 'auto-install-free-ssl' ), AIFS_NAME, '<a href="' . $link_to_delete_data . '" title="'.$title.'" class="button" onclick="return confirm(\''.$confirm.'\')">', '</a>'); 163 /* translators: %1$s: Name of this plugin, i.e., 'Auto-Install Free SSL'; %2$s: Opening HTML 'a' tag; %3$s: Closing 'a' tag (Opening and closing 'a' tags create a hyperlink with the enclosed text.) */ 164 echo sprintf(__( '%1$s keeps the plugin data intact on deactivation (or uninstallation). If you\'d like to delete plugin data, you can %2$sclick here.%3$s', 'auto-install-free-ssl' ), '<strong>' . AIFS_NAME . '</strong>', '<a href="' . $link_to_delete_data . '" title="'.$title.'" class="button" onclick="return confirm(\''.$confirm.'\')">', '</a>'); 163 165 } 164 166 else { 165 167 $link_to_keep_data = wp_nonce_url( get_site_url() . $_SERVER['REQUEST_URI'], 'aifs_keep_data_intact_on_deactivate', 'aifskeepplugindataintact' ); 166 168 $title = __( "You could keep plugin data INTACT on deactivation", 'auto-install-free-ssl' ); 167 echo sprintf( __( "'%s' will delete the plugin data upon deactivation (or uninstallation). Feel free to %sclick here%s if you'd like to keep plugin data intact.", 'auto-install-free-ssl' ), AIFS_NAME, '<a href="' . $link_to_keep_data . '" title="'.$title.'" class="button button-primary">', '</a>' ); 169 /* translators: %1$s: Name of this plugin, i.e., 'Auto-Install Free SSL'; %2$s: Opening HTML 'a' tag; %3$s: Closing 'a' tag (Opening and closing 'a' tags create a hyperlink with the enclosed text.) */ 170 echo sprintf( __( '%1$s will delete the plugin data upon deactivation (or uninstallation). Feel free to %2$sclick here%3$s if you\'d like to keep plugin data intact.', 'auto-install-free-ssl' ), '<strong>' . AIFS_NAME . '</strong>', '<a href="' . $link_to_keep_data . '" title="'.$title.'" class="button button-primary">', '</a>' ); 168 171 } 169 172 ?> … … 186 189 if ( isset( $_GET['aifsdeleteplugindata'] ) ) { 187 190 if ( !wp_verify_nonce( $_GET['aifsdeleteplugindata'], 'aifs_delete_data_on_deactivate' ) ) { 188 wp_die( __( "Access Denied", 'auto-install-free-ssl' ) );191 wp_die( __( "Access denied", 'auto-install-free-ssl' ) ); 189 192 } 190 193 update_option( 'aifs_delete_plugin_data_on_deactivation', 1); … … 196 199 else if ( isset( $_GET['aifskeepplugindataintact'] ) ) { 197 200 if ( !wp_verify_nonce( $_GET['aifskeepplugindataintact'], 'aifs_keep_data_intact_on_deactivate' ) ) { 198 wp_die( __( "Access Denied", 'auto-install-free-ssl' ) );201 wp_die( __( "Access denied", 'auto-install-free-ssl' ) ); 199 202 } 200 203 update_option( 'aifs_delete_plugin_data_on_deactivation', 0); -
auto-install-free-ssl/trunk/FreeSSLAuto/src/Controller.php
r2886132 r2905766 41 41 { 42 42 if ( !defined( 'ABSPATH' ) ) { 43 die( __( "Access Denied", 'auto-install-free-ssl' ) );43 die( __( "Access denied", 'auto-install-free-ssl' ) ); 44 44 } 45 45 $this->logger = new Logger(); … … 62 62 $domains_array[] = $domain; 63 63 } else { 64 /* translators: %s: A domain name, e.g., example.com */ 64 65 $this->logger->log( sprintf( __( "%s is in your exclusion list; skip it.", 'auto-install-free-ssl' ), $domain ) ); 65 66 } … … 90 91 } else { 91 92 $this->logger->log( sprintf( 92 __( "This server's IP is %s. But %s points to different IP (%s). So, skipping it.", 'auto-install-free-ssl' ), 93 /* translators: %1$s: A IP address, e.g., 192.168.1.1, %2$s: A domain name, e.g., example.com, %3$s: Another IP address, e.g., 10.0.0.1 */ 94 __( 'The IP of this server is %1$s. But %2$s points to different IP (%3$s). So, skipping it.', 'auto-install-free-ssl' ), 93 95 $_SERVER['SERVER_ADDR'], 94 96 $domain, … … 103 105 } else { 104 106 //domain offline 107 /* translators: %s: A domain name, e.g., example.com */ 105 108 $this->logger->log( sprintf( __( "%s is offline. Skipping it.", 'auto-install-free-ssl' ), $domain ) ); 106 109 } -
auto-install-free-ssl/trunk/FreeSSLAuto/src/Email.php
r2886132 r2905766 39 39 { 40 40 if ( !defined( 'ABSPATH' ) ) { 41 die( __( "Access Denied", 'auto-install-free-ssl' ) );41 die( __( "Access denied", 'auto-install-free-ssl' ) ); 42 42 } 43 43 $this->logger = new Logger(); … … 58 58 public function add_review_request_in_email( $admin_first_name = null ) 59 59 { 60 $this->factory->add_display_review(); 60 61 $display_review = get_option( 'aifs_display_review' ); 61 62 62 63 if ( $display_review != false && $display_review != 0 ) { 63 64 //If aifs_display_review is set to 1, add the review request 64 $html = "<div style='background-color: #000000; padding: 15px; margin-bottom: 18px;'>\n <div style='color: #FFFF00; font-size: 1.25em; margin-bottom: 16px;'>\n " . __( "Hey", 'auto-install-free-ssl' ) . " " . (( is_null( $admin_first_name ) ? aifs_admin_first_name() : $admin_first_name )) . ", " . sprintf( __( "%s has saved you \$90 by providing Free SSL Certificates and will save more. Please share your experience with us on WordPress (probably with a five-star rating). That will help spread the word and boost our motivation.", 'auto-install-free-ssl' ), '<strong>' . AIFS_NAME . '</strong>' ) . " <br />~Anindya\n </div>\n <a style='background: #399642; color: #ffffff; text-decoration: none; padding: 7px 15px; border-radius: 5px;' href='https://wordpress.org/support/plugin/auto-install-free-ssl/reviews/#new-post' target='_blank'>" . __( "Sure! You Deserve It.", 'auto-install-free-ssl' ) . "</a>\n </div>"; 65 $html = "<div style='background-color: #000000; padding: 15px; margin-bottom: 18px;'>\n <div style='color: #FFFF00; font-size: 1.25em; margin-bottom: 16px;'>\n " . __( "Hey", 'auto-install-free-ssl' ) . " " . (( is_null( $admin_first_name ) ? aifs_admin_first_name() : $admin_first_name )) . ", "; 66 /* translators: %s: Name of this plugin, i.e., 'Auto-Install Free SSL' */ 67 $html .= sprintf( __( "%s has saved you \$90 by providing Free SSL Certificates and will save more. Please share your experience with us on WordPress (probably with a five-star rating). That will help boost our motivation and spread the word.", 'auto-install-free-ssl' ), '<strong>' . AIFS_NAME . '</strong>' ); 68 $html .= " <br />\n </div>\n <a style='background: #399642; color: #ffffff; text-decoration: none; padding: 7px 15px; border-radius: 5px;' href='https://wordpress.org/support/plugin/auto-install-free-ssl/reviews/?filter=5#new-post' target='_blank'>" . __( "Sure! You Deserve It.", 'auto-install-free-ssl' ) . "</a>\n </div>"; 65 69 } else { 66 70 $html = ""; … … 128 132 129 133 if ( $interval > 0 ) { 130 $subject = sprintf( __( "Your SSL certificate, for %s, is expiring in %s days", 'auto-install-free-ssl' ), $cert_array['subject']['CN'], $interval ); 131 } else { 132 $subject = sprintf( __( "Your SSL certificate, for %s, is EXPIRED! Renew urgently.", 'auto-install-free-ssl' ), $cert_array['subject']['CN'] ); 134 /* translators: %1$s: A domain name, e.g., example.com, %2$s: Number of days */ 135 $subject = sprintf( __( 'Your SSL certificate, for %1$s, is expiring in %2$s days', 'auto-install-free-ssl' ), $cert_array['subject']['CN'], $interval ); 136 } else { 137 /* translators: %s: A domain name, e.g., example.com */ 138 $subject = sprintf( __( "Your SSL certificate, for %s, is EXPIRED!", 'auto-install-free-ssl' ), $cert_array['subject']['CN'] ) . " "; 139 $subject .= __( "Renew urgently.", 'auto-install-free-ssl' ); 133 140 } 134 141 … … 137 144 138 145 if ( $interval > 0 ) { 139 $body .= "<p>" . sprintf( __( "Your SSL certificate, for %s, will expire in %s days.", 'auto-install-free-ssl' ), str_replace( 'DNS:', '', $cert_array['extensions']['subjectAltName'] ), $interval ); 140 } else { 146 /* translators: %1$s: A domain name, e.g., example.com, %2$s: Number of days */ 147 $body .= "<p>" . sprintf( __( 'Your SSL certificate, for %1$s, will expire in %2$s days.', 'auto-install-free-ssl' ), str_replace( 'DNS:', '', $cert_array['extensions']['subjectAltName'] ), $interval ); 148 } else { 149 /* translators: %s: A domain name, e.g., example.com */ 141 150 $body .= "<p>" . sprintf( __( "Your SSL certificate, for %s, is EXPIRED!", 'auto-install-free-ssl' ), str_replace( 'DNS:', '', $cert_array['extensions']['subjectAltName'] ) ); 142 151 } 143 152 153 /* translators: %s: A date, e.g., December 30, 2023. */ 144 154 $body .= " " . sprintf( __( "The expiry date is %s.", 'auto-install-free-ssl' ), $expiry_date ) . "</p>"; 145 $body .= "<p style='color: red; font-size: 1.3em;'>" . sprintf( __( "If you don't renew the SSL certificate %s, your visitors will see a security warning in red and leave your website.", 'auto-install-free-ssl' ), ( $interval > 0 ? __( "before the expiry date", 'auto-install-free-ssl' ) : __( "URGENTLY", 'auto-install-free-ssl' ) ) ) . "</p>"; 155 $before_expiry = __( "before the expiry date", 'auto-install-free-ssl' ); 156 $urgently = __( "URGENTLY", 'auto-install-free-ssl' ); 157 /* translators: %s: Words, either 'before the expiry date' or 'URGENTLY' based on a predefined condition. */ 158 $body .= "<p style='color: red; font-size: 1.3em;'>" . sprintf( __( "If you don't renew the SSL certificate %s, your visitors will see a security warning in red and leave your website.", 'auto-install-free-ssl' ), ( $interval > 0 ? $before_expiry : $urgently ) ) . "</p>"; 159 /* translators: %s: Name of the SSL certificate authority, e.g., Let's Encrypt */ 146 160 $body .= "<p>" . sprintf( __( "The validity of %s free SSL is 90 days. They recommend renewing 30 days before expiry.", 'auto-install-free-ssl' ), $issuerShort ) . "</p>"; 161 /* translators: %s: HTML code to create a hyperlink with the text 'click here'. */ 147 162 $body .= "<p>" . sprintf( __( "%sClick here%s to Renew your SSL today.", 'auto-install-free-ssl' ), '<a href="' . $renew_url . '">', '</a>' ) . "</p>"; 148 //$body .= "<p>" . sprintf(__( "%sDo you want automatic renewal every 60 days?%s %sClick here%s to upgrade to the Premium Version using this %s discount code: %s The offer expires soon.%s", 'auto-install-free-ssl' ), '<strong>', '</strong>', '<a href="'. $this->factory->upgrade_url() .'">', '</a>', $discount_percentage, ('<span style="color: green; font-weight: bold; text-transform: uppercase;">' . $coupon_code . '</span><br /><span style="font-style: italic;">'), '</span>') . "</p>"; 149 $body .= "<p>" . sprintf( 150 __( "%sTired of renewing & installing SSL certificates manually every 60 days?%s %sClick here%s to try Premium Version; the plugin will do everything automatically! %s discount code: %s The offer expires soon.%s", 'auto-install-free-ssl' ), 151 '<strong>', 152 '</strong>', 153 '<a href="' . $this->factory->upgrade_url() . '">', 154 '</a>', 155 $discount_percentage, 156 '<span style="color: green; font-weight: bold; text-transform: uppercase;">' . $coupon_code . '</span><br /><span style="font-style: italic;">', 157 '</span>' 158 ) . "</p>"; 163 //$body .= "<p>" . sprintf(__( '%1$sDo you want automatic renewal every 60 days?%2$s %3$sClick here%4$s to upgrade to the Premium Version using this %5$s discount code: %6$s The offer expires soon.%7$s', 'auto-install-free-ssl' ), '<strong>', '</strong>', '<a href="'. $this->factory->upgrade_url() .'">', '</a>', $discount_percentage, ('<span style="color: green; font-weight: bold; text-transform: uppercase;">' . $coupon_code . '</span><br /><span style="font-style: italic;">'), '</span>') . "</p>"; 164 //$body .= "<p>" . sprintf(__( '%1$sTired of renewing & installing SSL certificates manually every 60 days?%2$s %3$sClick here%4$s to try Premium Version; the plugin will do everything automatically! %5$s discount code: %6$s The offer expires soon.%7$s', 'auto-install-free-ssl' ), '<strong>', '</strong>', '<a href="'. $this->factory->upgrade_url() .'">', '</a>', $discount_percentage, ('<span style="color: green; font-weight: bold; text-transform: uppercase;">' . $coupon_code . '</span><br /><span style="font-style: italic;">'), '</span>') . "</p>"; 165 $body .= "<p><strong>" . __( "Tired of renewing & installing SSL certificates manually every 60 days?", 'auto-install-free-ssl' ) . "</strong> "; 166 /* translators: %s: placeholders for HTML code to create a hyperlink with the text 'Click here'. */ 167 $body .= sprintf( __( '%sClick here%s to try Premium Version; the plugin will do everything automatically!', 'auto-install-free-ssl' ), '<a href="' . $this->factory->upgrade_url() . '">', '</a>' ) . " "; 168 /* translators: %1$s: Discount percentage (includes % sign), %2$s: Coupon code for the discount */ 169 $body .= sprintf( __( '%1$s discount code: %2$s', 'auto-install-free-ssl' ), $discount_percentage, '<span style="color: green; font-weight: bold; text-transform: uppercase;">' . $coupon_code . '</span>' ); 170 $body .= '<br /><span style="font-style: italic;">' . __( "The offer expires soon.", 'auto-install-free-ssl' ) . '</span>'; 171 $body .= "</p>"; 159 172 $body .= "<p>" . __( "Please ignore this email if you have renewed the SSL certificate already.", 'auto-install-free-ssl' ) . "</p>"; 160 173 $body .= $this->add_email_signature(); -
auto-install-free-ssl/trunk/FreeSSLAuto/src/Logger.php
r2868890 r2905766 89 89 //throw new \RuntimeException("Can't create directory '$log_directory'. Please manually create this directory, set permission 0755 and try again."); 90 90 $this->exception_sse_friendly( 91 /* translators: %s: A directory path */ 91 92 sprintf( __( "Can't create directory '%s'. Please manually create this directory, set permission 0755, and try again.", 'auto-install-free-ssl' ), $log_directory ), 92 93 __FILE__, -
auto-install-free-ssl/trunk/assets/css/aifs-admin.css
r2886132 r2905766 476 476 background: white; 477 477 color: black; 478 margin: 2% 0 ;478 margin: 2% 0 2% 8%; 479 479 padding: 1% 1.5%; 480 480 border-style: solid; … … 482 482 border-color: green; 483 483 text-align: center; 484 max-width: 80%; 484 485 } 485 486 … … 493 494 font-weight: bold; 494 495 } 496 497 .aifs-welcome{ 498 499 } -
auto-install-free-ssl/trunk/auto-install-free-ssl.php
r2892748 r2905766 7 7 * Plugin URI: https://freessl.tech 8 8 * Description: Generate & install Free SSL Certificates, activate force HTTPS redirect with one click to fix insecure links & mixed content warnings, and get automatic Renewal Reminders. 9 * Version: 3.4. 19 * Version: 3.4.2 10 10 * Requires at least: 4.1 11 11 * Requires PHP: 5.6 … … 42 42 /* Deny direct access */ 43 43 if ( !defined( 'ABSPATH' ) ) { 44 die( __( 'Oops! Access denied.', 'auto-install-free-ssl' ) );44 die( __( "Access denied", 'auto-install-free-ssl' ) ); 45 45 } 46 46 … … 89 89 90 90 if ( !defined( 'PHP_VERSION_ID' ) || PHP_VERSION_ID < 50400 ) { 91 wp_die( __( "You need at least PHP 5.4.0 \n", 'auto-install-free-ssl' ) );91 wp_die( __( "You need at least PHP 5.4.0", 'auto-install-free-ssl' ) ); 92 92 } 93 93 if ( !extension_loaded( 'openssl' ) ) { 94 wp_die( __( "You need OpenSSL extension enabled with PHP \n", 'auto-install-free-ssl' ) );94 wp_die( __( "You need OpenSSL extension enabled with PHP", 'auto-install-free-ssl' ) ); 95 95 } 96 96 if ( !extension_loaded( 'curl' ) ) { 97 wp_die( __( "You need Curl extension enabled with PHP \n", 'auto-install-free-ssl' ) );97 wp_die( __( "You need Curl extension enabled with PHP", 'auto-install-free-ssl' ) ); 98 98 } 99 99 if ( !ini_get( 'allow_url_fopen' ) ) { … … 522 522 } 523 523 wp_register_script( 'aifs_script_1', AIFS_URL . 'assets/js/script.js', array( 'jquery' ) ); 524 /* translators: "Let's Encrypt" is a nonprofit SSL certificate authority. */ 525 $agree_to_le_terms = __( "Please read and agree to the Let's Encrypt™ Subscriber Agreement", 'auto-install-free-ssl' ); 524 526 // Localize the script with new data 525 527 $translation_array = array( 526 528 'password_or_api_token' => __( "Please provide either a Password or an API Token", 'auto-install-free-ssl' ), 527 529 'admin_email' => __( "Please provide the Admin Email id", 'auto-install-free-ssl' ), 528 'le_terms' => __( "Please read and agree to the Let's Encrypt Subscriber Agreement", 'auto-install-free-ssl' ),530 'le_terms' => $agree_to_le_terms, 529 531 'freessl_tech_tos_pp' => __( "Please read and agree to FreeSSL.tech Terms of Service and Privacy Policy", 'auto-install-free-ssl' ), 530 532 ); … … 704 706 if ( isset( $_GET['aifsdownloadssl'] ) ) { 705 707 if ( !wp_verify_nonce( $_GET['aifsdownloadssl'], 'aifs_download_ssl' ) ) { 706 wp_die( __( 'Access denied', 'auto-install-free-ssl' ) );708 wp_die( __( "Access denied", 'auto-install-free-ssl' ) ); 707 709 } 708 710 $app_settings = aifs_get_app_settings(); … … 890 892 $link = $factory->upgrade_url( "AUTOMATION", "hide_coupon=true&checkout=true" ); 891 893 // AUTOMATION 892 $html = '<a href="' . $link . '" style="text-decoration: none;"><div class="card block-body" style="width: 100%; padding-left: 2%; margin-left: -1%; margin-top: -3.5%;"> 893 <p>' . sprintf( __( "WAIT, HOW ABOUT %s OFF?", 'auto-install-free-ssl' ), "25%" ) . '<img src="' . AIFS_URL . 'assets/img/fire.webp" style="margin-left: 4%; width 20px; height: 20px;"></p> 894 $html = '<a href="' . $link . '" style="text-decoration: none;"><div class="card block-body" style="width: 100%; padding-left: 2%; margin-left: -1%; margin-top: -3.5%;">'; 895 /* translators: %s: Discount percentage (includes % sign) */ 896 $html .= '<p>' . sprintf( __( "WAIT, HOW ABOUT %s OFF?", 'auto-install-free-ssl' ), "25%" ) . '<img src="' . AIFS_URL . 'assets/img/fire.webp" style="margin-left: 4%; width 20px; height: 20px;"></p> 894 897 <p>' . __( "Facing difficulties? Our Premium Plugin automatically generates free SSL certificates and installs & renews them.", 'auto-install-free-ssl' ) . '</p> 895 898 <p><i>' . __( "BONUS: we'll do the one-time setup for you.", 'auto-install-free-ssl' ) . '</i> <a class="aifs-review-now aifs-review-button" style="margin-left: 5%;" href="' . $link . '">' . __( "Grab the deal now!", 'auto-install-free-ssl' ) . '</a></p> … … 906 909 aifssl_fs()->add_filter( 'uninstall_reasons', 'aifs_deactivation_promo' ); 907 910 //add_filter( 'fs_uninstall_reasons_auto-install-free-ssl', 'aifs_deactivation_promo', 1 ); 908 } 911 /* 912 * // https://mail.google.com/mail/u/0/#inbox/FMfcgzGrcrtWVHmRdMXDqsxZvKGDBDnD 913 * function aifs_uninstall_confirmation_message() { 914 //return '<div><p>25% discount code for you: <strong>AUTOMATION</strong></p><p></p><p>Facing difficulties?</p></div>'; 915 $factory = new Factory(); 916 $link = $factory->upgrade_url( "AUTOMATION", "hide_coupon=true&checkout=true" ); // AUTOMATION 917 return '<div><a href="' . $link . '" style="text-decoration: none;"><div class="card block-body" style="width: 100%; padding-left: 2%; margin-left: -1%; margin-top: -3.5%;"> 918 <p>' . sprintf( __( "WAIT, HOW ABOUT %s OFF?", 'auto-install-free-ssl' ), "25%" ) . '<img src="' . AIFS_URL . 'assets/img/fire.webp" style="margin-left: 4%; width 20px; height: 20px;"></p> 919 <p>' . __( "Facing difficulties? Our Premium Plugin automatically generates free SSL certificates and installs & renews them.", 'auto-install-free-ssl' ) . '</p> 920 <p><i>' . __( "BONUS: we'll do the one-time setup for you.", 'auto-install-free-ssl' ) . '</i> <a class="aifs-review-now aifs-review-button" style="margin-left: 5%;" href="' . $link . '">' . __( "Grab the deal now!", 'auto-install-free-ssl' ) . '</a></p> 921 </div></a></div>'; 922 } 923 924 aifssl_fs()->add_filter( 'uninstall_confirmation_message', 'aifs_uninstall_confirmation_message' );*/ 925 } -
auto-install-free-ssl/trunk/freemius/start.php
r2892748 r2905766 16 16 * @var string 17 17 */ 18 $this_sdk_version = '2.5. 6';18 $this_sdk_version = '2.5.7'; 19 19 20 20 #region SDK Selection Logic -------------------------------------------------------------------- -
auto-install-free-ssl/trunk/readme.txt
r2892748 r2905766 7 7 Requires at least: 4.1 8 8 Tested up to: 6.2 9 Stable tag: 3.4. 19 Stable tag: 3.4.2 10 10 Requires PHP: 5.6 11 11 Development location: https://freessl.tech … … 18 18 ### Auto-Install Free SSL 19 19 20 ** 'Auto Install Free SSL' is the first WordPress Plugin that Automatically issues and installs Free SSL Certificates.**20 **With over [350 five-star reviews ⭐⭐⭐⭐⭐](https://wordpress.org/support/plugin/auto-install-free-ssl/reviews/?filter=5), 'Auto Install Free SSL' is the FIRST WordPress Plugin that helps you effortlessly generate Free SSL Certificates in your WordPress dashboard.** 21 21 22 22 Let's Encrypt™ SSL Certificate is FREE. But they provide it through their API. If you are not a programmer, you need to study and practice programming for years to be able to use the API of Let's Encrypt™ to generate a single Free SSL Certificate for your WordPress website. … … 27 27 28 28 29 ` 3 05,500+ DOWNLOADS!!`29 ` 312,500+ DOWNLOADS!!` 30 30 31 31 … … 169 169 170 170 1. After the previous step, you'll be redirected to the Generate SSL page (in most cases). Otherwise, navigate to the 'Auto-Install Free SSL' menu in the sidebar, and click the 'Generate SSL' option. [Screenshot here.](https://ps.w.org/auto-install-free-ssl/assets/screenshot-1.png?rev=2750244) 171 1. On the next page, i.e., the 'Generate Free SSL Certificate' page, read & agree to the Let's Encrypt Subscriber Agreement and FreeSSL.tech Terms of Service & Privacy Policy by clicking the relevant checkboxes. Then click the 'Generate Free SSL' button and 'OK' in the confirmation dialog box. [Screenshot here.](https://ps.w.org/auto-install-free-ssl/assets/screenshot-2.png?rev=2750244)171 1. On the next page, i.e., the 'Generate Free SSL Certificate' page, read & agree to the Let's Encrypt™ Subscriber Agreement and FreeSSL.tech Terms of Service & Privacy Policy by clicking the relevant checkboxes. Then click the 'Generate Free SSL' button and 'OK' in the confirmation dialog box. [Screenshot here.](https://ps.w.org/auto-install-free-ssl/assets/screenshot-2.png?rev=2750244) 172 172 1. Wait a few seconds. Then you see the second step: 'Verify Domain'. Please check the [screenshot](https://ps.w.org/auto-install-free-ssl/assets/screenshot-3.png?rev=2750244). You have two methods, HTTP-01 and DNS-01, to verify your domain ownership. You need to complete any one method. We are discussing only the HTTP-01 method, the most popular, easiest, and time-saving method. 173 173 … … 230 230 The options will differ if your web hosting control panel is anything other than cPanel and Plesk, but the concept is similar. 231 231 232 **NOTE:** The free SSL certificate issued by Let's Encrypt expires in 90 days. So you need to spend time repeating the process of generating and installing an SSL certificate every 60 days. They recommend renewing 30 days before expiry.232 **NOTE:** The free SSL certificate issued by Let's Encrypt™ expires in 90 days. So you need to spend time repeating the process of generating and installing an SSL certificate every 60 days. They recommend renewing 30 days before expiry. 233 233 234 234 Click the 'Re-generate (renew) SSL' button to start renewing. … … 285 285 ` urn:ietf:params:acme:error:invalidEmail ` 286 286 287 Let's Encrypt API throws this error if an invalid email was set as the admin email of your WordPress website, for example, "[email protected]" or "[email protected]". Let's Encryptexpects we should register an account with a working email.287 Let's Encrypt™ API throws this error if an invalid email was set as the admin email of your WordPress website, for example, "[email protected]" or "[email protected]". Let's Encrypt™ expects we should register an account with a working email. 288 288 289 289 To fix this, please update this plugin to the latest version and try generating the SSL again. Then you'll get a text field to update the admin email address. … … 340 340 == Changelog == 341 341 342 = 3.4.1 = 343 * Updated the Freemius WordPress SDK to version 2.5.6. 344 * Removed the function request_free_premium_license(), unused since January 1, 2023. 345 346 = 3.4.0 = 347 * Improved the layout of all the steps to generate free SSL certificate and the free vs. premium comparison page. 348 * Refactored and created a few functions. 349 * Updated the Freemius WordPress SDK to version 2.5.5. 350 * Tested up to WordPress 6.2 351 352 = 3.3.2 = 353 * Fixed the issue with upgrade URL for the users who used the free premium license but now downgraded to free version. 354 * [Pro] Added cPanel username check to prevent using email id as cPanel username - display an error text if email id found. 355 356 = 3.3.1 = 357 * Fixed the issues with translation compatibility and made all the texts translation ready. 358 359 = 3.3.0 = 360 * Refactored to fix a bug where a fatal error would be thrown in combination with plugin that uses usrflo/registered-domain-libs library. 361 * Fixed CSS conflict in combination with Enable Media Replace plugin. 362 363 = 3.2.15 = 364 * Updated the signature of the automated emails. 365 * Updated display announcement. 366 * [Pro] New function to detect if the user can use wildcard SSL. 367 * [Pro] Improvement in code to smooth transition from free premium license (if the user was using wildcard SSL or multi-domain mode) to single or 5-site license. 368 369 = 3.2.14 = 370 * Added a new function to fetch the admin user's last name. 371 * Added a new function to return the upgrade link for aifs_is_existing_user(). 372 * Changed upgrade link for aifs_is_existing_user(). Previous link didn't work in some installations. 373 374 = 3.2.13 = 375 * Improved the function for better detecting cPanel host. 376 * Fixed a bug that unexpectedly calls Generate SSL Manually Page (available for free version only) in some premium installations, which results in error of type E_ERROR. 377 * Updated the Freemius WordPress SDK to version 2.5.3. 378 * Updated display announcement. 379 380 = 3.2.12 = 381 * Improved the error handling at Step 1 of generating Free SSL Certificates. 382 * Updated the Freemius WordPress SDK to version 2.5.2. 383 * Changed the icon. 384 * Improved the function that returns first name of the WordPress admin. 385 386 = 3.2.11 = 387 * Improved the Let's Encrypt ACME account key registration code. 388 * Fixed a bug with error handling at the Domain Ownership verification step. 389 390 = 3.2.10 = 391 * [Pro] Fixed issue with SSL generation where the license is not for unlimited sites and the 'domain' key returned by cPanel is other than the WordPress website's domain. 392 * Added Force HTTPS override. If a valid SSL is installed but there is any issue activating Force HTTPS with the default option, it can be activated by accessing such URL (login required): http://www.example.com/wp-admin/admin.php?page=aifs_force_https&aifsaction=aifs_force_https_override&checked_ssl_manually=done&valid_ssl_installed=yes (Replace 'www.example.com' with your domain.) 393 394 = 3.2.9 = 395 * Fixed a bug: duplicate display in admin notice (caused since version 3.2.7). 396 397 = 3.2.8 = 398 * Fixed backward compatibility for older versions of WordPress for wp_date() function. 399 400 = 3.2.7 = 401 * Fixed the issue with renewal link in the SSL renewal reminder email. 402 * Fixed an issue with type casting in SSL renewal reminder with admin notice. 403 * Added an option to keep or delete plugin data on deactivation. 404 * Unschedule cron job event on deactivation. 405 406 = 3.2.6 = 407 * Improved the function that registers new ACME account. 408 * Added a feature to send SSL renewal reminder by email before the SSL expiry date. 409 410 = 3.2.5 = 411 * Updated LET'S ENCRYPT SUBSCRIBER AGREEMENT. 412 * Fixed an issue with the 'Remind me later' button of display review request admin notice. 413 * Added a feature to display SSL renewal reminder with admin notice. 414 415 = 3.2.4 = 416 * Improved footer links by using separate links for free and premium version. 417 * Improved logic of the submit button at manually generate SSL step 1 (free version) - now it does not display confirmation dialog if both checkboxes are selected. 418 * Improved the comparison table which will be displayed on the non-cPanel websites. 419 * Improved admin notice - if premium version, display review request only if the control panel is cPanel. 420 * Improved the instructions which will be displayed on the main page of the free version, after purchasing the premium. 421 422 = 3.2.3 = 423 * Added a new function to detect the document root of the WP installation instead of using $_SERVER['DOCUMENT_ROOT']. 424 * Improved the function getcPanelHost() that detects the cPanel host. 425 * [Pro] Display the video tutorial 'How to Configure this Plugin and Set Up Automation in cPanel' only on cPanel hosting (to avoid confusion on non-cPanel hosting). 426 427 = 3.2.2 = 428 * Added a new function to detect Plesk. 429 * Improved the logic of the documentation at SSL generation step 3 so that it can display the appropriate video with the specific control panel. 430 * Improved the comparison table. 431 * [Pro] Added (and replaced) 'What's next?' information if the control panel is not cPanel so that users contact us for complete automation with an alternative method. Updated the same text in the log and automated email. 432 433 = 3.2.1 = 434 * Fixed the slow loading issue of the Generate SSL (manually) page on Windows and on non-cPanel Linux hosting if the open_basedir restriction is in effect. 435 * Improved text of the comparison table. 436 437 = 3.2.0 = 438 * Improved: Windows hosting is now supported for both free and Pro version. 439 * [Pro] Improved text of the starting page for the users who don't have cPanel. 440 * [Pro] Fixed the double redirect issue after clicking the button in the starting page to generate SSL certificate (for the users who don't have cPanel). 441 442 = 3.1.3 = 443 * Fixed an issue with manual SSL generation where the initial Let's Encrypt server response expiry date has been passed but SSL generation steps were not completed. 444 * Updated video tutorials with vimeo-hosted videos. 445 * [Pro] Improved automated email text, log text and main page text for the users, who don't have cPanel. 446 * [Pro] Moved Activate Force HTTPS option at bottom of the main page and added video tutorial (How to Install SSL Certificate) in that place for the users, who don't have cPanel. 447 * [Pro] Automated SSL installation now possible with an add-on shell script for the users who don't have cPanel, but have root access to the server. Premium users need to contact us to get the script. 448 * [Pro] Added 'Single/Multi Domain' button in the main page. 449 450 = 3.1.2 = 451 * Improved comparison table and page. 452 * Replaced the link of comparison table (in admin notice) with the improved comparison page. 453 454 = 3.1.1 = 455 * Improved the layout of step 2 (Verify Domain). 456 * Replaced written tutorial with Video Tutorial (1) 'Plesk: How to upload HTTP-01 challenge files' (step 2). (2) 'Plesk: How to Install SSL Certificate' (step 3). 457 * [Pro] Fixed a PHP Warning. 458 * [Pro] Fixed issue with accessing the cPanel settings if the existing SSL expired, but the website forced to load over HTTPS. 459 460 = 3.1.0 = 461 * Added a new page and menu for 'Activate Force HTTPS'. 462 * Added a button in the header 'Force HTTPS' to easily access the option. 463 * Improved Generate SSL (manually) page: (1) At step 3, changed the position of the Video Tutorial 'cPanel: How to Install SSL Certificate', so that users can access it easily. (2) Moved 'Activate Force HTTPS' option at the bottom of this page (step 3). (3) Show 'Activate Force HTTPS' option only if an SSL certificate has been generated but Force HTTPS is not activated (step 3). 464 * Added Tutorial content with Generate SSL (manually) page: (1) Video Tutorial 'cPanel: How to upload HTTP-01 challenge files' (step two). (2) Written Tutorial 'Plesk: How to upload HTTP-01 challenge files' (step 2). (3) Written Tutorial 'Plesk: How to Install SSL Certificate' (step 3). 465 * [Pro] Improved cPanel Settings: (1) Added clear information that users need to use either an API Token or Password. Not both. (If the license is not for unlimited websites). (2) Changed the position of the Short Video Tutorial 'How to Create API Tokens in cPanel', so that users can access it easily. (3) Removed 'Activate Force HTTPS' option from the cPanel settings page. (4) Fixed the issue with checking whether password is filled in, if the user opted to generate wildcard SSL certificate. 466 * [Pro] Added separate Support Forum URL for the premium version users, so that they don't post at the WordPress.org Support Forum. 467 * [Pro] Added filter to show the contact submenu item only when the user have a valid non-expired license. 468 469 = 3.0.7 = 470 * Updated the Freemius WordPress SDK to version 2.4.5. 471 * [Pro] Improved Exclude Domains settings. 472 * [Pro] Fixed an issue with the function sslRequiredForFirstTime() that detects whether the plugin is generating SSL certificate for the first time. 473 474 = 3.0.6 = 475 * Advanced detection of the users who were using the plugin since free only version (v2). 476 * Changed menu icon and menu position. 477 * Improvement in header styling. 478 * [Pro] Added new function to check cPanel connectivity. 479 * Added new comparison table to help understand the difference between free and pro version better. 480 481 = 3.0.5 = 482 * Affiliate program launched - any one can join. 483 * Fixed an issue with PHP 8. 484 * [Pro] Added cPanel authentication with API Token. Users can provide API Token instead of Password. 485 * [Pro] Improved cPanel Settings logging. 486 487 = 3.0.4 = 488 * Updated the freemius WP SDK to version 2.4.4. 489 * Updated: keep SSL log for 90 days. 490 * Fixed issue with admin alerts. 491 * Improved the content of readme.txt. 492 493 = 3.0.3 = 494 * Fixed some issues for smooth upgrade from version 2 to Free version 3. 495 * Improved a few text. 496 497 = 3.0.2 = 498 * Fixed a function name conflict with Form Maker Pro plugin. 499 * Improved auto-detection [Pro] whether the plugin was used for multi-domain. This helps smooth upgrading to the Pro version 3 from version 2. 500 501 = 3.0.1 = 502 * Fixed an issue displaying the FREE Premium License offer (with admin notice) for the Existing users, who are upgrading from the free version 2.2.3 or earlier. 503 504 = 3.0.0 = 505 * Compatible with WordPress 6.0 506 * Fixed an issue displaying the 'Activate Force HTTPS' button. 507 * Improved 'Activate Force HTTPS' feature. 508 * Added a new feature to save the log for 45 days and easy access from the menu. 509 * Improvement in the layout. 510 * Fixed an issue with the parameter of function getDomainPath(), which returns the domain path. 511 * As per the announcement dated November 3, 2020, we are releasing the premium/pro version, which is fully automated and this free version doesn't have any automation feature. We are offering a 6-month FREE premium license to all existing users (who are upgrading from the free version 2.2.3 or earlier). This FREE premium license is valid until December 31, 2022. 512 Existing users need to upgrade the free plugin to version 3.0.0, then they’ll get the option to request the Premium License for FREE. 513 * Improved setup process [Pro] Users can set it up within one minute in the single domain mode. 514 * Improved cPanel Settings [Pro] 515 * Improved Cron job [Pro] No need to manually configure the cron job. It is activated by default with WP cron. 516 * Improved ‘Issue and install Free SSL certificate’ option [Pro] Now users can view the server-generated event messages in real-time with a terminal-like interface, with SSE. 517 * Improved data entry [Pro] A few essential data are prefilled automatically. 518 519 = 2.2.2 = 520 * Fixed conflict with 'Post SMTP Mailer/Email Log' plugin. 521 * Fixed an issue to make it translation ready. 522 * Announcement to restructure the features. 523 524 = 2.2.1 = 525 * Removes parameter type declaration of the function connect_over_ssl() to make the plugin compatible with PHP 5.6. This function has been added in the version 2.2.0. 526 527 = 2.2.0 = 528 * Adds validation with the 'Activate Force HTTPS' option. Now it works only if a valid SSL installed on the website. 529 * Changed the support link that appears in the footer of the admin pages. 530 531 = 2.1.7 = 532 * Fixed a bug with 'Issue and install Free SSL certificate' option 533 * Improved the layout of 'Issue and install Free SSL certificate' option 534 535 = 2.1.6 = 536 * Adds video guide: How to Configure this Plugin and set up Automation 537 538 = 2.1.5 = 539 * Fixed minor error in the file DnsServiceProvidersSettings.php that throws PHP Notice: Undefined index: use_wildcard 540 541 = 2.1.4 = 542 * Improves 'Add Cron Job' option. 543 * Adds two video guides: 'How to add a Cron Job in a minute on cPanel shared hosting' and 'How to Install Free SSL Certificate on cPanel Shared Hosting'. 544 * Adds FAQ. 545 546 = 2.1.3 = 547 * Improves Force HTTPS feature. Regenerating dynamic CSS with premium themes will include HTTPS and remove the not secure warning in browsers. 548 549 = 2.1.2 = 550 * Fixed a bug with the dashboard of Auto-Install Free SSL. 551 552 = 2.1.1 = 553 * Fixed issue with the encryption key. 554 * Adds admin notification and sends an email to admin in case the encryption key was changed due to a previous update. 555 556 = 2.1.0 = 557 * Improves internal validation (HTTP-01 challenge) - Before the domain ownership validation with Let's Encrypt, if the payload content doesn't match with content of the challenge URI (in internal check), attempt for automatic fix with .htaccess rules in two different ways. 558 * Improves cPanel Settings option. 559 * Improves Temporary SSL option. 560 561 = 2.0.1 = 562 * Fixed issues with PHP 5.6, 7.0 and 7.2 563 564 = 2.0.0 = 565 * Adds the option to Activate Force HTTPS and remove mixed content warning with a single click. This feature will make the padlock visible in the browser's address bar. 566 * Removes the option to choose Let's Encrypt ACME version. The plugin now uses ACME V2 only. Because V1 is reaching the end of life soon. 567 568 = 1.1.0 = 569 * Fixed issue with cron job 570 571 = 1.0.0 = 572 * Initial release 342 Please click the following URL for the changelog: 343 [https://freessl.tech/aifs_changelog.txt](https://freessl.tech/aifs_changelog.txt)
Note: See TracChangeset
for help on using the changeset viewer.