|
Lines 60-73
sub _set_preference {
Link Here
|
| 60 |
|
60 |
|
| 61 |
_debug( "Setting $preference to $value" ); |
61 |
_debug( "Setting $preference to $value" ); |
| 62 |
|
62 |
|
| 63 |
C4::Context->set_preference( $preference, $value ); |
63 |
if ( $preference->{type} eq 'YesNo' |
|
|
64 |
&& $value ne '0' |
| 65 |
&& $value ne '1' ) |
| 66 |
{ |
| 67 |
print STDERR sprintf "System preference %s is YesNo and expects 1 or 0. '%s' was given, using '0'\n", |
| 68 |
$preference->{variable}, $value; |
| 69 |
$value = 0; |
| 70 |
} |
| 71 |
|
| 72 |
C4::Context->set_preference( $preference->{variable}, $value ); |
| 64 |
} |
73 |
} |
| 65 |
|
74 |
|
| 66 |
sub GetPreferences { |
75 |
sub GetPreferences { |
| 67 |
my $dbh = C4::Context->dbh; |
76 |
my $dbh = C4::Context->dbh; |
| 68 |
|
77 |
|
| 69 |
return { |
78 |
return { |
| 70 |
map { $_->{'variable'}, $_ } |
79 |
map { $_->{variable}, $_->{value} } |
| 71 |
@{ $dbh->selectall_arrayref( " |
80 |
@{ $dbh->selectall_arrayref( " |
| 72 |
SELECT |
81 |
SELECT |
| 73 |
variable, value, type |
82 |
variable, value, type |
|
Lines 91-102
sub SetPreferences {
Link Here
|
| 91 |
|
100 |
|
| 92 |
exit 2 if ( scalar( @$current_state ) != scalar( keys %preferences ) ); |
101 |
exit 2 if ( scalar( @$current_state ) != scalar( keys %preferences ) ); |
| 93 |
|
102 |
|
| 94 |
# Iterate through again, now that we've checked all of the YesNo sysprefs |
|
|
| 95 |
|
| 96 |
foreach my $row ( @$current_state ) { |
103 |
foreach my $row ( @$current_state ) { |
| 97 |
next if ( $preferences{$row->{'variable'}} eq $row->{'value'} ); |
104 |
my $new_value = $preferences{ $row->{variable} }; |
|
|
105 |
next if $new_value && $row->{value} && $new_value eq $row->{value}; |
| 98 |
|
106 |
|
| 99 |
_set_preference( $row->{'variable'}, $preferences{$row->{'variable'}} ); |
107 |
_set_preference( $row, $new_value ); |
| 100 |
} |
108 |
} |
| 101 |
|
109 |
|
| 102 |
# FIXME This may be not needed |
110 |
# FIXME This may be not needed |
|
Lines 134-140
sub SetPreference {
Link Here
|
| 134 |
|
142 |
|
| 135 |
exit 3 if ( $value eq $row->{'value'} ); #FIXME exit?? |
143 |
exit 3 if ( $value eq $row->{'value'} ); #FIXME exit?? |
| 136 |
|
144 |
|
| 137 |
_set_preference( $preference, $value ); |
145 |
_set_preference( $row, $value ); |
| 138 |
} |
146 |
} |
| 139 |
|
147 |
|
| 140 |
sub ClearPreference { |
148 |
sub ClearPreference { |
|
Lines 148-154
sub ClearPreference {
Link Here
|
| 148 |
|
156 |
|
| 149 |
exit 3 if ( $value eq $row->{'value'} ); |
157 |
exit 3 if ( $value eq $row->{'value'} ); |
| 150 |
|
158 |
|
| 151 |
_set_preference( $preference, $value ); |
159 |
_set_preference( $row, $value ); |
| 152 |
} |
160 |
} |
| 153 |
|
161 |
|
| 154 |
=head1 OPTIONS |
162 |
=head1 OPTIONS |
| 155 |
- |
|
|