MySQL-Admin

 view release on metacpan or  search on metacpan

Build.PL  view on Meta::CPAN

    &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 )