File: //proc/self/root/scripts.20110531.215904.25158/magicloader
#!/usr/bin/perl
# cpanel - magicloader 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::RcsRecord ();
use Cpanel::Config::LoadCpConf ();
use Cpanel::EditHttpdconf ();
use Cpanel::LangMods ();
my $cpconf_ref = Cpanel::Config::LoadCpConf::loadcpconf();
my @LANGLIST = Cpanel::LangMods::langlist();
Cpanel::RcsRecord::rcsrecord( '/usr/local/apache/conf/httpd.conf', 'Initial check-in' );
foreach my $lang (@LANGLIST) {
if ( @ARGV && !grep( /^$lang$/, @ARGV ) ) { next(); }
print "Configuring $lang magic....";
if ( $cpconf_ref->{ 'magicloader_' . $lang } ) {
if ( Cpanel::LangMods::hasaction( $lang, 'enable_magic' ) ) {
my ( $isok, $curstatus ) = Cpanel::LangMods::doaction( $lang, 'magic_status' );
if ( $curstatus ne '1' ) {
my ( $ok, $result ) = Cpanel::LangMods::doaction( $lang, 'enable_magic' );
if ( $ok && $lang eq 'php-pear' ) {
_remove_php_magic_include_from_httpd_conf();
system qw(/scripts/ensure_vhost_includes --all-users --force-value=1 --only-check=cp_php_magic_include_path.conf --verbose);
}
}
}
print "On\n";
}
else {
if ( Cpanel::LangMods::hasaction( $lang, 'disable_magic' ) ) {
my ( $isok, $curstatus ) = Cpanel::LangMods::doaction( $lang, 'magic_status' );
if ( $curstatus eq '1' ) {
my ( $ok, $result ) = Cpanel::LangMods::doaction( $lang, 'disable_magic' );
if ( $ok && $lang eq 'php-pear' ) {
_remove_php_magic_include_from_httpd_conf();
system qw(/scripts/ensure_vhost_includes --all-users --force-value=0 --only-check=cp_php_magic_include_path.conf --verbose);
}
}
}
print "Off\n";
}
}
Cpanel::RcsRecord::rcsrecord( '/usr/local/apache/conf/httpd.conf', 'Final check-in' );
sub _remove_php_magic_include_from_httpd_conf {
Cpanel::EditHttpdconf::edit_httpdconf(
sub {
my ( $rw_fh, $safe_replace_content_coderef ) = @_;
my @new_contents;
while ( my $line = readline($rw_fh) ) {
push @new_contents, $line if $line !~ m{php_admin_value include_path};
}
return 'Edited by $0 : _remove__php_magic_include_from_httpd_conf()'
if $safe_replace_content_coderef->( $rw_fh, \@new_contents );
return;
}
);
}