9205e732fb
This patch removes 'insecure' system preference. Also removes remaining code that make use of the preference. It's broken anyway. Only remains a reference in POD of C4/Boolean.pm To test: 1) If you like, enable 'insecure' syspref. Broken system. WARN: be prepared to revert value in database. 2) Apply the patch 3) Run updatedatabase.pl 4) Check that Staff login proceeds as usual. 5) Check that 'insecure' syspref is no more. Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com> Amended patch: Remove 2 occurrences of insecure (in comment only) Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
111 lines
2.6 KiB
Perl
Executable file
111 lines
2.6 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
|
|
# Copyright 2009 Jesse Weaver
|
|
#
|
|
# This file is part of Koha.
|
|
#
|
|
# Koha is free software; you can redistribute it and/or modify it under the
|
|
# terms of the GNU General Public License as published by the Free Software
|
|
# Foundation; either version 2 of the License, or (at your option) any later
|
|
# version.
|
|
#
|
|
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
|
|
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License along
|
|
# with Koha; if not, write to the Free Software Foundation, Inc.,
|
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
#
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
use C4::Context;
|
|
use C4::Service;
|
|
use C4::Log;
|
|
|
|
=head1 NAME
|
|
|
|
svc/config/systempreferences - Web service for setting system preferences
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
POST /svc/config/systempreferences/
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
This service is used to set system preferences, either one at a time or in
|
|
batches.
|
|
|
|
=head1 METHODS
|
|
|
|
=cut
|
|
|
|
our ( $query, $response ) = C4::Service->init( parameters => 1 );
|
|
|
|
=head2 set_preference
|
|
|
|
=over 4
|
|
|
|
POST /svc/config/systempreferences/$preference
|
|
|
|
value=$value
|
|
|
|
=back
|
|
|
|
Used to set a single system preference.
|
|
|
|
=cut
|
|
|
|
sub set_preference {
|
|
my ( $preference ) = @_;
|
|
|
|
unless ( C4::Context->config('demo') ) {
|
|
my $value = join( ',', $query->param( 'value' ) );
|
|
C4::Context->set_preference( $preference, $value );
|
|
logaction( 'SYSTEMPREFERENCE', 'MODIFY', undef, $preference . " | " . $value );
|
|
}
|
|
|
|
C4::Service->return_success( $response );
|
|
}
|
|
|
|
=head2 set_preferences
|
|
|
|
=over 4
|
|
|
|
POST /svc/config/systempreferences/
|
|
|
|
pref_$pref1=$value1&pref_$pref2=$value2
|
|
|
|
=back
|
|
|
|
Used to set several system preferences at once. Each preference you want to set
|
|
should be sent prefixed with pref. If you wanted to turn off the
|
|
virtualshelves syspref, for instance, you would POST the following:
|
|
|
|
pref_virtualshelves=0
|
|
|
|
=cut
|
|
|
|
sub set_preferences {
|
|
unless ( C4::Context->config( 'demo' ) ) {
|
|
foreach my $param ( $query->param() ) {
|
|
my ( $pref ) = ( $param =~ /pref_(.*)/ );
|
|
|
|
next if ( !defined( $pref ) );
|
|
|
|
my $value = join( ',', $query->param( $param ) );
|
|
|
|
C4::Context->set_preference( $pref, $value );
|
|
logaction( 'SYSTEMPREFERENCE', 'MODIFY', undef, $pref . " | " . $value );
|
|
}
|
|
}
|
|
|
|
C4::Service->return_success( $response );
|
|
}
|
|
|
|
C4::Service->dispatch(
|
|
[ 'POST /([A-Za-z0-9_-]+)', [ 'value' ], \&set_preference ],
|
|
[ 'POST /', [], \&set_preferences ],
|
|
);
|