From 9c9382e6949e1366c6adb502b7aacae2c11023f7 Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Thu, 08 Sep 2011 09:42:04 -0400 Subject: [PATCH] Fixed: FS#1709 - Wrong message "Your hard-disk space is going full" in the "Monitor -> Show Disk Usage" --- interface/web/client/tools.inc.php | 37 ++++++++++++++++++++++++++++++++----- 1 files changed, 32 insertions(+), 5 deletions(-) diff --git a/interface/web/client/tools.inc.php b/interface/web/client/tools.inc.php index d98392f..a6cd525 100644 --- a/interface/web/client/tools.inc.php +++ b/interface/web/client/tools.inc.php @@ -28,13 +28,14 @@ */ function applyClientTemplates($clientId){ - global $app; + global $app,$page; /* * Get the master-template for the client */ - $sql = "SELECT template_master FROM client WHERE client_id = " . intval($clientId); + $sql = "SELECT template_master, template_additional FROM client WHERE client_id = " . intval($clientId); $record = $app->db->queryOneRecord($sql); $masterTemplateId = $record['template_master']; + $additionalTemplateStr = $record['template_additional']; /* * if the master-Template is custom there is NO changing @@ -42,20 +43,46 @@ if ($masterTemplateId > 0){ $sql = "SELECT * FROM client_template WHERE template_id = " . intval($masterTemplateId); $limits = $app->db->queryOneRecord($sql); + } else { + $limits = $page->dataRecord; } /* - * TODO: Process the additional tempaltes here (add them to the limits + * Process the additional tempaltes here (add them to the limits * if != -1) - * (like $limits['limit_database'] += $limitAdditional) */ + $addTpl = explode('/', $additionalTemplateStr); + foreach ($addTpl as $item){ + if (trim($item) != ''){ + $sql = "SELECT * FROM client_template WHERE template_id = " . intval($item); + $addLimits = $app->db->queryOneRecord($sql); + /* maybe the template is deleted in the meantime */ + if (is_array($addLimits)){ + foreach($addLimits as $k => $v){ + if($k == 'limit_cron_type') { + $limits[$k] = $v; + } elseif($k == 'limit_cron_frequency') { + if($v < $limits[$k]) $limits[$k] = $v; + } else { + if ($limits[$k] > -1){ + if ($v == -1) { + $limits[$k] = -1; + } else { + $limits[$k] += $v; + } + } + } + } + } + } + } /* * Write all back to the database */ $update = ''; foreach($limits as $k => $v){ - if (strpos($k, 'limit') !== false){ + if (strpos($k, 'limit') !== false && !is_array($v)){ if ($update != '') $update .= ', '; $update .= '`' . $k . "`='" . $v . "'"; } -- Gitblit v1.9.1