Willkommen bei WordPress. Dies ist dein erster Beitrag. Bearbeite oder lösche ihn und beginne mit dem Schreiben!
Hallo Welt!
von raredesign | Dez 3, 2019 | Allgemein | 0 Kommentare
Cokiee Shell
Current Path : /usr/local/siteapps/UebiMiau-2.7.8-19/scripts/ |
Current File : //usr/local/siteapps/UebiMiau-2.7.8-19/scripts/reconfigure |
#!/usr/bin/perl -w use strict; use File::Path; use File::Copy; my %params; my %psa_params; my @imp_params = qw( vhost_path domain_name install_prefix ssl_target_directory smtp_server mail_domain mail_domain_server mail_login ); my $is_error=0; sub print_out { my ($text) = @_; print STDERR $text; } sub check_parameter { my ($param) = @_; unless (defined $params{$param}){ return 0; } else { return 1; } } sub modify_file { my ($fname, $fparams) = @_; unless (open F, $fname){ print_out "reconfigure: can't open file `$fname` for reading\n"; return 0; } my $file_content; while (<F>){ $file_content .= $_; } close F; my ($k,$v); while (($k,$v)=each(%$fparams)){ $file_content =~ s/\@\@${k}\@\@/$v/g; } unless (open F, ">$fname"){ print_out "reconfigure: can't open file `$fname` for writing\n"; return 0; } print F $file_content; close F; return 1; } sub mysql_quote { my @params = @_; my $size = @params; if (0 == $size) { return; } my $i; for ($i=0; $i<$size; $i++) { unless (defined $params[$i]) { $params[$i] = ''; } else { # replace ' for \' # replace \ for \\ $params[$i] =~ s/\\/\\\\/g; $params[$i] =~ s/'/\\'/g; } } if (wantarray( )) { return @params; } elsif (defined wantarray( )) { return $params[0]; } else { return; } } sub php_quote { my @params = @_; my $size = @params; if (0 == $size) { return; } my $i; for ($i=0; $i<$size; $i++) { unless (defined $params[$i]) { $params[$i] = ''; } else { # replace ' for \' # replace \ for \\ $params[$i] =~ s/\\/\\\\/g; $params[$i] =~ s/'/\\'/g; } } if (wantarray( )) { return @params; } elsif (defined wantarray( )) { return $params[0]; } else { return; } } sub shell_quote { my @params = @_; my $size = @params; if (0 == $size) { return; } my $i; for ($i=0; $i<$size; $i++) { unless (defined $params[$i]) { $params[$i] = ''; } else { # replace ' for \' # replace \ for \\ $params[$i] =~ s/\\/\\\\/g; $params[$i] =~ s/"/\\\"/g; $params[$i] =~ s/\$/\\\$/g; } } if (wantarray( )) { return @params; } elsif (defined wantarray( )) { return $params[0]; } else { return; } } # parse input to hash while (<STDIN>){ my ($k,$v); if (/^([^=]+)=(.+)$/){ $v = $2; chomp $v; $k = $1; $params{"$k"} = $v; } } # parse plesk config file open PSACONF, '/etc/psa/psa.conf'; while (<PSACONF>){ chomp; unless (/^#/){ if (/^(\s*[_a-zA-Z]+)\s+(.+?)\s*$/){ $psa_params{$1} = $2; } } } close PSACONF; # check important parameters foreach (@imp_params){ unless (check_parameter($_)){ print_out "reconfigure: parameter `$_` not found\n"; $is_error = 1; } } if ($is_error){ exit 1; } # remote DB checking my ($dbhost, $dbport, $dbremote_params, $dbhostport); $dbremote_params = ''; $dbhost = 'localhost'; $dbhostport = $dbhost; if (defined $params{'dbhost'} && $params{'dbhost'} ne '') { my ($m_dbhost, $m_dbport); $dbhost = $params{'dbhost'}; $m_dbhost = shell_quote($dbhost); $dbremote_params = " --host=\"${m_dbhost}\" "; $dbhostport = $dbhost; if (defined $params{'dbport'} && $params{'dbport'} ne '') { $dbport = $params{'dbport'}; $dbhostport .= ":${dbport}"; $m_dbport = shell_quote($dbport); $dbremote_params .= " --port=\"${m_dbport}\" "; } } # check SSL my $ssl_enable; my $documents_directory; if ($params{'ssl_target_directory'} eq 'true'){ $documents_directory = 'httpsdocs'; $ssl_enable = "1"; } else { $documents_directory = 'httpdocs'; $ssl_enable = "0"; } # set base variables my $root_dir = $params{'vhost_path'}.'/'.$documents_directory.'/'.$params{install_prefix}; my $config_file = "${root_dir}/inc/config.php"; my $config_file_in = $config_file . '.in'; my $smtp_auth = $params{smtp_auth}; unless($smtp_auth eq "yes"){ $smtp_auth = "no"; } # generate config file my %config_params = ( 'SMTP_SERVER' => php_quote($params{smtp_server}), 'MAIL_DOMAIN' => php_quote($params{mail_domain}), 'MAIL_DOMAIN_SERVER'=> php_quote($params{mail_domain_server}), 'LOGIN_TYPE' => php_quote($params{mail_login}), 'SMTP_AUTH' => php_quote($smtp_auth), 'ROOT_DIR' => php_quote($root_dir) ); unless (copy($config_file_in, $config_file)) { print_out "couldn't copy config file\n"; exit 1; } unless (modify_file($config_file, \%config_params)) { print_out "couldn't change file ${config_file}\n"; exit 1; }
Cokiee Shell Web 1.0, Coded By Razor
Neueste Kommentare