File: //proc/self/root/scripts.20110531.215904.25158/resetmailmanurls
#!/usr/bin/perl
# cpanel - resetmailmanurls Copyright(c) 2010 cPanel, Inc.
# All rights Reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
BEGIN { unshift @INC, '/usr/local/cpanel'; }
use strict;
use Cpanel::Hostname ();
use Cpanel::Config::LoadCpConf ();
use Cpanel::ApacheConf ();
use Cpanel::Config::Httpd ();
my @LISTS;
my $hostname = Cpanel::Hostname::gethostname();
my %CPCONF = Cpanel::Config::LoadCpConf::loadcpconf();
my $haspatch = -e '/var/cpanel/suexecpatch' ? 1 : 0;
my $from_upcp = ( @ARGV && grep( /^--from-upcp$/, @ARGV ) ) ? 1 : 0;
if ($from_upcp) {
my $apc = Cpanel::ApacheConf::loadhttpdconf();
if ( exists $apc->{$hostname} ) {
if ( exists $apc->{$hostname}->{'address'} ) {
my $ssl_port = Cpanel::Config::Httpd::get_ssl_httpd_port(1);
foreach my $addyref ( @{ $apc->{$hostname}->{'address'} } ) {
if ( $addyref->{'ip'} eq '*' || $addyref->{'port'} eq $ssl_port ) {
next;
}
print 'Hostname Virtual Host is already setup' . "\n";
exit;
}
}
}
}
if ( opendir my $list_dh, '/usr/local/cpanel/3rdparty/mailman/lists' ) {
@LISTS = readdir $list_dh;
closedir $list_dh;
@LISTS = grep( /^[^_]+_/, @LISTS );
}
foreach my $llist (@LISTS) {
my @LLIST = split /_/, $llist;
my $dns = pop @LLIST;
my $list = join '_', @LLIST;
if ( !$haspatch ) {
if ( $CPCONF{'usemailformailmanurl'} eq '1' ) {
if ( !-e "/var/cpanel/mailman2" ) {
system( "/usr/local/cpanel/bin/cp_mailman_suexec_mail", "$dns", "$list", "$hostname" );
}
else {
system( "/usr/local/cpanel/bin/cp_mailman_suexec_mail2", "$dns", "$list", "$hostname" );
}
}
else {
if ( !-e "/var/cpanel/mailman2" ) {
system( "/usr/local/cpanel/bin/cp_mailman_suexec", "$dns", "$list", "$hostname" );
}
else {
system( "/usr/local/cpanel/bin/cp_mailman_suexec2", "$dns", "$list", "$hostname" );
}
}
}
else {
if ( $CPCONF{'usemailformailmanurl'} eq "1" ) {
if ( !-e "/var/cpanel/mailman2" ) {
system( "/usr/local/cpanel/bin/cp_mailman_mail", "$dns", "$list" );
}
else {
system( "/usr/local/cpanel/bin/cp_mailman_mail2", "$dns", "$list" );
}
}
else {
if ( !-e "/var/cpanel/mailman2" ) {
system( "/usr/local/cpanel/bin/cp_mailman", "$dns", "$list" );
}
else {
system( "/usr/local/cpanel/bin/cp_mailman2", "$dns", "$list" );
}
}
}
}