/** to get all the parent vtiger_groups of the specified group * @params $groupId --> Group Id :: Type Integer * @returns updates the parent group in the varibale $parent_groups of the class */ function getAllUserGroups($userid) { $adb = PearDatabase::getInstance(); $log = vglobal('log'); $log->debug("Entering getAllUserGroups(" . $userid . ") method..."); //Retreiving from the user2grouptable $query = "select * from vtiger_users2group where userid=?"; $result = $adb->pquery($query, array($userid)); $num_rows = $adb->num_rows($result); for ($i = 0; $i < $num_rows; $i++) { $now_group_id = $adb->query_result($result, $i, 'groupid'); if (!in_array($now_group_id, $this->user_groups)) { $this->user_groups[] = $now_group_id; } } //Setting the User Role $userRole = fetchUserRole($userid); //Retreiving from the vtiger_user2role $query = "select * from vtiger_group2role where roleid=?"; $result = $adb->pquery($query, array($userRole)); $num_rows = $adb->num_rows($result); for ($i = 0; $i < $num_rows; $i++) { $now_group_id = $adb->query_result($result, $i, 'groupid'); if (!in_array($now_group_id, $this->user_groups)) { $this->user_groups[] = $now_group_id; } } //Retreiving from the user2rs $parentRoles = getParentRole($userRole); $parentRolelist = array(); foreach ($parentRoles as $par_rol_id) { array_push($parentRolelist, $par_rol_id); } array_push($parentRolelist, $userRole); $query = "select * from vtiger_group2rs where roleandsubid in (" . generateQuestionMarks($parentRolelist) . ")"; $result = $adb->pquery($query, array($parentRolelist)); $num_rows = $adb->num_rows($result); for ($i = 0; $i < $num_rows; $i++) { $now_group_id = $adb->query_result($result, $i, 'groupid'); if (!in_array($now_group_id, $this->user_groups)) { $this->user_groups[] = $now_group_id; } } foreach ($this->user_groups as $grp_id) { $focus = new GetParentGroups(); $focus->getAllParentGroups($grp_id); foreach ($focus->parent_groups as $par_grp_id) { if (!in_array($par_grp_id, $this->user_groups)) { $this->user_groups[] = $par_grp_id; } } } $log->debug("Exiting getAllUserGroups method..."); }
require_once 'include/utils/utils.php'; global $adb; global $theme; $theme_path = "themes/" . $theme . "/"; $image_path = $theme_path . "images/"; $smarty = new vtigerCRM_Smarty(); $Err_msg; $parentGroupArray = array(); if (isset($_REQUEST['groupId']) && $_REQUEST['groupId'] != '') { $mode = 'edit'; $groupId = vtlib_purify($_REQUEST['groupId']); $groupInfo = getGroupInfo($groupId); require_once 'include/utils/GetParentGroups.php'; $parGroups = new GetParentGroups(); $parGroups->parent_groups[] = $groupId; $parGroups->getAllParentGroups($groupId); $parentGroupArray = $parGroups->parent_groups; } else { $mode = 'create'; if (isset($_REQUEST['error']) && $_REQUEST['error'] == 'true') { $Err_msg = "<center><font color='red'><b>" . $mod_strings['LBL_GROUP_NAME_ERROR'] . "</b></font></center>"; $groupInfo[] = vtlib_purify($_REQUEST['groupname']); $groupInfo[] = vtlib_purify($_REQUEST['desc']); } } //Constructing the Role Array $roleDetails = getAllRoleDetails(); $i = 0; $roleIdStr = ""; $roleNameStr = ""; $userIdStr = "";