コード例 #1
0
/** Function to check permission to access the column for a given user
 * @param $userid -- User Id :: Type integer
 * @param $tablename -- tablename :: Type String
 * @param $columnname -- columnname :: Type String
 * @param $module -- Module Name :: Type varchar
 */
function getColumnVisibilityPermission($userid, $columnname, $module, $accessmode = 'readonly')
{
    $adb = PearDatabase::getInstance();
    $log = vglobal('log');
    $log->debug("in function getcolumnvisibilitypermission {$columnname} -{$userid}");
    $tabid = getTabid($module);
    // Look at cache if information is available.
    $cacheFieldInfo = VTCacheUtils::lookupFieldInfoByColumn($tabid, $columnname);
    $fieldname = false;
    if ($cacheFieldInfo === false) {
        $res = $adb->pquery("select fieldname from vtiger_field where tabid=? and columnname=? and vtiger_field.presence in (0,2)", array($tabid, $columnname));
        $fieldname = $adb->query_result($res, 0, 'fieldname');
    } else {
        $fieldname = $cacheFieldInfo['fieldname'];
    }
    return getFieldVisibilityPermission($module, $userid, $fieldname, $accessmode);
}