Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[4.4] Postinstallation-Message htaccess.txt brotli change #3155

Closed
jgerman-bot opened this issue Mar 29, 2024 · 0 comments
Closed

[4.4] Postinstallation-Message htaccess.txt brotli change #3155

jgerman-bot opened this issue Mar 29, 2024 · 0 comments

Comments

@jgerman-bot
Copy link

New language relevant PR in upstream repo: joomla/joomla-cms#43173 Here are the upstream changes:

Click to expand the diff!
diff --git a/administrator/components/com_admin/postinstall/htaccessbrotli.php b/administrator/components/com_admin/postinstall/htaccessbrotli.php
new file mode 100644
index 0000000000000..bc6383f63813b
--- /dev/null
+++ b/administrator/components/com_admin/postinstall/htaccessbrotli.php
@@ -0,0 +1,30 @@
+<?php
+
+/**
+ * @package     Joomla.Administrator
+ * @subpackage  com_admin
+ *
+ * @copyright   (C) 2024 Open Source Matters, Inc. <https://www.joomla.org>
+ * @license     GNU General Public License version 2 or later; see LICENSE.txt
+ *
+ * This file contains post-installation message handling for notifying users of a change
+ * in the default .htaccess file regarding setting the Content-Encoding header.
+ */
+
+// phpcs:disable PSR1.Files.SideEffects
+\defined('_JEXEC') or die;
+// phpcs:enable PSR1.Files.SideEffects
+
+/**
+ * Notifies users of a change in the default .htaccess file regarding setting for brotli to prevent double compression
+ *
+ * This check returns true regardless of condition.
+ *
+ * @return  boolean
+ *
+ * @since   4.4.4
+ */
+function admin_postinstall_htaccessbrotli_condition()
+{
+    return true;
+}
diff --git a/administrator/components/com_admin/sql/updates/mysql/4.4.4-2024-03-28.sql b/administrator/components/com_admin/sql/updates/mysql/4.4.4-2024-03-28.sql
new file mode 100644
index 0000000000000..0d1ce76be7c38
--- /dev/null
+++ b/administrator/components/com_admin/sql/updates/mysql/4.4.4-2024-03-28.sql
@@ -0,0 +1,5 @@
+--
+-- Add post-installation message about setting the Content-Encoding header in .htaccess
+--
+INSERT IGNORE INTO `#__postinstall_messages` (`extension_id`, `title_key`, `description_key`, `action_key`, `language_extension`, `language_client_id`, `type`, `action_file`, `action`, `condition_file`, `condition_method`, `version_introduced`, `enabled`)
+SELECT `extension_id`, 'COM_ADMIN_POSTINSTALL_MSG_HTACCESS_BROTLI_TITLE', 'COM_ADMIN_POSTINSTALL_MSG_HTACCESS_BROTLI_DESCRIPTION', '', 'com_admin', 1, 'message', '', '', 'admin://components/com_admin/postinstall/htaccessbrotli.php', 'admin_postinstall_htaccessbrotli_condition', '4.4.4', 1 FROM `#__extensions` WHERE `name` = 'files_joomla';
diff --git a/administrator/components/com_admin/sql/updates/postgresql/4.4.4-2024-03-28.sql b/administrator/components/com_admin/sql/updates/postgresql/4.4.4-2024-03-28.sql
new file mode 100644
index 0000000000000..b59b29a4a2813
--- /dev/null
+++ b/administrator/components/com_admin/sql/updates/postgresql/4.4.4-2024-03-28.sql
@@ -0,0 +1,6 @@
+--
+-- Add post-installation message about setting the Content-Encoding header in .htaccess
+--
+INSERT INTO "#__postinstall_messages" ("extension_id", "title_key", "description_key", "action_key", "language_extension", "language_client_id", "type", "action_file", "action", "condition_file", "condition_method", "version_introduced", "enabled")
+SELECT "extension_id", 'COM_ADMIN_POSTINSTALL_MSG_HTACCESS_BROTLI_TITLE', 'COM_ADMIN_POSTINSTALL_MSG_HTACCESS_BROTLI_DESCRIPTION', '', 'com_admin', 1, 'message', '', '', 'admin://components/com_admin/postinstall/htaccessbrotli.php', 'admin_postinstall_htaccessbrotli_condition', '4.4.4', 1 FROM "#__extensions" WHERE "name" = 'files_joomla'
+	ON CONFLICT DO NOTHING;
diff --git a/administrator/language/en-GB/com_admin.ini b/administrator/language/en-GB/com_admin.ini
index 58ee08cbc6466..2ace7b2d5f786 100644
--- a/administrator/language/en-GB/com_admin.ini
+++ b/administrator/language/en-GB/com_admin.ini
@@ -172,6 +172,8 @@ COM_ADMIN_POSTINSTALL_MSG_HTACCESS_AUTOINDEX_DESCRIPTION="<p>Before 3.9.22 the d
 COM_ADMIN_POSTINSTALL_MSG_HTACCESS_AUTOINDEX_TITLE=".htaccess Update Concerning Directory Listings"
 COM_ADMIN_POSTINSTALL_MSG_HTACCESS_SETCE_DESCRIPTION="<p>Before 4.2.9 the default htaccess.txt file contained erroneous code for appending the \"Content-Encoding\" HTTP header. This could result in double encoding errors when Joomla is installed in a subdirectory and both this directory and its parent directory contain an .htaccess file with this code. You should manually apply the necessary changes to any existing .htaccess file, as this file can not be updated automatically.</p><p>The old code:</p><pre>Header append Content-Encoding gzip</pre><p>The new code:</p><pre>Header set Content-Encoding gzip</pre>"
 COM_ADMIN_POSTINSTALL_MSG_HTACCESS_SETCE_TITLE=".htaccess Update Concerning Setting the Content-Encoding Header"
+COM_ADMIN_POSTINSTALL_MSG_HTACCESS_BROTLI_DESCRIPTION="<p>Before 4.4.4 the default htaccess.txt did not support Brotli compression. This could result in double compression errors when Joomla is installed on a server that uses Brotli compression. You should manually apply the necessary changes to any existing .htaccess file, as this file can not be updated automatically.</p><p>The old code:</p><pre>RewriteRule \"\.css\.gz$\" \"-\" [T=text/css,E=no-gzip:1]<br>RewriteRule \"\.js\.gz$\" \"-\" [T=text/javascript,E=no-gzip:1]</pre><p>The new code:</p><pre>RewriteRule \"\.css\.gz$\" \"-\" [T=text/css,E=no-gzip:1,E=no-brotli:1]<br>RewriteRule \"\.js\.gz$\" \"-\" [T=text/javascript,E=no-gzip:1,E=no-brotli:1]</pre>"
+COM_ADMIN_POSTINSTALL_MSG_HTACCESS_BROTLI_TITLE=".htaccess Update Brotli Compression"
 COM_ADMIN_SAVE_SUCCESS="Profile saved."
 COM_ADMIN_SESSION_AUTO_START="Session Auto Start"
 COM_ADMIN_SESSION_SAVE_PATH="Session Save Path"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

4 participants