private function retrieveMetaForBlock($block) { global $adb; $tabid = $this->getTabId(); require 'user_privileges/user_privileges_' . $this->user->id . '.php'; if ($is_admin == true || $profileGlobalPermission[1] == 0 || $profileGlobalPermission[2] == 0) { $sql = "select *, '0' as readonly from vtiger_field where tabid =? and block in (" . generateQuestionMarks($block) . ") and displaytype in (1,2,3,4)"; $params = array($tabid, $block); } else { $profileList = getCurrentUserProfileList(); if (count($profileList) > 0) { $sql = "SELECT vtiger_field.*, vtiger_profile2field.readonly\n\t\t\t\t\t\tFROM vtiger_field\n\t\t\t\t\t\tINNER JOIN vtiger_profile2field\n\t\t\t\t\t\tON vtiger_profile2field.fieldid = vtiger_field.fieldid\n\t\t\t\t\t\tINNER JOIN vtiger_def_org_field\n\t\t\t\t\t\tON vtiger_def_org_field.fieldid = vtiger_field.fieldid\n\t\t\t\t\t\tWHERE vtiger_field.tabid =? AND vtiger_profile2field.visible = 0 \n\t\t\t\t\t\tAND vtiger_profile2field.profileid IN (" . generateQuestionMarks($profileList) . ")\n\t\t\t\t\t\tAND vtiger_def_org_field.visible = 0 and vtiger_field.block in (" . generateQuestionMarks($block) . ") and vtiger_field.displaytype in (1,2,3,4) and vtiger_field.presence in (0,2) group by columnname"; $params = array($tabid, $profileList, $block); } else { $sql = "SELECT vtiger_field.*, vtiger_profile2field.readonly\n\t\t\t\t\t\tFROM vtiger_field\n\t\t\t\t\t\tINNER JOIN vtiger_profile2field\n\t\t\t\t\t\tON vtiger_profile2field.fieldid = vtiger_field.fieldid\n\t\t\t\t\t\tINNER JOIN vtiger_def_org_field\n\t\t\t\t\t\tON vtiger_def_org_field.fieldid = vtiger_field.fieldid\n\t\t\t\t\t\tWHERE vtiger_field.tabid=? \n\t\t\t\t\t\tAND vtiger_profile2field.visible = 0 \n\t\t\t\t\t\tAND vtiger_def_org_field.visible = 0 and vtiger_field.block in (" . generateQuestionMarks($block) . ") and vtiger_field.displaytype in (1,2,3,4) and vtiger_field.presence in (0,2) group by columnname"; $params = array($tabid, $block); } } // Bulk Save Mode: Group by is not required!? if (CRMEntity::isBulkSaveMode()) { $sql = preg_replace("/group by [^ ]*/", " ", $sql); } // END $result = $adb->pquery($sql, $params); $noofrows = $adb->num_rows($result); $referenceArray = array(); $knownFieldArray = array(); for ($i = 0; $i < $noofrows; $i++) { $fieldname = $adb->query_result($result, $i, "fieldname"); if (strcasecmp($fieldname, 'imagename') === 0) { continue; } $webserviceField = WebserviceField::fromQueryResult($adb, $result, $i); $this->moduleFields[$webserviceField->getFieldName()] = $webserviceField; } }
function initialize() { global $adb, $current_user; if ($this->moduleMeta === null) { $moduleHandler = vtws_getModuleHandlerFromName($this->parent->getModuleName(), $current_user); $this->moduleMeta = $moduleHandler->getMeta(); } if ($this->parent->getModuleName() == 'Products' and $this->parent->getFieldName() == 'imagename') { $sql = "select *, '0' as readonly from vtiger_field where vtiger_field.tabid=14 and fieldname='imagename'"; $result = $adb->pquery($sql, array()); $webserviceField = WebserviceField::fromQueryResult($adb, $result, 0); $this->fieldInfo = $webserviceField; } else { $moduleFields = $this->moduleMeta->getModuleFields(); $this->fieldInfo = $moduleFields[$this->parent->getFieldName()]; } }