#!/usr/local/cpanel/3rdparty/bin/perl
# cpanel - featuremod Copyright 2010 cPanel, Inc.
# All rights Reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
use strict;
use Cpanel::Usage ();
use Cpanel::Features ();
if ( $> != 0 ) {
die "Insufficient permissions to modify feature lists.\n";
}
my $list;
my $feature;
my $value;
Cpanel::Usage::wrap_options( \@ARGV, \&usage, { 'list' => \$list, 'feature' => \$feature, 'value' => \$value } );
if ( !$feature ) {
print STDERR "Invalid feature provided\n\n";
usage();
exit 1;
}
elsif ( !$value || ( $value !~ m/^enable$/i && $value !~ m/^disable$/i ) ) {
print STDERR "Invalid feature value provided. Expected enable or disable\n\n";
usage();
exit 1;
}
else {
$value = $value =~ m/^enable$/i ? 1 : 0;
}
if ( $list && !Cpanel::Features::is_feature_list($list) ) {
print "Sorry, specified feature list does not exist.\n";
exit 1;
}
unless ( grep { $feature eq $_ } Cpanel::Features::load_feature_names() ) {
print "Sorry '$feature' is not a recognized feature.\n";
exit 1;
}
Cpanel::Features::modify_feature(
'feature' => $feature, 'value' => $value, 'verbose' => 1,
( $list ? ( list => $list ) : () ),
);
sub usage {
print <<"EOM";
This utility will enable or disable a feature in all (non-default) feature lists
or only the provided feature list. To modify the default feature list, you must
request it explicitly.
Usage: $0 --feature {name} --value {enable|disable}
Options:
--help Brief help message
--list {listname} Modify specified feature list only
--feature {name} The feature tag text.
--value {val} Dictates that feature will be 'enabled' or 'disabled' in all feature lists
EOM
return;
}
Copyright 2K16 - 2K18 Indonesian Hacker Rulez