Skip to content
This repository has been archived by the owner on Feb 13, 2019. It is now read-only.

Commit

Permalink
Tim's admin-traffic-patch included.
Browse files Browse the repository at this point in the history
git-svn-id: file:///var/svn/trunk@92 45fdb5c4-e40b-0410-b369-9aab4fe9a275
  • Loading branch information
Florian Lippert committed Dec 15, 2004
1 parent 08fb040 commit 697343b
Show file tree
Hide file tree
Showing 7 changed files with 83 additions and 17 deletions.
1 change: 1 addition & 0 deletions syscp/admin_admins.php
Expand Up @@ -85,6 +85,7 @@
if(isset($_POST['send']) && $_POST['send']=='send')
{
$db->query("DELETE FROM `".TABLE_PANEL_ADMINS."` WHERE `adminid`='$id'");
$db->query("DELETE FROM `".TABLE_PANEL_TRAFFIC_ADMINS."` WHERE `adminid`='$id'");
$db->query("UPDATE `".TABLE_PANEL_CUSTOMERS."` SET `adminid` = '1' WHERE `adminid` = '$id'");
$db->query("UPDATE `".TABLE_PANEL_DOMAINS."` SET `adminid` = '1' WHERE `adminid` = '$id'");

Expand Down
10 changes: 3 additions & 7 deletions syscp/admin_customers.php
Expand Up @@ -74,9 +74,8 @@

elseif($action=='su' && $id!=0)
{
$result = $db->query("SELECT * FROM `".TABLE_PANEL_CUSTOMERS."` WHERE `customerid`='$id' ".( $userinfo['customers_see_all'] ? '' : " AND `adminid` = '{$userinfo['adminid']}' "));
$count = $db->num_rows($result);
if($count == 1)
$result=$db->query_first("SELECT * FROM `".TABLE_PANEL_CUSTOMERS."` WHERE `customerid`='$id' ".( $userinfo['customers_see_all'] ? '' : " AND `adminid` = '{$userinfo['adminid']}' "));
if($result['loginname']!='')
{
$result=$db->query_first("SELECT * FROM `".TABLE_PANEL_SESSIONS."` WHERE `userid`={$userinfo['userid']}");
$s = md5(uniqid(microtime(),1));
Expand Down Expand Up @@ -180,8 +179,7 @@
( ( ($userinfo['emails_used'] + $emails) > $userinfo['emails']) && $userinfo['emails'] != '-1') ||
( ( ($userinfo['email_forwarders_used'] + $email_forwarders) > $userinfo['email_forwarders']) && $userinfo['email_forwarders'] != '-1') ||
( ( ($userinfo['ftps_used'] + $ftps) > $userinfo['ftps']) && $userinfo['ftps'] != '-1') ||
( ( ($userinfo['subdomains_used'] + $subdomains) > $userinfo['subdomains']) && $userinfo['subdomains'] != '-1') ||
( ( ($userinfo['traffic_used'] + $traffic) > $userinfo['traffic']) && ($userinfo['traffic']/(1024*1024)) != '-1')
( ( ($userinfo['subdomains_used'] + $subdomains) > $userinfo['subdomains']) && $userinfo['subdomains'] != '-1')
)
{
standard_error('youcantallocatemorethanyouhave');
Expand Down Expand Up @@ -234,7 +232,6 @@
" `email_forwarders_used` = `email_forwarders_used` + 0".$email_forwarders.",".
" `subdomains_used` = `subdomains_used` + 0".$subdomains.",".
" `ftps_used` = `ftps_used` + 0".$ftps.",".
" `traffic_used` = `traffic_used` + 0".$traffic.",".
" `diskspace_used` = `diskspace_used` + 0".$diskspace.
" WHERE `adminid` = '{$userinfo['adminid']}'");

Expand Down Expand Up @@ -352,7 +349,6 @@
" `email_forwarders_used` = `email_forwarders_used` + 0".($email_forwarders)." - 0".($result['email_forwarders']).",".
" `subdomains_used` = `subdomains_used` + 0".($subdomains)." - 0".($result['subdomains']).",".
" `ftps_used` = `ftps_used` + 0".($ftps)." - 0".($result['ftps']).",".
" `traffic_used` = `traffic_used` + 0".($traffic)." - 0".($result['traffic']).",".
" `diskspace_used` = `diskspace_used` + 0".($diskspace)." - 0".($result['diskspace']).
" WHERE `adminid` = '{$userinfo['adminid']}'");

Expand Down
32 changes: 30 additions & 2 deletions syscp/install/syscp.sql
Expand Up @@ -362,7 +362,7 @@ INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) V
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (19, 'system', 'bindconf_directory', '/etc/bind/');
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (20, 'system', 'bindreload_command', '/etc/init.d/bind9 reload');
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (21, 'system', 'binddefaultzone', 'default.zone');
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '1.2.3-cvs2');
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (22, 'panel', 'version', '1.2.3-cvs5');
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (23, 'system', 'hostname', 'SERVERNAME');
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (24, 'login', 'maxloginattempts', '3');
INSERT INTO `panel_settings` (`settingid`, `settinggroup`, `varname`, `value`) VALUES (25, 'login', 'deactivatetime', '900');
Expand Down Expand Up @@ -408,14 +408,42 @@ CREATE TABLE `panel_traffic` (
`ftp_down` bigint(30) unsigned NOT NULL default '0',
`mail` bigint(30) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `customerid` (`customerid`)
KEY `customerid` (`customerid`),
UNIQUE `date` (`customerid` , `year` , `month` , `day`)
) TYPE=MyISAM ;

