MySQL-Admin
view release on metacpan or search on metacpan
&replace('#!/usr/bin/perl', '#!perl', "$cwd/blib/perl/mysql.pl");
&replace('#!/usr/bin/perl', '#!perl', "$cwd/blib/perl/translate.pl");
}
&replace("$cwd/t/config.pl", $m_hrSettings->{cgi}{bin}.'/config/config.pl',"$cwd/blib/lib/MySQL/Admin/Config.pm");
&replace("$cwd/t/translate.pl", $m_hrSettings->{cgi}{bin}.'/config/translate.pl',"$cwd/blib/lib/MySQL/Admin/Translate.pm");
&replace("$cwd/t/settings.pl", $m_hrSettings->{cgi}{bin}.'/config/settings.pl',"$cwd/blib/lib/MySQL/Admin/Settings.pm");
&replace("$cwd/t/session.pl", $m_hrSettings->{cgi}{bin}.'/config/session.pl',"$cwd/blib/lib/MySQL/Admin/Session.pm");
&replace("$cwd/t/actions.pl", $m_hrSettings->{cgi}{bin}.'/config/actions.pl',"$cwd/blib/lib/MySQL/Admin/Actions.pm");
&replace("$cwd/t/settings.pl", $m_hrSettings->{cgi}{bin}.'/config/settings.pl',"$cwd/blib/lib/MySQL/Admin.pm");
&replace("$cwd/t/settings.pl", $m_hrSettings->{cgi}{bin}.'/config/settings.pl',"$cwd/blib/lib/Template/Quick.pm");
if( $m_hrSettings->{mod} && -e "$cwd/blib/perl/config/mysql-admin.conf" )
{
copy("$cwd/blib/perl/config/mysql-admin.conf", "$m_hrSettings->{apacheconfig}/mysql-admin.conf") or die "$cwd/$m_hrSettings->{apacheconfig}/mysql-admin.conf $/ Copy failed: $cwd/blib/perl/config/mysql-admin.conf $!";
}
my %conf = (
name => $self->{properties}{dbname},
host => $self->{properties}{sqlhost},
user => $self->{properties}{dbuser}
);
$conf{password} = $self->{properties}{dbpass} unless $self->{properties}{dbpass} =~ /^$/;
eval 'use lib qw(lib);use DBI::Library ';
unless( $@ ){
my $m_oDatabase = new DBI::Library();
$m_oDatabase->initDB(\%conf);
open(IN, "extra/install.sql") or warn $!;
local $/;
my $m_sFile = <IN>;
foreach my $sql (split /;\n/, $m_sFile){
if(defined $sql){
$m_oDatabase->void($sql);
print "$@" if $@;
}
}
close(IN);
eval 'use MD5';
unless ($@) {
my $md5 = new MD5;
$md5->add('admin');
$md5->add($self->{'properties'}{password});
my $fingerprint = $md5->hexdigest();
$m_oDatabase->void(qq/insert into users (`user`,`pass`,`right`,`cats`) values(?,?,5,?)/, 'admin', $fingerprint,'news|member|draft');
} else {
warn $@;
$m_oDatabase->void(qq/insert into users (`user`,`pass`,`right`,`cats`) values('admin','0008e525bc0894a780297b7f3aed6f58','5','news|member|draft')/);
}
}else{
warn $@;
}
my $prefix = defined $inctance->{phash}{runtime_params}{disk}{prefix} ? $inctance->{phash}{runtime_params}{disk}{prefix} : '';
$self->SUPER::ACTION_install;
if($^O ne 'MSWin32'){
$prefix .= '/' unless $prefix =~/^$/;
system("chmod $m_hrSettings->{files}{chmod} -R $prefix$m_hrSettings->{cgi}{DocumentRoot}");
system("chmod $m_hrSettings->{files}{chmod} -R $prefix$m_hrSettings->{cgi}{bin}");
system("chmod $m_hrSettings->{files}{chmod} $prefix$m_hrSettings->{cgi}{bin}/mysql.pl");
system("chmod $m_hrSettings->{files}{chmod} $prefix$m_hrSettings->{cgi}{bin}/translate.pl");
mkdir "$prefix$m_hrSettings->{cgi}{DocumentRoot}/download";
system("chown $m_hrSettings->{files}{owner}:$m_hrSettings->{files}{group} -R $prefix$m_hrSettings->{cgi}{DocumentRoot}");
system("chown $m_hrSettings->{files}{owner}:$m_hrSettings->{files}{group} -R $prefix$m_hrSettings->{cgi}{bin}");
system("chown $m_hrSettings->{files}{owner}:$m_hrSettings->{files}{group} $cwd/cgi-bin/config/settings.pl") if $^O ne 'MSWin32';
}
}
sub ACTION_uninstall
{
my %conf = (
name => $self->{'properties'}{dbname},
host => $self->{'properties'}{sqlhost},
user => $self->{'properties'}{dbuser},
);
if (defined $self->{'properties'}{dbpass})
{
$conf{password} = $self->{'properties'}{dbpass} unless $self->{'properties'}{dbpass} =~ /^$/;
}
eval 'use lib qw(lib);use DBI::Library ';
unless ($@)
{
my $m_oDatabase = new DBI::Library();
$m_oDatabase->initDB(\%conf);
open(IN, "extra/uninstall.sql") or die $!;
local $/;
my $m_sFile = <IN>;
foreach my $sql (split /;\n/, $m_sFile)
{
$m_oDatabase->void($sql . ";");
print $@ if $@;
}
}
}
sub change
{
my $d = shift;
chomp($d);
opendir(IN, $d) or die "Install failed: $d $!:$/";
my @files = readdir(IN);
closedir(IN);
for (my $i = 0; $i <= $#files; $i++)
{
unless ($files[$i] =~ /^\./)
{
my $c = "$d/$files[$i]";
my $e = $c;
$e =~ s/^$dir(.*)/$1/;
unless (-d $c)
{
copy($c, "$release/$e") or die "copy failed: $! $/ $c $/ $release/$e";
chmod 0755, "$release/$e" if $e =~ /^.*.pl$/;
}
else
{
mkpath("$release/$e") unless (-d "$release/$e");
&change("$d/$files[$i]") unless $files[$i] =~ /^\./;
}
}
}
}
sub cleanUp
( run in 0.820 second using v1.01-cache-2.11-cpan-5511b514fd6 )