From c86da31b33c57df2e2cc611bf088be70830bcd0c Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Sun, 21 Mar 2010 07:05:13 -0400
Subject: [PATCH] Fixed: FS#1111 - Delete an 'in use' template should be blocked
---
interface/web/client/client_template_del.php | 11 ++++++++++-
interface/web/client/lib/lang/en_client_template.lng | 1 +
2 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/interface/web/client/client_template_del.php b/interface/web/client/client_template_del.php
index 0ad1749..1dcdbac 100644
--- a/interface/web/client/client_template_del.php
+++ b/interface/web/client/client_template_del.php
@@ -44,12 +44,21 @@
//* Check permissions for module
$app->auth->check_module_permissions('client');
-if(!$_SESSION["s"]["user"]["typ"] == 'admin') die('Client-Templates are only for Admins.');
+if(!$_SESSION["s"]["user"]["typ"] == 'admin') die('Client-Templates are for Admins only.');
$app->uses('tpl,tform');
$app->load('tform_actions');
class page_action extends tform_actions {
+ function onBeforeDelete() {
+ global $app;
+
+ $rec = $app->db->queryOneRecord("SELECT count(client_id) as number FROM client WHERE template_master = ".$this->id." OR template_additional like '%/".$this->id."/%'");
+ if($rec['number'] > 0) {
+ $app->error($app->tform->lng('template_del_aborted_txt'));
+ }
+
+ }
}
$page = new page_action;
diff --git a/interface/web/client/lib/lang/en_client_template.lng b/interface/web/client/lib/lang/en_client_template.lng
index 53878e9..3972663 100644
--- a/interface/web/client/lib/lang/en_client_template.lng
+++ b/interface/web/client/lib/lang/en_client_template.lng
@@ -57,4 +57,5 @@
$wb["limit_web_quota_txt"] = 'Web Quota';
$wb["limit_traffic_quota_txt"] = 'Traffic Quota';
$wb["limit_trafficquota_error_notint"] = 'Traffic Quota must be a number.';
+$wb["template_del_aborted_txt"] = 'Delete aborted. There is still a client which has this template selected.';
?>
\ No newline at end of file
--
Gitblit v1.9.1