#
# Dumping data for table `panel_traffic`
#


# --------------------------------------------------------

#
# Table structure for table `panel_traffic_admins`
#

DROP TABLE IF EXISTS `panel_traffic_admins`;
CREATE TABLE `panel_traffic_admins` (
`id` int(11) unsigned NOT NULL auto_increment,
`adminid` int(11) unsigned NOT NULL default '0',
`year` int(4) unsigned zerofill NOT NULL default '0000',
`month` int(2) unsigned zerofill NOT NULL default '00',
`day` int(2) unsigned zerofill NOT NULL default '00',
`http` bigint(30) unsigned NOT NULL default '0',
`ftp_up` bigint(30) unsigned NOT NULL default '0',
`ftp_down` bigint(30) unsigned NOT NULL default '0',
`mail` bigint(30) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `adminid` (`adminid`),
UNIQUE `date` (`adminid` , `year` , `month` , `day`)
) TYPE=MyISAM ;

#
# Dumping data for table `panel_traffic_admins`
#


# --------------------------------------------------------

#
Expand Down
32 changes: 28 additions & 4 deletions syscp/install/updatesql_1.2.inc.php
Expand Up @@ -200,10 +200,10 @@
}
if($settings['panel']['version'] == '1.2.3-cvs1')
{
$db->query(
'ALTER TABLE `panel_databases` ' .
'ADD `description` VARCHAR( 255 ) NOT NULL'
);
$db->query(
'ALTER TABLE `panel_databases` ' .
'ADD `description` VARCHAR( 255 ) NOT NULL'
);

$db->query("UPDATE `".TABLE_PANEL_SETTINGS."` SET `value`='1.2.3-cvs2' WHERE `settinggroup`='panel' AND `varname`='version'");
$settings['panel']['version'] = '1.2.3-cvs2';
Expand All @@ -223,4 +223,28 @@
$db->query("UPDATE `".TABLE_PANEL_SETTINGS."` SET `value`='1.2.3-cvs4' WHERE `settinggroup`='panel' AND `varname`='version'");
$settings['panel']['version'] = '1.2.3-cvs4';
}
if($settings['panel']['version'] == '1.2.3-cvs4')
{
$db->query("ALTER TABLE `".TABLE_PANEL_TRAFFIC."` ADD UNIQUE `date` ( `customerid` , `year` , `month` , `day` )");
$db->query("
CREATE TABLE `".TABLE_PANEL_TRAFFIC_ADMINS."` (
`id` int(11) unsigned NOT NULL auto_increment,
`adminid` int(11) unsigned NOT NULL default '0',
`year` int(4) unsigned zerofill NOT NULL default '0000',
`month` int(2) unsigned zerofill NOT NULL default '00',
`day` int(2) unsigned zerofill NOT NULL default '00',
`http` bigint(30) unsigned NOT NULL default '0',
`ftp_up` bigint(30) unsigned NOT NULL default '0',
`ftp_down` bigint(30) unsigned NOT NULL default '0',
`mail` bigint(30) unsigned NOT NULL default '0',
PRIMARY KEY (`id`),
KEY `adminid` (`adminid`),
UNIQUE `date` (`adminid` , `year` , `month` , `day`)
) TYPE=MyISAM
");

$db->query("UPDATE `".TABLE_PANEL_SETTINGS."` SET `value`='1.2.3-cvs5' WHERE `settinggroup`='panel' AND `varname`='version'");
$settings['panel']['version'] = '1.2.3-cvs5';
}

?>
4 changes: 2 additions & 2 deletions syscp/lib/functions.php
Expand Up @@ -504,7 +504,7 @@ function updateCounters ()
'SUM(`email_forwarders`) AS `email_forwarders`, ' .
'SUM(`ftps`) AS `ftps`, ' .
'SUM(`subdomains`) AS `subdomains`, ' .
'SUM(`traffic`) AS `traffic` ' .
'SUM(`traffic_used`) AS `traffic_used` ' .
'FROM `'.TABLE_PANEL_CUSTOMERS.'` ' .
'WHERE `adminid` = "'.$admin['adminid'].'"'
);
Expand All @@ -524,7 +524,7 @@ function updateCounters ()
' `email_forwarders_used` = "'.$admin_customers['email_forwarders'].'", ' .
' `ftps_used` = "'.$admin_customers['ftps'].'", ' .
' `subdomains_used` = "'.$admin_customers['subdomains'].'", ' .
' `traffic_used` = "'.$admin_customers['traffic'].'", ' .
' `traffic_used` = "'.$admin_customers['traffic_used'].'", ' .
' `domains_used` = "'.$admin_domains['number_domains'].'" ' .
'WHERE `adminid` = "'.$admin['adminid'].'"'
);
Expand Down
3 changes: 2 additions & 1 deletion syscp/lib/tables.inc.php
Expand Up @@ -31,10 +31,11 @@
define('TABLE_PANEL_SETTINGS','panel_settings');
define('TABLE_PANEL_TASKS','panel_tasks');
define('TABLE_PANEL_TRAFFIC','panel_traffic');
define('TABLE_PANEL_TRAFFIC_ADMINS','panel_traffic_admins');
define('TABLE_PANEL_NAVIGATION','panel_navigation');
define('TABLE_PANEL_LANGUAGE','panel_languages');
define('TABLE_PANEL_CRONSCRIPT','panel_cronscript');

