PatternMetaData.inc
1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<?php
require_once("PatternListBox.inc");
class PatternMetaData {
var $sMetaDataField;
var $sFormName;
var $sValue;
/** 1 = drop down, 2 = text field */
var $iType;
function PatternMetaData($sNewMetaDataField, $sNewFormName, $sNewValue = null) {
$this->sMetaDataField = $sNewMetaDataField;
$this->sFormName = $sNewFormName;
$this->sValue = $sNewValue;
}
function render() {
global $default;
$sQuery = "SELECT has_lookup FROM $default->owl_fields_table WHERE name LIKE '" . $this->sMetaDataField . "'";
$sql = $default->db;
$sql->query($sQuery);
if ($sql->next_record()) {
if ($sql->f("has_lookup")) {
//is a lookup, so display a drop down list
$sWhereClause = "DF.name LIKE '" . $this->sMetaDataField . "'";
$sFromClause = "INNER JOIN $default->owl_fields_table AS DF ON ST.document_field_id = DF.id";
$oPatternListBox = & new PatternListBox("$default->owl_document_fields_lookup_tables", "name", "name", $this->sFormName);
if ($this->sValue != null) {
$oPatternListBox->setSelectedValue($this->sValue);
}
$oPatternListBox->setFromClause($sFromClause);
$oPatternListBox->setWhereClause($sWhereClause);
return $oPatternListBox->render();
} else {
$sToRender = "<input type=\"text\" name=\"" . $this->sFormName . "\" ";
if ($this->sValue != null) {
$sToRender .= "value=\"" . $this->sValue . "\" ";
}
$sToRender .= " />";
return $sToRender;
}
} else {
return "Error in PatternMetaData";
}
}
}
?>