本文整理汇总了PHP中GetLookupFieldsIndexes函数的典型用法代码示例。如果您正苦于以下问题:PHP GetLookupFieldsIndexes函数的具体用法?PHP GetLookupFieldsIndexes怎么用?PHP GetLookupFieldsIndexes使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了GetLookupFieldsIndexes函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: GetAddedDataLookupQuery
/**
* @param Array keys
* @param Boolean forLookup
* @param String _table
* @param String _field
* @param String pageType
* @return Array
*/
public function GetAddedDataLookupQuery($keys, $forLookup, $_table, $_field, $pageType)
{
$lookupMainSettings = getLookupMainTableSettings($this->tName, $_table, $_field, $pageType);
if(!$lookupMainSettings)
return array();
global $conn;
$LookupSQL = "";
$mainField = $_field;
$mainTable = $lookupMainSettings->getTableName();
$linkFieldName = $lookupMainSettings->getLinkField($mainField);
$dispfield = $lookupMainSettings->getDisplayField($mainField);
$nLookupType = $lookupMainSettings->getLookupType($mainField);
if($nLookupType == LT_QUERY)
{
if($lookupMainSettings->getCustomDisplay($mainField))
$this->pSet->getSQLQuery()->AddCustomExpression($dispfield, $this->pSet, $mainTable, $mainField);
$lookupQueryObj = $this->pSet->getSQLQuery()->CloneObject();
}
else
{
$LookupSQL = "select ";
$LookupSQL .= GetFullFieldName($linkFieldName, $this->tName, true);
if($linkFieldName != $dispfield)
$LookupSQL .= "," . $this->pSet->getLWDisplayField($mainField, true);
$LookupSQL.=" from ".AddTableWrappers($this->strOriginalTableName);
}
$data = 0;
$lookupIndexes = array("linkFieldIndex" => 0, "displayFieldIndex" => 0);
if(count($keys))
{
$where = KeyWhere($keys);
if($nLookupType == LT_QUERY)
$LookupSQL = $lookupQueryObj->toSql(whereAdd($lookupQueryObj->m_where->toSql($lookupQueryObj), $where));
else
$LookupSQL.=" where ".$where;
$lookupIndexes = GetLookupFieldsIndexes($lookupMainSettings, $mainField);
LogInfo($LookupSQL);
if($forLookup)
{
$rs=db_query($LookupSQL,$conn);
$data = $this->cipherer->DecryptFetchedArray($rs);
}
else if($LookupSQL)
{
$rs = db_query($LookupSQL,$conn);
$data = db_fetch_numarray($rs);
$data[$lookupIndexes["linkFieldIndex"]] = $this->cipherer->DecryptField($linkFieldName, $data[$lookupIndexes["linkFieldIndex"]]);
if($nLookupType == LT_QUERY)
$data[$lookupIndexes["displayFieldIndex"]] = $this->cipherer->DecryptField($dispfield, $data[$lookupIndexes["displayFieldIndex"]]);
}
}
return array($data, array("linkField" => $linkFieldName, "displayField" => $dispfield
, "linkFieldIndex" => $lookupIndexes["linkFieldIndex"], "displayFieldIndex" => $lookupIndexes["displayFieldIndex"]));
}
示例2: ViewLookupWizardField
public function ViewLookupWizardField($field, $container, $pageObject)
{
parent::ViewControl($field, $container, $pageObject);
$this->lookupPSet = null;
$this->cipherer = null;
$this->lookupQueryObj = null;
$this->displayFieldIndex = 0;
$this->linkFieldIndex = 1;
$this->LookupSQL = "";
if ($this->container->pSet->getEditFormat($field) != EDIT_FORMAT_LOOKUP_WIZARD) {
$this->pSet = new ProjectSettings($this->container->pSet->_table);
// set view page
$this->pSet->setPage($this->container->pageType);
// set edit page
$this->pSet->setPage($this->container->pSet->getPageTypeByFieldEditFormat($field, EDIT_FORMAT_LOOKUP_WIZARD));
} else {
$this->pSet = $this->container->pSet;
}
$this->nLookupType = $this->pSet->getLookupType($this->field);
$this->lookupTable = $this->pSet->getLookupTable($this->field);
$this->setLookupConnection();
$this->displayFieldName = $this->pSet->getDisplayField($this->field);
$this->linkFieldName = $this->pSet->getLinkField($this->field);
$this->linkAndDisplaySame = $this->displayFieldName == $this->linkFieldName;
if ($this->nLookupType == LT_QUERY) {
$this->lookupPSet = new ProjectSettings($this->lookupTable, $this->container->pageType);
$this->cipherer = new RunnerCipherer($this->lookupTable);
$this->lookupQueryObj = $this->lookupPSet->getSQLQuery()->CloneObject();
if ($this->pSet->getCustomDisplay($this->field)) {
$this->lookupQueryObj->AddCustomExpression($this->displayFieldName, $this->lookupPSet, $this->pSet->_table, $this->field);
}
$this->lookupQueryObj->ReplaceFieldsWithDummies($this->lookupPSet->getBinaryFieldsIndices());
$lookupIndexes = GetLookupFieldsIndexes($this->pSet, $this->field);
$this->displayFieldIndex = $lookupIndexes["displayFieldIndex"];
$this->linkFieldIndex = $lookupIndexes["linkFieldIndex"];
} else {
$this->cipherer = new RunnerCipherer($this->pSet->_table);
$this->LookupSQL = "SELECT ";
$this->LookupSQL .= RunnerPage::sqlFormattedDisplayField($this->field, $this->lookupConnection, $this->pSet);
$this->LookupSQL .= ", " . $this->lookupConnection->addFieldWrappers($this->pSet->getLinkField($this->field));
$this->LookupSQL .= " FROM " . $this->lookupConnection->addTableWrappers($this->lookupTable) . " WHERE ";
}
$this->localControlsContainer = new ViewControlsContainer($this->pSet, $this->container->pageType, $pageObject);
$this->localControlsContainer->isLocal = true;
}
示例3: GetAddedDataLookupQuery
function GetAddedDataLookupQuery($pageObject, $keys, $forLookup)
{
global $conn, $strTableName, $strOriginalTableName;
$LookupSQL = "";
$linkfield = "";
$dispfield = "";
$noBlobReplace = false;
$lookupFieldName = "";
if ($LookupSQL && $nLookupType != LT_QUERY) {
$LookupSQL .= " from " . AddTableWrappers($strOriginalTableName);
}
$data = 0;
$lookupIndexes = array("linkFieldIndex" => 0, "displayFieldIndex" => 0);
if (count($keys)) {
$where = KeyWhere($keys);
if ($nLookupType == LT_QUERY) {
$LookupSQL = $lookupQueryObj->toSql(whereAdd($lookupQueryObj->m_where->toSql($lookupQueryObj), $where));
} else {
$LookupSQL .= " where " . $where;
}
$lookupIndexes = GetLookupFieldsIndexes($lookupPSet, $lookupFieldName);
LogInfo($LookupSQL);
if ($forLookup) {
$rs = db_query($LookupSQL, $conn);
$data = $pageObject->cipherer->DecryptFetchedArray($rs);
} else {
if ($LookupSQL) {
$rs = db_query($LookupSQL, $conn);
$data = db_fetch_numarray($rs);
$data[$lookupIndexes["linkFieldIndex"]] = $pageObject->cipherer->DecryptField($linkFieldName, $data[$lookupIndexes["linkFieldIndex"]]);
if ($nLookupType == LT_QUERY) {
$data[$lookupIndexes["displayFieldIndex"]] = $pageObject->cipherer->DecryptField($dispfield, $data[$lookupIndexes["displayFieldIndex"]]);
}
}
}
}
return array($data, array("linkField" => $linkFieldName, "displayField" => $dispfield, "linkFieldIndex" => $lookupIndexes["linkFieldIndex"], "displayFieldIndex" => $lookupIndexes["displayFieldIndex"]));
}
示例4: strlen
$LookupSQL = $lookupQueryObj->toSql(whereAdd($lookupQueryObj->m_where->toSql($lookupQueryObj), $strLookupWhere), strlen($lookupOrderBy) ? ' ORDER BY ' . $lookupOrderBy : null);
} else {
$LookupSQL = $LookupSQLTable . " where " . $strLookupWhere;
if (!$gSettings->isLookupUnique($f) || nDATABASE_Access != $lookupConnection->dbType) {
if ($lookupOrderBy) {
$LookupSQL .= " ORDER BY " . $lookupOrderBy;
}
}
}
}
if (strlen(GetLWWhere($f, $pageType, $strTableName))) {
$hasWhere = true;
}
break;
}
$lookupIndexes = GetLookupFieldsIndexes($gSettings, $lookupField);
$linkFieldIndex = $lookupIndexes["linkFieldIndex"];
$displayFieldIndex = $lookupIndexes["displayFieldIndex"];
if ($lookupConnection) {
$qResult = $lookupConnection->query($LookupSQL);
while ($data = $qResult->fetchNumeric()) {
if ($LookupType == LT_QUERY && $gSettings->isLookupUnique($lookupField)) {
if (!isset($uniqueArray)) {
$uniqueArray = array();
}
if (in_array($data[$displayFieldIndex], $uniqueArray)) {
continue;
}
$uniqueArray[] = $data[$displayFieldIndex];
}
$data[$linkFieldIndex] = $cipherer->DecryptField($lookupField, $data[$linkFieldIndex]);
示例5: GetAddedDataLookupQuery
/**
* @param Boolean forLookup
* @param String mainTableShortName
* @param String mainField
* @param String pageType
* @return Array
*/
protected function GetAddedDataLookupQuery($forLookup, $mainTableShortName, $mainField, $pageType)
{
$lookupMainSettings = getLookupMainTableSettings($this->tName, $mainTableShortName, $mainField, $pageType);
if (!$lookupMainSettings) {
return array();
}
$LookupSQL = "";
$mainTable = $lookupMainSettings->getTableName();
$linkFieldName = $lookupMainSettings->getLinkField($mainField);
$dispfield = $lookupMainSettings->getDisplayField($mainField);
if ($lookupMainSettings->getCustomDisplay($mainField)) {
$this->pSet->getSQLQuery()->AddCustomExpression($dispfield, $this->pSet, $mainTable, $mainField);
}
$lookupQueryObj = $this->pSet->getSQLQuery()->CloneObject();
$data = array();
$lookupIndexes = array("linkFieldIndex" => 0, "displayFieldIndex" => 0);
if (count($this->keys)) {
$where = KeyWhere($this->keys);
$LookupSQL = $lookupQueryObj->toSql(whereAdd($lookupQueryObj->m_where->toSql($lookupQueryObj), $where));
$lookupIndexes = GetLookupFieldsIndexes($lookupMainSettings, $mainField);
LogInfo($LookupSQL);
if ($forLookup) {
$data = $this->cipherer->DecryptFetchedArray($this->connection->query($LookupSQL)->fetchAssoc());
} else {
if ($LookupSQL) {
$data = $this->connection->query($LookupSQL)->fetchNumeric();
$data[$lookupIndexes["linkFieldIndex"]] = $this->cipherer->DecryptField($linkFieldName, $data[$lookupIndexes["linkFieldIndex"]]);
$data[$lookupIndexes["displayFieldIndex"]] = $this->cipherer->DecryptField($dispfield, $data[$lookupIndexes["displayFieldIndex"]]);
}
}
}
return array($data, array("linkField" => $linkFieldName, "displayField" => $dispfield, "linkFieldIndex" => $lookupIndexes["linkFieldIndex"], "displayFieldIndex" => $lookupIndexes["displayFieldIndex"]));
}
示例6: loadSelectContent
function loadSelectContent($pageType, $childFieldName, $parentVal, $doCategoryFilter = true, $childVal = "", $initialLoad = true)
{
global $conn, $LookupSQL, $strTableName;
$pSet = new ProjectSettings($strTableName, $pageType);
$response = array();
$lookupType = $pSet->getLookupType($childFieldName);
$isUnique = $pSet->isLookupUnique($childFieldName);
if ($pSet->useCategory($childFieldName) && $doCategoryFilter) {
if ($lookupType == LT_QUERY) {
$lookupTable = $pSet->getLookupTable($childFieldName);
$cipherer = new RunnerCipherer($lookupTable);
$tempParentVal = $cipherer->MakeDBValue($pSet->getCategoryControl($childFieldName), $parentVal, "", $lookupTable, true);
} else {
$tempParentVal = make_db_value($childFieldName, $parentVal);
}
if ($tempParentVal === "null") {
return $response;
}
}
$LookupSQL = buildLookupSQL($pageType, $childFieldName, $strTableName, $parentVal, $childVal, $doCategoryFilter, $pSet->fastType($childFieldName) && $initialLoad);
$lookupIndexes = GetLookupFieldsIndexes($pSet, $childFieldName);
$rs = db_query($LookupSQL, $conn);
if (!$pSet->fastType($childFieldName)) {
while ($data = db_fetch_numarray($rs)) {
if ($lookupType == LT_QUERY && $isUnique) {
if (!isset($uniqueArray)) {
$uniqueArray = array();
}
if (in_array($data[$lookupIndexes["displayFieldIndex"]], $uniqueArray)) {
continue;
}
$uniqueArray[] = $data[$lookupIndexes["displayFieldIndex"]];
}
$response[] = $data[$lookupIndexes["linkFieldIndex"]];
$response[] = $data[$lookupIndexes["displayFieldIndex"]];
}
} else {
$data = db_fetch_numarray($rs);
// one record only
if ($data && (strlen($childVal) || !db_fetch_numarray($rs))) {
$response[] = $data[$lookupIndexes["linkFieldIndex"]];
$response[] = $data[$lookupIndexes["displayFieldIndex"]];
}
}
return $response;
}
示例7: fillLookupFieldsIndexes
public function fillLookupFieldsIndexes()
{
$lookupIndexes = GetLookupFieldsIndexes($this->localPSet, $this->field);
$this->linkFieldIndex = $lookupIndexes["linkFieldIndex"];
$this->displayFieldIndex = $lookupIndexes["displayFieldIndex"];
}
示例8: loadLookupContent
/**
* Get for the dependent lookup an array containing the link field values with even indices
* and the corresponding displayed values with odd indices
*
* @intellisense
* @param String parentVal
* @param String childVal
* @param Boolean doCategoryFilter
* @param Boolean initialLoad
* @return Array
*/
public function loadLookupContent($parentVal, $childVal = "", $doCategoryFilter = true, $initialLoad = true)
{
$response = array();
$pSet = $this->pageObject->pSetEdit;
if ($this->bUseCategory && $doCategoryFilter) {
if ($this->lookupType == LT_QUERY) {
$tempParentVal = $this->ciphererDisplay->MakeDBValue($pSet->getCategoryControl($this->field), $parentVal, "", true);
} else {
$tempParentVal = make_db_value($this->field, $parentVal);
}
if ($tempParentVal === "null" || 0 == strlen($parentVal)) {
return $response;
}
}
$LookupSQL = $this->getLookupSQL($parentVal, $childVal, $doCategoryFilter, $this->LCType == LCT_AJAX && $initialLoad);
$lookupIndexes = GetLookupFieldsIndexes($pSet, $this->field);
$qResult = $this->lookupConnection->query($LookupSQL);
if ($this->LCType !== LCT_AJAX || $this->multiselect) {
$isUnique = $pSet->isLookupUnique($this->field);
while ($data = $qResult->fetchNumeric()) {
if ($this->lookupType == LT_QUERY && $isUnique) {
if (!isset($uniqueArray)) {
$uniqueArray = array();
}
if (in_array($data[$lookupIndexes["displayFieldIndex"]], $uniqueArray)) {
continue;
}
$uniqueArray[] = $data[$lookupIndexes["displayFieldIndex"]];
}
$response[] = $data[$lookupIndexes["linkFieldIndex"]];
$response[] = $data[$lookupIndexes["displayFieldIndex"]];
}
} else {
$data = $qResult->fetchNumeric();
// one record only
if ($data && (strlen($childVal) || !$qResult->fetchNumeric())) {
$response[] = $data[$lookupIndexes["linkFieldIndex"]];
$response[] = $data[$lookupIndexes["displayFieldIndex"]];
}
}
return $response;
}
示例9: fillLookupFieldsIndexes
/**
* Get indexes of link and display fields
*/
public function fillLookupFieldsIndexes()
{
$lookupIndexes = GetLookupFieldsIndexes($this->pageObject->pSetEdit, $this->field);
$this->linkFieldIndex = $lookupIndexes["linkFieldIndex"];
$this->displayFieldIndex = $lookupIndexes["displayFieldIndex"];
}