From 12ae7f4b1e0544a02a299ec5ef7ac998c8c800d0 Mon Sep 17 00:00:00 2001 From: vogelor <vogelor@ispconfig3> Date: Tue, 16 Dec 2008 10:47:28 -0500 Subject: [PATCH] It is now possible to add additional templates to the client (and delete them) --- interface/web/client/tools.inc.php | 28 +++++++++++++++++++++++++--- 1 files changed, 25 insertions(+), 3 deletions(-) diff --git a/interface/web/client/tools.inc.php b/interface/web/client/tools.inc.php index d98392f..9cbf8eb 100644 --- a/interface/web/client/tools.inc.php +++ b/interface/web/client/tools.inc.php @@ -32,9 +32,10 @@ /* * 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,13 +43,34 @@ if ($masterTemplateId > 0){ $sql = "SELECT * FROM client_template WHERE template_id = " . intval($masterTemplateId); $limits = $app->db->queryOneRecord($sql); + } else { + $limits = $this->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 ($limits[$k] > -1){ + if ($v == -1) { + $limits[$k] = -1; + } + else { + $limits[$k] += $v; + } + } + } + } + } + } /* * Write all back to the database -- Gitblit v1.9.1