if (!$datacount[0]) { foreach ($fieldsArr as $f) { $fEditFormat = GetFieldData($strTableName, $f, 'EditFormat', ''); if ($fEditFormat != EDIT_FORMAT_LOOKUP_WIZARD || GoodFieldName($f) != $field) { continue; } $LookupType = GetFieldData($strTableName, $f, 'LookupType', ''); if ($LookupType == LT_LOOKUPTABLE) { $LookupSQL = "SELECT "; if (GetFieldData($strTableName, $f, 'LookupUnique', false)) { $LookupSQL .= "DISTINCT "; } $LookupSQL .= GetLWLinkField($f, $strTableName, true); $LookupSQL .= "," . GetLWDisplayField($f, $strTableName, true); $LookupSQL .= " FROM " . AddTableWrappers(GetFieldData($strTableName, $f, 'LookupTable', '')) . " "; $LookupSQL .= " WHERE " . GetLWLinkField($f, $strTableName, true) . "=" . $lookupValue . " AND "; $LookupSQL .= GetLWDisplayField($f, $strTableName, true) . " LIKE " . db_prepare_string($value . "%"); if (GetFieldData($strTableName, $f, 'UseCategory', false)) { $cvalue = make_db_value(GetFieldData($strTableName, $f, 'CategoryControl', ''), postvalue("category")); $LookupSQL .= " AND " . AddFieldWrappers(GetFieldData($strTableName, $f, 'CategoryFilter', '')) . "=" . $cvalue; } } } $rs2 = db_query($LookupSQL, $conn); if ($data = db_fetch_numarray($rs2)) { $response[] = $data[0]; $response[] = $data[1]; } } } }
function buildLookupSQL($field, $table, $parentVal, $childVal = "", $doCategoryFilter = true, $doValueFilter = false, $addCategoryField = false, $doWhereFilter = true, $oneRecordMode = false) { global $strTableName; if (!strlen($table)) { $table = $strTableName; } // read settings $nLookupType = GetFieldData($table, $field, "LookupType", LT_LISTOFVALUES); if ($nLookupType != LT_LOOKUPTABLE) { return ""; } $bUnique = GetFieldData($table, $field, "LookupUnique", false); $strLookupWhere = LookupWhere($field, $table); $strOrderBy = GetFieldData($table, $field, "LookupOrderBy", ""); $bDesc = GetFieldData($table, $field, "LookupDesc", false); $strCategoryFilter = GetFieldData($table, $field, "CategoryFilter", ""); if ($doCategoryFilter) { $parentVal = make_db_value(CategoryControl($field, $table), $parentVal); } if ($doValueFilter) { $childVal = make_db_value($field, $childVal); } // build SQL string $LookupSQL = "SELECT "; if ($oneRecordMode) { $LookupSQL .= "top 1 "; } if ($bUnique) { $LookupSQL .= "DISTINCT "; } $LookupSQL .= GetLWLinkField($field, $table); $LookupSQL .= "," . GetLWDisplayField($field, $table); if ($addCategoryField && strlen($strCategoryFilter)) { $LookupSQL .= "," . AddFieldWrappers($strCategoryFilter); } $LookupSQL .= " FROM " . AddTableWrappers(GetLookupTable($field, $table)); // build Where clause $categoryWhere = ""; $childWhere = ""; if (UseCategory($field, $table) && $doCategoryFilter) { $condition = "=" . $parentVal; if ($childVal === "null") { $condition = " is null"; } $categoryWhere = AddFieldWrappers($strCategoryFilter) . $condition; } if ($doValueFilter) { $condition = "=" . $childVal; if ($childVal === "null") { $condition = " is null"; } $childWhere = AddFieldWrappers(GetLWLinkField($field, $table)) . $condition; } $strWhere = ""; if ($doWhereFilter && strlen($strLookupWhere)) { $strWhere = "(" . $strLookupWhere . ")"; } if (strlen($categoryWhere)) { if (strlen($strWhere)) { $strWhere .= " AND "; } $strWhere .= $categoryWhere; } if (strlen($childWhere)) { if (strlen($strWhere)) { $strWhere .= " AND "; } $strWhere .= $childWhere; } if (strlen($strWhere)) { $LookupSQL .= " WHERE " . $strWhere; } // order by clause if (strlen($strOrderBy)) { $LookupSQL .= " ORDER BY " . AddTableWrappers(GetLookupTable($field, $table)) . "." . AddFieldWrappers($strOrderBy); if ($bDesc) { $LookupSQL .= " DESC"; } } return $LookupSQL; }
function initLookupParams() { $this->parId = postvalue("parId"); $this->firstTime = postvalue("firsttime"); $this->mainField = postvalue("field"); $this->lookupControl = postvalue("control"); $this->lookupCategory = postvalue("category"); $this->mainTable = postvalue("table"); global $tables_data; include_once getabspath('include/' . GetTableURL($this->mainTable) . '_settings.php'); $this->lookupParams = "mode=lookup&id=" . $this->id . "&parId=" . $this->parId . "&field=" . rawurlencode($this->mainField) . "&control=" . rawurlencode($this->lookupControl) . "&category=" . rawurlencode($this->lookupCategory) . "&table=" . rawurlencode($this->mainTable) . "&editMode=" . postvalue('editMode'); $this->sessionPrefix = $this->tName . "_lookup_" . $this->mainTable . '_' . $this->mainField; $this->linkField = GetLWLinkField($this->mainField, $this->mainTable, false); $this->dispField = GetLWDisplayField($this->mainField, $this->mainTable, false); if (GetFieldData($this->mainTable, $this->mainField, 'CustomDisplay', false)) { $this->customField = $this->linkField; $this->dispFieldAlias = 'dispField1'; } $this->outputFieldValue($this->linkField, 2); $this->outputFieldValue($this->dispField, 2); if (UseCategory($this->mainField, $this->mainTable)) { $this->categoryField = GetFieldData($this->mainTable, $this->mainField, 'CategoryFilter', ''); } $this->strLookupWhere = LookupWhere($this->mainField, $this->mainTable); if ($this->dispFieldAlias && AppearOnListPage($this->dispField)) { $this->lookupSelectField = $this->linkField; } elseif (AppearOnListPage($this->dispField)) { $this->lookupSelectField = $this->dispField; } else { $this->lookupSelectField = $this->listFields[0]['fName']; } if ($this->categoryField) { if (!strlen(GetFullFieldName($this->categoryField))) { $this->categoryField = ""; } } if (!$this->categoryField) { $this->lookupCategory = ""; } }
/** * Proccess record values * * @param array $record * @param array $data * @param string $keylink */ function proccessRecordValue(&$data, &$keylink, $listFieldInfo) { $value = ""; if ($listFieldInfo['viewFormat'] == FORMAT_DATABASE_IMAGE) { if (ShowThumbnail($listFieldInfo['fName'], $this->tName)) { $thumbPref = GetThumbnailPrefix($listFieldInfo['fName'], $this->tName); $value .= "<a"; if (IsUseiBox($listFieldInfo['fName'], $this->tName)) { $value .= " rel='ibox'"; } else { $value .= " target=_blank"; } $value .= " href='imager.php?table=" . $this->shortTableName . "&field=" . rawurlencode($listFieldInfo['fName']) . $keylink . "'>"; $value .= "<img border=0"; if ($this->is508) { $value .= " alt=\"Image from DB\""; } $value .= " src='imager.php?table=" . $this->shortTableName . "&field=" . rawurlencode($thumbPref) . "&alt=" . rawurlencode($listFieldInfo['fName']) . $keylink . "'>"; $value .= "</a>"; } else { $value = "<img"; if ($this->is508) { $value .= " alt=\"Image from DB\""; } $imgWidth = GetImageWidth($listFieldInfo['fName'], $this->tName); $value .= $imgWidth ? " width=" . $imgWidth : ""; $imgHeight = GetImageHeight($listFieldInfo['fName'], $this->tName); $value .= $imgHeight ? " height=" . $imgHeight : ""; $value .= " border=0"; $value .= " src='imager.php?table=" . $this->shortTableName . "&field=" . rawurlencode($listFieldInfo['fName']) . $keylink . "'>"; } } else { if ($listFieldInfo['viewFormat'] == FORMAT_FILE_IMAGE) { if (CheckImageExtension($data[$listFieldInfo['fName']])) { if (ShowThumbnail($listFieldInfo['fName'], $this->tName)) { // show thumbnail $thumbPref = GetThumbnailPrefix($listFieldInfo['fName'], $this->tName); $thumbname = $thumbPref . $data[$listFieldInfo['fName']]; if (substr(GetLinkPrefix($listFieldInfo['fName'], $this->tName), 0, 7) != "http://" && !myfile_exists(GetUploadFolder($listFieldInfo['fName']) . $thumbname)) { $thumbname = $data[$listFieldInfo['fName']]; } $value = "<a"; if (IsUseiBox($listFieldInfo['fName'], $this->tName)) { $value .= " rel='ibox'"; } else { $value .= " target=_blank"; } $value .= " href=\"" . htmlspecialchars(AddLinkPrefix($listFieldInfo['fName'], $data[$listFieldInfo['fName']])) . "\">"; $value .= "<img"; if ($thumbname == $data[$listFieldInfo['fName']]) { $imgWidth = GetImageWidth($listFieldInfo['fName'], $this->tName); $value .= $imgWidth ? " width=" . $imgWidth : ""; $imgHeight = GetImageHeight($listFieldInfo['fName'], $this->tName); $value .= $imgHeight ? " height=" . $imgHeight : ""; } $value .= " border=0"; if ($this->is508) { $value .= " alt=\"" . htmlspecialchars($data[$listFieldInfo['fName']]) . "\""; } $value .= " src=\"" . htmlspecialchars(AddLinkPrefix($listFieldInfo['fName'], $thumbname)) . "\"></a>"; } else { $value = "<img"; $imgWidth = GetImageWidth($listFieldInfo['fName'], $this->tName); $value .= $imgWidth ? " width=" . $imgWidth : ""; $imgHeight = GetImageHeight($listFieldInfo['fName'], $this->tName); $value .= $imgHeight ? " height=" . $imgHeight : ""; $value .= " border=0"; if ($this->is508) { $value .= " alt=\"" . htmlspecialchars($data[$listFieldInfo['fName']]) . "\""; } $value .= " src=\"" . htmlspecialchars(AddLinkPrefix($listFieldInfo['fName'], $data[$listFieldInfo['fName']])) . "\">"; } } } else { if ($listFieldInfo['viewFormat'] == FORMAT_DATABASE_FILE) { $fileNameF = GetFilenameField($listFieldInfo['fName'], $this->tName); if ($fileNameF) { $fileName = $data[$fileNameF]; if (!$fileName) { $fileName = "file.bin"; } } else { $fileName = "file.bin"; } if (strlen($data[$listFieldInfo['fName']])) { $value = "<a href='getfile.php?table=" . $this->shortTableName . "&filename=" . rawurlencode($fileName) . "&field=" . rawurlencode($listFieldInfo['fName']) . $keylink . "'>"; $value .= htmlspecialchars($fileName); $value .= "</a>"; } } else { if ($listFieldInfo['viewFormat'] == FORMAT_AUDIO) { $fileName = GetData($data, $listFieldInfo['fName'], FORMAT_NONE); $fieldIsUrl = GetFieldData($this->tName, $listFieldInfo['fName'], "fieldIsVideoUrl", false); if (strlen($fileName)) { $absFileName = ""; if (!$fieldIsUrl && GetFieldData($this->tName, $listFieldInfo['fName'], "Absolute", false)) { $absFileName = GetUploadFolder($listFieldInfo['fName']) . $fileName; } elseif (!$fieldIsUrl) { $absFileName = getabspath(GetUploadFolder($listFieldInfo['fName']) . $fileName); } // if file if ($fieldIsUrl || file_exists($absFileName)) { $titleField = GetFieldData($this->tName, $listFieldInfo['fName'], 'audioTitleField', ""); $title = ""; if ($titleField) { $title = htmlspecialchars(GetData($data, $titleField, ViewFormat($titleField, $titleField))); } if ($fieldIsUrl) { $href = $fileName; } else { $href = 'download.php?table=' . $this->shortTableName . '&field=' . rawurlencode($listFieldInfo['fName']) . $keylink; } $value = '<a class="htrack" type="audio/mpeg" title="' . $title . '" href="' . $href . '">' . $title . '</a>'; } } } else { if ($listFieldInfo['viewFormat'] == FORMAT_DATABASE_AUDIO) { $titleField = GetFieldData($this->tName, $listFieldInfo['fName'], 'audioTitleField', ""); $title = ""; if ($titleField) { $title = htmlspecialchars(GetData($data, $titleField, ViewFormat($titleField, $titleField))); } if (@$data[$listFieldInfo['fName']] != NULL) { $value = '<a class="htrack" type="audio/mpeg" title="' . $title . '" href="getfile.php?table=' . $this->shortTableName . '&field=' . rawurlencode($listFieldInfo['fName']) . $keylink . '">' . $title . '</a>'; } else { $value = $title; } } else { if ($listFieldInfo['viewFormat'] == FORMAT_VIDEO) { $value = ""; $fieldIsUrl = GetFieldData($this->tName, $listFieldInfo['fName'], "fieldIsVideoUrl", false); $fileName = GetData($data, $listFieldInfo['fName'], FORMAT_NONE); if (strlen($fileName)) { $absFileName = ""; if (!$fieldIsUrl && GetFieldData($this->tName, $listFieldInfo['fName'], "Absolute", false)) { $absFileName = GetUploadFolder($listFieldInfo['fName']) . $fileName; } elseif (!$fieldIsUrl) { $absFileName = getabspath(GetUploadFolder($listFieldInfo['fName']) . $fileName); } // if file if ($fieldIsUrl || file_exists($absFileName)) { $videoId = 'video_' . GoodFieldName(htmlspecialchars($listFieldInfo['fName'])) . '_' . $this->recId; if ($fieldIsUrl) { $href = $fileName; } else { $href = 'download.php?table=' . $this->shortTableName . '&field=' . rawurlencode($listFieldInfo['fName']) . $keylink; } $value = '<a href="' . $href . '" style="display:block;width:' . GetFieldData($this->tName, $listFieldInfo['fName'], 'videoWidth', "") . 'px;height:' . GetFieldData($this->tName, $listFieldInfo['fName'], 'videoHeight', "") . 'px;" id="' . $videoId . '"></a>'; $this->controlsMap['video'][] = $videoId; } } } else { if ($listFieldInfo['viewFormat'] == FORMAT_DATABASE_VIDEO) { if (@$data[$listFieldInfo['fName']] != NULL) { $videoId = 'video_' . GoodFieldName(htmlspecialchars($listFieldInfo['fName'])) . '_' . $this->recId; $value = '<a href="getfile.php?table=' . $this->shortTableName . '&field=' . rawurlencode($listFieldInfo['fName']) . $keylink . '" style="display:block;width:' . GetFieldData($this->tName, $listFieldInfo['fName'], 'videoWidth', 0) . 'px;height:' . GetFieldData($this->tName, $listFieldInfo['fName'], 'videoHeight', 0) . 'px;" id="' . $videoId . '"></a>'; $this->controlsMap['video'][] = $videoId; } } else { if ($listFieldInfo['viewFormat'] == FORMAT_MAP) { $value = '<div id="littleMap_' . GoodFieldName($listFieldInfo['fName']) . '_' . $this->recId . '" style="width: ' . $this->googleMapCfg['fieldsAsMap'][$listFieldInfo['fName']]['width'] . 'px; height: ' . $this->googleMapCfg['fieldsAsMap'][$listFieldInfo['fName']]['height'] . 'px;"></div>'; } else { if (($listFieldInfo['editFormat'] == EDIT_FORMAT_LOOKUP_WIZARD || $listFieldInfo['editFormat'] == EDIT_FORMAT_RADIO) && GetLookupType($listFieldInfo['fName'], $this->tName) == LT_LOOKUPTABLE && GetLWLinkField($listFieldInfo['fName'], $this->tName) != GetLWDisplayField($listFieldInfo['fName'], $this->tName)) { $value = DisplayLookupWizard($listFieldInfo['fName'], $data[$listFieldInfo['fName']], $data, $keylink, MODE_LIST); } else { if (NeedEncode($listFieldInfo['fName'], $this->tName)) { $value = ProcessLargeText(GetData($data, $listFieldInfo['fName'], $listFieldInfo['viewFormat']), "field=" . rawurlencode($listFieldInfo['fName']) . $keylink, "", MODE_LIST); } else { $value = GetData($data, $listFieldInfo['fName'], $listFieldInfo['viewFormat']); } } } } } } } } } } // create address field as center link $value = $this->addCenterLink($value, $listFieldInfo['fName']); return $value; }
function labelFormat($fieldName, $data) { $table = $this->sessionPrefix; $strViewFormat = GetFieldData($table, $fieldName, "ViewFormat", ""); $strEditFormat = GetFieldData($table, $fieldName, "EditFormat", ""); if (($strEditFormat == EDIT_FORMAT_LOOKUP_WIZARD || $strEditFormat == EDIT_FORMAT_RADIO) && GetLookupType($fieldName, $table) == LT_LOOKUPTABLE && GetLWLinkField($fieldName, $table) != GetLWDisplayField($fieldName, $table)) { $value = DisplayLookupWizard($fieldName, $data[$fieldName], $data, "", MODE_PRINT); } else { $value = GetData($data, $fieldName, $strViewFormat); } if (strlen($value) > 50) { $value = substr($value, 0, 47) . "..."; } return $this->chart_xmlencode($value); }