コード例 #1
0
ファイル: utils.php プロジェクト: jgjermeni/corebos
/** 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;
}