From a99e58f099f722d153967715584a88a4afe1afe9 Mon Sep 17 00:00:00 2001 From: Fridolin Somers Date: Tue, 12 Jan 2021 11:15:25 +0100 Subject: [PATCH] Bug 14004: Add ability to temporarily disable JS/CSS sysprefs It would be *super* handy if intranetuserjs and/or opacuserjs could be temporarily disabled via a check-box or syspref. Right now, debugging issues in intranetuserjs usuaally starts with copying the contents into a text file, blanking the syspref and re-testing. This patch adds this feature by setting syspref via ENV OVERRIDE_SYSPREF like override via Apache config. Implemented only for preferences : OPACUserCSS OPACUserJS IntranetUserCSS IntranetUserJS => replaced with ' ' intranetcolorstylesheet intranetstylesheet => replaced with 0 Test plan : 1) Set some CSS in IntranetUserCSS like : #breadcrumbs{color:red} 2) Go to staff interface home page like : /cgi-bin/koha/mainpage.pl 3) See CSS impact is visible 4) Edit URL : /cgi-bin/koha/mainpage.pl?DISABLE_SYSPREF_IntranetUserCSS=1 5) See CSS impact is not visible 6) Check with the other preferences Signed-off-by: Owen Leonard Signed-off-by: Katrin Fischer Signed-off-by: Jonathan Druart (cherry picked from commit 180db2f63b83dc4052b42e3073be9893e7495a1f) Signed-off-by: Fridolin Somers (cherry picked from commit 7a622302aae6ec8b4f4a4accaad8e37f5a8f9c0b) Signed-off-by: Andrew Fuerste-Henry (cherry picked from commit ee9ac246697756def229033a19c69be4044e27e1) Signed-off-by: Victor Grousset/tuxayo --- C4/Auth.pm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/C4/Auth.pm b/C4/Auth.pm index 6efd003ec5..eba9ee50e6 100644 --- a/C4/Auth.pm +++ b/C4/Auth.pm @@ -433,6 +433,15 @@ sub get_template_and_user { } } + # Sysprefs disabled via URL param + # Note that value must be defined in order to override via ENV + foreach my $syspref ( qw( OPACUserCSS OPACUserJS IntranetUserCSS IntranetUserJS ) ) { + $ENV{"OVERRIDE_SYSPREF_$syspref"} = q{ } if $in->{'query'}->param("DISABLE_SYSPREF_$syspref"); + } + foreach my $syspref ( qw( intranetcolorstylesheet intranetstylesheet ) ) { + $ENV{"OVERRIDE_SYSPREF_$syspref"} = 0 if $in->{'query'}->param("DISABLE_SYSPREF_$syspref"); + } + # Anonymous opac search history # If opac search history is enabled and at least one search has already been performed if ( C4::Context->preference('EnableOpacSearchHistory') ) { -- 2.39.5