From 7b47c0aa0aeee6f059f00008e36cc210ca89ecb9 Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Wed, 21 Aug 2013 10:28:20 -0400 Subject: [PATCH] Merged revisions 4069-4117 from stable branch. --- interface/web/sites/ajax_get_json.php | 33 +++++++++++++++++++++++++-------- 1 files changed, 25 insertions(+), 8 deletions(-) diff --git a/interface/web/sites/ajax_get_json.php b/interface/web/sites/ajax_get_json.php index 334738a..9da4513 100644 --- a/interface/web/sites/ajax_get_json.php +++ b/interface/web/sites/ajax_get_json.php @@ -34,11 +34,12 @@ //* Check permissions for module $app->auth->check_module_permissions('sites'); -$app->uses('getconf'); +$app->uses('getconf,tform'); $server_id = $app->functions->intval($_GET["server_id"]); $web_id = $app->functions->intval($_GET["web_id"]); $php_type = $_GET["php_type"]; +$client_group_id = $app->functions->intval($_GET['client_group_id']); $type = $_GET["type"]; //if($_SESSION["s"]["user"]["typ"] == 'admin') { @@ -55,7 +56,7 @@ if($type == 'getserverid'){ $json = '{"serverid":"'; - $sql = "SELECT server_id FROM web_domain WHERE domain_id = $web_id"; + $sql = "SELECT server_id FROM web_domain WHERE domain_id = $web_id AND ".$app->tform->getAuthSQL('r'); $server = $app->db->queryOneRecord($sql); $json .= $server['server_id']; unset($server); @@ -69,10 +70,26 @@ $web_config = $app->getconf->get_server_config($server_id, 'web'); if(!empty($web_config['server_type'])) $server_type = $web_config['server_type']; if($server_type == 'nginx' && $php_type == 'fast-cgi') $php_type = 'php-fpm'; - // get client id $sql_where = ''; - if($_SESSION["s"]["user"]["typ"] != 'admin'){ - $sql_where = " AND client_id = ".$_SESSION["s"]["user"]["client_id"]; + + //* Client: If the logged in user is not admin and has no sub clients (no reseller) + if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) { + $sql_where = " AND (client_id = 0 OR client_id = ".$_SESSION["s"]["user"]["client_id"] . ")"; + //* Reseller: If the logged in user is not admin and has sub clients (is a reseller) + } elseif ($_SESSION["s"]["user"]["typ"] != 'admin' && $app->auth->has_clients($_SESSION['s']['user']['userid'])) { + $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE groupid = $client_group_id"); + //$sql_where = " AND (client_id = 0 OR client_id = ".$_SESSION["s"]["user"]["client_id"]; + $sql_where = " AND (client_id = 0"; + if($app->functions->intval($client['client_id']) > 0) $sql_where .= " OR client_id = ".$app->functions->intval($client['client_id']); + $sql_where .= ")"; + //* Admin: If the logged in user is admin + } else { + //$sql_where = ''; + $client = $app->db->queryOneRecord("SELECT client_id FROM sys_group WHERE groupid = $client_group_id"); + //$sql_where = " AND (client_id = 0 OR client_id = ".$_SESSION["s"]["user"]["client_id"]; + $sql_where = " AND (client_id = 0"; + if($app->functions->intval($client['client_id']) > 0) $sql_where .= " OR client_id = ".$app->functions->intval($client['client_id']); + $sql_where .= ")"; } if($php_type == 'php-fpm'){ @@ -99,7 +116,7 @@ if($type == 'getphptype'){ $json = '{"phptype":"'; - $sql = "SELECT php FROM web_domain WHERE domain_id = $web_id"; + $sql = "SELECT php FROM web_domain WHERE domain_id = $web_id AND ".$app->tform->getAuthSQL('r'); $php = $app->db->queryOneRecord($sql); $json .= $php['php']; unset($php); @@ -108,7 +125,7 @@ if($type == 'getredirecttype'){ $json = '{"redirecttype":"'; - $sql = "SELECT redirect_type FROM web_domain WHERE domain_id = $web_id"; + $sql = "SELECT redirect_type FROM web_domain WHERE domain_id = $web_id AND ".$app->tform->getAuthSQL('r'); $redirect = $app->db->queryOneRecord($sql); $json .= $redirect['redirect_type']; unset($redirect); @@ -138,7 +155,7 @@ if($type == 'getdatabaseusers') { $json = '{}'; - $sql = "SELECT sys_groupid FROM web_domain WHERE domain_id = $web_id"; + $sql = "SELECT sys_groupid FROM web_domain WHERE domain_id = $web_id AND ".$app->tform->getAuthSQL('r'); $group = $app->db->queryOneRecord($sql); if($group) { $sql = "SELECT database_user_id, database_user FROM web_database_user WHERE sys_groupid = '" . $group['sys_groupid'] . "'"; -- Gitblit v1.9.1