/** returns the list of sharing rules for the specified module * @param $module -- Module Name:: Type varchar * @returns $access_permission -- sharing rules list info array:: Type array * */ function getSharingRuleList($module) { global $adb, $mod_strings; $tabid = getTabid($module); $dataShareTableArray = getDataShareTableandColumnArray(); $i = 1; $access_permission = array(); foreach ($dataShareTableArray as $table_name => $colName) { $colNameArr = explode("::", $colName); $query = "select " . $table_name . ".* from " . $table_name . " inner join vtiger_datashare_module_rel on " . $table_name . ".shareid=vtiger_datashare_module_rel.shareid where vtiger_datashare_module_rel.tabid=?"; $result = $adb->pquery($query, array($tabid)); $num_rows = $adb->num_rows($result); $share_colName = $colNameArr[0]; $share_modType = getEntityTypeFromCol($share_colName); $to_colName = $colNameArr[1]; $to_modType = getEntityTypeFromCol($to_colName); for ($j = 0; $j < $num_rows; $j++) { $shareid = $adb->query_result($result, $j, "shareid"); $share_id = $adb->query_result($result, $j, $share_colName); $to_id = $adb->query_result($result, $j, $to_colName); $permission = $adb->query_result($result, $j, 'permission'); $share_ent_disp = getEntityDisplayLink($share_modType, $share_id); $to_ent_disp = getEntityDisplayLink($to_modType, $to_id); if ($permission == 0) { $perr_out = $mod_strings['Read Only ']; } elseif ($permission == 1) { $perr_out = $mod_strings['Read/Write']; } $access_permission[] = $shareid; $access_permission[] = $share_ent_disp; $access_permission[] = $to_ent_disp; $access_permission[] = $perr_out; $i++; } } if (is_array($access_permission)) { $access_permission = array_chunk($access_permission, 4); } return $access_permission; }
/** Function get the Data Share Column Names for the specified Table Name * @param $tableName -- DataShare Table Name :: Type Varchar * @returns Column Name -- Type Varchar * */ function getDSTableColumns($tableName) { global $log; $log->debug("Entering getDSTableColumns(" . $tableName . ") method ..."); $dataShareTableColArr = getDataShareTableandColumnArray(); $dsTableCols = $dataShareTableColArr[$tableName]; $dsTableColsArr = explode('::', $dsTableCols); $log->debug("Exiting getDSTableColumns method ..."); return $dsTableColsArr; }