package Cpanel::BandwidthMgr; # cpanel12 - BandwidthMgr.pm Copyright(c) 2007 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::FileUtils::TouchFile (); use Cpanel::SafeRun::BG (); our $VERSION = 1.1; our @BWWARNLVLS = ( 99, 98, 97, 95, 90, 85, 80, 75, 50 ); sub disablebwlimit { my ( $user, $domain, $bwlimit, $totalthismonth, $notify, $ralldomains ) = @_; if ( -f "/var/cpanel/bwlimited/$user" ) { unlink("/var/cpanel/bwlimited/$user"); } foreach my $ddomain ( $domain, @{$ralldomains} ) { if ( -f "/var/cpanel/bwlimited/$ddomain" ) { unlink("/var/cpanel/bwlimited/$ddomain"); } if ( -f "/var/cpanel/bwlimited/www.$ddomain" ) { unlink("/var/cpanel/bwlimited/www.$ddomain"); } } } sub enablebwlimit { my ( $user, $domain, $bwlimit, $totalthismonth, $notify, $ralldomains ) = @_; if ( $totalthismonth <= 0 ) { $totalthismonth = 1; } if ( $notify && !-e "/var/cpanel/bwlimited/$user" ) { Cpanel::SafeRun::BG::nooutputsystembg( '/usr/local/cpanel/bin/bwlimit_notify', $user, $domain, 0, int( ( $bwlimit / $totalthismonth ) * 100 ), sprintf( "%.2f", $bwlimit / ( 1024 * 1024 ) ), sprintf( "%.2f", $totalthismonth / ( 1024 * 1024 ) ) ); } Cpanel::FileUtils::TouchFile::touchfile("/var/cpanel/bwlimited/$user"); foreach my $ddomain ( $domain, @{$ralldomains} ) { Cpanel::FileUtils::TouchFile::touchfile("/var/cpanel/bwlimited/$ddomain"); Cpanel::FileUtils::TouchFile::touchfile("/var/cpanel/bwlimited/www.$ddomain"); } } 1;