From ffcca0ed53ca8a7d5552c25037908cb0b134bf5e Mon Sep 17 00:00:00 2001 From: Robert Sesek Date: Sun, 18 Mar 2007 19:32:47 +0000 Subject: [PATCH] r1505: Implement multi group system for custom fields in explain.php and search.php --- explain.php | 7 ++++--- search.php | 9 +++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/explain.php b/explain.php index f396e9d..d124bb6 100644 --- a/explain.php +++ b/explain.php @@ -102,13 +102,14 @@ if ($_REQUEST['do'] == 'products') if ($_REQUEST['do'] == 'automations') { $fields_fetch = $bugsys->db->query(" - SELECT bugfield.*, permission.mask + SELECT bugfield.*, MAX(permission.mask) AS mask FROM " . TABLE_PREFIX . "bugfield AS bugfield LEFT JOIN " . TABLE_PREFIX . "bugfieldpermission AS permission ON (bugfield.fieldid = permission.fieldid) WHERE (permission.mask = 2 OR permission.mask = 1) - AND permission.usergroupid = {$bugsys->userinfo['usergroupid']}" - ); + AND permission.usergroupid IN ({$bugsys->userinfo['usergroupid']}" . (sizeof($bugsys->userinfo['groupids']) != 0 ? ',' . implode(',', $bugsys->userinfo['groupids']) : '') . ") + GROUP BY (bugfield.fieldid) + "); while ($field = $bugsys->db->fetch_array($fields_fetch)) { $fields["$field[fieldid]"] = $field; diff --git a/search.php b/search.php index 8922947..1a3fdb1 100644 --- a/search.php +++ b/search.php @@ -326,13 +326,14 @@ if ($_REQUEST['do'] == 'process') // ------------------------------------------------------------------- // custom fields $fields_fetch = $bugsys->db->query(" - SELECT bugfield.* + SELECT bugfield.*, MAX(permission.mask) AS mask FROM " . TABLE_PREFIX . "bugfield AS bugfield LEFT JOIN " . TABLE_PREFIX . "bugfieldpermission AS permission ON (bugfield.fieldid = permission.fieldid) - WHERE permission.mask <> 0 - AND permission.usergroupid = {$bugsys->userinfo['usergroupid']} - AND bugfield.cansearch = 1" + WHERE mask <> 0 + AND permission.usergroupid IN ({$bugsys->userinfo['usergroupid']}" . (sizeof($bugsys->userinfo['groupids']) != 0 ? ',' . implode(',', $bugsys->userinfo['groupids']) : '') . ") + AND bugfield.cansearch = 1 + GROUP BY (bugfield.fieldid)" ); while ($field = $bugsys->db->fetch_array($fields_fetch)) { -- 2.22.5