/** 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;
}
Example #2
0
/** 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;
}