/** To retreive the global permission of the specifed user from the various vtiger_profiles associated with the user * @param $userid -- The User Id:: Type Integer * @returns user global permission array in the following format: * $gloabalPerrArray=(view all action id=>permission, edit all action id=>permission) ); */ function getCombinedUserGlobalPermissions($userId) { $log = vglobal('log'); $log->debug("Entering getCombinedUserGlobalPermissions(" . $userId . ") method ..."); $adb = PearDatabase::getInstance(); $profArr = getUserProfile($userId); $no_of_profiles = sizeof($profArr); $userGlobalPerrArr = array(); $userGlobalPerrArr = getProfileGlobalPermission($profArr[0]); if ($no_of_profiles != 1) { for ($i = 1; $i < $no_of_profiles; $i++) { $tempUserGlobalPerrArr = getProfileGlobalPermission($profArr[$i]); foreach ($userGlobalPerrArr as $globalActionId => $globalActionPermission) { if ($globalActionPermission == 1) { $now_permission = $tempUserGlobalPerrArr[$globalActionId]; if ($now_permission == 0) { $userGlobalPerrArr[$globalActionId] = $now_permission; } } } } } $log->debug("Exiting getCombinedUserGlobalPermissions method ..."); return $userGlobalPerrArr; }
//Global Privileges if ($mode == 'view') { $global_per_arry = getProfileGlobalPermission($profileId); $view_all_per = $global_per_arry[1]; $edit_all_per = $global_per_arry[2]; $privileges_global[] = getGlobalDisplayValue($view_all_per, 1); $privileges_global[] = getGlobalDisplayValue($edit_all_per, 2); } elseif ($mode == 'edit') { $global_per_arry = getProfileGlobalPermission($profileId); $view_all_per = $global_per_arry[1]; $edit_all_per = $global_per_arry[2]; $privileges_global[] = getGlobalDisplayOutput($view_all_per, 1); $privileges_global[] = getGlobalDisplayOutput($edit_all_per, 2); } elseif ($mode == 'create') { if ($parentProfileId != '') { $global_per_arry = getProfileGlobalPermission($parentProfileId); $view_all_per = $global_per_arry[1]; $edit_all_per = $global_per_arry[2]; $privileges_global[] = getGlobalDisplayOutput($view_all_per, 1); $privileges_global[] = getGlobalDisplayOutput($edit_all_per, 2); } else { $privileges_global[] = getGlobalDisplayOutput(0, 1); $privileges_global[] = getGlobalDisplayOutput(0, 2); } } $smarty->assign("GLOBAL_PRIV", $privileges_global); //standard privileges if ($mode == 'view') { $act_perr_arry = getTabsActionPermission($profileId); foreach ($act_perr_arry as $tabid => $action_array) { $stand = array();