dd50153f00
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
39 lines
919 B
Perl
Executable file
39 lines
919 B
Perl
Executable file
#!/usr/bin/perl
|
|
|
|
# script to test for missing systempreferences
|
|
# export KOHA_CONF
|
|
# export PERL5LIB
|
|
# then ./check_sysprefs.pl path (if path is blank it will use .)
|
|
|
|
use File::Find;
|
|
use C4::Context;
|
|
|
|
@ARGV = qw(.) unless @ARGV;
|
|
|
|
sub check_sys_pref {
|
|
my $dbh = C4::Context->dbh();
|
|
my $query = "SELECT * FROM systempreferences WHERE variable = ?";
|
|
my $sth = $dbh->prepare($query);
|
|
if (! -d _ ){
|
|
my $name=$File::Find::name;
|
|
if ($name =~ /(\.pl|\.pm)$/){
|
|
open (FILE,"$_") || die "cant open $name";
|
|
while (my $inp = <FILE>){
|
|
if ($inp =~ /C4::Context->preference\((.*?)\)/){
|
|
my $variable = $1;
|
|
$variable =~s /\'|\"//g;
|
|
$sth->execute($variable);
|
|
if (my $data=$sth->fetchrow_hashref()){
|
|
}
|
|
else {
|
|
print "$name has a reference to $variable, this does not exist in the database\n";
|
|
}
|
|
}
|
|
}
|
|
close FILE;
|
|
}
|
|
}
|
|
$sth->finish();
|
|
}
|
|
|
|
find(\&check_sys_pref,@ARGV);
|