From 620df024f3d8960a89eb4ed71d3ea61e2b9aa3db Mon Sep 17 00:00:00 2001 From: quentusrex <quentusrex@ispconfig3> Date: Thu, 30 Oct 2008 13:59:40 -0400 Subject: [PATCH] Now a client can view e-mail filters created by admin, but the client can't edit them. The client can submit a change, but it isn't input in the database, nor is the client told that the changes aren't made. --- interface/web/sites/web_subdomain_edit.php | 34 +++++++++++++++++++++++++++------- 1 files changed, 27 insertions(+), 7 deletions(-) diff --git a/interface/web/sites/web_subdomain_edit.php b/interface/web/sites/web_subdomain_edit.php index e2aaca9..49001a3 100644 --- a/interface/web/sites/web_subdomain_edit.php +++ b/interface/web/sites/web_subdomain_edit.php @@ -41,11 +41,8 @@ require_once('../../lib/config.inc.php'); require_once('../../lib/app.inc.php'); -// Checking module permissions -if(!stristr($_SESSION["s"]["user"]["modules"],'sites')) { - header("Location: ../index.php"); - exit; -} +//* Check permissions for module +$app->auth->check_module_permissions('sites'); // Loading classes $app->uses('tpl,tform,tform_actions'); @@ -53,12 +50,35 @@ class page_action extends tform_actions { + function onShowNew() { + global $app, $conf; + + // we will check only users, not admins + if($_SESSION["s"]["user"]["typ"] == 'user') { + + // Get the limits of the client + $client_group_id = $_SESSION["s"]["user"]["default_group"]; + $client = $app->db->queryOneRecord("SELECT limit_web_subdomain FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id"); + + // Check if the user may add another maildomain. + if($client["limit_web_subdomain"] >= 0) { + $tmp = $app->db->queryOneRecord("SELECT count(domain_id) as number FROM web_domain WHERE sys_groupid = $client_group_id and type = 'subdomain'"); + if($tmp["number"] >= $client["limit_web_subdomain"]) { + $app->error($app->tform->wordbook["limit_web_subdomain_txt"]); + } + } + } + + parent::onShowNew(); + } + function onShowEnd() { global $app, $conf; // Get the record of the parent domain - $parent_domain = $app->db->queryOneRecord("select * FROM web_domain WHERE domain_id = ".intval($this->dataRecord["parent_domain_id"])); + $parent_domain = $app->db->queryOneRecord("select * FROM web_domain WHERE domain_id = ".intval(@$this->dataRecord["parent_domain_id"])); + // remove the parent domain part of the domain name before we show it in the text field. $this->dataRecord["domain"] = str_replace('.'.$parent_domain["domain"],'',$this->dataRecord["domain"]); $app->tpl->setVar("domain",$this->dataRecord["domain"]); @@ -70,7 +90,7 @@ global $app, $conf; // Get the record of the parent domain - $parent_domain = $app->db->queryOneRecord("select * FROM web_domain WHERE domain_id = ".intval($this->dataRecord["parent_domain_id"])); + $parent_domain = $app->db->queryOneRecord("select * FROM web_domain WHERE domain_id = ".intval(@$this->dataRecord["parent_domain_id"])); // Set a few fixed values $this->dataRecord["type"] = 'subdomain'; -- Gitblit v1.9.1