/** Function to insert value to profile2fieldPermissions table * @param $fld_module -- field module :: Type string * @param $profileid -- profileid :: Type integer * @returns $return_data -- return_data :: Type string */ function getProfile2FieldPermissionList($fld_module, $profileid) { global $log; $log->debug("Entering getProfile2FieldPermissionList(" . $fld_module . "," . $profileid . ") method ..."); // Cache information to re-use static $_module_fieldpermission_cache = array(); if (!isset($_module_fieldpermission_cache[$fld_module])) { $_module_fieldpermission_cache[$fld_module] = array(); } // Lookup cache first $return_data = VTCacheUtils::lookupProfile2FieldPermissionList($fld_module, $profileid); if ($return_data === false) { global $adb; $tabid = getTabid($fld_module); $query = "SELECT vtiger_profile2field.visible, vtiger_profile2field.readonly, vtiger_field.fieldlabel, vtiger_field.uitype,\n\t\t\tvtiger_field.fieldid, vtiger_field.displaytype, vtiger_field.typeofdata\n\t\t\tFROM vtiger_profile2field INNER JOIN vtiger_field ON vtiger_field.fieldid=vtiger_profile2field.fieldid\n\t\t\tWHERE vtiger_profile2field.profileid=? and vtiger_profile2field.tabid=? and vtiger_field.presence in (0,2)"; $qparams = array($profileid, $tabid); $result = $adb->pquery($query, $qparams); $return_data = array(); for ($i = 0; $i < $adb->num_rows($result); $i++) { $return_data[] = array($adb->query_result($result, $i, "fieldlabel"), $adb->query_result($result, $i, "visible"), $adb->query_result($result, $i, "uitype"), $adb->query_result($result, $i, "readonly"), $adb->query_result($result, $i, "fieldid"), $adb->query_result($result, $i, "displaytype"), $adb->query_result($result, $i, "typeofdata")); } // Update information to cache for re-use VTCacheUtils::updateProfile2FieldPermissionList($fld_module, $profileid, $return_data); } $log->debug("Exiting getProfile2FieldPermissionList method ..."); return $return_data; }