File: //proc/self/root/scripts.20110531.215904.25158/checkinfopages
#!/usr/bin/perl
# cpanel - checkinfopages 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 Cpanel::AcctUtils ();
use Cpanel::ApacheConf ();
use Cpanel::Config::LoadUserDomains ();
use Cpanel::ResellerFunctions ();
use Cpanel::AccessIds::SetUids ();
use Cpanel::SafeDir::MK ();
my %USERTODOMAIN;
Cpanel::Config::LoadUserDomains::loadtrueuserdomains( \%USERTODOMAIN, 1 );
my @resellers = Cpanel::ResellerFunctions::getresellerslist();
unshift @resellers, 'root';
my @PAGES = qw( suspended moving );
foreach my $user (@resellers) {
setupinfopages($user);
}
sub setupinfopages {
my $user = shift;
my $docroot = getdocumentroot($user);
return if !-e $docroot;
return if -e $docroot . '/info.page';
my $has_all_pages = 1;
foreach my $page (@PAGES) {
if ( !-e $docroot . '/' . $page . '.page/index.html' ) {
$has_all_pages = 0;
last;
}
}
if ($has_all_pages) { next; }
if ( my $pid = fork() ) {
#master
waitpid( $pid, 0 );
}
else {
if ( $user ne 'root' ) {
Cpanel::AccessIds::SetUids::setuids($user);
}
foreach my $page (@PAGES) {
Cpanel::SafeDir::MK::safemkdir( $docroot . '/' . $page . '.page', '0755' );
if ( !-d $docroot . '/' . $page . '.page' ) {
print "Security Stop! $docroot/$page.page is not a dir..!\n";
exit;
}
next if ( -e $docroot . '/' . $page . '.page/index.html' );
print "Setting up $page page for user $user (missing)...";
system 'cp', '-f', '/usr/local/cpanel/whostmgr/etc/' . $page . '.page.html', $docroot . '/' . $page . '.page/index.html';
print "Done\n";
}
exit;
}
}
sub getdocumentroot {
my $user = shift;
if ( $user eq 'root' ) { return '/usr/local/apache/htdocs'; }
my $domain = $USERTODOMAIN{$user};
my $docroot = Cpanel::ApacheConf::getdocroot($domain);
if ($docroot) { return $docroot; }
return Cpanel::AcctUtils::gethomedir($user) . '/public_html';
}