diff --git a/actions/mediawiki b/actions/mediawiki index c12a5eaa9..eada16fb4 100755 --- a/actions/mediawiki +++ b/actions/mediawiki @@ -25,7 +25,7 @@ import subprocess import sys import tempfile -from plinth.utils import generate_password, grep +from plinth.utils import generate_password MAINTENANCE_SCRIPTS_DIR = "/usr/share/mediawiki/maintenance" CONF_FILE = '/etc/mediawiki/FreedomBoxSettings.php' @@ -87,12 +87,30 @@ def subcommand_setup(_): def include_custom_config(): - """Include FreedomBox specific configuration in LocalSettings.php - """ - if not grep(r'FreedomBoxSettings', LOCAL_SETTINGS_CONF): - with open(LOCAL_SETTINGS_CONF, 'a') as conf_file: - conf_file.write( - 'include dirname(__FILE__)."/FreedomBoxSettings.php";\n') + """Include FreedomBox specific configuration in LocalSettings.php.""" + with open(LOCAL_SETTINGS_CONF, 'r') as conf_file: + lines = conf_file.readlines() + + static_settings_index = None + settings_index = None + for line_number, line in enumerate(lines): + if 'FreedomBoxSettings.php' in line: + settings_index = line_number + + if 'FreedomBoxStaticSettings.php' in line: + static_settings_index = line_number + + if settings_index is None: + settings_index = len(lines) + lines.append('include dirname(__FILE__)."/FreedomBoxSettings.php";\n') + + if static_settings_index is None: + lines.insert( + settings_index, + 'include dirname(__FILE__)."/FreedomBoxStaticSettings.php";\n') + + with open(LOCAL_SETTINGS_CONF, 'w') as conf_file: + conf_file.writelines(lines) def subcommand_change_password(arguments): diff --git a/plinth/modules/mediawiki/__init__.py b/plinth/modules/mediawiki/__init__.py index 00a2bda31..66320d118 100644 --- a/plinth/modules/mediawiki/__init__.py +++ b/plinth/modules/mediawiki/__init__.py @@ -29,7 +29,7 @@ from plinth.modules.firewall.components import Firewall from .manifest import backup, clients # noqa, pylint: disable=unused-import -version = 6 +version = 7 managed_packages = ['mediawiki', 'imagemagick', 'php-sqlite3'] diff --git a/plinth/modules/mediawiki/data/etc/mediawiki/FreedomBoxStaticSettings.php b/plinth/modules/mediawiki/data/etc/mediawiki/FreedomBoxStaticSettings.php new file mode 100644 index 000000000..4b77aa163 --- /dev/null +++ b/plinth/modules/mediawiki/data/etc/mediawiki/FreedomBoxStaticSettings.php @@ -0,0 +1,37 @@ +