$control[$gfName]["params"] = array(); $control[$gfName]["params"]["id"] = $id; $control[$gfName]["params"]["field"] = $fName; $control[$gfName]["params"]["value"] = @$defvalues[$fName]; if (UseRTE($fName)) { $_SESSION[$strTableName . "_" . $fName . "_rte"] = @$defvalues[$fName]; } // Begin Add validation $arrValidate = getValidation($fName, $strTableName); $control[$gfName]["params"]["validate"] = $arrValidate; // End Add validation } $controls["controls"]['ctrlInd'] = 0; $controls["controls"]['id'] = $id; $controls["controls"]['fieldName'] = $fName; if (UseRTEFCK($fName) || UseRTEInnova($fName) || UseRTEBasic($fName)) { if (!$detailKeys || !in_array($fName, $detailKeys)) { $control[$gfName]["params"]["mode"] = "add"; } $controls["controls"]['mode'] = "add"; } else { if ($inlineadd == ADD_ONTHEFLY || $inlineadd == ADD_POPUP) { if (!$detailKeys || !in_array($fName, $detailKeys) || $fName == postvalue("category")) { $control[$gfName]["params"]["mode"] = "inline_add"; } $controls["controls"]['mode'] = "inline_add"; } else { if (!$detailKeys || !in_array($fName, $detailKeys) || $fName == postvalue("category")) { $control[$gfName]["params"]["mode"] = "add"; } $controls["controls"]['mode'] = "add";
/** * Fill field settings for current table */ function fillFieldSettings() { $arrFields = $this->getFieldsByPageType(); foreach ($arrFields as $fName) { if (!array_key_exists($fName, $this->jsSettings['tableSettings'][$this->tName]['fieldSettings'])) { $this->jsSettings['tableSettings'][$this->tName]['fieldSettings'][$fName] = array(); } $matchDK = false; if ($this->matchWithDetailKeys($fName)) { $matchDK = true; } foreach ($this->settingsMap["fieldSettings"] as $key => $val) { $fData = GetFieldData($this->tName, $fName, $key, $val['default']); if ($key != "validateAs") { if ($key == "EditFormat") { if ($matchDK) { $fData = EDIT_FORMAT_READONLY; } } elseif ($key == "RTEType") { if (UseRTEBasic($fName)) { $fData = "RTE"; } elseif (UseRTEFCK($fName)) { $fData = "RTECK"; if (!$this->isUseCK) { $this->isUseCK = true; } $this->jsSettings['tableSettings'][$this->tName]['fieldSettings'][$fName]['nWidth'] = GetNCols($fName); $this->jsSettings['tableSettings'][$this->tName]['fieldSettings'][$fName]['nHeight'] = GetNRows($fName); } elseif (UseRTEInnova($fName)) { $fData = "RTEINNOVA"; } } elseif ($key == "autoCompleteFieldsAdd") { $fData = GetFieldData($this->tName, $fName, "autoCompleteFields", $val['default']); } elseif ($key == "autoCompleteFieldsEdit") { if (GetFieldData($this->tName, $fName, 'autoCompleteFieldsOnEdit', false)) { $fData = GetFieldData($this->tName, $fName, "autoCompleteFields", $val['default']); } else { $fData = array(); } } $isDefault = false; if (is_array($fData)) { $isDefault = !count($fData); } else { if (!is_array($val['default'])) { $isDefault = $fData === $val['default']; } } if (!$isDefault && !$matchDK) { $this->jsSettings['tableSettings'][$this->tName]['fieldSettings'][$fName][$val['jsName']] = $fData; } else { if ($matchDK && ($key == "EditFormat" || $key == "strName")) { $this->jsSettings['tableSettings'][$this->tName]['fieldSettings'][$fName][$val['jsName']] = $fData; } } } elseif (!$matchDK) { $this->fillValidation($fData, $val, $this->jsSettings['tableSettings'][$this->tName]['fieldSettings'][$fName]); } } $this->jsSettings['tableSettings'][$this->tName]['isUseCK'] = $this->isUseCK; if (!empty($this->googleMapCfg) and $this->googleMapCfg['isUseGoogleMap']) { $this->jsSettings['tableSettings'][$this->tName]['isUseGoogleMap'] = true; $this->jsSettings['tableSettings'][$this->tName]['googleMapCfg'] = $this->googleMapCfg; } if (GetLookupTable($fName, $this->tName)) { $this->jsSettings['global']['shortTNames'][GetLookupTable($fName, $this->tName)] = GetTableURL(GetLookupTable($fName, $this->tName)); } if (GetEditFormat($fName) == 'Time') { $this->fillTimePickSettings($fName); } } if ($this->pageType == PAGE_REGISTER) { $this->addConfirmToFieldSettings(); } }