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