Index: trunk/kernel/include/customfield.php =================================================================== diff -u -r1346 -r3534 --- trunk/kernel/include/customfield.php (.../customfield.php) (revision 1346) +++ trunk/kernel/include/customfield.php (.../customfield.php) (revision 3534) @@ -188,12 +188,13 @@ $Table = GetTablePrefix()."CustomField"; $Header = "la_text_".strtolower($Item->Get("ItemName")); $Module = $Item->Get("Module"); - $Desc = $FieldLabel; +// $Desc = $FieldLabel; if(!is_object($objSearchConfig)) { $objSearchConfig = new clsSearchConfigList(); } + $NextOrder = $objSearchConfig->GetNextDisplayOrder($Module); $desc = "lu_fieldcustom__".strtolower($FieldName); if(!strlen($FieldLabel)) @@ -203,31 +204,42 @@ $l = $objLanguages->GetPrimary(); $phrases = new clsPhraseList(); - $phrases->AddPhrase($desc,$l,$FieldLabel,2); + $phrases->AddPhrase($desc,$l,$FieldLabel,2, $Item->Get('Module') ); $dtable = GetTablePrefix()."CustomMetaData"; $Join = "($dtable.ResourceId={Table}.ResourceId)"; $objSearchConfig->AddSearchField($Table,$FieldName,$Module,0,0, $FieldLabel,$desc,$Header,$NextOrder,0, - "text",$Join, NULL, NULL, NULL, NULL, + $ElementType,$Join, NULL, NULL, NULL, NULL, $f->Get("CustomFieldId"), "CustomMetaData.Value"); } return $f; //} //else // return FALSE; } - - function EditField($FieldId,$Type,$FieldName,$FieldLabel,$ShowGeneral=0,$Heading="", $Prompt="", - $ElementType="",$ValueList="") + + function EditField($FieldId,$Type,$FieldName,$FieldLabel,$ShowGeneral=0,$Heading="", $Prompt="",$ElementType="",$ValueList="") { - $f = $this->GetItem($FieldId); - $f->Set(array("Type","FieldName","FieldLabel","OnGeneralTab","Heading","Prompt", - "ElementType","ValueList"), - array($Type,$FieldName,$FieldLabel,$ShowGeneral,$Heading,$Prompt, - $ElementType,$ValueList)); - $f->Update(); - return $f; + global $objSearchConfig; + + $f = $this->GetItem($FieldId); + $f->Set(array("Type","FieldName","FieldLabel","OnGeneralTab","Heading","Prompt","ElementType","ValueList"), + array($Type,$FieldName,$FieldLabel,$ShowGeneral,$Heading,$Prompt,$ElementType,$ValueList)); + $f->Update(); + + $db =& $this->adodbConnection; + + if (!$FieldLabel) $FieldLabel = $FieldName; + $sql = 'UPDATE '.GetTablePrefix().'SearchConfig + SET FieldType = '.$db->qstr($ElementType).', + DisplayName = '.$db->qstr('lu_fieldcustom__'.strtolower($FieldName)).', + FieldName = '.$db->qstr($FieldName).', + Description = '.$db->qstr($FieldLabel).' + WHERE CustomFieldId = '.$FieldId; + $this->adodbConnection->Execute($sql); + + return $f; } function DeleteField($FieldId) @@ -247,14 +259,12 @@ $objSearchConfig = new clsSearchConfigList($Module); } - if (is_object($objSearchConfig)) { - $s = $objSearchConfig->GetItemByName($table,$f->Get("FieldName")); - //echo "$table ".$f->Get("FieldName")."
"; print_r($s); echo "
"; - if(is_object($s)) - { - $s->Delete(); - } - } + $sql = 'DELETE FROM '.$objSearchConfig->SourceTable.' WHERE CustomFieldId = '.$FieldId; + $this->adodbConnection->Execute($sql); + + $phrase_name = 'lu_fieldcustom__'.strtolower($f->Get('FieldName')); + $sql = 'DELETE FROM '.GetTablePrefix().'Phrase WHERE Phrase = '.$this->adodbConnection->qstr($phrase_name); + $this->adodbConnection->Execute($sql); } $f->Delete(); }