sMetaDataField = $sNewMetaDataField; $this->sFormName = $sNewFormName; $this->sValue = $sNewValue; } function render() { global $default; $sQuery = "SELECT has_lookup, data_type, has_lookuptree, id FROM $default->document_fields_table WHERE name LIKE '" . DBUtil::escapeSimple($this->sMetaDataField) . "'";/*ok*/ $sql = $default->db; $sql->query($sQuery); if ($sql->next_record()) { if ($sql->f("has_lookup") and (!$sql->f("has_lookuptree"))) { //is a lookup, so display a drop down list $sWhereClause = "DF.name LIKE '" . $this->sMetaDataField . "'"; $sFromClause = "INNER JOIN $default->document_fields_table AS DF ON ST.document_field_id = DF.id"; $oPatternListBox = & new PatternListBox("$default->metadata_table", "name", "name", $this->sFormName); if ($this->sValue != null) { $oPatternListBox->setSelectedValue($this->sValue); } $oPatternListBox->setFromClause($sFromClause); $oPatternListBox->setWhereClause($sWhereClause); return $oPatternListBox->render(); } else if ($sql->f("has_lookup") and ($sql->f("has_lookuptree"))) { $fieldTree = new MDTree(); $fieldTree->buildForField($sql->f("id")); $fieldTree->setActiveItem($this->sValue); return $fieldTree->_evilTreeRenderer($fieldTree, $this->sFormName); } else { $textboxlength = null; switch($sql->f("data_type")) { case "TEXT": $sToRender = ''; break; case "INT": case "FLOAT": $sToRender = ''; break; case "STRING": default: $sToRender = ''; } return sprintf($sToRender, $this->sFormName, $this->sValue); } } else { return "Error in PatternMetaData"; } } } ?>