From ae070732d9a08fd4d1741530a9b51a19ab027d26 Mon Sep 17 00:00:00 2001 From: Till Brehm <tbrehm@ispconfig.org> Date: Mon, 10 Feb 2014 04:57:09 -0500 Subject: [PATCH] Fixed issue with shell user creation due to missing parent user and group values in shell_user database records. --- interface/web/client/client_template_edit.php | 32 +++++++++++++++++++++++--------- 1 files changed, 23 insertions(+), 9 deletions(-) diff --git a/interface/web/client/client_template_edit.php b/interface/web/client/client_template_edit.php index 8dcb5a8..bc5c6d2 100644 --- a/interface/web/client/client_template_edit.php +++ b/interface/web/client/client_template_edit.php @@ -38,8 +38,8 @@ * End Form configuration ******************************************/ -require_once('../../lib/config.inc.php'); -require_once('../../lib/app.inc.php'); +require_once '../../lib/config.inc.php'; +require_once '../../lib/app.inc.php'; //* Check permissions for module $app->auth->check_module_permissions('client'); @@ -51,9 +51,22 @@ class page_action extends tform_actions { - function onBeforeUpdate() { + + function onSubmit() { global $app; + //* Resellers shall not be able to create another reseller or set reseller specific settings + if($_SESSION["s"]["user"]["typ"] == 'user') { + $this->dataRecord['limit_client'] = 0; + $this->dataRecord['limit_domainmodule'] = 0; + } + + parent::onSubmit(); + } + + function onBeforeUpdate() { + global $app; + if(isset($this->dataRecord['template_type'])) { //* Check if the template_type has been changed $rec = $app->db->queryOneRecord("SELECT template_type from client_template WHERE template_id = ".$this->id); @@ -65,31 +78,32 @@ unset($rec); } } - - + + /* This function is called automatically right after the data was successful updated in the database. */ function onAfterUpdate() { global $app; - - $app->uses('client_templates'); + + $app->uses('client_templates'); /* * the template has changed. apply the new data to all clients */ if ($this->dataRecord["template_type"] == 'm'){ $sql = "SELECT client_id FROM client WHERE template_master = " . $this->id; } else { - $sql = "SELECT client_id FROM client WHERE template_additional LIKE '%/" . $this->id . "/%'"; + $sql = "SELECT client_id FROM client WHERE template_additional LIKE '%/" . $this->id . "/%' OR template_additional LIKE '" . $this->id . "/%' OR template_additional LIKE '%/" . $this->id . "' UNION SELECT client_id FROM client_template_assigned WHERE client_template_id = " . $this->id; } $clients = $app->db->queryAllRecords($sql); if (is_array($clients)){ foreach ($clients as $client){ - $app->client_templates->apply_client_templates($client['client_id']); + $app->client_templates->apply_client_templates($client['client_id']); } } } + } $page = new page_action; -- Gitblit v1.9.1