$version = '1.2.3-cvs4';
$version = '1.2.3-cvs5';

?>
18 changes: 17 additions & 1 deletion syscp/scripts/cron_traffic.php
Expand Up @@ -76,7 +76,11 @@
}

$new['all']=$httptraffic+($ftptraffic['up_bytes_sum']/1024)+($ftptraffic['down_bytes_sum']/1024)+$mailtraffic;
$db->query("INSERT INTO `".TABLE_PANEL_TRAFFIC."` (`customerid`, `year`, `month`, `day`, `http`, `ftp_up`, `ftp_down`, `mail`) VALUES('$row[customerid]', '".date('Y',$yesterday)."', '".date('m',$yesterday)."', '".date('d',$yesterday)."', '$new[http]', '$new[ftp_up]', '$new[ftp_down]', '$new[mail]');");
$db->query("REPLACE INTO `".TABLE_PANEL_TRAFFIC."` (`customerid`, `year`, `month`, `day`, `http`, `ftp_up`, `ftp_down`, `mail`) VALUES('$row[customerid]', '".date('Y',$yesterday)."', '".date('m',$yesterday)."', '".date('d',$yesterday)."', '$new[http]', '$new[ftp_up]', '$new[ftp_down]', '$new[mail]');");
$admin_traffic[$row['adminid']]['http'] += $httptraffic;
$admin_traffic[$row['adminid']]['ftp_up'] += $ftptraffic['up_bytes_sum']/1024;
$admin_traffic[$row['adminid']]['ftp_down'] += $ftptraffic['down_bytes_sum']/1024;
$admin_traffic[$row['adminid']]['mail'] += $mailtraffic;

if(date('d')=='01')
{
Expand Down Expand Up @@ -132,6 +136,18 @@
$db->query("UPDATE `".TABLE_PANEL_CUSTOMERS."` SET `diskspace_used`='$diskusage', `traffic_used`='".$new['all']."' WHERE `customerid`='".$row['customerid']."'");

}

/**
* Admin Usage
*/
$result=$db->query("SELECT `adminid` FROM `".TABLE_PANEL_ADMINS."` ORDER BY `adminid` ASC");
while($row=$db->fetch_array($result))
{
$admin_traffic[$row['adminid']]['all'] = $admin_traffic[$row['adminid']]['http'] + $admin_traffic[$row['adminid']]['ftp_up'] + $admin_traffic[$row['adminid']]['ftp_down'] + $admin_traffic[$row['adminid']]['mail'];
$db->query("REPLACE INTO `".TABLE_PANEL_TRAFFIC_ADMINS."` (`adminid`, `year`, `month`, `day`, `http`, `ftp_up`, `ftp_down`, `mail`) VALUES('$row[adminid]', '".date('Y',$yesterday)."', '".date('m',$yesterday)."', '".date('d',$yesterday)."', '".$admin_traffic[$row['adminid']]['http']."', '".$admin_traffic[$row['adminid']]['ftp_up']."', '".$admin_traffic[$row['adminid']]['ftp_down']."', '".$admin_traffic[$row['adminid']]['mail']."')");
$db->query("UPDATE `".TABLE_PANEL_ADMINS."` SET `traffic_used`='".$admin_traffic[$row['adminid']]['all']."' WHERE `adminid`='".$row['adminid']."'");
}

$db->query("UPDATE `".TABLE_PANEL_SETTINGS."` SET `value`='".date('dmy')."' WHERE `settinggroup`='system' AND `varname`='last_traffic_run'");
}

Expand Down

0 comments on commit 697343b

Please sign in to comment.