From c11d67d989d8555b48b575647ef2c10aef294806 Mon Sep 17 00:00:00 2001 From: Ilia Ross Date: Sun, 7 Jun 2026 16:26:37 +0200 Subject: [PATCH] Add support for alternate module descriptions --- web-lib-funcs.pl | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/web-lib-funcs.pl b/web-lib-funcs.pl index ef25fa6de..546b0ef42 100755 --- a/web-lib-funcs.pl +++ b/web-lib-funcs.pl @@ -6259,7 +6259,8 @@ Returns a hash containing details of the given module. Some useful keys are : =item dir - The module directory, like sendmail. -=item desc - Human-readable description, in the current users' language. +=item desc - Human-readable description, in the current users' language. This +may be selected from an alternate desc+suffix key. =item version - Optional module version number. @@ -6321,6 +6322,24 @@ $rv{'realcategory'} = $rv{'category'}; $rv{'category'} = $module_categories{$mod} if (defined($module_categories{$mod})); +# Apply alternate description from cached module mode +if (my @descplus = grep { /^desc\+/ } keys %rv) { + my %mode; + &read_file_cached("$config_directory/$mod/mode", \%mode); + my $alt = $mode{'mode'}; + if ($alt) { + $alt =~ s/^\s+|\s+$//g; + $alt =~ s/^desc\+//; + my $desc = $rv{"desc+$alt"}; + foreach my $o (@lang_order_list) { + my $k = "desc+${alt}_$o"; + $desc = $rv{$k} if ($rv{$k}); + } + $rv{'desc'} = $desc if ($desc); + } + delete(@rv{@descplus}); + } + # Apply overrides from local configuration files, such as for the title my %overs; &read_file("$config_directory/$mod/module.info.override", \%overs);