diff --git a/virtual_feature.pl b/virtual_feature.pl
index 00c77ac..015351c 100755
--- a/virtual_feature.pl
+++ b/virtual_feature.pl
@@ -1,4 +1,8 @@
# Defines functions for this feature
+use strict;
+use warnings;
+our (%text);
+our $module_name;
do 'virtualmin-sqlite-lib.pl';
@@ -21,7 +25,7 @@ sub feature_losing
# editing form
sub feature_label
{
-local ($edit) = @_;
+my ($edit) = @_;
return $edit ? $text{'feat_label2'} : $text{'feat_label'};
}
@@ -84,7 +88,7 @@ sub feature_delete
# the Webmin user when this feature is enabled
sub feature_webmin
{
-local @doms = grep { $_->{$module_name} } @{$_[1]};
+my @doms = grep { $_->{$module_name} } @{$_[1]};
if (@doms) {
return ( [ $module_name,
{ 'dir' => join("\t", map { $_->{'home'} } @doms),
@@ -106,7 +110,7 @@ sub database_name
# Returns a list of databases owned by a domain, according to this plugin
sub database_list
{
-local @rv;
+my @rv;
foreach my $db (split(/\s+/, $_[0]->{'db_'.$module_name})) {
push(@rv, { 'name' => $db,
'type' => $module_name,
@@ -125,7 +129,7 @@ sub databases_all
if ($_[0]) {
return &databases_in_dir($_[0]->{'home'});
}
-else {
+else {
return ( );
}
}
@@ -142,17 +146,17 @@ sub database_clash
# report progress
sub database_create
{
-local $file = "$_[0]->{'home'}/$_[1].sqlite";
+my $file = "$_[0]->{'home'}/$_[1].sqlite";
&$virtual_server::first_print(&text('db_creating', "$file"));
-local $sqlite = &get_sqlite_command();
-local $cmd = &command_as_user($_[0]->{'user'}, 0,
+my $sqlite = &get_sqlite_command();
+my $cmd = &command_as_user($_[0]->{'user'}, 0,
"echo .tables | $sqlite ".quotemeta($file));
-local $out = &backquote_logged("$cmd 2>&1 &1 $out"));
}
else {
- local @dbs = split(/\s+/, $_[0]->{'db_'.$module_name});
+ my @dbs = split(/\s+/, $_[0]->{'db_'.$module_name});
push(@dbs, $_[1]);
$_[0]->{'db_'.$module_name} = join(" ", @dbs);
&$virtual_server::second_print($virtual_server::text{'setup_done'});
@@ -164,25 +168,28 @@ sub database_create
# report progress
sub database_delete
{
-local $file = "$_[0]->{'home'}/$_[1].sqlite";
+my $file = "$_[0]->{'home'}/$_[1].sqlite";
&$virtual_server::first_print(&text('db_deleting', "$file"));
unlink($file);
-local @dbs = split(/\s+/, $_[0]->{'db_'.$module_name});
+my @dbs = split(/\s+/, $_[0]->{'db_'.$module_name});
@dbs = grep { $_ ne $_[1] } @dbs;
$_[0]->{'db_'.$module_name} = join(" ", @dbs);
&$virtual_server::second_print($virtual_server::text{'setup_done'});
}
-# database_size(&domain, dbname)
+# database_size(&domain, dbname)
# Returns the on-disk size and number of tables in a database
sub database_size
{
-local $file = "$_[0]->{'home'}/$_[1].sqlite";
-local @st = stat($file);
-local $sqlite = &get_sqlite_command();
-local $cmd = &command_as_user($_[0]->{'user'}, 0,
+my $file = "$_[0]->{'home'}/$_[1].sqlite";
+my @st = stat($file);
+my $sqlite = &get_sqlite_command();
+my $cmd = &command_as_user($_[0]->{'user'}, 0,
"echo .tables | $sqlite ".quotemeta($file));
+no strict "subs";
&open_execute_command(OUT, $cmd, 1);
+use strict "subs";
+my $tables;
while() {
s/\r|\n//g;
$tables++ if (/^\S+$/);
@@ -192,4 +199,3 @@ sub database_size
}
1;
-
diff --git a/virtualmin-sqlite-lib.pl b/virtualmin-sqlite-lib.pl
index bc99cb0..e103714 100755
--- a/virtualmin-sqlite-lib.pl
+++ b/virtualmin-sqlite-lib.pl
@@ -1,4 +1,8 @@
# Functions for the SQLite database
+use strict;
+use warnings;
+our %text;
+our $module_name;
BEGIN { push(@INC, ".."); };
eval "use WebminCore;";
@@ -6,7 +10,7 @@
sub databases_in_dir
{
-local @rv;
+my @rv;
opendir(DIR, $_[0]);
while(my $f = readdir(DIR)) {
if ($f =~ /^(\S+)\.sqlite$/) {
@@ -26,11 +30,10 @@ sub databases_in_dir
sub get_sqlite_command
{
foreach my $c ("sqlite", "sqlite4", "sqlite3", "sqlite2", "sqlite1") {
- local $p = &has_command($c);
+ my $p = &has_command($c);
return $p if ($p);
}
return undef;
}
1;
-